/* One document, full-height chapters, readable at zoom and on short screens. */
html{scroll-padding-top:var(--stage-header,86px);scroll-snap-type:none!important}
html.section-scrolling{scroll-behavior:auto!important}
body{overflow-x:clip}
main,main>*,.stage-inner,.marketing-inner,.footer-columns>div{min-width:0}
.home-page .stage,.marketing-stage,.subhero,.article-page,.footer-expanded{min-height:calc(100svh - var(--stage-header,86px));height:auto;box-sizing:border-box;scroll-margin-top:var(--stage-header,86px);scroll-snap-align:none!important}
.home-page .stage:first-child,.marketing-stage:first-child{min-height:calc(100svh - var(--stage-header,86px) - var(--stage-notice,0px))}
.home-page .stage,.marketing-stage{padding-block:clamp(24px,5svh,72px)}
.home-page .stage>.stage-inner,.marketing-inner{width:min(100%,clamp(1060px,77vw,1540px))}
.home-page .stage-hero h1,.marketing-hero h1{font-size:clamp(2.1rem,1.2rem + 3.8vw,6.3rem);line-height:1.1;text-wrap:balance}
.home-page .stage h2,.marketing-stage h2{font-size:clamp(1.8rem,1.05rem + 2.5vw,4.25rem);line-height:1.15;text-wrap:balance}
.hero p,.marketing-lead{font-size:clamp(1rem,.85rem + .65vw,1.5rem);line-height:1.65}
.choice-heading p,.about-six-head p,.process-head p,.resident-panel p,.contact-panel p{font-size:clamp(1rem,.88rem + .4vw,1.3rem);line-height:1.6}
.choice-copy>span,.about-six-grid p,.process-grid p,.marketing-benefit-grid>div p{font-size:clamp(.9375rem,.85rem + .28vw,1.15rem);line-height:1.55;color:#c6d3e4}
.choice-copy strong{font-size:clamp(1.25rem,1rem + .8vw,2rem)}
.choice-card{padding:clamp(16px,2.3vw,36px);min-height:clamp(100px,17svh,205px)}
.about-six-grid h3,.process-grid h3{font-size:clamp(1.125rem,.95rem + .55vw,1.5rem)}
.scope-content{max-height:none;overflow:visible;overscroll-behavior:auto;font-size:1rem;line-height:1.75}
.scope-details[open]{overflow:visible}
.marketing-scope.scope-expanded{height:auto!important;min-height:calc(100svh - var(--stage-header,86px));align-items:flex-start!important}
.marketing-scope.scope-expanded .scope-content{max-height:none!important;overflow:visible!important}
.marketing-related a{font-size:clamp(.9375rem,.87rem + .2vw,1.1rem);min-height:44px;display:flex;align-items:center}
.footer-expanded>.wrap{width:min(94%,1700px)}
.footer-core .footer-columns a:not(.brand){min-height:32px;padding-block:3px;font-size:clamp(.875rem,.78rem + .2vw,1rem)}
.footer-core .footer-columns p,.footer-core .footer-columns address{font-size:clamp(.875rem,.78rem + .2vw,1rem)}
.footer-bottom{gap:12px 24px;flex-wrap:wrap;line-height:1.6}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;width:100%;border-top:1px solid var(--line);padding-top:18px}
.footer-legal a,.scroll-mode{font:inherit;font-size:14px;color:#e5cfaa;min-height:44px;display:inline-flex;align-items:center}
.scroll-mode{border:0;background:none;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:4px}
:focus-visible{outline:2px solid #f1d5a5;outline-offset:5px}
.legal-page .marketing-inner{width:min(100%,980px)}
.legal-page .marketing-stage p,.legal-page .marketing-stage li{font-size:clamp(1rem,.93rem + .25vw,1.2rem);line-height:1.75;color:#d0daea;overflow-wrap:anywhere}
.legal-page .marketing-stage li+li{margin-top:12px}.legal-page .marketing-stage ul{padding-left:24px}
.legal-page .marketing-stage a:not(.button){color:#ecd2a8;text-decoration:underline;text-underline-offset:4px}
.legal-toc{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:26px}.legal-toc a{min-height:44px;display:flex;align-items:center;font-size:16px}
.legal-date{font-size:14px!important;color:#b7c8df!important}
/* A gentle dissolve with a small directional drift; first panorama stays unchanged. */
.home-page .city-frame{opacity:0;transform:translate3d(0,1.3%,0) scale(1.015);transition:opacity 1.05s cubic-bezier(.22,.61,.36,1),transform 1.5s cubic-bezier(.22,.61,.36,1)}
.home-page .city-orbit.orbit-reverse .city-frame{transform:translate3d(0,-1.3%,0) scale(1.015)}
.home-page .city-frame.is-active,.home-page .city-orbit.orbit-reverse .city-frame.is-active{opacity:1;transform:translate3d(0,0,0) scale(1)}
.home-page .city-frame:first-child{transform:none!important}
.home-page .city-orbit::after{background:linear-gradient(90deg,#030817ee 0%,#07111ed0 36%,#07111e72 76%,#030817a8),linear-gradient(0deg,#040a15c9,transparent 48%,#040a1580)}
.home-page .stage:not(.stage-hero) .stage-inner{isolation:isolate}
.privacy-actions .privacy-reject,.privacy-actions .privacy-accept{background:#17283f;color:#f2f4f8;border-color:#dec59b99}
.privacy-actions .privacy-reject:hover,.privacy-actions .privacy-accept:hover{background:#2a3d56;color:#fff}
@media(min-width:1920px){.hero{max-width:none}.hero h1{max-width:1250px}.footer-core{grid-template-columns:.7fr 1.3fr}.footer-core .footer-columns{gap:28px 40px}.button{font-size:17px;padding:16px 24px}}
@media(max-width:850px){.home-page .stage,.marketing-stage{padding-inline:24px}.choice-grid{gap:12px}.about-six-grid{grid-template-columns:1fr}.footer-core{grid-template-columns:1fr}.footer-core .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .home-page .stage,.marketing-stage{padding:28px max(20px,env(safe-area-inset-left)) 36px}
 .home-page .stage-hero{padding-top:24px}.choice-grid{grid-template-columns:1fr}.choice-card{min-height:90px;padding:14px;gap:12px}
 .choice-copy>span,.about-six-grid p,.process-grid p,.marketing-benefit-grid>div p{font-size:15px;line-height:1.5}
 .about-six-grid>div,.process-grid>div{padding:14px 16px}.choice-heading p,.about-six-head p,.process-head p{font-size:16px}
 .home-page .city-frame,.home-page .city-orbit.orbit-reverse .city-frame{transform:none!important;transition:opacity .6s ease}
 .footer-core .footer-columns a:not(.brand){min-height:44px}.footer-core .footer-columns{grid-template-columns:1fr 1fr}.footer-core .footer-columns>div:first-child,.footer-core .footer-columns>div:last-child{grid-column:1/-1!important}
 .footer-contact-strip{gap:20px;align-items:flex-start;flex-direction:column}.footer-contact-strip h2{font-size:clamp(26px,7vw,36px)}
 .privacy-banner{bottom:max(12px,env(safe-area-inset-bottom))}.top-button{bottom:max(22px,env(safe-area-inset-bottom))}
}
@media(max-width:360px){.home-page .stage,.marketing-stage{padding-inline:16px}.footer-core .footer-columns{grid-template-columns:1fr}.footer-core .footer-columns>div{grid-column:1!important}}
@media(max-height:650px) and (min-width:701px){.home-page .stage,.marketing-stage{padding-block:22px}.home-page .stage h1,.marketing-hero h1{font-size:clamp(32px,4vw,58px)}.home-page .stage h2,.marketing-stage h2{font-size:clamp(28px,3vw,42px)}.choice-card{min-height:95px;padding:16px}.hero-bottom{margin-top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.city-frame,.reveal,.topbar nav,.menu-icon>span{transition:none!important;animation:none!important;transform:none!important}.scroll-mode{display:none}}
.motion-off .city-frame{transition:opacity .35s ease!important;transform:none!important}
@media print{.topbar,.sky,.city-orbit,#stars,.privacy-banner,.top-button,.motion-button,.scroll-mode,.map-consent,footer{display:none!important}body,main,.marketing-stage,.stage{background:white!important;color:black!important}main *{color:black!important;text-shadow:none!important}.stage,.marketing-stage{min-height:0!important;padding:20px 0!important;break-inside:avoid}.reveal{opacity:1!important;transform:none!important}}
.hero .lead{font-size:clamp(1rem,.85rem + .55vw,1.375rem);line-height:1.7;max-width:780px}
.legal-toc{position:static;width:auto;max-height:none;background:none;border:0;padding:0;overflow:visible;transform:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none}
@media(prefers-reduced-motion:reduce){.home-page .city-frame,.motion-off .city-frame{transition:none!important;transform:none!important}}
html.privacy-opened{overflow:hidden}
@supports not (height:100svh){.home-page .stage,.marketing-stage,.footer-expanded{min-height:calc(100vh - var(--stage-header,86px))}}
