/* Compact presentation: the original logo, content photographs and no photo backgrounds. */
.ppn-hero-photo.ppn-object-gallery{height:auto;background:transparent;overflow:visible;border-radius:0}.ppn-object-stage{height:290px;position:relative;overflow:hidden;border-radius:12px}.ppn-object-stage img{display:block;object-fit:cover}.ppn-object-stage button{position:absolute;top:calc(50% - 21px);width:42px;height:42px;border:1px solid #dbe5ed;border-radius:50%;background:#fff;color:#193447;font-size:21px}.ppn-object-prev{left:10px}.ppn-object-next{right:10px}.ppn-object-count{position:absolute;bottom:10px;right:12px;padding:3px 9px;background:#fff;border-radius:5px;font-size:12px;color:#193447}.ppn-object-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.ppn-object-thumbs button{padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;height:62px;background:#edf2f6}.ppn-object-thumbs button[aria-pressed=true]{border-color:#17529a}.ppn-object-thumbs img{object-fit:cover}.ppn-object-admin-preview{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:700px){.ppn-object-stage{height:240px;border-radius:9px}}
.ppn-detail-layout.ppn-detail-single{display:block;max-width:960px}@media(max-width:700px){.ppn-fields-row.ppn-dates{grid-template-columns:minmax(0,1fr)}}
.ppn-map-frame{display:block;width:100%;height:320px;border:0;border-radius:10px;background:#edf2f6;margin-top:18px}@media(max-width:700px){.ppn-map-frame{height:280px}}
.ppn-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;left:-10000px}.ppn-button:disabled{opacity:.65;cursor:wait}.ppn-location.ppn-location-simple{display:block}.ppn-location-simple p{margin-bottom:12px}.ppn-location-simple .ppn-button{margin-top:4px}
.ppn-fields-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ppn-fields-row>label{min-width:0}.ppn-booking input[type=date]{display:block;min-inline-size:0;max-inline-size:100%;width:100%}.ppn-phone+.ppn-phone{margin-top:8px}
.ppn-card-heading{padding:18px 22px}.ppn-card-heading h3{margin:0;font-size:23px!important;font-weight:600!important}.ppn-card-heading .ppn-room-code{display:block;font-size:14px;margin:0 0 5px;font-weight:650}.ppn-card-body{padding:14px 22px 18px}.ppn-card-body .ppn-card-specs{padding:0 0 5px}.ppn-detail-title>div{min-width:0}.ppn-detail-title h1{overflow-wrap:anywhere}
body.ppn-site{background:#fff;color:#193447;line-height:1.6}
body.ppn-site h1,body.ppn-site h2,body.ppn-site h3{font-family:inherit;font-weight:650;letter-spacing:-.025em;line-height:1.2}
body.ppn-site h2{font-size:clamp(26px,2.6vw,34px)}
.ppn-header{height:auto;min-height:90px;max-width:1208px;padding:12px 24px;margin:auto;background:#fff;gap:24px}
.ppn-brand{display:inline-flex;flex-shrink:0}.ppn-logo{display:block;width:82px;height:60px!important;object-fit:contain}
.ppn-header nav{gap:24px;font-weight:500}.ppn-header nav a{padding:10px 0}.ppn-header nav a:hover{text-decoration:underline}
.ppn-header-right{gap:18px}.ppn-instagram{display:inline-flex!important;align-items:center;gap:8px;min-height:44px;font-size:14px}.ppn-header .ppn-instagram span{display:none}
.ppn-langs a{opacity:1;padding:10px 0;color:#526779!important}.ppn-langs a[aria-current]{color:#193447!important}
.ppn-button{background:#17529a;border:1px solid #17529a;border-radius:7px;min-height:46px;padding:11px 20px;font-weight:600;transition:none}
.ppn-button:hover{background:#103e77;transform:none}.ppn-button-outline{color:#17529a!important;background:#fff}.ppn-button-outline:hover{background:#edf4fc}
.ppn-hero{max-width:1208px;height:auto;min-height:0;margin:auto;padding:30px 24px;background:#fff;display:grid;grid-template-columns:1fr 1.1fr;gap:42px;align-items:center;overflow:visible}
.ppn-hero-content{position:static;transform:none;max-width:none;color:#193447}
.ppn-eyebrow{font-size:11px;letter-spacing:.08em;color:#526779;margin-bottom:10px}
.ppn-hero-content h1{font-size:clamp(32px,3.6vw,46px);max-width:470px;text-shadow:none;margin:10px 0 16px}
.ppn-hero-content>p:not(.ppn-eyebrow){font-size:16px;color:#526779;max-width:450px;margin-bottom:20px}
.ppn-hero-photo{height:290px;border-radius:12px;overflow:hidden;background:#edf2f6}.ppn-hero-photo img{width:100%;height:100%!important;object-fit:cover;display:block}
.ppn-strip{max-width:1160px;justify-content:space-between;gap:12px;margin:auto;padding:16px 0;border-top:1px solid #e3eaf0;font-size:13px;color:#526779}.ppn-strip span:before{color:#17529a;margin-right:8px}
.ppn-section{max-width:1208px;padding:40px 24px}.ppn-section-heading{gap:30px;margin-bottom:23px;align-items:center}.ppn-section-heading h2{margin:0}.ppn-section-heading>div>.ppn-eyebrow{display:none}.ppn-section-heading>p{font-size:14px;color:#526779}
.ppn-room-grid{gap:24px}.ppn-card{border:1px solid #dde5ec;border-radius:12px;overflow:hidden;background:#fff}.ppn-card-photo{height:245px;aspect-ratio:auto;border-radius:0}.ppn-card-photo img,.ppn-gallery-button img{transition:none}.ppn-card-photo:hover img,.ppn-gallery-button:hover img{transform:none}.ppn-card-photo>span{display:none}
.ppn-card-line{align-items:flex-start;flex-direction:column;gap:10px;padding:18px 22px 0}.ppn-room-code{font-size:12px;color:#17529a;font-weight:650;letter-spacing:0;margin-bottom:8px}.ppn-card-line h3{font-family:inherit;font-size:23px;font-weight:600}
.ppn-card-arrow{display:inline-flex;width:auto;height:auto;min-height:40px;border:0;border-radius:0;font-size:14px;color:#17529a!important;font-weight:600}.ppn-card-arrow:hover{text-decoration:underline}.ppn-card-specs{padding:0 22px 18px;margin:0!important;font-size:14px;color:#526779}
.ppn-location{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;background:#fff;border-top:1px solid #e3eaf0}.ppn-location>div:first-child{min-height:0;height:auto}.ppn-location-copy{padding:0}.ppn-location-copy p{max-width:650px}.ppn-location-address{align-self:center;border-left:3px solid #d5e4f5;padding:15px 25px}.ppn-location-address strong{font-size:21px}.ppn-location-address p{color:#526779}.ppn-location-copy>p:not(.ppn-eyebrow){font-size:16px}
.ppn-reviews{border-top:1px solid #e3eaf0}.ppn-text-link{color:#17529a!important;font-weight:600}.ppn-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ppn-review-grid figure{margin:0;padding:22px;background:#f5f8fb;border-radius:9px}.ppn-review-grid blockquote{margin:0;font-size:14px}.ppn-review-grid figcaption{font-size:12px;color:#526779}
.ppn-detail-head{max-width:1208px;padding:25px 24px 20px}.ppn-detail-title{margin:22px 0 12px}.ppn-detail-title h1{font-size:clamp(30px,3vw,40px)}.ppn-detail-specs{color:#526779}.ppn-mosaic{grid-template-rows:170px 170px;gap:8px;border-radius:10px}
.ppn-detail-layout{max-width:1208px;padding:30px 24px 0;gap:40px;grid-template-columns:minmax(0,1fr) 300px}.ppn-detail-layout h2{font-size:27px}.ppn-detail-layout>section>.ppn-eyebrow{display:none}.ppn-amenities{padding:16px 0}.ppn-times{margin:22px 0;gap:22px}.ppn-detail-aside{padding:22px;background:#f5f8fb;border:1px solid #dde5ec;position:static}.ppn-detail-aside h2{font-size:27px}.ppn-rates{padding-top:12px}.ppn-rates td,.ppn-rates th{padding:10px 5px}.ppn-rates th{color:#193447}.ppn-rates>p{color:#526779}.ppn-gallery-section{padding-top:24px;padding-bottom:30px}.ppn-gallery-section summary{cursor:pointer;padding:12px 0;min-height:46px;color:#17529a;font-weight:600}.ppn-full-gallery{grid-template-columns:repeat(4,1fr);gap:10px;padding-top:12px}
.ppn-booking{background:#fff;color:#193447;border-top:1px solid #e3eaf0;padding:40px max(24px,calc((100% - 1160px)/2));gap:60px}.ppn-booking h2{font-size:34px}.ppn-booking>div>p{color:#526779}.ppn-phone{color:#17529a!important;font-size:23px;font-weight:600}.ppn-booking form{padding:24px;border-radius:12px;background:#f5f8fb}.ppn-booking input,.ppn-booking select,.ppn-booking textarea{background:#fff;color:#193447;border-color:#b9c8d5;min-height:44px;border-radius:6px;color-scheme:light}.ppn-booking select option{background:#fff;color:#193447}.ppn-booking .ppn-button-white{background:#17529a;color:#fff!important}.ppn-booking .ppn-button-white:hover{background:#103e77}.ppn-form-note{font-size:12px;color:#526779}
.ppn-contact{gap:50px;border-top:1px solid #e3eaf0}.ppn-contact>div:last-child>a{min-height:36px;margin:4px 0;color:#17529a}.ppn-footer{max-width:1208px;margin:auto;padding:20px 24px;gap:25px}.ppn-footer .ppn-logo{width:62px;height:46px!important}.ppn-footer>p{font-size:12px;color:#526779}.ppn-footer>.ppn-instagram{font-size:14px!important}
body.ppn-site :focus-visible{outline:3px solid #225eaa;outline-offset:4px}
@media(max-width:1050px){.ppn-header nav{gap:17px}.ppn-header-right{gap:12px}.ppn-strip{margin:0 24px}.ppn-mosaic{margin:0 24px}.ppn-detail-layout{gap:25px}.ppn-booking{gap:35px}}
@media(max-width:700px){.ppn-header{padding:10px 18px;min-height:0;gap:8px 20px}.ppn-logo{width:68px;height:50px!important}.ppn-header nav{padding-top:0;gap:10px;font-size:13px}.ppn-header nav a{min-height:42px}.ppn-header-right{gap:14px}.ppn-header .ppn-instagram span{display:inline}.ppn-hero{padding:24px 18px 20px;grid-template-columns:1fr;gap:20px;height:auto;min-height:0;max-height:none}.ppn-hero-content{left:auto;right:auto;position:static;transform:none}.ppn-hero-content h1{font-size:32px;max-width:350px}.ppn-hero-content>p:not(.ppn-eyebrow){font-size:15px;margin-bottom:16px}.ppn-hero-photo{height:210px;border-radius:9px}.ppn-strip{margin:0 18px;gap:8px;padding:14px 0}.ppn-strip span{font-size:12px;width:100%}.ppn-section{padding:30px 18px}.ppn-section-heading{margin-bottom:20px}.ppn-section-heading>p{margin-top:10px!important}.ppn-card-photo{height:auto;aspect-ratio:1.65}.ppn-card-line{padding:16px 18px 0}.ppn-card-line h3{font-size:23px}.ppn-card-specs{font-size:13px;padding:0 18px 16px}.ppn-location{grid-template-columns:1fr;gap:15px}.ppn-location>div:first-child{height:auto;min-height:0}.ppn-location-copy{padding:0}.ppn-location-address{padding:12px 18px}.ppn-review-grid{grid-template-columns:1fr}.ppn-detail-head{padding:20px 18px}.ppn-detail-title h1{font-size:30px}.ppn-mosaic{margin:0 18px;grid-template-rows:220px 100px;gap:6px}.ppn-detail-layout{padding:20px 18px 0}.ppn-detail-aside{margin-top:20px}.ppn-full-gallery{grid-template-columns:1fr 1fr;gap:7px}.ppn-booking{padding:30px 18px}.ppn-booking h2{font-size:29px}.ppn-booking form{padding:18px}.ppn-contact{padding:30px 18px}.ppn-footer{padding:18px;gap:15px}.ppn-footer>p{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.ppn-rates .ppn-stay-note{margin:18px 0 14px;padding:14px 16px;border-left:3px solid #225c99;background:#f3f6fa;color:#203947;font-size:16px;line-height:1.6}.ppn-stay-note strong{font-weight:500}

.ppn-welcome{max-width:1160px;margin:0 auto;padding:30px 24px 34px;text-align:center;background:#fff}.ppn-welcome p{margin:0;color:#1e3544;font-size:clamp(23px,2.7vw,34px);font-weight:500;line-height:1.45;letter-spacing:-.025em;text-wrap:balance}@media(max-width:600px){.ppn-welcome{padding:26px 18px 30px}.ppn-welcome p{font-size:24px}}

.ppn-rates th:last-child,.ppn-rates td:last-child{white-space:nowrap}

.ppn-back-top{position:fixed;right:20px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:100;width:48px;height:48px;display:grid;place-items:center;padding:0;border:1px solid #dce4eb;border-radius:50%;background:#225c99;color:#fff;box-shadow:0 3px 14px #132b4526;cursor:pointer}.ppn-back-top[hidden]{display:none}.ppn-back-top:hover{background:#184777}.ppn-back-top:focus-visible{outline:3px solid #1e3544;outline-offset:4px}

@media(max-width:700px){.ppn-header nav{flex-wrap:wrap;column-gap:12px;row-gap:0}.ppn-header nav a{white-space:nowrap}}

.ppn-app6-mosaic .ppn-gallery-button{background:#f3f6fa}.ppn-app6-mosaic .ppn-gallery-button img{object-fit:contain}

#ppn-lightbox{position:fixed;inset:0;margin:0;padding:0;border:0;border-radius:0;box-sizing:border-box;width:100vw;height:100dvh;max-width:none;max-height:none;background:#080b0f;overflow:hidden;touch-action:pinch-zoom}#ppn-lightbox::backdrop{background:#080b0f}#ppn-lightbox-image{display:block;object-fit:contain;width:100%;height:100%!important;max-width:100%;max-height:100%;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#ppn-lightbox .ppn-lightbox-close{top:calc(12px + env(safe-area-inset-top,0px));right:16px;width:44px;height:44px;z-index:2;background:#080b0f99}#ppn-lightbox-count{bottom:calc(40px + env(safe-area-inset-bottom,0px));padding:2px 10px;border-radius:20px;background:#080b0f99;font-size:13px;pointer-events:none}.ppn-lightbox-hint{position:absolute;bottom:calc(10px + env(safe-area-inset-bottom,0px));margin:0;padding:3px 12px;border-radius:20px;background:#080b0fb3;color:#fff;font-size:12px;text-align:center;pointer-events:none}#ppn-lightbox .ppn-lightbox-prev,#ppn-lightbox .ppn-lightbox-next{z-index:2}.ppn-object-main[role=button]{cursor:zoom-in}@media(pointer:coarse){#ppn-lightbox .ppn-lightbox-prev,#ppn-lightbox .ppn-lightbox-next{display:none}}

/* Edge-to-edge gallery: only the photograph is visible on touch screens. */
#ppn-lightbox{padding:0!important}#ppn-lightbox-image{flex:none;width:100vw!important;height:100dvh!important;max-height:none!important;max-width:none!important;object-fit:contain}#ppn-lightbox-count,.ppn-lightbox-hint{display:none!important}#ppn-lightbox .ppn-lightbox-close{position:absolute!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}#ppn-lightbox .ppn-lightbox-close:focus-visible{inset:12px 16px auto auto!important;width:44px!important;height:44px!important;clip-path:none}#ppn-lightbox .ppn-lightbox-ghost{position:absolute;inset:0;display:block;object-fit:contain;width:100%;height:100%!important;max-width:none;max-height:none;pointer-events:none}#ppn-lightbox-image{will-change:transform,opacity}

#ppn-lightbox #ppn-lightbox-count{display:block!important;z-index:4;bottom:calc(14px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);margin:0;padding:3px 10px;border-radius:16px;color:#fff;background:#080b0f80;font-size:13px;line-height:1.6;pointer-events:none}#ppn-lightbox .ppn-lightbox-close{display:none!important}#ppn-lightbox-image,#ppn-lightbox .ppn-lightbox-ghost{opacity:1!important;box-shadow:none!important;filter:none!important;background:#080b0f}

/* Preserve portrait photos without wide empty panels. */
.ppn-mosaic.ppn-app6-mosaic{display:flex;gap:0;grid-template-columns:none;grid-template-rows:none;width:calc(100% - 48px);max-width:560px;margin:0 auto;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:10px;touch-action:pan-x pan-y pinch-zoom}.ppn-app6-mosaic::-webkit-scrollbar{display:none}.ppn-mosaic.ppn-app6-mosaic>button{flex:0 0 100%;width:100%;aspect-ratio:3/4;grid-area:auto;scroll-snap-align:start;scroll-snap-stop:always;background:#fff}.ppn-mosaic.ppn-app6-mosaic>button img{width:100%;height:100%!important;object-fit:contain}.ppn-inline-count{max-width:560px;margin:7px auto 0;text-align:center;color:#526779;font-size:13px}@media(max-width:700px){.ppn-mosaic.ppn-app6-mosaic{width:calc(100% - 36px);margin:0 auto}}

.ppn-unified-gallery{width:calc(100% - 48px);max-width:960px;margin:0 auto}.ppn-unified-gallery.ppn-unified-portrait{max-width:560px}.ppn-unified-gallery.ppn-unified-hero{width:100%;max-width:100%;margin:0;min-width:0}.ppn-gallery-track{display:flex;align-items:flex-start;gap:0;width:100%;aspect-ratio:var(--gallery-ratio);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:10px;transition:height .22s ease}.ppn-gallery-track::-webkit-scrollbar{display:none}.ppn-gallery-track>button{flex:0 0 100%;width:100%;height:auto;background:transparent;scroll-snap-align:start;scroll-snap-stop:always}.ppn-gallery-track>button img{display:block;width:100%;height:auto!important;object-fit:contain;transform:none!important}.ppn-gallery-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:5px 0 0;min-height:30px}.ppn-gallery-count{font-size:13px;color:#526779;min-width:45px;text-align:center}.ppn-gallery-controls>button{border:0;background:transparent;color:#17529a;width:44px;height:36px;cursor:pointer;font-size:22px}@media(pointer:coarse){.ppn-gallery-controls>button{display:none}}@media(max-width:700px){.ppn-unified-gallery{width:calc(100% - 36px)}.ppn-unified-gallery.ppn-unified-hero{width:100%}}@media(prefers-reduced-motion:reduce){.ppn-gallery-track{transition:none}}

.ppn-header{position:relative;z-index:20}.ppn-header nav{position:relative;align-items:center}.ppn-nav-dropdown{position:relative}.ppn-nav-toggle{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:10px 0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.ppn-nav-toggle svg{transition:transform .15s}.ppn-nav-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.ppn-nav-panel{position:absolute;top:100%;left:0;z-index:50;width:310px;max-width:calc(100vw - 36px);padding:7px;background:#fff;border:1px solid #dce4eb;border-radius:10px;box-shadow:0 10px 28px #1934471a}.ppn-nav-panel[hidden]{display:none}.ppn-header nav .ppn-nav-panel a{display:flex;flex-direction:column;gap:2px;white-space:normal;padding:10px 12px;min-height:44px;line-height:1.4;border-radius:5px;text-decoration:none}.ppn-nav-panel a strong{font-size:13px;color:#17529a}.ppn-nav-panel a span{font-size:14px;color:#193447}.ppn-header nav .ppn-nav-panel a:hover,.ppn-header nav .ppn-nav-panel a[aria-current=page]{background:#f0f5fb}.ppn-nav-panel a+a{border-top:1px solid #edf1f5}@media(max-width:700px){.ppn-nav-dropdown{position:static}.ppn-nav-panel{left:0;right:0;width:auto;max-width:none;top:100%}.ppn-nav-toggle{padding:10px 0}}@media(prefers-reduced-motion:reduce){.ppn-nav-toggle svg{transition:none}}

/* Touch and mouse interactions must not leave a keyboard outline on galleries. */
body.ppn-site.ppn-gallery-pointer-input .ppn-unified-gallery :focus{outline:none!important;box-shadow:none!important}
/* Compact laptop/tablet layout: headings above content rather than empty side columns. */
@media(min-width:701px){
 .ppn-booking{display:block;padding:32px 24px}.ppn-booking>div{max-width:900px;margin:0 auto 18px}.ppn-booking h2{margin:0 0 10px}.ppn-booking>div>p{max-width:none;margin:0}.ppn-booking form{max-width:900px;margin:0 auto;padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.ppn-booking form>.ppn-fields-row,.ppn-booking form>label:last-of-type,.ppn-booking form>button,.ppn-booking form>p{grid-column:1/-1}.ppn-booking form label{margin:0;min-width:0}.ppn-booking form>.ppn-fields-row{gap:20px}.ppn-booking form>p{margin:0}.ppn-booking textarea{min-height:74px}.ppn-booking #ppn-form-status:empty{display:none}
 .ppn-contact{display:block;margin:0 auto;padding:30px 24px}.ppn-contact>div:first-child{margin:0 0 18px}.ppn-contact h2{margin:0}.ppn-contact>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 28px;align-items:center;margin:0}.ppn-contact>div:last-child>p{margin:0}.ppn-contact>div:last-child>a{margin:0;max-width:100%;font-size:15px;overflow-wrap:anywhere}
}
@media(min-width:701px) and (max-width:900px){.ppn-contact>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}}

/* Shared visual rules for every language and apartment. */
body.ppn-site{--ppn-ink:#193447;--ppn-muted:#526779;--ppn-blue:#17529a;--ppn-blue-hover:#103e77;--ppn-line:#dce4eb;--ppn-field:#7b8d9b;--ppn-surface:#f5f8fb;font-size:1rem;line-height:1.6}
body.ppn-site h2,.ppn-detail-layout h2,.ppn-booking h2{font-size:clamp(1.75rem,2.6vw,2.125rem);font-weight:650;line-height:1.2;margin-bottom:1.25rem}
.ppn-hero-content>p:not(.ppn-eyebrow),.ppn-description,.ppn-location-copy>p:not(.ppn-eyebrow){font-size:1rem;line-height:1.65;max-inline-size:65ch;color:var(--ppn-muted)}
.ppn-eyebrow{font-size:.8125rem;letter-spacing:.08em;color:var(--ppn-muted)}
.ppn-header nav{font-size:.9375rem}
.ppn-langs{font-size:.875rem}
.ppn-button{font-size:1rem;min-height:48px;transition:background-color .18s ease,border-color .18s ease}
body.ppn-site .ppn-button{font-size:1rem;font-weight:600;line-height:1.4}
.ppn-button,.ppn-booking .ppn-button-white{background:var(--ppn-blue);border-color:var(--ppn-blue)}
.ppn-button-outline{background:#fff;color:var(--ppn-blue)!important}
.ppn-button:hover,.ppn-booking .ppn-button-white:hover{background:var(--ppn-blue-hover);border-color:var(--ppn-blue-hover)}
.ppn-button-outline:hover{background:#edf4fc;border-color:var(--ppn-blue)}
.ppn-card{transition:border-color .18s ease}
@media(hover:hover) and (pointer:fine){.ppn-card:hover{border-color:var(--ppn-blue)}}
.ppn-card-heading{padding:20px 22px 16px}.ppn-card-heading h3{font-size:1.4375rem!important;line-height:1.3!important}
.ppn-card-heading .ppn-room-code,.ppn-card-specs,.ppn-card-body .ppn-card-specs,.ppn-card-arrow,.ppn-detail-specs,.ppn-amenities,.ppn-times p,.ppn-strip,.ppn-strip span,.ppn-gallery-count,.ppn-back{font-size:.875rem}
.ppn-card-body{padding:16px 22px 20px}.ppn-card-arrow{min-height:44px;align-items:center}
.ppn-detail-head{padding-bottom:24px}.ppn-detail-title{margin:24px 0 16px}
.ppn-detail-layout>section>h2{margin-bottom:20px}.ppn-description{margin-bottom:24px}
.ppn-amenities{padding:20px 0}.ppn-times{margin:28px 0;gap:24px}.ppn-times h3{font-size:1rem;margin-bottom:8px}
.ppn-rates table{font-size:1rem;color:var(--ppn-ink)}.ppn-rates td,.ppn-rates th{padding:12px 8px}
.ppn-rates>p,.ppn-form-note,.ppn-booking .ppn-booking-note{font-size:.875rem;color:var(--ppn-muted);line-height:1.6}
.ppn-rates .ppn-stay-note{margin:20px 0 16px!important;font-size:1rem;background:var(--ppn-surface);border-color:var(--ppn-blue);color:var(--ppn-ink)}
.ppn-booking form{font-size:1rem;background:var(--ppn-surface)}
.ppn-booking input,.ppn-booking select,.ppn-booking textarea{font-size:1rem;min-height:48px;padding:10px 12px;border:1px solid var(--ppn-field);color:var(--ppn-ink);background:#fff;transition:border-color .18s ease}
.ppn-booking textarea{line-height:1.6}
.ppn-booking input:focus,.ppn-booking select:focus,.ppn-booking textarea:focus{border-color:var(--ppn-blue)}
.ppn-contact>div:last-child>a{font-size:1rem}.ppn-footer>p{font-size:.875rem;color:var(--ppn-muted)}
.ppn-nav-panel:not([hidden]){animation:ppn-menu-enter .16s ease-out}
@keyframes ppn-menu-enter{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:701px){.ppn-booking>div{margin-bottom:24px}.ppn-booking h2{margin-bottom:12px}.ppn-contact>div:first-child{margin-bottom:24px}.ppn-contact h2{margin-bottom:0}}
@media(min-width:701px) and (max-width:1050px){.ppn-header{gap:16px}.ppn-header nav{gap:12px}.ppn-header-right{gap:10px}}
@media(max-width:700px){
 .ppn-header nav{font-size:.9375rem;column-gap:8px}.ppn-langs{gap:10px}.ppn-header-right{gap:12px}
 .ppn-hero-content h1{font-size:2rem}.ppn-hero-content>p:not(.ppn-eyebrow){font-size:1rem;max-width:none}
 .ppn-section,.ppn-contact{padding-top:32px;padding-bottom:32px}.ppn-section-heading{margin-bottom:24px}
 .ppn-card-heading{padding:18px 18px 14px}.ppn-card-body{padding:14px 18px 18px}
 .ppn-detail-title h1{font-size:1.875rem}.ppn-detail-layout{padding-top:24px}
 .ppn-rates td,.ppn-rates th{padding:12px 4px}.ppn-booking{padding-top:32px;padding-bottom:32px}.ppn-booking>div{margin-bottom:24px}
 .ppn-booking .ppn-fields-row:not(.ppn-dates){grid-template-columns:1fr}
 .ppn-contact>div:last-child{margin-top:24px}.ppn-footer>p{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){.ppn-nav-panel:not([hidden]){animation:none}.ppn-button,.ppn-card,.ppn-booking input,.ppn-booking select,.ppn-booking textarea{transition:none}}

/* Fit complete photographs inside the visible screen, including portrait shots. */
.ppn-unified-gallery .ppn-gallery-track{max-height:65svh;background:transparent}
.ppn-unified-gallery .ppn-gallery-track>button{display:flex;align-items:center;justify-content:center;height:100%;background:transparent}
.ppn-unified-gallery .ppn-gallery-track>button img{width:auto;max-width:100%;height:100%!important;max-height:100%;object-fit:contain;border-radius:10px}

/* Compact inquiry form with consistent native control dimensions. */
.ppn-detail-head .ppn-detail-title{margin-top:0}
.ppn-booking form{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:18px}
.ppn-booking form label{display:flex;flex-direction:column;gap:4px;margin:0;min-width:0;font-size:.875rem;line-height:1.4}
.ppn-booking form .ppn-fields-row{min-width:0;gap:10px}
.ppn-booking input,.ppn-booking select,.ppn-booking textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0;padding:8px 10px;font-size:1rem;line-height:1.4;border-radius:6px}
body.ppn-site .ppn-booking input,body.ppn-site .ppn-booking select,body.ppn-site .ppn-booking textarea{font-size:1rem;line-height:1.4}
.ppn-booking input,.ppn-booking select{height:44px;min-height:44px}
.ppn-booking input[type=date]{appearance:none;-webkit-appearance:none;display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;height:44px;min-height:44px;overflow:hidden;contain:inline-size}
.ppn-booking input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
.ppn-booking input[type=date]::-webkit-datetime-edit{padding:0;min-width:0}
.ppn-booking textarea{height:58px;min-height:58px;resize:vertical}
.ppn-booking form>.ppn-button{height:46px;min-height:46px;padding:8px 16px;margin:0}
.ppn-booking form>.ppn-form-note,.ppn-booking form>#ppn-form-status{margin:0;line-height:1.4}
.ppn-booking #ppn-form-status:empty{display:none}
@media(min-width:701px){.ppn-booking form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.ppn-booking form>.ppn-fields-row{gap:18px}}
@media(max-width:700px){.ppn-booking{padding-top:24px;padding-bottom:24px}.ppn-booking>div{margin-bottom:16px}.ppn-booking h2{margin-bottom:10px}.ppn-booking>div>p{margin-bottom:0}.ppn-booking form{padding:14px;gap:8px}.ppn-booking form .ppn-fields-row{gap:8px}}

/* Keep the apartment name and its essential information together. */
.ppn-detail-head .ppn-detail-title{display:block;margin:0}
.ppn-detail-head .ppn-detail-title h1{margin:0 0 12px}
.ppn-detail-head .ppn-detail-specs{margin:0;line-height:1.6}
.ppn-detail-head .ppn-detail-title>.ppn-button{margin:16px 0 0}
.ppn-detail-head{padding-bottom:20px}

@media(max-width:700px){
 .ppn-booking form .ppn-fields-row:not(.ppn-dates),.ppn-booking form .ppn-fields-row.ppn-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}
 .ppn-booking form .ppn-fields-row input,.ppn-booking form .ppn-fields-row select{padding-inline:8px}
 .ppn-booking form .ppn-fields-row label{min-width:0}
}

/* One calendar and one date format on every device; empty fields stay blank. */
.ppn-date-control{position:relative;display:block;width:100%;min-width:0}
body.ppn-site .ppn-date-control input[type=date]{position:absolute;width:1px;min-width:0;max-width:1px;min-height:0;height:1px;padding:0;border:0;opacity:0;pointer-events:none;clip-path:inset(50%);overflow:hidden}
body.ppn-site .ppn-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;min-width:0;height:44px;margin:0;padding:8px 10px;border:1px solid var(--ppn-field);border-radius:6px;background:#fff;color:var(--ppn-ink);font-size:1rem;text-align:left}
.ppn-date-trigger .ppn-date-value{font-variant-numeric:tabular-nums;white-space:nowrap}.ppn-date-trigger svg{flex-shrink:0}
#ppn-date-picker{width:332px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:16px;border:1px solid #dce4eb;border-radius:12px;background:#fff;color:#193447;box-shadow:0 12px 40px #19344726}
#ppn-date-picker::backdrop{background:#19344755}
.ppn-date-heading{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:4px;margin-bottom:12px}
body.ppn-site #ppn-date-picker h2{font-size:1.125rem;text-align:center;line-height:1.4;margin:0;letter-spacing:0}
body.ppn-site #ppn-date-picker button{min-width:0;min-height:40px;padding:0;border:0;border-radius:6px;background:#fff;color:#193447;font-size:1rem}
body.ppn-site #ppn-date-picker [data-month]{font-size:26px}
.ppn-date-week,.ppn-date-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}
.ppn-date-week{font-size:12px;color:#526779;margin-bottom:5px}
body.ppn-site #ppn-date-picker button:disabled{color:#8b959e;cursor:default;background:#f5f7f9}
body.ppn-site #ppn-date-picker button:not(:disabled):hover{background:#edf4fc}
body.ppn-site #ppn-date-picker button[aria-pressed=true]{background:#17529a;color:white}
body.ppn-site #ppn-date-picker.ppn-date-pointer-input button:focus{outline:none;box-shadow:none}
body.ppn-site #ppn-date-picker .ppn-date-close{display:block;width:100%;margin-top:14px;border:1px solid #7b8d9b;font-size:.875rem}

/* The custom pages use their own accessible back-to-top control. */
body.ppn-site .hestia-scroll-to-top{display:none!important}
.ppn-reviews-page h1{font-size:clamp(2rem,3vw,2.5rem);margin:0 0 1.5rem}.ppn-reviews-page blockquote{font-size:1rem}.ppn-reviews-page figcaption{font-size:.875rem;margin-top:1rem}.ppn-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ppn-review-grid figure{overflow-wrap:anywhere}@media(min-width:701px) and (max-width:1000px){.ppn-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ppn-review-grid{grid-template-columns:minmax(0,1fr)}}
