.public-layout{background:var(--color-background);color:var(--color-text);min-height:100vh;overflow-x:hidden}.about-hero h1,.apartment-detail-hero h1,.apartments-empty h2,.apartments-page h1,.booking-hero h1,.contact-hero h1,.faq-hero h1,.legal-hero h1,.portal-hero h1,.public-hero h1{font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em}.public-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(17,24,39,.1);gap:1.25rem;justify-content:space-between;min-height:5rem;padding:1rem var(--space-gutter);position:sticky;top:0;width:100%;z-index:20}.public-header,.public-nav{align-items:center;display:flex}.public-nav{gap:clamp(.75rem,2vw,1.25rem)}.public-nav a{color:var(--color-text);font-size:.875rem;font-weight:750;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.35rem;transition:color .15s cubic-bezier(0,0,.2,1),text-decoration-color .15s cubic-bezier(0,0,.2,1)}.public-nav a:focus-visible,.public-nav a:hover{color:var(--color-primary);outline:none;text-decoration-color:var(--color-secondary)}.public-brand{color:var(--color-primary);font-size:1.2rem;gap:.7rem;letter-spacing:.18em;min-width:0;text-transform:uppercase}.public-brand,.public-brand-mark{align-items:center;display:inline-flex;font-family:var(--font-heading);font-weight:600}.public-brand-mark{background:var(--color-primary);border:1px solid var(--color-secondary);border-radius:var(--radius-pill);color:var(--color-secondary);flex:0 0 auto;font-size:.85rem;height:2.5rem;justify-content:center;letter-spacing:.02em;width:2.5rem}.public-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.public-locale-switcher{align-items:center;border:1px solid rgba(2,2,55,.18);border-radius:var(--radius-pill);display:inline-flex;overflow:hidden}.public-locale-switcher a{color:var(--color-primary);font-size:.8125rem;font-weight:800;padding:.75rem .875rem;transition:background-color .15s cubic-bezier(0,0,.2,1),color .15s cubic-bezier(0,0,.2,1)}.public-locale-switcher a:focus-visible,.public-locale-switcher a:hover{background:var(--color-secondary)}.public-booking-link{min-height:2.75rem}.public-content{min-height:calc(100vh - 9.5rem)}.public-full-bleed,.public-visual-section{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:none;width:100vw}.public-hero{display:flex;min-height:min(760px,calc(100vh - 3rem));overflow:hidden;padding:var(--space-page);position:relative}.public-hero:before{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.78) 47%,rgba(17,24,39,.24)),linear-gradient(180deg,rgba(2,2,55,.14),rgba(2,2,55,0));content:"";z-index:1}.public-hero-media,.public-hero:before{inset:0;position:absolute}.apartment-card-image img,.public-hero-media img{-o-object-fit:cover;object-fit:cover}.hero-parallax-layer{height:150%;left:0;position:absolute;top:-25%;width:100%}.parallax-band{align-items:center;color:var(--color-background);display:flex;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:none;min-height:clamp(24rem,62vh,38rem);overflow:hidden;padding:clamp(3rem,8vw,6rem) var(--space-gutter);position:relative;width:100vw}.parallax-band-media{inset:0;position:absolute;z-index:0}.parallax-band-layer{height:152%;left:0;position:absolute;top:-26%;width:100%}.parallax-band-media img{-o-object-fit:cover;object-fit:cover}.parallax-band:before{background:linear-gradient(90deg,rgba(2,2,55,.84),rgba(2,2,55,.58) 46%,rgba(2,2,55,.16));content:"";inset:0;position:absolute;z-index:1}.parallax-band-end:before{background:linear-gradient(270deg,rgba(2,2,55,.84),rgba(2,2,55,.58) 46%,rgba(2,2,55,.16))}.parallax-band-inner{margin:0 auto;max-width:76rem;position:relative;width:100%;z-index:2}.parallax-band-inner-end{display:flex;justify-content:flex-end;text-align:right}.parallax-band-copy{max-width:36rem}.parallax-band .public-kicker{color:var(--color-secondary);margin-bottom:.75rem}.parallax-band h2{color:var(--color-background);font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.75rem);font-weight:600;letter-spacing:-.018em;line-height:1.02;margin:0}.parallax-band p{color:rgba(255,255,255,.92);font-size:clamp(1.0625rem,2vw,1.3rem);line-height:1.6;margin:1.25rem 0 0}.parallax-band-inner-end .parallax-band-copy p{margin-left:auto}.parallax-band .button-secondary{margin-top:2rem}.public-hero-inner{align-items:end;display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:minmax(0,1fr) minmax(20rem,29rem);margin:0 auto;max-width:76rem;position:relative;width:100%;z-index:2}.public-hero-copy{max-width:42rem}.public-kicker{color:var(--color-muted);font-size:.875rem;font-weight:700;letter-spacing:.08em;margin:0 0 1rem;text-transform:uppercase}.public-hero h1{color:var(--color-primary);font-size:clamp(3.25rem,7vw,6.5rem);line-height:.95;letter-spacing:-.025em;margin:0;max-width:10ch}.public-copy{border-left:4px solid var(--color-secondary);color:var(--color-text);font-size:clamp(1.125rem,2vw,1.5rem);line-height:1.55;margin:2rem 0 0;max-width:34rem;padding-left:1.25rem}.hero-highlights{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.hero-highlights span{background:rgba(255,255,255,.78);border:1px solid rgba(2,2,55,.12);color:var(--color-primary);font-size:.8125rem;font-weight:800;padding:.65rem .8rem}.public-hero-actions{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:2rem}.public-hero-trust{color:var(--color-muted);font-size:.875rem;font-weight:600;letter-spacing:.01em;margin:1.5rem 0 0}.apartments-empty-note{color:var(--color-muted);font-size:1.125rem;margin:0}.availability-widget{background:var(--color-background);border:1px solid rgba(17,24,39,.14);box-shadow:0 24px 80px rgba(17,24,39,.16);display:grid;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem)}.availability-heading{display:grid;gap:.35rem}.availability-heading span{color:var(--color-muted);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.availability-heading strong{color:var(--color-primary);font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.1}.availability-error{color:var(--color-primary);font-size:.875rem;font-weight:700;margin:0}.availability-submit{min-height:3.25rem;width:100%}.availability-summary{display:grid;grid-template-columns:1fr 1fr}.availability-summary-field{border:1px solid rgba(2,2,55,.2);display:grid;gap:.2rem;padding:.7rem .85rem}.availability-summary-field+.availability-summary-field{border-left:none}.availability-summary-field span{color:var(--color-muted);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.availability-summary-field strong{color:var(--color-text);font-size:.95rem;font-weight:800}.range-calendar{display:grid;gap:.75rem}.range-calendar-bar{align-items:center;display:grid;gap:.5rem;grid-template-columns:auto 1fr auto}.range-calendar-prompt{color:var(--color-primary);font-size:.8125rem;font-weight:850;text-align:center}.range-calendar-nav{align-items:center;background:var(--color-background);border:1px solid rgba(2,2,55,.16);border-radius:var(--radius-pill);color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:1.15rem;font-weight:900;height:2.25rem;justify-content:center;line-height:1;transition:background-color .15s cubic-bezier(0,0,.2,1),border-color .15s cubic-bezier(0,0,.2,1),color .15s cubic-bezier(0,0,.2,1);width:2.25rem}.range-calendar-nav:focus-visible,.range-calendar-nav:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-background);outline:none}.range-calendar-nav:disabled{cursor:not-allowed;opacity:.35}.range-calendar-months{display:grid;gap:1.5rem;grid-template-columns:1fr}@media (min-width:40rem){.range-calendar-months{grid-template-columns:1fr 1fr}}.range-calendar-title{color:var(--color-primary);font-weight:850;margin:0 0 .6rem;text-align:center}.range-calendar-grid,.range-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.range-calendar-weekdays{margin-bottom:.35rem}.range-calendar-weekdays span{color:var(--color-muted);font-size:.7rem;font-weight:800;text-align:center;text-transform:uppercase}.range-calendar-grid{gap:2px}.range-calendar-blank{aspect-ratio:1/1}.range-calendar-day{align-items:center;aspect-ratio:1/1;background:transparent;border:none;border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;display:flex;font-size:.9rem;font-weight:800;justify-content:center;position:relative;transition:background-color .12s cubic-bezier(0,0,.2,1),color .12s cubic-bezier(0,0,.2,1)}.range-calendar-day:hover:not(.is-past):not(.is-selected){background:rgba(2,2,55,.08)}.range-calendar-day:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.range-calendar-day.is-past{color:rgba(107,114,128,.55);cursor:not-allowed;text-decoration:line-through}.range-calendar-day.is-in-range{background:rgba(2,2,55,.1);border-radius:0;color:var(--color-primary)}.range-calendar-day.is-selected{background:var(--color-primary);color:var(--color-background)}.range-calendar-day.is-checkin{border-bottom-right-radius:0;border-top-right-radius:0}.range-calendar-day.is-checkout{border-bottom-left-radius:0;border-top-left-radius:0}.availability-nights{color:var(--color-muted);font-size:.8125rem;font-weight:800;margin:0;text-align:center}.availability-guests{display:grid;gap:.45rem}.availability-guests>span{color:var(--color-text);font-size:.8125rem;font-weight:800}.availability-stepper{align-items:center;border:1px solid rgba(2,2,55,.2);display:grid;grid-template-columns:3rem 1fr 3rem;min-height:3rem}.availability-stepper-button{align-items:center;align-self:stretch;background:var(--color-background);border:none;color:var(--color-primary);cursor:pointer;display:flex;font-size:1.35rem;font-weight:900;justify-content:center}.availability-stepper-button:disabled{color:var(--color-muted);cursor:not-allowed;opacity:.45}.availability-stepper-input{border:1px solid rgba(2,2,55,.14);border-top:none;border-bottom:none;color:var(--color-text);font-size:1rem;font-weight:800;min-height:2.85rem;text-align:center;width:100%}.availability-stepper-input:focus:not(:focus-visible){outline:none}.availability-stepper-button:focus-visible,.availability-stepper-input:focus-visible{box-shadow:0 0 0 5px var(--focus-ring-outer);outline:3px solid var(--focus-ring-inner);outline-offset:var(--focus-ring-offset)}.availability-guests-hint{color:var(--color-muted);font-size:.75rem;font-weight:700}.public-section{margin:0 auto;max-width:76rem;padding:var(--space-section) var(--space-gutter)}.public-section h2{color:var(--color-primary);font-size:clamp(2rem,5vw,4rem);line-height:1;letter-spacing:-.018em;margin:0}.section-heading{display:grid;gap:.75rem;margin-bottom:clamp(1.5rem,4vw,2.5rem);max-width:42rem}.final-cta .public-kicker,.public-location .public-kicker,.section-heading .public-kicker{margin-bottom:0}.section-heading-row{align-items:end;display:flex;justify-content:space-between;max-width:none}.public-trust{display:grid;gap:clamp(.75rem,2vw,1rem);grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:0}.trust-stat{background:rgba(252,208,167,.34);border:1px solid rgba(252,208,167,.7);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:.4rem;min-height:8rem;padding:clamp(1.25rem,3vw,2rem)}.trust-stat strong{color:var(--color-primary);font-size:clamp(2rem,5vw,3.75rem);line-height:1}.trust-stat span{color:var(--color-text);font-weight:800}.public-location{align-items:stretch;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(18rem,28rem)}.final-cta p,.public-location p{color:var(--color-text);font-size:1.125rem;line-height:1.65;margin:1.25rem 0 0;max-width:40rem}.location-panel{background:linear-gradient(135deg,rgba(252,208,167,.5),rgba(255,255,255,.92)),repeating-linear-gradient(45deg,rgba(2,2,55,.08) 0 1px,transparent 1px 16px);border:1px solid rgba(2,2,55,.16);display:flex;flex-direction:column;justify-content:end;min-height:18rem;padding:2rem}.location-panel span{color:var(--color-muted);font-size:.875rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.location-panel strong{color:var(--color-primary);font-size:clamp(1.5rem,4vw,2.4rem);line-height:1.1;margin-top:.75rem}.audience-strip{background:var(--color-primary);border-radius:var(--radius-lg);color:var(--color-background);display:flex;flex-direction:column;gap:clamp(1rem,3vw,1.5rem);margin:var(--space-section) auto 0;max-width:76rem;padding:clamp(1.75rem,4vw,2.75rem) clamp(1.5rem,4vw,2.75rem);width:calc(100% - 2 * var(--space-gutter))}.audience-strip-kicker{color:var(--color-secondary);font-size:.8125rem;font-weight:700;letter-spacing:.12em;margin:0;text-transform:uppercase}.audience-strip-list{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;margin:0;padding:0}.audience-strip-list li{align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-pill);display:flex;font-size:clamp(.95rem,1.6vw,1.0625rem);font-weight:600;gap:.625rem;padding:.75rem 1.25rem;transition:background .2s ease,border-color .2s ease,transform .2s ease}.audience-strip-list li:before{background:var(--color-secondary);border-radius:999px;content:"";flex:none;height:.5rem;width:.5rem}@media (hover:hover){.audience-strip-list li:hover{background:rgba(255,255,255,.12);border-color:rgba(252,208,167,.55);transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.audience-strip-list li{transition:none}.audience-strip-list li:hover{transform:none}}.apartment-grid,.assurance-grid,.benefit-grid,.process-grid,.review-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.home-location-filter{display:flex;flex-wrap:wrap;gap:.5rem}.home-location-filter a{border:1px solid rgba(17,24,39,.16);border-radius:var(--radius-pill);color:var(--color-primary);font-size:.875rem;font-weight:850;padding:.6rem 1.05rem;text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease}.home-location-filter a:focus-visible,.home-location-filter a:hover,.home-location-filter a[aria-current=page]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-background);outline:none}.assurance-card,.benefit-card,.process-card,.review-card{border:1px solid rgba(17,24,39,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:1rem;margin:0;padding:clamp(1.25rem,3vw,2rem)}.benefit-card span{background:var(--color-secondary);display:block;height:.45rem;width:3.25rem}.assurance-card p,.benefit-card p,.process-card p,.review-card blockquote{color:var(--color-text);font-size:1rem;line-height:1.6;margin:0}.process-card{align-content:start;background:rgba(2,2,55,.03)}.process-card span{color:var(--color-muted);font-size:.8125rem;font-weight:900;letter-spacing:.08em}.assurance-card h3,.benefit-card h3,.process-card h3{color:var(--color-primary);font-size:clamp(1.25rem,2vw,1.6rem);letter-spacing:-.01em;line-height:1.15;margin:0}.assurance-card{border-top:4px solid var(--color-secondary)}.apartment-card,.assurance-card{background:var(--color-background)}.apartment-card{border:1px solid rgba(17,24,39,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:border-color .15s cubic-bezier(0,0,.2,1),box-shadow .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1)}.apartment-card:hover{border-color:rgba(2,2,55,.18);box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.apartment-card a{display:grid;height:100%}.apartment-card-image{aspect-ratio:1/1;background:var(--color-secondary);position:relative}.apartment-card-body{display:grid;gap:.6rem;padding:1rem 1.25rem 1.25rem}.apartment-card-body span{color:var(--color-muted);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.apartment-card h2,.apartment-card h3{color:var(--color-primary);font-size:1.35rem;line-height:1.15;margin:0}.apartment-card p{color:var(--color-text);line-height:1.55;margin:0}.apartment-card dl{border-top:1px solid rgba(17,24,39,.1);display:grid;gap:.75rem;margin:0;padding-top:1rem}.apartment-card dl div{align-items:center;display:flex;justify-content:space-between}.apartment-card dt{color:var(--color-muted);font-size:.8125rem;font-weight:700}.apartment-card dd{color:var(--color-primary);font-weight:900;margin:0}.review-card{background:rgba(252,208,167,.24)}.review-card div{color:var(--color-primary);letter-spacing:.06em}.review-card figcaption{color:var(--color-muted);font-weight:800}.final-cta{align-items:center;background:var(--color-secondary);display:flex;gap:2rem;justify-content:space-between;margin-bottom:var(--space-section);padding:clamp(2rem,5vw,4rem)}.faq-list{border-top:1px solid rgba(17,24,39,.12);display:grid}.faq-list details{border-bottom:1px solid rgba(17,24,39,.12);padding:1.25rem 0}.faq-list summary{color:var(--color-primary);cursor:pointer;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:850;list-style-position:outside}.faq-list p{color:var(--color-text);line-height:1.65;margin:1rem 0 0;max-width:58rem}.contact-section{align-items:end;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(18rem,28rem)}.contact-section p{color:var(--color-text);font-size:1.125rem;line-height:1.65;margin:1.25rem 0 0;max-width:42rem}.contact-panel{background:var(--color-primary);color:var(--color-background);display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.contact-panel a{border-bottom:1px solid rgba(255,255,255,.2);font-size:1.05rem;font-weight:850;padding-bottom:1rem}.contact-panel span{color:rgba(255,255,255,.78);line-height:1.55}.about-page{display:grid;gap:clamp(2rem,5vw,4rem);margin:0 auto;max-width:76rem;padding:var(--space-page) var(--space-gutter) var(--space-section)}.about-hero,.about-phone,.about-split{align-items:end;display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(18rem,28rem)}.about-hero h1{color:var(--color-primary);font-size:clamp(2.75rem,7vw,5.5rem);letter-spacing:-.025em;line-height:.96;margin:0;max-width:11ch}.about-hero p:not(.public-kicker),.about-phone p,.about-split p{color:var(--color-text);font-size:clamp(1rem,2vw,1.25rem);line-height:1.65;margin:1.25rem 0 0;max-width:46rem}.about-hero-actions{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:2rem}.about-hero-panel{background:var(--color-primary);color:var(--color-background);display:grid;gap:1px;padding:1px}.about-hero-panel div{background:rgba(255,255,255,.06);display:grid;gap:.35rem;min-height:6.75rem;padding:clamp(1.25rem,3vw,1.75rem)}.about-hero-panel strong{color:var(--color-secondary);font-size:clamp(1.5rem,4vw,2.25rem);line-height:1}.about-hero-panel span{color:rgba(255,255,255,.78);font-weight:800;line-height:1.4}.about-section,.about-split{border-top:1px solid rgba(17,24,39,.12);padding-top:clamp(2rem,5vw,4rem)}.about-phone h2,.about-section h2,.about-split h2{color:var(--color-primary);font-size:clamp(2rem,5vw,4rem);letter-spacing:-.018em;line-height:1;margin:0}.about-copy-block{display:grid;gap:1.25rem}.about-copy-block p{margin-top:0}.about-copy-block ul{display:grid;gap:.85rem;list-style:none;margin:0;padding:0}.about-copy-block li{border-left:4px solid var(--color-secondary);color:var(--color-text);font-weight:750;line-height:1.55;padding-left:1rem}.about-location{align-items:stretch}.about-map-card{background:linear-gradient(135deg,rgba(252,208,167,.58),rgba(255,255,255,.92)),linear-gradient(90deg,rgba(2,2,55,.08) 1px,transparent 0),linear-gradient(0deg,rgba(2,2,55,.08) 1px,transparent 0);background-size:auto,2rem 2rem,2rem 2rem;border:1px solid rgba(2,2,55,.16);display:flex;flex-direction:column;justify-content:end;min-height:20rem;padding:clamp(1.5rem,4vw,2rem);position:relative}.about-map-card:before{background:var(--color-primary);content:"";height:1rem;left:54%;position:absolute;top:42%;width:1rem}.about-map-card span{color:var(--color-muted);font-size:.875rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.about-map-card strong{color:var(--color-primary);font-size:clamp(1.5rem,4vw,2.35rem);line-height:1.1;margin-top:.75rem}.about-map-card small{color:var(--color-text);font-weight:750;line-height:1.5;margin-top:1rem}.about-company-list{border-top:1px solid rgba(17,24,39,.12);display:grid;margin:0}.about-company-list div{align-items:center;border-bottom:1px solid rgba(17,24,39,.12);display:grid;gap:1rem;grid-template-columns:minmax(9rem,.35fr) minmax(0,1fr);padding:1.15rem 0}.about-company-list dt{color:var(--color-muted);font-size:.875rem;font-weight:850}.about-company-list dd{color:var(--color-primary);font-size:clamp(1rem,2vw,1.25rem);font-weight:850;margin:0}.about-contact-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.about-contact-card{border:1px solid rgba(17,24,39,.12);display:grid;grid-template-columns:minmax(9rem,.42fr) minmax(0,1fr);min-height:18rem}.about-contact-image{background:rgba(252,208,167,.28);min-height:100%;overflow:hidden;position:relative}.about-contact-image img{-o-object-fit:cover;object-fit:cover}.about-contact-card>div:last-child{align-content:center;display:grid;gap:.75rem;padding:clamp(1.25rem,3vw,2rem)}.about-contact-card h3{color:var(--color-primary);font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.012em;line-height:1.05;margin:0}.about-contact-card span{color:var(--color-muted);font-size:.875rem;font-weight:850}.about-contact-card p{color:var(--color-text);line-height:1.6;margin:0}.about-phone{background:var(--color-secondary);padding:clamp(1.5rem,4vw,3rem)}.about-phone-panel{background:var(--color-background);border:1px solid rgba(2,2,55,.14);display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.about-phone-panel a{color:var(--color-primary);font-size:clamp(1rem,2vw,1.35rem);font-weight:900;overflow-wrap:anywhere}.about-phone-panel a:first-child{border-bottom:1px solid rgba(17,24,39,.12);font-size:clamp(1.5rem,4vw,2.25rem);line-height:1.1;padding-bottom:1rem}.about-phone-panel span{color:var(--color-muted);line-height:1.55}.contact-page{display:grid;gap:clamp(2rem,5vw,4rem);margin:0 auto;max-width:76rem;padding:var(--space-page) var(--space-gutter) var(--space-section)}.contact-grid,.contact-hero{align-items:start;display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(18rem,28rem)}.contact-hero{align-items:end}.contact-hero h1{color:var(--color-primary);font-size:clamp(2.75rem,7vw,5.5rem);letter-spacing:-.025em;line-height:.96;margin:0;max-width:12ch}.contact-hero p:not(.public-kicker){color:var(--color-text);font-size:clamp(1rem,2vw,1.25rem);line-height:1.65;margin:1.25rem 0 0;max-width:46rem}.contact-response-panel{background:var(--color-primary);color:var(--color-background);display:grid;gap:.85rem;padding:clamp(1.25rem,3vw,2rem)}.contact-response-panel strong{color:var(--color-secondary);font-size:clamp(2.25rem,6vw,4rem);line-height:.95}.contact-response-panel span{color:rgba(255,255,255,.78);font-weight:800;line-height:1.55}.contact-form textarea{min-height:11rem;resize:vertical}.contact-honeypot{height:1px;left:-10000px;overflow:hidden;position:absolute;top:auto;width:1px}.contact-aside{display:grid;gap:1rem}.contact-address,.contact-methods{border:1px solid rgba(17,24,39,.14);display:grid;gap:1.25rem;padding:clamp(1.25rem,3vw,2rem)}.contact-address h2,.contact-map-section h2,.contact-methods h2{color:var(--color-primary);font-size:clamp(1.5rem,3vw,2rem);line-height:1.1;margin:0}.contact-method-list{display:grid;gap:1px}.contact-method-list a{background:rgba(2,2,55,.04);display:grid;gap:.4rem;padding:1rem;transition:background-color .15s cubic-bezier(0,0,.2,1),color .15s cubic-bezier(0,0,.2,1)}.contact-method-list a:focus-visible,.contact-method-list a:hover{background:var(--color-secondary);outline:none}.contact-method-list span{color:var(--color-muted);font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.contact-method-list strong{color:var(--color-primary);font-size:clamp(1rem,2vw,1.25rem);overflow-wrap:anywhere}.contact-address{background:var(--color-secondary)}.contact-address address,.contact-address p{color:var(--color-primary);font-style:normal;font-weight:850;line-height:1.55;margin:0}.contact-directions{display:grid;gap:1.25rem}.contact-directions-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}.contact-direction-card{border:1px solid rgba(17,24,39,.12);display:grid;gap:.5rem;padding:1.25rem}.contact-direction-card h3{color:var(--color-primary);font-size:1.0625rem;margin:0}.contact-direction-card p{color:var(--color-text);font-size:.9375rem;line-height:1.55;margin:0}@media (max-width:768px){.contact-directions-grid{grid-template-columns:1fr}}.contact-map-section{border-top:1px solid rgba(17,24,39,.12);display:grid;gap:1.25rem;padding-top:clamp(2rem,5vw,4rem)}.contact-map-section iframe{aspect-ratio:16/7;background:var(--color-primary);border:0;min-height:22rem;width:100%}.faq-page{display:grid;gap:clamp(2rem,5vw,4rem);margin:0 auto;max-width:76rem;padding:var(--space-page) var(--space-gutter) var(--space-section)}.faq-hero,.faq-support{align-items:end;display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(18rem,28rem)}.faq-hero h1{color:var(--color-primary);font-size:clamp(2.75rem,7vw,5.5rem);letter-spacing:-.025em;line-height:.96;margin:0;max-width:11ch}.faq-hero p:not(.public-kicker),.faq-support p{color:var(--color-text);font-size:clamp(1rem,2vw,1.25rem);line-height:1.65;margin:1.25rem 0 0;max-width:46rem}.faq-topic-panel{background:rgba(252,208,167,.28);border:1px solid rgba(17,24,39,.12);display:flex;flex-wrap:wrap;gap:.75rem;padding:clamp(1.25rem,3vw,2rem)}.faq-topic-panel a{background:var(--color-background);border:1px solid rgba(2,2,55,.16);color:var(--color-primary);font-size:.8125rem;font-weight:850;padding:.7rem .85rem;transition:background-color .15s cubic-bezier(0,0,.2,1),border-color .15s cubic-bezier(0,0,.2,1)}.faq-topic-panel a:focus-visible,.faq-topic-panel a:hover{background:var(--color-secondary);border-color:rgba(2,2,55,.3);outline:none}.faq-section-main{border-top:1px solid rgba(17,24,39,.12)}.faq-accordion{display:grid}.faq-accordion details,.faq-accordion-item{border-bottom:1px solid rgba(17,24,39,.12)}.faq-accordion-item h2{margin:0}.faq-accordion summary,.faq-accordion-trigger{align-items:center;background:transparent;border:0;color:var(--color-primary);cursor:pointer;display:grid;font:inherit;gap:1rem;grid-template-columns:minmax(0,1fr) auto auto;list-style:none;padding:clamp(1.15rem,3vw,1.6rem) 0;text-align:left;width:100%}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion summary:after,.faq-accordion-trigger:after{align-items:center;background:var(--color-primary);color:var(--color-background);content:"+";display:inline-flex;font-weight:900;height:2rem;justify-content:center;width:2rem}.faq-accordion details[open] summary:after,.faq-accordion-trigger[aria-expanded=true]:after{content:"-"}.faq-accordion summary:focus-visible,.faq-accordion-trigger:focus-visible{outline:3px solid rgba(2,2,55,.22);outline-offset:.35rem}.faq-accordion summary span,.faq-accordion-trigger span{font-size:clamp(1.1rem,2vw,1.45rem);font-weight:850;line-height:1.22}.faq-accordion summary small,.faq-accordion-trigger small{background:var(--color-secondary);color:var(--color-primary);font-size:.75rem;font-weight:900;letter-spacing:.04em;padding:.45rem .65rem;text-transform:uppercase}.faq-accordion p{color:var(--color-text);font-size:1rem;line-height:1.7;margin:0;max-width:58rem;padding:0 4rem clamp(1.25rem,3vw,1.75rem) 0}.faq-support{background:var(--color-secondary);padding:clamp(1.5rem,4vw,3rem)}.faq-support h2{color:var(--color-primary);font-size:clamp(1.75rem,4vw,3rem);letter-spacing:-.018em;line-height:1;margin:0}.faq-support-panel{background:var(--color-background);border:1px solid rgba(2,2,55,.14);display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.faq-support-panel a:not(.button-primary){color:var(--color-primary);font-size:clamp(1rem,2vw,1.25rem);font-weight:900;overflow-wrap:anywhere}.public-footer{border-top:1px solid rgba(17,24,39,.1);color:var(--color-muted);font-size:.875rem;gap:1rem;min-height:4.5rem;padding:1rem var(--space-gutter);text-align:center}.public-footer,.public-footer-nav{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}.public-footer-nav{gap:.75rem}.public-footer-nav a{color:var(--color-primary);font-weight:800;text-decoration:underline;text-decoration-color:var(--color-secondary);text-underline-offset:.3rem}.cookie-consent-slot{align-items:center;display:inline-flex;min-height:1.5rem;min-width:9.5rem}.public-footer-admin{display:flex;flex-basis:100%;justify-content:center;margin-top:.25rem}.public-footer-admin-chip{align-items:center;background:rgba(252,208,167,.4);border:1px dashed rgba(2,2,55,.35);border-radius:var(--radius-pill);color:var(--color-muted);display:inline-flex;font-size:.8125rem;font-weight:700;gap:.6rem;padding:.45rem .9rem}.public-footer-admin-chip a{color:var(--color-primary);font-weight:800;text-decoration:underline;text-decoration-color:var(--color-secondary);text-underline-offset:.3rem}.public-footer-admin-chip a:focus-visible,.public-footer-admin-chip a:hover{outline:none;text-decoration-color:var(--color-primary)}.legal-page{display:grid;gap:clamp(2rem,5vw,4rem);margin:0 auto;max-width:76rem;padding:var(--space-page) var(--space-gutter) var(--space-section)}.legal-hero{border-bottom:1px solid rgba(17,24,39,.12);display:grid;gap:1rem;padding-bottom:clamp(1.5rem,4vw,3rem)}.legal-hero h1{color:var(--color-primary);font-size:clamp(2.5rem,6vw,5rem);line-height:1;margin:0;max-width:12ch}.legal-hero p:not(.public-kicker){color:var(--color-text);font-size:clamp(1rem,2vw,1.25rem);line-height:1.65;margin:0;max-width:52rem}.legal-hero span{color:var(--color-muted);font-size:.9rem;font-weight:750}.legal-layout{align-items:start;display:grid;gap:clamp(2rem,4vw,3rem);grid-template-columns:minmax(12rem,18rem) minmax(0,1fr)}.legal-toc{border-left:3px solid var(--color-secondary);display:grid;gap:.75rem;padding-left:1rem;position:sticky;top:6rem}.legal-toc a{color:var(--color-primary);font-size:.9rem;font-weight:850;line-height:1.35}.legal-article{display:grid;gap:clamp(1.5rem,4vw,2.75rem);max-width:48rem}.legal-section{border-bottom:1px solid rgba(17,24,39,.12);display:grid;gap:.85rem;padding-bottom:clamp(1.5rem,4vw,2.5rem);scroll-margin-top:6rem}.legal-section h2{color:var(--color-primary);font-size:clamp(1.4rem,3vw,2.15rem);line-height:1.1;margin:0}.legal-section p{color:var(--color-text);font-size:1rem;line-height:1.75;margin:0}.legal-contact-link{justify-self:start}.cookie-consent-text-button,.cookie-settings-link{background:transparent;border:0;color:var(--color-primary);cursor:pointer;font-size:.875rem;font-weight:800;padding:0;text-decoration:underline;text-decoration-color:var(--color-secondary);text-underline-offset:.3rem}.cookie-consent-text-button:focus-visible,.cookie-settings-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:.25rem}.cookie-consent-banner{align-items:center;background:var(--color-background);border:1px solid rgba(17,24,39,.16);bottom:1rem;box-shadow:0 24px 80px rgba(17,24,39,.18);display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) auto;left:50%;max-width:min(72rem,calc(100vw - 2rem));padding:1.25rem;position:fixed;transform:translateX(-50%);width:100%;z-index:60}.cookie-consent-copy{display:grid;gap:.5rem;text-align:left}.cookie-consent-copy .public-kicker,.cookie-preferences-heading .public-kicker{margin:0}.cookie-consent-copy h2,.cookie-preferences-heading h2{color:var(--color-primary);font-size:1.35rem;line-height:1.15;margin:0}.cookie-consent-copy p,.cookie-preferences-panel p{color:var(--color-text);line-height:1.55;margin:0}.cookie-consent-copy a{color:var(--color-primary);font-size:.875rem;font-weight:800;text-decoration:underline;text-decoration-color:var(--color-secondary);text-underline-offset:.3rem}.cookie-consent-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.cookie-preferences-backdrop{align-items:center;background:rgba(17,24,39,.42);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:70}.cookie-preferences-panel{background:var(--color-background);border:1px solid rgba(17,24,39,.16);box-shadow:0 24px 80px rgba(17,24,39,.2);display:grid;gap:1.25rem;max-height:min(44rem,calc(100vh - 2rem));max-width:42rem;overflow:auto;padding:1.5rem;width:100%}.cookie-preferences-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.cookie-preferences-note{background:rgba(252,208,167,.32);border-left:4px solid var(--color-secondary);padding:.85rem 1rem}.cookie-category-list{display:grid;gap:.75rem}.cookie-category{align-items:center;border:1px solid rgba(17,24,39,.12);display:flex;gap:1rem;justify-content:space-between;padding:1rem;text-align:left}.cookie-category span{display:grid;gap:.35rem}.cookie-category strong{color:var(--color-primary)}.cookie-category small{color:var(--color-muted);line-height:1.45}.cookie-category input{accent-color:var(--color-primary);flex:0 0 auto;height:1.25rem;width:1.25rem}.consent-embed{align-content:center;aspect-ratio:16/9;background:rgba(252,208,167,.26);border:1px solid rgba(2,2,55,.16);color:var(--color-primary);display:grid;gap:.75rem;justify-items:start;min-height:14rem;padding:clamp(1rem,3vw,1.5rem);width:100%}.consent-embed strong{font-size:1.1rem}.consent-embed p{color:var(--color-text);line-height:1.55;margin:0;max-width:34rem}.apartments-page{display:grid;gap:clamp(1.5rem,4vw,2.5rem)}.apartments-page-heading{align-items:start;display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(20rem,31rem)}.apartments-page h1{color:var(--color-primary);font-size:clamp(2.75rem,7vw,5.5rem);letter-spacing:-.025em;line-height:.98;margin:0}.apartments-page-heading p{color:var(--color-text);font-size:clamp(1rem,2vw,1.25rem);line-height:1.65;margin:1.25rem 0 0;max-width:42rem}.apartments-filter{border:1px solid rgba(17,24,39,.12);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.apartments-filter label{display:grid;gap:.4rem}.apartments-filter span{color:var(--color-text);font-size:.8125rem;font-weight:800}.apartments-filter input,.apartments-filter select{border:1px solid rgba(2,2,55,.2);border-radius:var(--radius-sm);color:var(--color-text);min-height:3rem;padding:.7rem .9rem;transition:border-color .15s cubic-bezier(0,0,.2,1),box-shadow .15s cubic-bezier(0,0,.2,1);width:100%}.apartments-filter input:focus,.apartments-filter select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(2,2,55,.12);outline:none}.apartments-filter input[aria-invalid=true]{border-color:var(--color-primary)}.apartments-filter-actions{display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) auto}.apartments-filter-actions .button-primary,.apartments-filter-actions .button-secondary{min-height:3.25rem}.apartments-filter-error{background:rgba(252,208,167,.36);border-left:4px solid var(--color-secondary);color:var(--color-primary);font-weight:800;margin:0;padding:1rem 1.25rem}.apartments-results-summary{align-items:center;border-bottom:1px solid rgba(17,24,39,.12);border-top:1px solid rgba(17,24,39,.12);display:flex;gap:1rem;justify-content:space-between;padding:1rem 0}.apartments-results-summary strong{color:var(--color-primary);font-size:1.125rem}.apartments-results-summary span{color:var(--color-muted);font-weight:700;text-align:right}.apartments-list-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.apartment-card-listing .apartment-card-image{overflow:hidden}.apartment-card-listing .apartment-card-body>p{display:none}.apartment-card-listing .apartment-card h2{font-size:1.1rem;line-height:1.25}.apartment-card-listing .apartment-card dl{border-top:1px solid rgba(17,24,39,.08);gap:.4rem;padding-top:.7rem}.apartment-card-listing .apartment-card dl div{font-size:.875rem}.availability-pill{background:var(--color-background);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);color:var(--color-primary);font-size:.75rem;font-weight:900;inset:1rem 1rem auto auto;letter-spacing:.08em;padding:.5rem .85rem;position:absolute;text-transform:uppercase}.availability-pill-available{background:var(--color-secondary)}.availability-pill-unavailable{background:var(--color-primary);color:var(--color-background)}.availability-pill-unknown{border:1px solid rgba(2,2,55,.2)}.apartments-empty{border:1px solid rgba(17,24,39,.12);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:1rem;justify-items:start;padding:clamp(1.5rem,4vw,3rem)}.apartments-empty h2{color:var(--color-primary);font-size:clamp(1.75rem,4vw,3rem);letter-spacing:-.018em;line-height:1;margin:0}.apartments-empty p{color:var(--color-text);line-height:1.6;margin:0;max-width:36rem}.apartment-detail,.booking-page,.portal-page{display:grid;gap:clamp(2rem,5vw,4rem)}.apartment-breadcrumb{align-items:center;color:var(--color-muted);display:flex;flex-wrap:wrap;font-size:.875rem;font-weight:600;gap:.5rem}.apartment-breadcrumb a{color:var(--color-muted);text-decoration:none}.apartment-breadcrumb a:hover{color:var(--color-primary);text-decoration:underline}.apartment-breadcrumb [aria-current=page]{color:var(--color-primary)}.apartment-detail,.apartment-detail *,.apartment-detail :after,.apartment-detail :before{box-sizing:border-box}.apartment-detail-hero,.booking-hero,.portal-hero{align-items:end;display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(18rem,28rem)}.apartment-detail-hero h1,.booking-hero h1,.portal-hero h1{color:var(--color-primary);font-size:clamp(2.75rem,7vw,5.5rem);letter-spacing:-.025em;line-height:.96;margin:0}.apartment-detail-hero p,.booking-hero p,.portal-hero p{color:var(--color-text);font-size:clamp(1rem,2vw,1.25rem);line-height:1.65;margin:1.25rem 0 0;max-width:46rem}.apartment-detail-hero>*,.detail-availability-panel,.detail-booking-panel,.detail-gallery,.detail-gallery-main,.detail-gallery-side,.detail-grid,.detail-location-panel,.detail-main-column,.detail-media-grid,.detail-media-section,.detail-side-column{min-width:0}.booking-form,.booking-summary,.detail-booking-panel,.portal-login{border:1px solid rgba(17,24,39,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-card-hover);display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.booking-checkout{align-items:start;display:grid;gap:1rem;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr)}.booking-checkout-form{gap:clamp(1.5rem,3vw,2.25rem)}.booking-form-section{display:grid;gap:1rem}.booking-form-section h2{color:var(--color-primary);font-size:clamp(1.5rem,3vw,2rem);line-height:1.1;margin:0}.booking-date-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.booking-form label,.portal-login label{display:grid;gap:.45rem}.booking-form span,.portal-login span{color:var(--color-text);font-size:.8125rem;font-weight:850}.booking-form input,.booking-form select,.booking-form textarea,.portal-login input{border:1px solid rgba(2,2,55,.2);border-radius:var(--radius-sm);color:var(--color-text);min-height:3.1rem;padding:.7rem .9rem;width:100%}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus,.portal-login input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(2,2,55,.12);outline:none}.booking-form input[aria-invalid=true],.booking-form select[aria-invalid=true],.booking-form textarea[aria-invalid=true]{border-color:var(--color-primary);box-shadow:inset 4px 0 0 var(--color-secondary)}.booking-calendar-nav{align-items:center;display:flex;gap:.6rem;justify-content:space-between;margin-bottom:.6rem}.booking-calendar-range{color:var(--color-primary);font-size:.9rem;font-weight:850;text-align:center}.booking-calendar-nav-button{align-items:center;background:var(--color-background);border:1px solid rgba(2,2,55,.16);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:1.25rem;font-weight:900;height:2.5rem;justify-content:center;line-height:1;transition:background-color .15s cubic-bezier(0,0,.2,1),border-color .15s cubic-bezier(0,0,.2,1),color .15s cubic-bezier(0,0,.2,1);width:2.5rem}.booking-calendar-nav-button:focus-visible,.booking-calendar-nav-button:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-background);outline:none}.booking-calendar-nav-button:disabled{cursor:not-allowed;opacity:.4}.booking-calendar{display:grid;gap:.45rem;grid-template-columns:repeat(7,minmax(0,1fr))}.booking-calendar-day{background:var(--color-background);border:1px solid rgba(2,2,55,.14);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:grid;gap:.2rem;min-height:4rem;padding:.45rem;text-align:left;transition:background-color .15s cubic-bezier(0,0,.2,1),border-color .15s cubic-bezier(0,0,.2,1),color .15s cubic-bezier(0,0,.2,1)}.booking-calendar-day.selected,.booking-calendar-day:focus-visible,.booking-calendar-day:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-background);outline:none}.booking-calendar-day small{color:inherit;font-size:.68rem;font-weight:800}.booking-calendar-day span{color:inherit;font-size:1rem;font-weight:900}.booking-calendar-day--booked,.booking-calendar-day--booked:focus-visible,.booking-calendar-day--booked:hover{background:rgba(2,2,55,.05);border-color:rgba(2,2,55,.12);border-style:dashed;color:var(--color-muted);cursor:not-allowed;text-decoration:line-through}.booking-calendar-day--booked small,.booking-calendar-day--booked span{color:var(--color-muted)}.booking-calendar-day--checkout-only,.booking-calendar-day--checkout-only:focus-visible,.booking-calendar-day--checkout-only:hover{background:rgba(252,208,167,.28);border-color:var(--color-secondary);border-style:dashed;color:var(--color-primary);cursor:pointer;text-decoration:none}.booking-calendar-day--checkout-only small,.booking-calendar-day--checkout-only span{color:var(--color-primary)}.booking-calendar-legend{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}.booking-calendar-legend span{align-items:center;color:var(--color-muted);display:inline-flex;font-size:.75rem;font-weight:850;gap:.35rem}.booking-calendar-legend span:before{border-radius:var(--radius-sm);content:"";display:inline-block;height:.75rem;width:.75rem}.booking-calendar-legend span:first-child:before{background:var(--color-background);border:1px solid rgba(2,2,55,.18)}.booking-calendar-legend span:nth-child(2):before{background:rgba(2,2,55,.08);border:1px dashed rgba(2,2,55,.3)}.booking-calendar-legend span:nth-child(3):before{background:var(--color-primary)}.booking-calendar-status{color:var(--color-muted);font-size:.8rem;font-weight:700;margin-top:.4rem}.booking-field-error,.booking-form-error,.booking-form-success{border-left:4px solid var(--color-secondary);color:var(--color-primary);font-size:.875rem;font-weight:800;line-height:1.45;margin:0;padding-left:.8rem}.booking-form-error{background:rgba(252,208,167,.35);padding-bottom:.8rem;padding-top:.8rem}.booking-form-success{background:rgba(2,2,55,.06);padding-bottom:.8rem;padding-top:.8rem}.booking-submit{min-height:3.25rem}.booking-submit:disabled{cursor:wait;opacity:.68}.booking-grid,.detail-grid,.portal-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr)}.booking-summary{align-content:start;background:rgba(252,208,167,.28);box-shadow:var(--shadow-card)}.booking-live-summary{position:sticky;top:6.25rem}.booking-summary dl,.detail-booking-panel dl{display:grid;gap:.8rem;margin:0}.booking-summary dl>div,.detail-booking-panel dl>div{align-items:center;display:flex;justify-content:space-between}.booking-summary dt,.detail-booking-panel dt{color:var(--color-muted);font-weight:750}.booking-summary dd,.detail-booking-panel dd{color:var(--color-primary);font-weight:900;margin:0}.booking-summary-total{border-top:1px solid rgba(2,2,55,.14);padding-top:.9rem}.booking-summary-total dd{font-size:clamp(1.35rem,4vw,2rem)}.booking-cancellation-note{border-top:1px solid rgba(2,2,55,.12);padding-top:1rem}.booking-system-grid,.detail-amenity-grid,.portal-feature-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-related,.detail-related-grid{display:grid;gap:1.5rem}.detail-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:768px){.detail-related-grid{grid-template-columns:1fr}}.booking-system-card,.detail-amenity-card,.portal-feature-card{border:1px solid rgba(17,24,39,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:.75rem;padding:clamp(1.25rem,3vw,2rem)}.booking-summary h2,.booking-system-card h2,.detail-amenity-card h2,.detail-booking-panel h2,.portal-feature-card h2{color:var(--color-primary);font-size:1.35rem;letter-spacing:-.01em;line-height:1.15;margin:0}.booking-summary p,.booking-system-card p,.detail-amenity-card p,.detail-booking-panel p,.portal-feature-card p{color:var(--color-text);line-height:1.6;margin:0}.payment-return{display:grid;gap:1.25rem;margin:0 auto;max-width:48rem;padding:var(--space-page)}.payment-return h1{color:var(--color-primary);font-size:clamp(2.5rem,6vw,4.75rem);line-height:.98;margin:0}.payment-return>p:not(.public-kicker){color:var(--color-text);font-size:clamp(1rem,2vw,1.25rem);line-height:1.6;margin:0}.payment-return-panel{background:rgba(252,208,167,.28);border:1px solid rgba(17,24,39,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.payment-return-panel dl{display:grid;gap:.85rem;margin:0}.payment-return-panel dl>div{align-items:center;display:flex;gap:1rem;justify-content:space-between}.payment-return-panel dt{color:var(--color-muted);font-weight:750}.payment-return-panel dd{color:var(--color-primary);font-weight:900;margin:0;min-width:0;overflow-wrap:anywhere;text-align:right}.payment-return-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.875rem}.payment-checkout{display:grid;gap:.75rem}.payment-checkout .button-primary:disabled{cursor:wait;opacity:.68}.payment-checkout-error{background:rgba(252,208,167,.35);border-left:4px solid var(--color-secondary);color:var(--color-primary);font-size:.875rem;font-weight:800;line-height:1.45;margin:0;max-width:26rem;padding:.8rem 0 .8rem .8rem}.portal-shell{display:grid;gap:clamp(1.5rem,4vw,3rem);margin:0 auto;max-width:76rem;padding:clamp(1.25rem,4vw,4rem) var(--space-gutter);width:100%}.portal-shell-header{align-items:end;border-bottom:1px solid rgba(2,2,55,.14);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto;padding-bottom:clamp(1.25rem,3vw,2rem)}.portal-shell-header h1{color:var(--color-primary);font-size:clamp(2.75rem,7vw,5.75rem);line-height:.95;margin:0}.portal-shell-header p:not(.public-kicker){color:var(--color-text);font-size:clamp(1rem,2vw,1.25rem);line-height:1.6;margin:1rem 0 0;max-width:44rem}.portal-secondary-action{border:1px solid rgba(2,2,55,.18);color:var(--color-primary);font-size:.875rem;font-weight:850;min-height:2.75rem;padding:0 1rem;transition:background-color .15s cubic-bezier(0,0,.2,1),border-color .15s cubic-bezier(0,0,.2,1)}.portal-secondary-action:focus-visible,.portal-secondary-action:hover{background:var(--color-secondary);border-color:var(--color-secondary);outline:none}.portal-shell-grid{align-items:start;display:grid;gap:clamp(1rem,3vw,1.5rem);grid-template-columns:minmax(17rem,.36fr) minmax(0,1fr)}.portal-shell-grid--login{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.portal-error-state,.portal-loading-state,.portal-login-panel,.portal-section-panel,.portal-stay-summary{background:var(--color-background);border:1px solid rgba(17,24,39,.14)}.portal-login-panel{display:grid;gap:1rem;padding:clamp(1.25rem,3vw,1.75rem);position:sticky;top:6.25rem}.portal-dashboard-title,.portal-error-state h1,.portal-login-panel h2,.portal-section-panel h2{color:var(--color-primary);font-size:clamp(1.35rem,3vw,2rem);line-height:1.1;margin:0}.portal-login-form{display:grid;gap:1rem}.portal-login-tabs{border:1px solid rgba(2,2,55,.14);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-login-tabs button{color:var(--color-primary);font-size:.8125rem;font-weight:850;min-height:2.75rem;padding:0 .75rem}.portal-login-tabs button[aria-selected=true]{background:var(--color-secondary)}.portal-login-tabs button:focus-visible{box-shadow:inset 0 0 0 3px rgba(2,2,55,.18);outline:none}.portal-account-panel{display:grid;gap:.45rem}.portal-account-panel strong{color:var(--color-primary);font-size:1.1rem;line-height:1.2;overflow-wrap:anywhere}.portal-account-panel span{color:var(--color-muted);font-size:.875rem;font-weight:750;overflow-wrap:anywhere}.portal-login-form label{display:grid;gap:.45rem}.portal-login-form span{color:var(--color-text);font-size:.8125rem;font-weight:850}.portal-login-form input{border:1px solid rgba(2,2,55,.2);color:var(--color-text);min-height:3.1rem;padding:.7rem .8rem;width:100%}.portal-login-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(2,2,55,.12);outline:none}.portal-login-form button:disabled{cursor:wait;opacity:.7}.portal-login-feedback{background:rgba(252,208,167,.42);color:var(--color-primary);font-size:.875rem;font-weight:800;line-height:1.45;margin:0;padding:.8rem}.portal-dashboard-shell{display:grid;gap:1rem;min-width:0;overflow:clip}.portal-dashboard-title{font-size:clamp(1.5rem,4vw,2.4rem)}.portal-stay-summary{border-left:.35rem solid var(--color-secondary);display:grid;gap:.35rem;padding:clamp(1rem,3vw,1.5rem)}.portal-stay-summary small,.portal-stay-summary span{color:var(--color-muted);font-size:.75rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.portal-stay-summary strong{color:var(--color-primary);font-size:clamp(1.5rem,4vw,2.25rem);line-height:1}.portal-stay-summary p{color:var(--color-text);font-weight:750;margin:0}.portal-section-nav{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(2,2,55,.12);display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.75rem;position:sticky;scrollbar-width:thin;top:5rem;z-index:10}.portal-section-nav a{border:1px solid rgba(2,2,55,.14);color:var(--color-primary);flex:0 0 auto;font-size:.8125rem;font-weight:850;padding:.7rem .85rem;transition:background-color .15s cubic-bezier(0,0,.2,1),border-color .15s cubic-bezier(0,0,.2,1)}.portal-section-nav a:focus-visible,.portal-section-nav a:hover{background:var(--color-secondary);border-color:var(--color-secondary);outline:none}.portal-section-list{display:grid;gap:1rem}.portal-session-state{background:rgba(252,208,167,.35);border:1px solid rgba(17,24,39,.14);display:grid;gap:.75rem;justify-items:start;padding:clamp(1.25rem,3vw,2rem)}.portal-session-state h2{color:var(--color-primary);font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.05;margin:0}.portal-session-state p{color:var(--color-text);line-height:1.6;margin:0;max-width:38rem}.portal-session-state--login{gap:.85rem;padding:clamp(1.25rem,3vw,1.5rem)}.portal-session-state--login h2{font-size:clamp(1.35rem,3vw,1.75rem)}.portal-session-state__benefits-title{color:var(--color-primary);font-weight:850;margin:.25rem 0 0}.portal-session-state__benefits{display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.portal-session-state__benefits li{color:var(--color-text);font-weight:650;line-height:1.5;padding-left:1.5rem;position:relative}.portal-session-state__benefits li:before{color:var(--color-primary);content:"✓";font-weight:850;left:0;position:absolute}.portal-session-state__trust{color:var(--color-muted);font-size:.875rem}.portal-session-state__help{font-size:.875rem}.portal-session-state__help a{color:var(--color-primary);font-weight:750;text-decoration:underline}.portal-section-panel{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(7rem,10rem);padding:clamp(1.25rem,3vw,1.75rem);scroll-margin-top:8.5rem}.portal-section-panel-full{align-items:stretch;grid-template-columns:1fr}.portal-error-state p,.portal-section-panel p{color:var(--color-text);line-height:1.6;margin:.6rem 0 0}.portal-section-placeholder{align-items:center;background:rgba(252,208,167,.45);color:var(--color-primary);display:inline-flex;font-size:.75rem;font-weight:850;justify-content:center;min-height:4.5rem;text-transform:uppercase}.portal-section-message{background:rgba(252,208,167,.35);color:var(--color-primary);font-size:.875rem;font-weight:800;line-height:1.45;margin:0;padding:.8rem}.portal-bookings-list{display:grid;gap:.85rem}.portal-booking-card{border:1px solid rgba(2,2,55,.12);display:grid;gap:1rem;padding:1rem}.portal-booking-card-heading{align-items:start;display:flex;gap:1rem;justify-content:space-between}.portal-booking-card h3{color:var(--color-primary);font-size:1.15rem;line-height:1.15;margin:0}.portal-booking-card-heading p{color:var(--color-muted);font-size:.875rem;font-weight:750;margin:.35rem 0 0}.portal-status-tag{border:1px solid rgba(2,2,55,.16);color:var(--color-primary);flex:0 0 auto;font-size:.72rem;font-weight:900;padding:.45rem .55rem;text-transform:uppercase}.portal-status-inHouse,.portal-status-upcoming{background:var(--color-secondary)}.portal-status-completed{background:rgba(17,24,39,.06)}.portal-status-cancelled{background:var(--color-primary);color:var(--color-background)}.portal-booking-facts{display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.portal-booking-facts div{border-top:1px solid rgba(2,2,55,.1);display:grid;gap:.25rem;padding-top:.7rem}.portal-booking-facts dt{color:var(--color-muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.portal-booking-facts dd{color:var(--color-text);font-weight:800;margin:0;overflow-wrap:anywhere}.portal-booking-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.portal-booking-actions span{color:var(--color-muted);font-size:.875rem;font-weight:750}.portal-booking-link{background:transparent;border:1px solid rgba(2,2,55,.18);color:var(--color-primary);display:inline-flex;font-size:.875rem;font-weight:850;padding:.7rem .85rem}.portal-booking-link:focus-visible,.portal-booking-link:hover{background:var(--color-secondary);border-color:var(--color-secondary);outline:none}.portal-booking-link:disabled{cursor:wait;opacity:.7}.portal-invoice-download{align-items:flex-start;display:inline-flex;flex-direction:column;gap:.5rem}.portal-invoice-error{color:var(--color-primary);font-size:.8125rem;font-weight:800}.portal-messages-section{display:grid;gap:1rem}.portal-message-list{display:grid;gap:.75rem;max-height:24rem;overflow-y:auto;padding-right:.25rem}.portal-message{border:1px solid rgba(2,2,55,.12);display:grid;gap:.35rem;max-width:min(100%,34rem);padding:.85rem}.portal-message-guest{justify-self:end}.portal-message-staff{background:rgba(17,24,39,.04);justify-self:start}.portal-message small,.portal-message span,.portal-message time{color:var(--color-muted);font-size:.75rem;font-weight:850}.portal-message p{color:var(--color-text);line-height:1.5;margin:0;overflow-wrap:anywhere}.portal-damage-form,.portal-message-form{display:grid;gap:.85rem}.portal-damage-form label,.portal-message-form label{display:grid;gap:.45rem}.portal-damage-form span,.portal-message-form span{color:var(--color-text);font-size:.8125rem;font-weight:850}.portal-damage-form input[type=file],.portal-damage-form select,.portal-damage-form textarea,.portal-message-form textarea{border:1px solid rgba(2,2,55,.2);color:var(--color-text);padding:.75rem;width:100%}.portal-damage-form textarea,.portal-message-form textarea{min-height:7rem;resize:vertical}.portal-damage-form input[type=file]:focus,.portal-damage-form select:focus,.portal-damage-form textarea:focus,.portal-message-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(2,2,55,.12);outline:none}.portal-damage-form button:disabled,.portal-message-form button:disabled{cursor:not-allowed;opacity:.68}.portal-damage-help{color:var(--color-muted);font-size:.875rem;line-height:1.5;margin:0}.portal-damage-files{display:grid;gap:.5rem;list-style:none;margin:0;padding:0}.portal-damage-files li{align-items:center;border:1px solid rgba(2,2,55,.12);display:flex;gap:.75rem;justify-content:space-between;padding:.65rem}.portal-damage-files button{color:var(--color-primary);font-size:.8125rem;font-weight:850}.portal-check-in-list{display:grid;gap:.85rem}.portal-check-in-card{border:1px solid rgba(2,2,55,.12);display:grid;gap:1rem;padding:1rem}.portal-check-in-card h3{color:var(--color-primary);font-size:1.2rem;line-height:1.15;margin:0}.portal-check-in-card dl{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.portal-check-in-card dl div{border-top:1px solid rgba(2,2,55,.1);display:grid;gap:.25rem;padding-top:.7rem}.portal-check-in-card dt{color:var(--color-muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.portal-check-in-card dd{color:var(--color-text);font-weight:800;margin:0;overflow-wrap:anywhere}.portal-check-in-instructions{background:rgba(252,208,167,.32);display:grid;gap:.45rem;padding:.85rem}.portal-check-in-instructions strong{color:var(--color-primary)}.portal-check-in-instructions p{margin:0}.portal-wifi-list{display:grid;gap:.85rem}.portal-wifi-card{border:1px solid rgba(2,2,55,.12);display:grid;gap:1rem;padding:1rem}.portal-wifi-card h3{color:var(--color-primary);font-size:1.2rem;line-height:1.15;margin:0}.portal-wifi-card dl{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.portal-wifi-card dl div{border-top:1px solid rgba(2,2,55,.1);display:grid;gap:.25rem;padding-top:.7rem}.portal-wifi-card dt{color:var(--color-muted);font-size:.75rem;font-weight:850;text-transform:uppercase}.portal-wifi-card dd{color:var(--color-text);font-weight:850;margin:0;overflow-wrap:anywhere}.portal-wifi-actions{display:flex;flex-wrap:wrap;gap:.75rem}.portal-wifi-copied{color:var(--color-primary);font-size:.875rem;font-weight:850;margin:0}.portal-error-state,.portal-loading-state{display:grid;gap:1rem;justify-items:start;padding:clamp(1.5rem,4vw,3rem)}.portal-loading-bar,.portal-loading-grid div{animation:portal-loading-pulse 1.4s ease-out infinite;background:rgba(2,2,55,.12)}.portal-loading-bar{height:clamp(3rem,8vw,5rem);width:min(100%,32rem)}.portal-loading-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.portal-loading-grid div{min-height:8rem}@keyframes portal-loading-pulse{0%,to{opacity:.55}50%{opacity:1}}.detail-gallery{display:grid;gap:1rem;grid-template-columns:1.35fr .65fr}.detail-gallery-single{grid-template-columns:1fr}.detail-gallery-main,.detail-gallery-side div{border-radius:var(--radius-lg);min-height:22rem;overflow:hidden;position:relative}.detail-gallery-main img,.detail-gallery-side img{-o-object-fit:cover;object-fit:cover}.detail-gallery-side{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.detail-gallery-side div{min-height:10.5rem}.detail-main-column,.detail-side-column{align-content:start;display:grid;gap:clamp(1.5rem,4vw,3rem)}.detail-availability-panel,.detail-location-panel{border:1px solid rgba(17,24,39,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:1rem;padding:clamp(1.25rem,3vw,2rem)}.detail-location-panel{align-content:start}.detail-availability-panel{background:rgba(252,208,167,.2);box-shadow:var(--shadow-card-hover);position:sticky;top:6.5rem}.detail-availability-panel h2,.detail-location-panel h2,.detail-media-section h2,.detail-reviews h2{color:var(--color-primary);font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:-.012em;line-height:1.05;margin:0}.detail-empty-copy,.detail-location-panel p,.detail-reviews .section-heading p{color:var(--color-text);line-height:1.65;margin:0}.detail-location-panel iframe{aspect-ratio:4/3;border:0;border-radius:var(--radius-md);min-height:18rem;width:100%}.detail-date-fields{display:grid;gap:.85rem}.detail-date-fields label{display:grid;gap:.4rem}.detail-date-fields span{color:var(--color-text);font-size:.8125rem;font-weight:850}.detail-date-fields input{border:1px solid rgba(2,2,55,.2);border-radius:var(--radius-sm);color:var(--color-text);min-height:3rem;padding:.7rem .9rem;width:100%}.detail-date-fields input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(2,2,55,.12);outline:none}.availability-calendar-nav{align-items:center;display:flex;gap:.6rem;justify-content:space-between;margin-bottom:.5rem}.availability-calendar-range{color:var(--color-primary);font-size:.85rem;font-weight:850;text-align:center}.availability-calendar-nav-button{align-items:center;background:var(--color-background);border:1px solid rgba(2,2,55,.16);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:1.15rem;font-weight:900;height:2.25rem;justify-content:center;line-height:1;transition:background-color .15s cubic-bezier(0,0,.2,1),border-color .15s cubic-bezier(0,0,.2,1),color .15s cubic-bezier(0,0,.2,1);width:2.25rem}.availability-calendar-nav-button:focus-visible,.availability-calendar-nav-button:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-background);outline:none}.availability-calendar-nav-button:disabled{cursor:not-allowed;opacity:.4}.availability-calendar{display:grid;gap:.35rem;grid-template-columns:repeat(7,minmax(0,1fr))}.availability-day{align-items:center;background:var(--color-background);border:1px solid rgba(2,2,55,.12);border-radius:var(--radius-sm);color:var(--color-primary);display:grid;font-weight:900;min-height:3.25rem;padding:.35rem;text-align:center}.availability-day small{color:var(--color-muted);font-size:.625rem;font-weight:800;text-transform:uppercase}.availability-day-loading{background:linear-gradient(100deg,rgba(2,2,55,.06) 30%,rgba(2,2,55,.12) 50%,rgba(2,2,55,.06) 70%);background-size:200% 100%;animation:availability-day-shimmer 1.4s ease-in-out infinite;color:var(--color-muted);pointer-events:none}.availability-day-loading small{color:var(--color-muted)}@keyframes availability-day-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.availability-day-loading{animation:none}}.availability-calendar-status{color:var(--color-muted);font-size:.8rem;font-weight:800;margin:0}.availability-day-booked{background:var(--color-primary);color:var(--color-background)}.availability-day-booked small{color:rgba(255,255,255,.72)}.availability-day-selected{border-color:var(--color-secondary);box-shadow:inset 0 0 0 2px var(--color-secondary)}.availability-legend{display:flex;flex-wrap:wrap;gap:.6rem}.availability-legend span{align-items:center;color:var(--color-muted);display:inline-flex;font-size:.75rem;font-weight:850;gap:.35rem}.availability-legend span:before{background:var(--color-background);border:1px solid rgba(2,2,55,.18);content:"";display:inline-block;height:.75rem;width:.75rem}.availability-legend span:nth-child(2):before{background:var(--color-primary)}.availability-legend span:nth-child(3):before{border:3px solid var(--color-secondary)}.detail-availability-error{background:var(--color-background);border-left:4px solid var(--color-secondary);color:var(--color-primary);font-size:.875rem;font-weight:800;line-height:1.45;margin:0;padding:.85rem 1rem}.detail-book-now{min-height:3.25rem;width:100%}.detail-book-now:disabled{cursor:wait;opacity:.72}.detail-rules{background:var(--color-primary);border-radius:var(--radius-xl);color:var(--color-background);padding:clamp(1.5rem,4vw,3rem)}.detail-rules h2{color:var(--color-background);font-size:clamp(1.75rem,4vw,3rem)}.detail-rules p{color:rgba(255,255,255,.82);line-height:1.65;max-width:58rem}.detail-review-list{display:grid;gap:1rem}.detail-review-card{border:1px solid rgba(17,24,39,.1);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:.75rem;padding:clamp(1.25rem,3vw,2rem)}.detail-review-card div{align-items:center;display:flex;gap:1rem;justify-content:space-between}.detail-review-card span,.detail-review-card strong{color:var(--color-primary);font-weight:900}.detail-review-card p{color:var(--color-text);line-height:1.65;margin:0}.detail-media-grid,.detail-media-section{display:grid;gap:1rem}.detail-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-media-grid-single{grid-template-columns:1fr}.detail-media-grid iframe,.detail-media-grid video{aspect-ratio:16/9;background:var(--color-primary);border:0;border-radius:var(--radius-lg);width:100%}@media (max-width:640px){.public-header{align-items:flex-start;flex-direction:column}.public-header-actions{justify-content:flex-start;width:100%}.public-nav{flex-wrap:wrap}.public-booking-link{flex:1 1 11rem}.cookie-consent-banner{align-items:stretch;grid-template-columns:1fr}.cookie-consent-actions{justify-content:stretch}.cookie-consent-actions .button-primary,.cookie-consent-actions .button-secondary{flex:1 1 100%}.cookie-category,.cookie-preferences-heading{align-items:stretch;flex-direction:column}.portal-shell{gap:1.25rem;padding-bottom:2rem;padding-top:1.25rem}.portal-shell-header{align-items:start}.portal-shell-header h1{font-size:clamp(2.5rem,15vw,4rem)}.portal-secondary-action{justify-self:start}.portal-section-nav{margin-left:calc(var(--space-gutter) * -1);margin-right:calc(var(--space-gutter) * -1);padding-left:var(--space-gutter);padding-right:var(--space-gutter)}.portal-section-nav a{min-width:-moz-max-content;min-width:max-content;padding:.75rem .85rem}.portal-section-panel{padding:1rem;scroll-margin-top:9rem}.portal-booking-card,.portal-check-in-card,.portal-login-panel,.portal-stay-summary,.portal-wifi-card{padding:1rem}}@media (max-width:900px){.public-hero{min-height:auto;padding-top:clamp(3rem,8vw,5rem)}.public-hero:before{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82) 72%,rgba(255,255,255,.7)),linear-gradient(180deg,rgba(2,2,55,.16),rgba(2,2,55,0))}.about-hero,.about-phone,.about-split,.apartment-detail-hero,.apartments-page-heading,.booking-checkout,.booking-grid,.booking-hero,.contact-grid,.contact-hero,.contact-section,.detail-gallery,.detail-grid,.detail-media-grid,.faq-hero,.faq-support,.legal-layout,.portal-grid,.portal-hero,.public-hero-inner,.public-location{grid-template-columns:1fr}.detail-availability-panel,.legal-toc{position:static}.about-contact-grid,.apartment-grid,.apartments-list-grid,.assurance-grid,.benefit-grid,.booking-system-grid,.detail-amenity-grid,.portal-feature-grid,.process-grid,.public-trust,.review-grid{grid-template-columns:1fr}.apartments-results-summary,.final-cta,.section-heading-row{align-items:flex-start;flex-direction:column}.apartments-results-summary span{text-align:left}.parallax-band-end:before,.parallax-band:before{background:linear-gradient(180deg,rgba(2,2,55,.62),rgba(2,2,55,.78))}.parallax-band-inner-end{justify-content:flex-start;text-align:left}.parallax-band-inner-end .parallax-band-copy p{margin-left:0}.portal-section-panel,.portal-shell-grid,.portal-shell-header{grid-template-columns:1fr}.portal-login-panel{position:static}}@media (max-width:520px){.public-hero{padding-left:var(--space-gutter);padding-right:var(--space-gutter)}.public-hero h1{font-size:3rem}.about-company-list div,.about-contact-card,.apartments-filter-actions{grid-template-columns:1fr}.about-contact-image{aspect-ratio:4/3}.booking-date-grid{grid-template-columns:1fr}.contact-map-section iframe{aspect-ratio:4/3}.booking-calendar{grid-template-columns:repeat(5,minmax(0,1fr))}.booking-calendar-day{min-height:3.5rem}.portal-booking-card-heading{display:grid}.portal-booking-facts,.portal-check-in-card dl,.portal-wifi-card dl{grid-template-columns:1fr}.portal-booking-actions,.portal-wifi-actions{align-items:stretch;flex-direction:column}.portal-booking-actions button,.portal-booking-link,.portal-wifi-actions button{justify-content:center;width:100%}.faq-accordion summary,.faq-accordion-trigger{align-items:start;grid-template-columns:minmax(0,1fr) auto}.faq-accordion summary small,.faq-accordion-trigger small{justify-self:start}.faq-accordion summary:after,.faq-accordion-trigger:after{grid-column:2;grid-row:1}.faq-accordion p{padding-right:0}}.public-layout :where(a,button,input,select,textarea,summary,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{box-shadow:0 0 0 5px var(--focus-ring-outer);outline:3px solid var(--focus-ring-inner);outline-offset:var(--focus-ring-offset)}.public-layout :where(input,select,textarea):focus-visible{border-color:var(--color-primary)}.public-layout :where(button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled=true]):focus-visible{box-shadow:none;outline:none}.public-mobile-nav{display:none;position:relative}.public-mobile-toggle{align-items:center;background:transparent;border:1px solid rgba(2,2,55,.18);border-radius:var(--radius-pill);color:var(--color-primary);cursor:pointer;display:inline-flex;height:2.75rem;justify-content:center;width:2.75rem}.public-mobile-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.public-mobile-drawer{background:rgba(255,255,255,.98);border:1px solid rgba(17,24,39,.1);border-radius:var(--radius-lg);box-shadow:0 18px 40px rgba(2,2,55,.16);left:auto;position:absolute;right:0;top:calc(100% + .5rem);width:min(20rem,calc(100vw - 2 * var(--space-gutter)));z-index:30}.public-mobile-drawer[hidden]{display:none}.public-mobile-drawer-nav{display:flex;flex-direction:column;gap:1rem;padding:1.25rem}.public-mobile-drawer-nav>a{color:var(--color-text);font-size:1rem;font-weight:750;text-decoration:none}.public-mobile-drawer-nav>a:focus-visible,.public-mobile-drawer-nav>a:hover{color:var(--color-primary);outline:none;text-decoration:underline;text-underline-offset:.35rem}.public-mobile-drawer-actions{align-items:stretch;border-top:1px solid rgba(17,24,39,.1);display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.public-mobile-drawer-actions .public-locale-switcher{align-self:flex-start}.public-mobile-drawer-actions .public-booking-link{flex:0 0 auto;justify-content:center;text-align:center}@media (max-width:768px){.public-header{align-items:center;flex-direction:row}.public-header-actions,.public-nav{display:none}.public-mobile-nav{display:flex}}.about-contact-card,.about-phone-panel,.apartments-empty,.apartments-filter,.availability-widget,.booking-form,.booking-summary,.consent-embed,.contact-address,.contact-map-section iframe,.contact-methods,.contact-panel,.contact-response-panel,.cookie-consent-banner,.cookie-preferences-panel,.detail-availability-panel,.detail-booking-panel,.detail-location-panel,.faq-support-panel,.faq-topic-panel,.final-cta,.location-panel,.payment-return-panel,.portal-error-state,.portal-loading-state,.portal-login,.portal-login-panel,.portal-section-panel,.portal-session-state,.portal-stay-summary{border-radius:var(--radius-lg)}.apartments-filter-error,.booking-calendar-day,.booking-form-error,.booking-form-success,.cookie-category,.cookie-preferences-note,.detail-availability-error,.payment-checkout-error,.portal-booking-card,.portal-check-in-card,.portal-check-in-instructions,.portal-login-feedback,.portal-message,.portal-section-message,.portal-section-placeholder,.portal-wifi-card{border-radius:var(--radius-sm)}.faq-topic-panel a,.hero-highlights span,.portal-status-tag{border-radius:var(--radius-pill)}.about-hero-panel,.contact-method-list,.portal-login-tabs{border-radius:var(--radius-lg);overflow:hidden}.localized-date-field{align-items:center;background:var(--color-background);border:1px solid rgba(2,2,55,.2);border-radius:var(--radius-sm);color:var(--color-text);display:flex;min-height:3rem;padding:.7rem .9rem;width:100%}.localized-date-field.is-placeholder{color:var(--color-muted)}.localized-date-field[aria-invalid=true]{border-color:var(--color-primary)}button.availability-day{cursor:pointer;font:inherit;width:100%}button.availability-day:disabled{cursor:not-allowed}button.availability-day:focus-visible,button.availability-day:hover:not(:disabled):not(.availability-day-booked):not(.availability-day-selected){border-color:var(--color-primary);outline:none}.apartments-date-fields{display:grid;gap:1rem}.apartments-date-trigger{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%}.apartments-date-trigger:focus-visible .localized-date-field{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(2,2,55,.12)}.apartments-date-popover{margin-top:.75rem}