:root{color-scheme:dark;--green:#00ca7c;--ink:#030605;--muted:#8b9690}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ink)}body{color:#eef5ef;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:7px}button{border:0;background:none}header,footer{position:absolute;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:38px 4.5vw}header{top:0}footer{bottom:0;font-size:13px;color:var(--muted);letter-spacing:.045em}.brand{width:112px;display:block}.brand svg{display:block;width:100%;fill:var(--green)}.white{fill:#f5f7f3}nav{display:flex;gap:34px;align-items:center;font-size:14px}nav button{padding:10px 0}nav a span{margin-left:9px;color:var(--muted)}nav a:hover,nav button:hover{color:var(--green)}.definitions{position:absolute;width:0;height:0;overflow:hidden}main{min-height:700px;height:100svh;position:relative;overflow:hidden;perspective:1100px;touch-action:pan-y}.ambient{position:absolute;inset:0;background:radial-gradient(ellipse 28% 24% at 35% 79%,#00422919,transparent 80%);pointer-events:none}.floor{position:absolute;left:-30%;right:-30%;top:79%;height:70%;transform:rotateX(68deg);transform-origin:center top;background:radial-gradient(ellipse 12% 80% at 41% 0%,#00ba7510,transparent 85%);opacity:.8}#assembly{position:absolute;width:min(66vw,940px);left:50%;top:35%;height:auto;aspect-ratio:610/140;transform-style:preserve-3d;transform:translateX(-50%) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform;pointer-events:none}.logo-stack{position:absolute;inset:0;transform-style:preserve-3d}.logo-stack svg{position:absolute;width:100%;height:100%;fill:var(--green);overflow:visible}.depth{filter:brightness(.3)}.d1{transform:translate3d(1px,1px,-2px)}.d2{transform:translate3d(2px,2px,-4px)}.d3{transform:translate3d(3px,3px,-6px)}.face{transform:translateZ(1px);filter:drop-shadow(0 0 17px #00b6710a)}.thread{position:absolute;left:18.2%;width:1px;top:-110vh;height:250vh;background:linear-gradient(transparent,#00ca7c88 25%,#00de9399 60%,#00ca7c33);box-shadow:0 0 9px #00dc8520;transform:translateZ(0)}.pulse{position:absolute;left:-1px;top:0;width:3px;height:110px;background:linear-gradient(transparent,#25ffa8 55%,#baffdf 90%,transparent);box-shadow:0 0 14px #00f395,0 0 38px #00df7270;border-radius:50%;animation:flow 8s linear infinite}.reflection{position:absolute;inset:0;transform:translateY(46vh) scaleY(-.43);opacity:.055;filter:blur(5px);mask-image:linear-gradient(transparent,#000);pointer-events:none}.reflection svg{width:100%;fill:var(--green)}.actions{position:absolute;top:calc(35% + min(15.15vw,216px) + 42px);left:calc(50% - min(33vw,470px) + min(16.5vw,235px));display:flex;align-items:flex-start;flex-direction:column;gap:20px}.ticker{font-size:14px;letter-spacing:.3em;color:#abb8af}.launch{font-size:14px;letter-spacing:.035em;padding:16px 24px;border:1px solid #008f59;border-radius:4px;display:flex;gap:34px;align-items:center;transition:background .25s,border-color .25s,box-shadow .25s}.launch:hover{background:#00bd7510;border-color:var(--green);box-shadow:0 0 28px #00bd7512}.launch span{color:var(--green)}.launch-note{font-size:12px;color:#69776f;letter-spacing:.09em}.network strong{color:#d1d9d4;font-weight:500;margin-left:5px}.experience{display:flex;align-items:center;gap:27px}.experience button{font-size:12px;color:#929e96;padding:8px 0}.hint{font-size:12px;color:#53635a}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{background:#080f0c;color:#ecf2ee;border:1px solid #20372b;border-radius:8px;padding:44px;width:min(460px,calc(100% - 36px));box-shadow:0 25px 100px #000}dialog::backdrop{background:#000a;backdrop-filter:blur(12px)}.close{position:absolute;right:14px;top:8px;font-size:28px;color:#9baa9f;padding:8px}.eyebrow{font-size:12px;letter-spacing:.15em;color:var(--green)}h2{font-weight:400;font-size:27px;margin:26px 0 16px}dialog p{font-size:16px;line-height:1.7;color:#9eada4}.dialog-link{display:inline-block;margin-top:20px;color:var(--green);font-size:14px}.paused .pulse{animation-play-state:paused}@keyframes flow{from{transform:translateY(0)}to{transform:translateY(250vh)}}@media(max-width:600px){header{padding:26px 24px}.brand{width:88px}nav{gap:20px;font-size:13px}main{min-height:620px}#assembly{width:86vw;top:34%}.actions{left:calc(7vw + 24vw);top:calc(34% + 19.74vw + 38px);gap:19px}.launch{padding:15px 17px;gap:21px;font-size:13px}.ticker{font-size:13px}footer{padding:24px;font-size:12px;align-items:flex-end}.experience{gap:5px;flex-direction:column;align-items:flex-end}.hint{display:none}.reflection{transform:translateY(43vh) scaleY(-.5)}dialog{padding:35px 27px}}@media(max-height:700px) and (min-width:601px){#assembly{top:29%;width:55vw}.actions{top:calc(29% + 12.63vw + 20px)}}@media(prefers-reduced-motion:reduce){.pulse{animation:none;top:50%}*{scroll-behavior:auto!important}}

/* One continuous, scroll-controlled stage. */
.journey{height:380svh;position:relative}main{position:sticky;top:0;min-height:0;height:100svh}header,footer{position:fixed}header{background:linear-gradient(#030605aa,transparent)}footer{pointer-events:none}footer button,footer a{pointer-events:auto}.thread,.reflection{display:none}#lightfield{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ambient,.floor{opacity:0}#assembly{transform:translateX(-50%) translateY(var(--lift,0px)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--scale,1));transform-origin:18.2% 50%}.actions{will-change:opacity,transform}.end-social{position:absolute;top:calc(35% + min(15.15vw,216px) + 208px);left:calc(50% - min(33vw,470px) + min(16.5vw,235px));font-size:13px;letter-spacing:.04em;color:#9cada2;opacity:0;visibility:hidden}.end-social:hover{color:var(--green)}.experience .hint{display:block;color:#9aa99f}.face{filter:drop-shadow(0 0 17px #00b6710a)}
@media(max-width:600px){.journey{height:340svh}.end-social{left:31vw;top:calc(34% + 19.74vw + 198px)}.experience{gap:3px}.experience .hint{font-size:11px}footer{background:linear-gradient(transparent,#030605bb)}}
@media(max-height:600px) and (min-width:601px){#assembly{top:25%;width:45vw}.actions{top:calc(25% + 10.33vw + 12px);gap:12px}.end-social{top:calc(25% + 10.33vw + 147px)}}

/* Extruded 3D wordmark. */
.white{fill:var(--l-fill,#f5f7f3)}
.logo-stack .depth{filter:none;transform:translate3d(calc(var(--i)*.38px*var(--extrude,1)),calc(var(--i)*.6px*var(--extrude,1)),calc(var(--i)*-2.2px*var(--extrude,1)))}
.logo-stack .face{transform:translateZ(1px);filter:drop-shadow(0 0 17px #00b6710a)}

.launch{will-change:transform}
dialog[open]{animation:rise .35s cubic-bezier(.2,.8,.2,1)}dialog[open]::backdrop{animation:fade .35s ease}
@keyframes rise{from{opacity:0;transform:translateY(14px) scale(.98)}}@keyframes fade{from{opacity:0}}
@media(prefers-reduced-motion:reduce){dialog[open],dialog[open]::backdrop{animation:none}}

/* Mid-journey Pulse panel: text only, fades with scroll, sits above the receding line. */
.mid{position:absolute;left:50%;top:13%;width:min(620px,calc(100% - 48px));transform:translate(-50%,18px);text-align:center;opacity:0;visibility:hidden;display:flex;flex-direction:column;align-items:center;will-change:opacity,transform}
.mid-eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--green)}
.mid-title{margin:20px 0 0;font-weight:400;font-size:clamp(26px,3.4vw,44px);line-height:1.12;letter-spacing:-.01em;color:#f1f6f2}
.mid-copy{margin:18px 0 0;max-width:470px;font-size:15px;line-height:1.65;color:#8e9b94}
.mid-stats{display:flex;gap:44px;margin:30px 0 0;justify-content:center}
.mid-stats[hidden]{display:none}
.mid-stats div{display:flex;flex-direction:column-reverse;gap:6px}
.mid-stats dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#5f6d66}
.mid-stats dd{margin:0;font-size:22px;color:#e9f1ec;font-variant-numeric:tabular-nums}
.mid-cta{margin-top:30px;text-decoration:none}
@media(max-width:600px){.mid{top:11%}.mid-copy{font-size:14px}.mid-stats{gap:22px;margin-top:24px}.mid-stats dd{font-size:18px}.mid-stats dt{font-size:10px;letter-spacing:.06em}}
@media(max-height:700px) and (min-width:601px){.mid{top:8%}.mid-stats{margin-top:20px}.mid-cta{margin-top:20px}}
