/* Hero-only cinematic scene. Existing section styles stay untouched. */
.ascent{height:240svh;min-height:0;background:#111c28}
.ascent .hero-stage{height:100svh;min-height:740px;isolation:isolate}
.ascent .hero-environment{inset:-2%;transform-origin:64% 44%;will-change:transform}
.ascent .hero-poster{transform:none;object-position:64% 45%}
.ascent .hero-shade{background:linear-gradient(90deg,#030b15a3 0%,#07111b32 50%,transparent 78%),linear-gradient(0deg,#07111ba6,transparent 42%,#050c1545)}
.ascent .hero-content{padding-top:max(166px,25svh);will-change:transform,opacity}
.ascent .hero-content h1{font-family:Editorial,Georgia,serif;font-weight:500;font-size:clamp(88px,9.2vw,146px);letter-spacing:-.055em;line-height:.95;max-width:1000px;will-change:auto}
.ascent .hero-content h1 i{font-style:normal;letter-spacing:-.055em}
.ascent .hero-eyebrow{font-size:12px;letter-spacing:.15em;color:#d2dbe4;margin-bottom:28px}
.ascent .hero-description{font-size:18px;color:#d5dce2;text-shadow:0 2px 18px #000}
.ascent .hero-bottom{margin-top:30px}
.ascent .micro{font-size:12px;color:#ced5dd}
.ascent .hero-foot{font-size:10px;color:#c7d0db}
.ascent .motion-toggle{font-size:12px;color:#e0e8f2}
.summit-atmosphere{position:fixed;inset:0;z-index:30;pointer-events:none;contain:strict;visibility:hidden}
.summit-atmosphere canvas,.summit-whiteout{position:absolute;inset:0;width:100%;height:100%}
.summit-whiteout{background:#e1e7ec;opacity:0;will-change:opacity}
.summit-atmosphere canvas{opacity:1}
@media(max-width:760px){
 /* Stable small viewport sizing prevents browser-toolbar resize jumps. */
 .ascent{height:230svh}.ascent .hero-stage{height:100svh;min-height:690px}
 .ascent .hero-stage{min-height:min(690px,100svh)}
 .ascent .hero-poster{object-position:64% 42%}
 .summit-atmosphere{height:100svh;bottom:auto}
 .mobile-fog-fallback canvas{visibility:hidden}
 .mobile-fog-fallback:after{content:'';position:absolute;inset:-15%;opacity:var(--fog-opacity,.04);transform:translate3d(var(--fog-travel,0%),0,0);background:radial-gradient(ellipse at 12% 80%,#b9cedddd,transparent 55%),radial-gradient(ellipse at 88% 65%,#e1e7ecdd,transparent 55%);animation:mobile-fog-drift 12s ease-in-out infinite alternate}
 @keyframes mobile-fog-drift{to{translate:7% -3%}}

 .ascent .hero-environment{transform-origin:62% 36%}
 .ascent .hero-shade{background:linear-gradient(0deg,#050e19e6 0%,#07121aa8 28%,#06111b24 72%,#040c1680)}
 .ascent .hero-content{padding-top:max(225px,37svh)}
 .ascent .hero-eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:20px}
 .ascent .hero-content h1{font-size:clamp(63px,14.8vw,108px);line-height:.94;letter-spacing:-.06em}
 .ascent .hero-content h1>span:nth-child(2){white-space:nowrap}
 .ascent .hero-bottom{margin-top:23px}
 .ascent .hero-description{font-size:16px;margin-bottom:18px}
 .ascent .hero-foot>span{display:none}.ascent .hero-foot{justify-content:flex-end;bottom:12px}
 @media(max-height:700px){.ascent .hero-content{padding-top:max(140px,25svh)}}
 .ascent .hero-content .button{min-height:54px}.ascent .micro{font-size:11px}
}
@media(max-height:740px) and (min-width:761px){.ascent .hero-stage{min-height:640px}.ascent .hero-content{padding-top:145px}.ascent .hero-content h1{font-size:100px}.ascent .hero-eyebrow{margin-bottom:18px}.ascent .hero-bottom{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.ascent{height:auto;min-height:0}.ascent .hero-stage{position:relative}.summit-atmosphere{display:none}.ascent .hero-content{transform:none!important;opacity:1!important}}
