@font-face{font-family:NarvastDisplay;src:url('assets/fonts/manrope-bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:NarvastSerif;src:url('assets/fonts/dm-serif-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
html{scroll-behavior:auto}
body{overflow-x:clip}
.intro-track{height:100vh;background:#0a0f1f;overflow:hidden}
.intro-stage{position:relative;height:100vh;overflow:hidden;background:#0a0f1f;color:#f5f9ff}
.intro-block{position:absolute;left:8vw;right:25vw;top:50%;transform:translateY(-50%);transform-origin:left top;will-change:transform}
.kicker{font-size:11px;letter-spacing:.17em;font-weight:600}
.intro-block h1{font:700 clamp(60px,7.8vw,116px)/.99 NarvastDisplay,Manrope,sans-serif;letter-spacing:-.065em;margin:.22em 0}
.intro-block h1 em{font:italic 400 1.12em/.95 NarvastSerif,Georgia,serif;letter-spacing:-.045em;color:inherit}
.intro-block p{font-size:clamp(16px,1.35vw,20px);max-width:30em;line-height:1.55;margin:26px 0}
.intro-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px;font-size:14px}
.intro-actions a,.outro a{text-decoration:underline;text-underline-offset:6px}
.intro-actions a:first-child{padding:14px 22px;border:1px solid currentColor;border-radius:999px;text-decoration:none}
.intro-meta{position:absolute;bottom:30px;left:8vw;right:8vw;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.hero-vector{position:absolute;right:3vw;top:14vh;height:75vh;width:48vw;color:#08b9d8;opacity:.24}
.hero-vector-grid{fill:none;stroke:currentColor;stroke-width:1;opacity:.25}
.track{height:440vh}
.sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#e7e9e6;font-family:Manrope,sans-serif}
.transition-shade{position:absolute;inset:0;z-index:0;background:#0a0f1f;pointer-events:none}
.transition-title{display:none}
#scene{position:absolute;inset:0;width:100%;height:100%;z-index:5;display:block;pointer-events:none}
.growth-story{position:absolute;inset:0;z-index:3;pointer-events:none;color:#10243a}
.growth-heading{position:absolute;left:8%;top:12%}
.growth-heading .kicker{color:#057e8b}
.growth-heading h2{font:700 clamp(36px,4.5vw,70px)/1.08 NarvastDisplay,Manrope,sans-serif;letter-spacing:-.055em;margin:22px 0}
.growth-heading h2 em{font:italic 400 1.14em/1.05 NarvastSerif,Georgia,serif;letter-spacing:-.035em}
.growth-vector{position:absolute;bottom:9%;left:2%;width:96%;height:60%}
.growth-grid{fill:none;stroke:#10243a;stroke-opacity:.06;stroke-width:1}
.growth-shadow{fill:none;stroke:#08b9d8;stroke-width:12;stroke-opacity:.09;stroke-linecap:round}
.growth-line{fill:none;stroke:url(#growthGradient);stroke-width:9;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:.88}
.growth-node{fill:#e7e9e6;stroke:#058d91;stroke-width:3}
.growth-stages{position:absolute;left:8%;right:8%;bottom:7%;display:flex;justify-content:space-between;gap:18px;font-size:13px}
.growth-stages b{font-size:11px;color:#057e8b;margin-right:10px}
.editorial{position:absolute;inset:0;z-index:2;pointer-events:none;color:#10243a}
.editorial h2{position:absolute;margin:0;font:700 clamp(48px,7.4vw,118px)/.95 NarvastDisplay,Manrope,sans-serif;letter-spacing:-.065em;white-space:nowrap;will-change:transform,opacity}
.line1{left:28%;top:25%}
.editorial .line2{left:49%;top:48%;font-family:NarvastSerif,Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.045em}
.scene-label{position:absolute;left:3%;top:24px;z-index:8;font-size:10px;letter-spacing:.13em;color:#404440;pointer-events:none}
.scene-skip{position:absolute;right:3%;top:20px;z-index:11;font-size:12px;color:#242424;text-decoration:underline;text-underline-offset:5px}
.scene-status{position:absolute;left:8%;right:8%;bottom:8%;font-size:14px;color:#242424;z-index:12}
.scene-status:empty{display:none}
.progress{position:absolute;left:2%;right:2%;bottom:2%;height:1px;background:rgba(0,0,0,.12);z-index:10}
.progress i{display:block;width:100%;height:100%;background:#058d91;transform-origin:left;transform:scaleX(0)}
.outro{min-height:70vh;padding:8vw;display:flex;flex-direction:column;justify-content:center;background:#e7e9e6;color:#242424;overflow:hidden}
.outro h2{font:700 clamp(54px,7vw,108px)/1.02 NarvastDisplay,Manrope,sans-serif;letter-spacing:-.065em;margin:.2em 0}
.outro p{font-size:18px;max-width:30em;line-height:1.5;margin:28px 0}
.helix-fallback{display:none}
.helix-unavailable .track{height:auto}
.helix-unavailable .sticky{position:relative;height:auto;min-height:100vh;padding:100px 6%}
.helix-unavailable #scene,.helix-unavailable .editorial,.helix-unavailable .transition-title,.helix-unavailable .transition-shade,.helix-unavailable .growth-story{display:none}
.helix-unavailable .helix-fallback{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.helix-fallback img{width:100%;aspect-ratio:1.44;object-fit:cover}
@media(max-width:1199px){.intro-block{right:10vw}.editorial h2{font-size:clamp(46px,8.4vw,100px)}.line1{left:25%}.editorial .line2{left:43%}}
@media(max-width:768px){.intro-block{left:7vw;right:7vw}.intro-block h1{font-size:clamp(56px,9vw,84px)}.hero-vector{right:-10%;width:85%;opacity:.14}.editorial h2{font-size:clamp(42px,12vw,80px)}.line1{left:8%;top:27%}.editorial .line2{left:25%;top:46%}.growth-heading{top:15%;left:7%}.growth-heading h2{font-size:clamp(34px,5.2vw,48px)}.growth-vector{height:48%;bottom:18%}.growth-stages{font-size:11px;left:7%;right:7%}.growth-stages span{max-width:110px}.growth-stages b{display:block;margin-bottom:5px}}
@media(max-width:600px){.intro-block h1{font-size:clamp(52px,14vw,68px)}.intro-block p{max-width:25em;font-size:16px;margin:22px 0}.intro-actions{gap:20px;margin-top:24px}.intro-meta{left:7vw;right:7vw;bottom:26px;font-size:9px}.intro-meta span:last-child{display:none}.hero-vector{height:70vh;top:17vh;right:-18%;width:110%;opacity:.10}.scene-label{font-size:9px}.scene-skip{font-size:10px}.growth-heading h2{font-size:clamp(31px,8.4vw,44px)}.growth-heading .kicker{font-size:9px}.growth-vector{left:-5%;width:110%;height:auto;bottom:23%}.growth-stages{bottom:14%;gap:14px}.outro{padding:10vw;min-height:65vh}.outro h2{font-size:clamp(48px,12vw,66px)}.helix-unavailable .helix-fallback{grid-template-columns:repeat(2,1fr)}}
@media(max-height:650px) and (min-width:769px){.intro-block h1{font-size:70px}.intro-block p{margin:14px 0;font-size:16px}.intro-actions{margin-top:18px}.growth-heading{top:13%}.growth-heading h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.intro-block,.editorial h2{will-change:auto}}
