/* Navigation and motion are progressive enhancements; content stays usable without JS. */
html{scroll-padding-top:112px}
.skip-link{position:fixed;left:20px;top:-80px;z-index:200;background:#c3f268;padding:16px}
.skip-link:focus{top:15px}
.nav{position:sticky;top:0;z-index:40;background:#f1f2e9ed;backdrop-filter:blur(16px);gap:20px;transition:box-shadow .3s,background .3s}
.nav.is-scrolled{box-shadow:0 8px 30px #1720190d;background:#f1f2e9f7}
.nav-progress{position:absolute;bottom:-1px;left:0;width:100%;height:3px;transform:scaleX(var(--scroll-progress,0));transform-origin:left;background:#86b443;pointer-events:none}
.nav-links{align-items:center;gap:22px}
.nav-links>a{position:relative;padding:13px 0;font-size:9px;white-space:nowrap}
.nav-links>a:after{content:"";position:absolute;bottom:3px;left:0;width:100%;height:3px;background:#789d48;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links>a:hover,.nav-links>a[aria-current]{text-decoration:none;color:#547934}
.nav-links>a:hover:after,.nav-links>a[aria-current]:after{transform:scaleX(1)}
.nav-links>a>span,.menu-join{display:none}
.nav-controls{display:flex;align-items:center;gap:20px}
.motion-toggle{border:0;border-bottom:1px solid #17201950;background:transparent;padding:8px 0;font-size:8px;white-space:nowrap;color:#586b49}
.motion-toggle[aria-disabled="true"]{opacity:.65;cursor:default}
.menu-toggle{display:none;align-items:center;justify-content:center;gap:7px;padding:12px;background:transparent;border:1px solid #17201945;font-size:9px}
.menu-icon{display:grid;gap:4px;width:14px}
.menu-icon:before,.menu-icon:after{content:"";display:block;width:14px;height:2px;background:currentColor;transition:transform .25s}
.menu-open .menu-icon:before{transform:translateY(3px) rotate(45deg)}
.menu-open .menu-icon:after{transform:translateY(-3px) rotate(-45deg)}
.back-top{position:fixed;right:24px;bottom:24px;z-index:35;background:#172019;color:#c3f268;box-shadow:4px 4px 0 #17201925;padding:13px 17px;display:flex;gap:18px;align-items:center;font-size:9px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}
.back-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-top>span:last-child{font-size:19px;transition:transform .2s}
.back-top:hover>span:last-child{transform:translateY(-4px)}
.back-top .scroll-percent{color:#8d9d7c;min-width:27px}
.hero{perspective:1200px}
.title-line{display:block;overflow:hidden;padding:5px 0 12px;margin:-5px 0 -12px}
.title-line>span{display:inline-block}
.fx-ready[data-motion="on"] .title-line>span{animation:title-in .8s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(1s + var(--line,0)*.12s)}
.title-line:nth-child(2){--line:1}.title-line:nth-child(3){--line:2}
.fx-ready[data-motion="on"] .hero-copy>.eyebrow,.fx-ready[data-motion="on"] .hero-desc,.fx-ready[data-motion="on"] .hero-actions,.fx-ready[data-motion="on"] .hero-copy>.tiny{animation:content-in .7s ease both;animation-delay:1.1s}
.fx-ready[data-motion="on"] .hero-desc{animation-delay:1.35s}.fx-ready[data-motion="on"] .hero-actions{animation-delay:1.5s}.fx-ready[data-motion="on"] .hero-copy>.tiny{animation-delay:1.6s}
.robot-stage{isolation:isolate;background:radial-gradient(ellipse at 50% 44%,#35482d,#172019 72%);transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.robot-stage:before{content:"";position:absolute;inset:0;z-index:4;background:repeating-linear-gradient(0deg,transparent 0 3px,#08100820 3px 4px);pointer-events:none;opacity:.45}
.robot-stage:after{content:"";position:absolute;inset:-30% 0 auto;height:35%;background:linear-gradient(transparent,#c3f2680d,transparent);animation:stage-scan 7s linear infinite;pointer-events:none}
.robot-stage:hover{box-shadow:16px 18px 0 #daddcf}
.robot-button{z-index:3;transform:translate(calc(-50% + var(--robot-x,0px)),calc(-50% + var(--robot-y,0px)));transition:transform .4s cubic-bezier(.16,1,.3,1)}
.robot-button:focus-visible .robot-bubble{opacity:1}
.robot-button:active img{filter:drop-shadow(0 10px 0 #0c140d) brightness(1.1)}
.orbit{border-radius:50%;width:350px;height:175px;animation:orbit-one 16s linear infinite;pointer-events:none}
.orbit:after{content:"";position:absolute;top:15%;left:12%;width:7px;height:7px;background:#c3f268;box-shadow:0 0 14px #c3f26855}
.orbit-two{width:290px;height:290px;animation:orbit-two 24s linear infinite;border-color:#a8c88320}
.orbit-two:after{background:#ed9956;width:5px;height:5px}
.stage-label,.stage-bottom,.node-chip{z-index:5;pointer-events:none}
.chip-a{animation:chip-drift 5s ease-in-out infinite}.chip-b{animation:chip-drift 6s ease-in-out -2s infinite}
.stage-bottom{padding-top:18px;border-top:1px solid #c3f26818}
.ticker:hover>div{animation-play-state:paused}
.fx-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.fx-reveal.is-visible{opacity:1;transform:none}
.step,.download{position:relative;isolation:isolate;transition:background .25s,box-shadow .25s,transform .25s}
.step:before,.download:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(240px circle at var(--spot-x,50%) var(--spot-y,50%),#c3f26865,transparent 75%);opacity:0;transition:opacity .3s}
.step:hover:before,.download:hover:before{opacity:1}
.step:hover{background:#e9edde}.step:hover .step-icon{transform:translateY(-5px) rotate(-7deg);color:#172019}
.step-icon{transition:transform .3s,color .3s}
.download:hover{transform:translateY(-4px);box-shadow:5px 5px 0 #17201915}
.download:focus-visible{background:#e3e7d7}
.button{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:transform .15s,box-shadow .15s,translate .2s}
.button>span{transition:transform .2s}.button:hover>span{transform:translate(2px,-2px)}
.section-arriving{animation:section-arrival 1s ease}
.terminal{box-shadow:8px 8px 0 #daddcf}
.terminal.fx-reveal.is-visible .terminal-body>*{animation:terminal-line .45s both;animation-delay:calc(var(--terminal-line,0)*.09s + .2s)}
.terminal-success:after{content:"_";margin-left:6px;animation:caret 1.1s steps(2,end) infinite}
.faq summary{transition:color .2s,padding .2s,background .2s}
.faq summary:hover{padding-inline:12px;background:#e7ebde;color:#42612b}
.faq summary>span,.round-log summary>span{transition:transform .25s}
.faq details[open] summary>span,.round-log[open] summary>span{transform:rotate(45deg)}
.faq details[open]>p,.round-log[open]>div{animation:content-in .3s ease}
dialog[open]{animation:dialog-in .25s cubic-bezier(.16,1,.3,1)}
dialog[open]::backdrop{animation:backdrop-in .25s ease}
#pixel-effects{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:80}
.pixel-spark{position:absolute;left:var(--spark-x);top:var(--spark-y);width:var(--spark-size,5px);height:var(--spark-size,5px);background:var(--spark-color,#86b443);animation:pixel-burst .7s cubic-bezier(.2,.7,.3,1) forwards}
[data-page-hidden="true"] *,[data-page-hidden="true"] *:before,[data-page-hidden="true"] *:after{animation-play-state:paused!important}
[data-motion="off"]{scroll-behavior:auto}
[data-motion="off"] *,[data-motion="off"] *:before,[data-motion="off"] *:after{animation:none!important;transition:none!important}
[data-motion="off"] .fx-reveal{opacity:1;transform:none}
[data-motion="off"] .robot-stage{transform:none}
[data-motion="off"] .boot{display:none}
@keyframes title-in{from{transform:translateY(115%) rotate(4deg)}to{transform:translateY(0) rotate(0)}}
@keyframes content-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes stage-scan{to{translate:0 210%}}
@keyframes orbit-one{from{transform:translate(-50%,-50%) rotate(-30deg)}to{transform:translate(-50%,-50%) rotate(330deg)}}
@keyframes orbit-two{from{transform:translate(-50%,-50%) rotate(30deg)}to{transform:translate(-50%,-50%) rotate(-330deg)}}
@keyframes chip-drift{50%{translate:0 -8px}}
@keyframes section-arrival{0%,100%{box-shadow:inset 4px 0 transparent}20%{box-shadow:inset 4px 0 #86b443}}
@keyframes terminal-line{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
@keyframes caret{50%{opacity:0}}
@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes pixel-burst{to{transform:translate(var(--spark-dx),var(--spark-dy)) rotate(90deg);opacity:0}}
@media(max-width:1050px){
 .nav{height:80px}.nav-controls{gap:18px}.nav-links{gap:12px}
 .menu-toggle{display:flex}
 .nav-links{position:absolute;left:0;right:0;top:100%;padding:24px 5vw 30px;display:flex;flex-direction:column;align-items:stretch;background:#f1f2e9;border-bottom:1px solid #172019;box-shadow:0 16px 24px #17201915;max-height:calc(100dvh - 80px);overflow:auto;transition:opacity .2s,transform .2s,visibility .2s}
 .nav-ready .nav-links{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)}
 .nav-ready .menu-open .nav-links{opacity:1;visibility:visible;pointer-events:auto;transform:none}
 .nav-links>a{font-size:19px;padding:12px 0;display:flex;align-items:center;gap:18px}
 .nav-links>a>span{display:inline;font-size:9px;color:#789466}.nav-links>a:after{display:none}
 .nav-links>a[aria-current]{background:#e4edda;padding-left:12px}
 .menu-join{display:flex;width:max-content;margin-top:12px}
 html{scroll-padding-top:100px}
}
@media(max-width:600px){
 .nav{padding-inline:18px;gap:12px;height:75px}.nav-controls{gap:14px}.nav-controls>.button{display:none}
 .nav .brand{font-size:16px;gap:9px}.nav .brand img{width:27px;height:32px}
 .menu-toggle{padding:11px 9px;font-size:8px}.motion-toggle{font-size:7px}
 .nav-links{padding:18px 22px 26px;max-height:calc(100dvh - 75px)}
 .nav-links>a{font-size:17px}.back-top{right:16px;bottom:16px;padding:12px;gap:10px}
 .back-top>span:first-child{display:none}.back-top .scroll-percent{font-size:8px}
 .orbit{width:290px;height:155px}.orbit-two{width:240px;height:240px}
}
@media(hover:none){.button{translate:none}.robot-stage{transform:none}.step:hover .step-icon{transform:none}}
html:not(.nav-ready) .menu-toggle,html:not(.fx-ready) .motion-toggle{display:none}
@media(max-width:1050px){
 html:not(.nav-ready) .nav{position:relative;flex-wrap:wrap;height:auto;padding-block:18px}
 html:not(.nav-ready) .nav-links{position:static;flex-direction:row;flex-basis:100%;order:3;padding:0;box-shadow:none;overflow:auto;border:0}
 html:not(.nav-ready) .nav-links>a{font-size:10px}
 html:not(.nav-ready) .menu-join{display:none}
}
@media(prefers-reduced-motion:reduce){.fx-reveal{opacity:1;transform:none}.robot-stage{transform:none}.pixel-spark{display:none}}
