/* Native-scroll camera tracks. Added distance reveals geography, product or light. */
.hero{display:block;padding:0;min-height:0;overflow:visible}
.hero-stage{position:relative;isolation:isolate;min-height:calc(100svh - var(--header-h));padding:2.2rem var(--gutter) 1.6rem;display:flex;flex-direction:column;justify-content:space-between;gap:2.5rem;overflow:clip;background:#031723}
.hero.is-pinned{height:calc(300svh - var(--header-h))}
.hero.is-pinned .hero-stage{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h));min-height:0}
.hero.is-flowing .hero-copy{padding-top:1rem}
.hero-media{z-index:-3;opacity:1}
.world-scene{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:0;background:#031723}
.world-ready .world-scene{opacity:var(--world-opacity,1)}
.world-ready .hero-media{opacity:var(--coast-opacity,0)}
.world-scene canvas,.world-geography{position:absolute;inset:0;width:100%;height:100%}
.world-geography{overflow:visible;fill:none}
.world-florida{fill:#2fa8a214;stroke:#f5a623;stroke-width:1.4;stroke-linejoin:round}
.world-beacon{fill:#fff3c7;stroke:#f5a623;stroke-width:2}
.world-beacon-ring{stroke:#f5a623;stroke-width:1;fill:#f5a62316}
.world-label{position:absolute;display:flex;align-items:flex-start;gap:.75rem;padding:.8rem 1rem;border-left:1px solid #f5a623;background:#041f33ed;font-size:1.35rem;line-height:1.25;white-space:nowrap;box-shadow:0 8px 45px #03172333}
.world-label .live-dot{margin-top:.45rem}
.world-label small{display:block;color:#d3e3e8;font-size:1rem;line-height:1.5;margin-top:.4rem}
.hero-shade{z-index:-1;background:linear-gradient(90deg,#041f33fa 0%,#041f33e6 23%,#041f33bf 54%,#041f3300 78%),linear-gradient(0deg,#041f33f0,transparent 20%,transparent 86%,#041f3377)}
.hero.is-flowing .hero-shade{background:linear-gradient(90deg,#041f33ee,#041f33cf)}
.hero-copy{max-width:53%;padding:.6rem 0 1rem}
.hero h1{font-size:clamp(4.5rem,8.6vw,9rem)}
.hero-copy>p{font-size:1.25rem;max-width:32rem;margin-top:1.75rem}
.hero-copy>p br{display:none}
.hero-actions{gap:1rem 1.8rem;margin-top:1.8rem}
.hero-bottom{padding-top:1.2rem;border-top:1px solid #789ba74f}
.descent-cue{font-size:1rem;display:flex;align-items:center;gap:1.5rem;min-height:2.75rem}
.descent-cue>span{font-size:1.5rem}
.hero-top,.hero-bottom{flex-shrink:0}
.hero-status{background:#041f33bf}
.city{padding-top:clamp(4rem,7vw,7rem)}
.city-watermark{font-weight:750;letter-spacing:-.07em;line-height:1;white-space:nowrap;position:absolute;left:0;top:15rem;font-size:clamp(7rem,21vw,25rem);color:#0c686a0a;z-index:-1;pointer-events:none}
.city-content{position:relative;z-index:2}
.city-visual-track{perspective:1600px}
.portal-shell{transform-origin:50% 45%;box-shadow:0 35px 75px #041f3338,0 5px 20px #041f3312;border-radius:1rem}
.portal-orbit{position:absolute;width:115%;aspect-ratio:1;top:-4%;left:-7.5%;border:1px solid #0c686a25;border-radius:50%;transform:rotateX(65deg) rotateZ(-25deg);pointer-events:none}
.portal-orbit:before,.portal-orbit:after{content:'';position:absolute;inset:12%;border:1px solid #f5a62355;border-radius:50%}
.portal-orbit:after{inset:-14%;border-color:#0c686a14}
.city-visual-track.is-pinned:after{content:'';display:block;height:60svh}
.city-visual-track.is-pinned .portal{position:sticky;top:calc(var(--header-h) + 1.5rem)}
.city-grid.has-pinned-copy .city-content{position:sticky;top:calc(var(--header-h) + 2rem)}
.local-proof{margin-top:7rem;padding-top:3rem;position:relative}
.proof-intro{font-size:clamp(1.75rem,2.5vw,3rem)}
.proof-list li>span{font-size:2rem;font-weight:500;line-height:1.1}
.proof-list h3{font-size:1.25rem}
.dayline{padding:0;display:block;min-height:0;overflow:visible;background:#041f33;transition:none}
.day-stage{position:relative;isolation:isolate;min-height:calc(100svh - var(--header-h));padding:3.5rem var(--gutter) 2rem;display:flex;flex-direction:column;justify-content:space-between;gap:4rem;overflow:clip;background:var(--sky)}
.dayline.is-pinned{height:calc(250svh - var(--header-h))}
.dayline.is-pinned .day-stage{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h));min-height:0}
.day-atmosphere{z-index:-2}
.day-visual{position:absolute;inset:0;height:100%;background:linear-gradient(180deg,var(--sky-top),transparent 87%)}
.day-stage:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#041f33e6,transparent 75%),linear-gradient(0deg,#041f33df,transparent 30%);pointer-events:none}
.day-intro{max-width:58rem}
.day-intro .eyebrow{margin-bottom:1.4rem}
.day-intro h2{font-size:clamp(3.8rem,7vw,7.5rem)}
.day-intro .body-copy{padding:.65rem .9rem;border-left:2px solid var(--teal);background:#041f33eb;max-width:31rem;margin-top:1.5rem;line-height:1.6;color:var(--cream)}
.day-sun{width:clamp(7rem,17vw,21rem);height:clamp(7rem,17vw,21rem);box-shadow:0 0 90px #f5a62338;transition:none}
.day-glow{opacity:.58;width:120vw;height:120vw;right:-40vw;top:-35vw;transition:none}
.day-arc{stroke:#dbece52e;transform:rotate(-12deg) scale(1.35)}
.day-arc-inner{stroke-dasharray:none;opacity:.5}
.day-horizon{top:68%;height:2px;background:linear-gradient(90deg,transparent,#f5a623aa,var(--teal),transparent)}
.day-waterlines{top:68%;background:repeating-linear-gradient(180deg,transparent 0,transparent 19px,#a3d7d944 20px,transparent 22px);transform-origin:top center}
.day-caption{position:relative;align-self:flex-end;text-align:right;color:var(--paper);padding-right:.2rem;max-width:100%;pointer-events:none}
#time-output{font-size:clamp(4rem,10.8vw,12rem);line-height:1;letter-spacing:-.065em;font-weight:600;white-space:nowrap}
#day-mood{font-size:1.25rem;line-height:1.5;margin-top:1rem;min-height:1.5em;color:var(--cream)}
.day-bottom{display:flex;justify-content:space-between;align-items:end;gap:2rem;font-size:1rem;line-height:1.5;color:var(--cream)}
.day-note{font-size:1rem;max-width:20rem;color:var(--muted);text-align:right;margin:0}
.network{min-height:110svh;padding-block:8rem;perspective:1200px}
.network-map{isolation:auto}
.network-watermark{position:absolute;left:0;bottom:1rem;z-index:-1;font-size:25vw;letter-spacing:-.065em;font-weight:750;line-height:1;color:#2fa8a20b;pointer-events:none}
.network-map:before{background:radial-gradient(ellipse,#2fa8a21c,transparent 70%);inset:-20%}
.map-host{transform-origin:76.6% 21%}
.map-host .route-line{filter:drop-shadow(0 0 5px #f5a62355)}
.network-map figcaption{position:relative;z-index:3;background:var(--deepest);padding-block:1rem}
.media-credit{font-size:1rem;color:var(--ink-muted);line-height:1.6;margin-top:1.5rem;max-width:66rem}
.cinematic .portal-shell,.cinematic .portal-screen img,.cinematic .day-sun,.cinematic .map-host{will-change:transform}
@media(max-width:1100px){
 .world-label{display:none}
 .hero-copy{max-width:62%}.hero-actions{display:block}.hero-actions .text-link{display:flex;width:fit-content;margin-top:.8rem}
 .hero h1{font-size:clamp(4.5rem,8.6vw,7rem)}
 .day-caption{margin-top:1rem}#time-output{font-size:9vw}
 .day-intro h2{font-size:clamp(3.6rem,7vw,6rem)}
}
@media(max-width:850px){
 .hero-copy{max-width:75%}.world-label{font-size:1.125rem}
 .city-visual-track.is-pinned:after{height:45svh}
 .city-grid.has-pinned-copy .city-content{position:relative;top:auto}
 .network{min-height:0;padding-block:5rem}
 .day-bottom{align-items:start;gap:1.5rem}.day-note{max-width:16rem}
 .day-sun{width:10rem;height:10rem}
}
@media(max-width:700px){
 :root{--header-h:5rem}
 .hero-stage{padding:1.25rem var(--gutter);gap:1.5rem;min-height:calc(100svh - var(--header-h))}
 .hero.is-pinned{height:calc(255svh - var(--header-h))}
 .hero-copy{max-width:100%;padding:10rem 0 0;margin-top:auto}
 .hero h1{font-size:clamp(3.2rem,13vw,5.4rem)}
 .hero-copy>p{font-size:1.125rem;margin-top:1.25rem;max-width:25rem}
 .hero-actions{margin-top:1.3rem;display:flex;gap:.7rem}.hero-actions .button{width:100%}.hero-actions .text-link{margin:0}
 .hero-bottom{display:block;padding-top:.9rem}.hero-bottom p{display:flex;gap:.6rem}.location-note{display:none}
 .descent-cue{display:none}
 .hero-shade{background:linear-gradient(0deg,#041f33 0%,#041f33e8 38%,#041f3333 68%,#041f3300 85%,#041f3380)}
 .hero .eyebrow{font-size:1rem;letter-spacing:0;gap:.5rem;background:#041f33e8;padding:.25rem .4rem;margin-left:-.4rem;width:fit-content}
 .world-label{display:none}
 .city-watermark{top:18rem;font-size:7rem}
 .local-proof{margin-top:4rem;padding-top:2rem}.proof-list li>span{font-size:1.5rem}
 .day-stage{padding:2.5rem var(--gutter) 1.5rem;gap:3rem;min-height:calc(100svh - var(--header-h))}
 .dayline.is-pinned{height:calc(220svh - var(--header-h))}
 .day-intro h2{font-size:clamp(3rem,11vw,4.5rem)}.day-intro .eyebrow{margin-bottom:1rem}
 .day-intro .body-copy{font-size:1.125rem;max-width:22rem;margin-top:1.3rem}
 .day-caption{text-align:left;align-self:flex-start;margin-top:3rem}
 #time-output{font-size:clamp(2.9rem,12vw,5rem);white-space:normal}#day-mood{font-size:1.125rem;min-height:3em;max-width:22rem}
 .day-bottom{display:block}.day-bottom>p:first-child{display:none}.day-note{text-align:left;max-width:24rem}
 .day-stage:after{background:linear-gradient(90deg,#041f33cc,transparent),linear-gradient(0deg,#041f33f7,transparent 60%)}
 .day-sun{width:7rem;height:7rem}.day-glow{width:180vw;height:180vw;right:-90vw;top:-10vw}
 .network{padding-block:4.5rem}
 .footer-brand{flex-wrap:wrap}
}
@media(max-height:730px){
 .hero-stage{gap:1.2rem}.hero-copy>p{margin-top:1rem}.hero-actions{margin-top:1rem}
 .day-stage{gap:2rem;padding-block:2rem}
}
@media(max-height:730px) and (min-width:701px){
 .day-stage{gap:1.5rem}
 .day-intro h2{font-size:clamp(3.5rem,6vw,5rem)}
 .day-intro .body-copy{font-size:1.125rem}
 #time-output{font-size:clamp(3.5rem,8vw,7rem)}
}
/* Fit guards remove pinning for short screens, enlarged text and static mode. */
.static-motion{scroll-behavior:auto}
.static-motion *,.static-motion *:before,.static-motion *:after{animation:none!important;transition:none!important}
.static-motion .world-scene{display:none}
.static-motion .hero-media{opacity:1}
.static-motion .hero,.static-motion .dayline{height:auto;min-height:0}
.static-motion .hero-stage,.static-motion .day-stage{position:relative;height:auto}
.static-motion .city-visual-track:after{display:none!important}
.static-motion .portal,.static-motion .city-content{position:relative!important;top:auto!important}
.static-motion .portal-screen{height:auto;max-height:none;min-height:0}
.static-motion .portal-shell,.static-motion .portal-screen img,.static-motion .map-host,.static-motion .proof-list li,.static-motion .city-watermark,.static-motion .network-watermark{transform:none!important;will-change:auto!important}
.static-motion .route-line{stroke-dashoffset:0!important}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}
 .world-scene{display:none}.hero-media{opacity:1!important}
 .hero,.dayline{height:auto!important}.hero-stage,.day-stage{position:relative!important;height:auto!important}
 .city-visual-track:after{display:none!important}.portal,.city-content{position:relative!important;top:auto!important}
 .portal-screen{height:auto;max-height:none;min-height:0}
}
