/* One viewport model shared by layout, navigation and scroll destinations. */
:root{--compact-header:59px;--viewport-height:100dvh;--screen-space:calc(var(--viewport-height) - var(--compact-header));--screen-pad:clamp(18px,3.2dvh,48px)}
.home-page .stage,.marketing-stage,.marketing-stage.marketing-hero,.marketing-stage:not(.marketing-hero),.marketing-scope.scope-expanded,.subhero,.article-page,.footer-expanded{min-height:var(--screen-space)!important;height:auto;box-sizing:border-box;margin-block:0;scroll-margin-top:var(--compact-header);isolation:isolate}
[data-first-screen]{--screen-space:calc(var(--viewport-height) - var(--stage-header,145px))}
.home-page .stage,.marketing-stage.marketing-hero,.marketing-stage:not(.marketing-hero),.marketing-scope.scope-expanded{padding-block:var(--screen-pad)!important;align-items:center!important}
.home-page .stage>*:not(.scroll-cue),.marketing-inner{min-width:0;max-width:100%}
.home-page .stage>.stage-inner,.marketing-inner{width:min(100%,1440px);margin-inline:auto}
.home-page .stage h1,.marketing-stage h1{font-size:clamp(2rem,min(4.9dvw,7.1dvh),5.5rem);line-height:1.1;letter-spacing:-.045em;margin-block:0 clamp(14px,2dvh,24px)}
.home-page .stage h2,.marketing-stage h2{font-size:clamp(1.65rem,min(3.3dvw,5.4dvh),3.9rem);line-height:1.15;letter-spacing:-.035em;margin-block:0 clamp(12px,1.7dvh,22px)}
.home-page .hero .lead,.marketing-stage p,.marketing-lead,.scope-content,.instruction-list{font-size:clamp(1rem,min(1.3dvw,2.1dvh),1.25rem)!important;line-height:1.55}
.home-page .stage-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.32fr);gap:clamp(20px,3dvw,56px);max-width:none}
.home-page .stage-hero>div:first-child{max-width:1050px}
.home-page .hero-access{position:static;inset:auto;width:auto;max-width:none;align-self:end;margin:0;padding:clamp(18px,2dvw,30px)}
.home-page .hero .lead{max-width:850px}
.hero .actions,.marketing-actions{margin-top:clamp(14px,2dvh,28px);gap:10px}
.hero-bottom{margin-top:clamp(14px,2dvh,28px)}
.service-shortcuts{margin-top:clamp(14px,2dvh,24px);padding-top:clamp(12px,1.6dvh,20px)}
.service-shortcuts>p{margin-bottom:8px}.page-links{margin-top:16px}
.home-page .scroll-cue{display:none}
.choice-heading,.process-head{margin-bottom:clamp(16px,2.5dvh,30px)}
.choice-card{min-height:clamp(100px,17dvh,190px);padding:clamp(16px,2dvw,30px)}
.choice-copy strong{font-size:clamp(1.2rem,min(2dvw,3.4dvh),1.9rem)}
.choice-copy>span,.about-six-grid p,.process-grid p,.choice-heading p,.about-six-head p,.process-head p{font-size:clamp(1rem,min(1.25dvw,2dvh),1.2rem)!important;line-height:1.5!important}
.about-six-grid>div,.process-grid>div{padding:clamp(14px,2dvh,24px)}
.about-six-grid h3,.process-grid h3{font-size:clamp(1.05rem,min(1.6dvw,2.7dvh),1.45rem);line-height:1.3}
.about-six-grid p,.process-grid p{margin:0}.process-head p{margin-bottom:0}.process-grid{margin-bottom:clamp(16px,2.5dvh,30px)}
.resident-panel,.contact-panel{padding:clamp(22px,3dvw,42px);gap:clamp(20px,3dvw,42px)}
.marketing-benefit-grid>div{min-height:clamp(130px,24dvh,230px);padding:clamp(18px,2dvw,30px)}
.marketing-benefit-grid h3{margin-top:16px;font-size:clamp(1.2rem,min(2dvw,3dvh),1.75rem)}
.marketing-stage .eyebrow,.home-page .eyebrow{margin-bottom:clamp(10px,1.6dvh,20px)}
.marketing-faq details{padding-block:clamp(8px,1.4dvh,16px)}
.marketing-faq summary{font-size:clamp(1rem,1.35dvw,1.2rem);min-height:44px;padding-block:6px}
.scope-content{padding:clamp(16px,2dvh,24px)!important}.scope-content p,.scope-content li{max-width:90ch}
.marketing-inner>p{max-width:85ch}.scope-content li{margin-bottom:8px}.scope-content h2,.scope-content h3{margin-block:18px 10px!important}
.footer-expanded{padding-block:clamp(30px,4dvh,64px)!important}
.topbar{will-change:auto}.topbar .scroll-dock{transition:background .24s,border-color .24s,box-shadow .24s}
.nav-compact .topbar .scroll-dock{animation:dock-arrive .28s ease-out;border-color:#dec59b75;background:#14263d;box-shadow:0 3px 18px #0003}
.scroll-dock .top-button{width:auto!important;min-width:74px!important;padding-inline:12px;font-size:.875rem;white-space:nowrap}
.scroll-toggle-copy{overflow-wrap:anywhere;min-width:0}
@keyframes dock-arrive{from{opacity:.65;translate:0 5px}to{opacity:1;translate:0 0}}
.home-page .city-frame,.home-page .city-orbit.orbit-reverse .city-frame{transition:opacity .48s ease!important}
.free-scroll .city-frame{transition:none!important}
@media(min-width:1600px){.home-page .stage,.marketing-stage{padding-inline:max(40px,calc((100dvw - 1540px)/2))}.home-page .stage h1{font-size:clamp(3rem,min(5.3dvw,7.6dvh),6rem)}}
@media(max-width:1000px){.home-page .stage-hero{grid-template-columns:1fr}.home-page .hero-access{display:flex;align-items:center;gap:16px;padding:14px 18px}.hero-access>a{flex:1;padding:0!important;margin:0!important;border:0!important}.hero-access .micro-label{display:none}.stage-about-six .stage-inner{gap:20px}}
@media(max-width:600px){
 .home-page .stage,.marketing-stage{padding-inline:max(18px,env(safe-area-inset-left))!important;--screen-pad:18px}
 .home-page .stage h1,.marketing-stage h1{font-size:clamp(1.85rem,min(7.6dvw,4.8dvh),2.65rem)}
 .home-page .stage h2,.marketing-stage h2{font-size:clamp(1.6rem,min(6.5dvw,4.3dvh),2.2rem)}
 .home-page .stage-hero{gap:16px}.hero .lead{margin-block:12px}.hero-bottom{margin-top:14px}.hero .actions{margin-top:14px}
 .hero-access small{font-size:.8125rem}.hero-access>a{font-size:.875rem}.hero-access b{display:none}.home-page .hero-access{gap:14px}
 .hero .button,.marketing-actions .button{min-height:44px;padding:11px 13px;font-size:.875rem}
 .page-links a{padding:7px 10px;min-height:44px}.service-shortcuts{margin-top:14px;padding-top:12px}
 .choice-grid{gap:9px}.choice-card{min-height:0;padding:12px;grid-template-columns:20px minmax(0,1fr) 18px;gap:8px}
 .choice-copy>span{font-size:1rem!important;line-height:1.4!important}.choice-heading{margin-bottom:16px}
 .stage-about-six .stage-inner{gap:16px}.about-six-head .button{margin-top:12px}.about-six-grid>div,.process-grid>div{padding:12px 14px}
 .about-six-grid>div>span,.process-grid>div>span{float:right;margin-left:10px}.about-six-grid h3,.process-grid h3{margin:0 0 5px}
 .process-grid{gap:8px;margin-bottom:16px}.process-head{margin-bottom:16px}
 .resident-panel,.contact-panel{padding:22px 18px}.small-links{gap:8px}.small-links a{min-height:44px;display:flex;align-items:center}
 .marketing-benefit-grid>div{min-height:0;padding:16px}.marketing-benefit-grid h3{margin-top:10px}
 .marketing-related{gap:4px 14px}.marketing-related a{font-size:1rem}.marketing-inner .instruction-list{padding-left:21px}
}
@media(max-height:650px) and (min-width:701px){
 .home-page .stage,.marketing-stage{--screen-pad:16px}
 .home-page .stage-hero{grid-template-columns:minmax(0,1fr) minmax(210px,.4fr);gap:20px}
 .home-page .stage h1,.marketing-stage h1{font-size:clamp(1.85rem,5.6dvh,3rem)}
 .home-page .stage h2,.marketing-stage h2{font-size:clamp(1.6rem,4.8dvh,2.4rem)}
 .hero-bottom,.service-shortcuts{margin-top:12px}.service-shortcuts{padding-top:10px}
 .choice-card{min-height:90px;padding:14px}.choice-copy>span{font-size:1rem!important}.choice-heading{margin-bottom:14px}
 .about-six-grid>div,.process-grid>div{padding:12px}.process-grid{margin-bottom:16px}.resident-panel,.contact-panel{padding:22px}
}
@media(prefers-reduced-motion:reduce){.nav-compact .topbar .scroll-dock{animation:none}.home-page .city-frame{transition:none!important}}
@media print{[data-screen]{min-height:0!important;--screen-space:auto}.topbar{display:none!important}}
