/* Stable viewport flow and input behavior across Safari, Chromium and Firefox. */
html{--site-header-height:86px;scroll-behavior:auto}body{--site-header-height:86px}html{scroll-padding-top:calc(var(--site-header-height,86px) + 16px)}
/* Contain rotating decoration without creating a new scroll container. */
.motion-region:not([data-property-browser]){overflow-x:clip}
.motion-region>.flow-orbit{right:20px}
/* Readable server content remains visible even when observers/animation APIs fail. */
.motion-ready .reveal{opacity:1!important;translate:none!important}.flow-ready .creative-card-enter{animation:ux-card-emphasis .45s var(--creative-enter-delay,0ms) ease-out both}
@keyframes ux-card-emphasis{from{opacity:.9}to{opacity:1}}
@media(min-width:981px) and (pointer:fine){.spatial-section{min-height:135vh}.spatial-stage{top:var(--site-header-height,86px);height:min(760px,calc(100vh - var(--site-header-height,86px)));min-height:0}@supports(height:100svh){.spatial-stage{height:min(760px,calc(100svh - var(--site-header-height,86px)))}}}
/* The 3D scene still moves, but never pins a screen taller than the usable viewport. */
@media(max-width:980px),(any-pointer:coarse),(max-height:640px){.spatial-section{min-height:0}.spatial-stage{position:relative;top:0;height:auto;min-height:0;padding-bottom:64px}}
@media(max-width:760px){
 html,body{--site-header-height:64px}html{scroll-behavior:auto;scroll-padding-top:calc(var(--site-header-height,64px) + 12px)}
 .hero{min-height:780px}.hero-copy{padding-top:30px}.hero h1{font-size:clamp(42px,12.4vw,59px)}.hero-copy .eyebrow{margin-bottom:18px}.hero-lede{font-size:14px;line-height:1.75;margin-bottom:25px}.hero-scroll-cue{display:flex}.hero-place{margin-top:20px}
 @supports(height:100svh){.hero{min-height:max(780px,calc(100svh - var(--site-header-height,64px)))}}
 .city-stage{margin-top:86px}
 .field input,.field select,[data-page-select],textarea{font-size:16px!important}
 .flow-ready .filters{position:relative;top:auto}.input-focused .mobile-dock{display:none}.input-focused .floating-contact{display:none}
 [data-property-pagination]{scroll-margin-top:calc(var(--site-header-height,64px) + 12px)}
 .mobile-dock{bottom:calc(12px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){.hero{min-height:820px}.hero-copy{padding:28px 21px 0}.hero h1{font-size:42px}.hero-lede{font-size:13px;max-width:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.flow-ready .creative-card-enter{animation:none!important}}

.field input,.field select,[data-page-select]{font-size:16px!important}
@media(any-pointer:coarse){.flow-ready .property-card.creative-card-active{transform:none!important}.input-focused .floating-contact{display:none}}
@media(max-width:760px){.reset{min-height:44px;font-size:12px;padding:8px 0}.footer-links a,.discovery-links a{min-height:44px;display:inline-flex;align-items:center}}
