/* Original full-bleed portal art and scroll story. */
.hero.section-shell{position:relative;isolation:isolate;display:flex;align-items:flex-start;justify-content:center;min-height:calc(100svh - 88px);width:100%;padding:clamp(70px,9vh,120px) var(--page-gutter) 90px;overflow:hidden;background:#060b12;color:#fff;text-align:center}
.hero-media{position:absolute;inset:0;z-index:-2;background:#060b12 url('./assets/hero-gateways.jpg') center bottom/cover no-repeat;transform:scale(var(--hero-scale,1));transform-origin:center 70%;will-change:transform}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,7,15,.28),transparent 44%,rgba(2,7,15,.15) 100%);pointer-events:none}
.hero-copy{position:relative;width:100%;max-width:1100px;margin:0 auto;transform:translateY(var(--hero-shift,0px))}
.hero .eyebrow,.hero-actions{justify-content:center}
.hero .eyebrow{color:#b9d4f5;letter-spacing:.18em}
.hero h1{font-size:clamp(56px,6.4vw,110px);line-height:1.08;letter-spacing:-.06em;font-weight:650;text-shadow:0 3px 24px #0007}
.hero h1 em{color:#a9ceff;font-style:normal}
.hero-subtitle{margin:24px auto 0;color:#e3ecf9;font-size:clamp(17px,1.35vw,23px);line-height:1.5;text-shadow:0 2px 16px #000b}
.hero-actions{margin-top:30px}
.hero .button-primary{background:#086bdc;box-shadow:0 8px 36px #006dff4a}
.hero .text-link{color:#e5f0ff}
.hero-scroll{position:absolute;left:50%;bottom:23px;display:flex;gap:9px;align-items:center;transform:translateX(-50%);color:#e9f2ff;font-size:12px;letter-spacing:.12em;text-decoration:none;text-shadow:0 2px 12px #000}
.hero-scroll span{font-size:22px;line-height:1}
.story{position:relative;background:#071324;color:#fff}
.story.has-story-motion{height:300svh}
.story-pin{position:relative;isolation:isolate;min-height:540px;overflow:hidden;background:radial-gradient(ellipse at 78% 50%,#173f6e 0%,#081b31 35%,#06101d 78%);transition:background .6s ease}
.story.has-story-motion .story-pin{position:sticky;top:0;height:100svh}
.story-glow{position:absolute;top:10%;right:-12%;width:min(75vw,1100px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#499cff45 0%,#146abe25 29%,transparent 66%);filter:blur(30px);transform:translateX(var(--story-shift,0px));transition:background .7s ease}
.story-orbit{position:absolute;border:1px solid #79b9ff65;border-radius:50%;box-shadow:0 0 36px #5badff2a,inset 0 0 44px #5badff20;transform:translateX(var(--story-shift,0px)) rotate(var(--story-rotation,0deg));transition:border-color .7s ease,box-shadow .7s ease}
.story-orbit-one{width:min(61vw,870px);height:min(61vw,870px);right:-4%;top:50%;margin-top:calc(min(61vw,870px) / -2)}
.story-orbit-two{width:min(39vw,570px);height:min(39vw,570px);right:7%;top:50%;margin-top:calc(min(39vw,570px) / -2);border-width:24px;border-color:#8ac7ff20;backdrop-filter:blur(1px)}
.story[data-scene="1"] .story-pin{background:radial-gradient(ellipse at 78% 50%,#2d2c75 0%,#151a40 36%,#070d23 78%)}
.story[data-scene="1"] .story-glow{background:radial-gradient(circle,#8b7cff5c 0%,#6747cc28 34%,transparent 67%)}
.story[data-scene="1"] .story-orbit{border-color:#b4a9ff75;box-shadow:0 0 48px #786cff40,inset 0 0 50px #766dff30}
.story[data-scene="2"] .story-pin{background:radial-gradient(ellipse at 78% 50%,#075969 0%,#082d40 35%,#061321 78%)}
.story[data-scene="2"] .story-glow{background:radial-gradient(circle,#36d9ec55 0%,#2d8fac25 34%,transparent 68%)}
.story[data-scene="2"] .story-orbit{border-color:#8de9ed8c;box-shadow:0 0 48px #61e4ea40,inset 0 0 50px #52c9dc30}
.story-copy{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;padding:9vh var(--page-gutter)}
.story-kicker{display:flex;gap:26px;align-items:center;color:#b7cee7;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.story-count{color:#fff9;font-variant-numeric:tabular-nums}
.story-steps{position:relative;max-width:720px}
.story.has-story-motion .story-steps{height:clamp(290px,44vh,500px)}
.story-step{position:relative;padding-top:clamp(24px,5vh,60px)}
.story-step>span{color:#9bcfff;font-size:13px;letter-spacing:.12em}
.story-step h2{margin:25px 0 20px;font-size:clamp(64px,8vw,140px);line-height:1.04;letter-spacing:-.065em;font-weight:650}
.story-step p{max-width:520px;color:#dce9f9;font-size:clamp(17px,1.6vw,24px);line-height:1.55}
.story-meter{width:min(290px,58vw);height:2px;background:#ffffff47}
.story-meter i{display:block;width:calc(var(--story-progress,0) * 100%);height:100%;background:#9bd6ff;box-shadow:0 0 12px #9bd6ff}
.story.has-story-motion .story-step{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(70px) scale(.96);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.75,.2,1),visibility .6s}
.story.has-story-motion .story-step.is-active{opacity:1;visibility:visible;transform:none}
@media (prefers-reduced-motion:no-preference){.hero-scroll span{animation:explore-bob 1.8s ease-in-out infinite}@keyframes explore-bob{50%{transform:translateY(6px)}}}
@media (max-width:800px){.hero.section-shell{min-height:calc(100svh - 76px);padding:clamp(65px,10vh,100px) 20px 80px}.hero-media{background-position:center bottom}.hero h1{font-size:clamp(44px,8vw,68px)}.hero-subtitle{font-size:17px}.story-copy{padding-inline:var(--page-gutter)}.story-step h2{font-size:clamp(58px,10vw,90px)}.story-orbit-one{width:88vw;height:88vw;right:-32vw;margin-top:-44vw}.story-orbit-two{width:57vw;height:57vw;right:-16vw;margin-top:-28.5vw}.story-glow{right:-55%;width:110vw}}
@media (max-width:480px){.hero.section-shell{min-height:calc(100svh - 76px);padding:65px 20px 80px}.hero-media{background-position:center bottom}.hero h1{font-size:clamp(42px,11vw,58px)}.hero-subtitle{font-size:16px}.hero-actions{gap:12px 18px}.story-pin{min-height:490px}.story-copy{padding-top:10vh;padding-bottom:10vh}.story.has-story-motion .story-steps{height:330px}.story-step h2{font-size:clamp(52px,14vw,70px)}.story-step p{font-size:17px}.story-orbit-one{width:115vw;height:115vw;right:-56vw;margin-top:-57.5vw}.story-orbit-two{width:80vw;height:80vw;right:-40vw}.story-glow{right:-80%;width:155vw}}
@media (prefers-reduced-motion:reduce){.hero-media,.hero-copy,.story-glow,.story-orbit{transform:none!important;transition:none!important}.story{height:auto}.story-pin{position:relative;height:auto;min-height:0}.story-copy{padding-block:90px}.story-steps{height:auto;max-width:none}.story-step{margin-bottom:55px}.story-meter{display:none}}
