/* Scroll, motion and the animated menu bar panel. Everything here is disabled under Reduce Motion. */
.scroll-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:30;transform-origin:0 50%;transform:scaleX(var(--progress,0));background:linear-gradient(90deg,var(--green),var(--blue),var(--pink),var(--amber));pointer-events:none}
.site-header{transition:box-shadow .3s var(--ease),background .3s}
.site-header.is-scrolled{box-shadow:0 10px 30px #17171a14}
.nav-links a{position:relative;transition:color .2s}
.nav-links a:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:2px;background:var(--ink);transform:scaleX(0);transition:transform .35s var(--ease)}
.nav-links a.is-current{color:var(--ink)}.nav-links a.is-current:after{transform:scaleX(1)}

/* Parallax: the JS sets --py per element; the hero keeps its tilt. */
.js-motion .hero-orbit .orbit-card{translate:0 var(--py,0px);will-change:translate}
.js-motion .hero-orbit .orbit-note{translate:0 calc(var(--py,0px) * -.6)}
.hero-orbit .orbit-card{animation:float 7s ease-in-out infinite}
.hero-orbit .orbit-card.pink{animation-delay:-2.3s}.hero-orbit .orbit-card.blue{animation-delay:-4.6s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Staggered children */
.js-motion .stagger>*{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
.js-motion .stagger.is-visible>*{opacity:1;transform:none}
.js-motion .feature-list li{opacity:0;transform:translateX(-10px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i,0) * 70ms + .15s)}
.js-motion .is-visible .feature-list li,.js-motion .feature-list.is-visible li{opacity:1;transform:none}

/* Card tilt on hover */
.tilt{transition:transform .25s var(--ease),box-shadow .25s;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.tilt:hover{box-shadow:var(--shadow)}

/* Storage bar grows when it scrolls into view */
.js-motion .storage-track i{transform-origin:0 50%;transform:scaleX(0);transition:transform .9s var(--ease);transition-delay:calc(var(--i,0) * 110ms + .2s)}
.js-motion .is-visible .storage-track i{transform:none}

/* Activity wave keeps breathing after it draws */
.is-visible .activity-wave path:not(.wave-secondary){animation:draw-line 1.6s var(--ease) both,pulse-line 4s ease-in-out 1.8s infinite}
@keyframes pulse-line{50%{stroke-width:4}}

/* Menu bar section */
.menubar-section{grid-template-columns:1fr 1fr}
.mb-stage{position:relative;display:grid;place-items:center;padding:34px;border-radius:var(--radius);background:linear-gradient(160deg,#4c9ef533,#c7b7f033 55%,#f5b9e733);overflow:hidden}
.mb-stage:before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:var(--pink);opacity:.35;filter:blur(70px);top:-90px;right:-60px;animation:drift 9s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(-50px,70px)}}
.mb-panel{position:relative;width:min(390px,100%);border-radius:22px;background:#141417;color:#f5f5f7;padding:14px;box-shadow:0 30px 70px #17171a55;font-size:13px;-webkit-font-smoothing:antialiased}
.mb-tabs{display:flex;gap:3px;padding:4px;border-radius:16px;background:#1e1f24}
.mb-tab{flex:1;height:30px;border-radius:12px;display:grid;place-items:center;color:#9a9aa3;font-size:14px;transition:background .35s var(--ease),color .35s,transform .35s var(--ease)}
.mb-tab.is-on{color:#17171a;transform:scale(1.04)}
.mb-tab[data-page=overview].is-on{background:#f5f5f7}.mb-tab[data-page=cpu].is-on{background:#e29fd0}.mb-tab[data-page=memory].is-on{background:#ae9be0}.mb-tab[data-page=storage].is-on{background:#3e8fe0}
.mb-body{position:relative;margin-top:10px;min-height:338px}
.mb-page{position:absolute;inset:0;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.mb-page.is-on{opacity:1;transform:none;pointer-events:auto}
.mb-card{background:#1e1f24;border-radius:16px;padding:12px 14px;margin-bottom:8px}
.mb-insight{display:flex;gap:10px;align-items:center;justify-content:space-between;background:#e0b43e;color:#17171a;border-radius:16px;padding:10px 14px;margin-bottom:8px;font-weight:600;font-size:12px}
.mb-insight b{white-space:nowrap}
.mb-row{display:flex;align-items:center;gap:10px;padding:5px 0}
.mb-dot{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#17171a;font-size:12px;flex:none}
.mb-name{flex:1;line-height:1.2}.mb-name small{display:block;color:#9a9aa3;font-size:10px}
.mb-bar{width:56px;height:5px;border-radius:5px;background:#26272e;overflow:hidden;flex:none}
.mb-bar i{display:block;height:100%;width:var(--w);border-radius:5px;background:var(--c);transform-origin:0 50%;transform:scaleX(0);transition:transform .8s var(--ease) .15s}
.mb-page.is-on .mb-bar i{transform:none}
.mb-val{font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;min-width:62px;text-align:right}
.mb-big{font-size:38px;font-weight:800;letter-spacing:-.04em;line-height:1}.mb-big small{font-size:14px;color:#9a9aa3;font-weight:600;margin-left:4px}
.mb-sub{color:#9a9aa3;font-size:11px;margin:4px 0 10px}
.mb-spark{width:100%;height:56px;margin-top:6px}.mb-spark path{fill:none;stroke:var(--c);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:600;stroke-dashoffset:600}.mb-page.is-on .mb-spark path{animation:draw-line2 1.4s var(--ease) .1s forwards}
@keyframes draw-line2{to{stroke-dashoffset:0}}
.mb-x{width:14px;text-align:center;color:#9a9aa3;font-size:12px;flex:none}
.mb-row:hover .mb-x{color:#f5f5f7}
.mb-foot{display:flex;align-items:center;gap:12px;margin-top:10px}
.mb-open{flex:1;text-align:center;padding:9px;border-radius:999px;background:#f5f5f7;color:#17171a;font-weight:700;font-size:12px}
.mb-foot span{color:#9a9aa3}
.mb-caption{position:relative;margin:16px 0 0;font-size:12px;color:var(--muted);text-align:center}

@media(max-width:1000px){.menubar-section{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.hero-orbit .orbit-card,.mb-stage:before{animation:none!important}.js-motion .stagger>*,.js-motion .feature-list li,.js-motion .storage-track i{opacity:1!important;transform:none!important}.tilt{transform:none!important}.mb-page{transition:none}.mb-bar i,.mb-spark path{transform:none!important;stroke-dashoffset:0!important;animation:none!important}}
.green-text{color:#4d8a1f}:root[data-theme=dark] .green-text{color:#9bdd5a}
.feature-index{grid-template-columns:repeat(7,1fr)}
@media(max-width:760px){.feature-index{grid-template-columns:repeat(3,1fr)}}
.mb-tab{border:0;background:transparent;padding:0;font-family:inherit}
.mb-tab:not(.is-on){background:transparent}
.mb-foot .mb-open{color:#17171a}

/* Video section */
.video-section{padding-block:70px 40px}
.video-frame{margin:0;border-radius:32px;overflow:hidden;background:#000;box-shadow:0 40px 100px #0008,0 0 0 1px #ffffff1a;position:relative}
.video-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000}
.video-frame figcaption{padding:14px 22px;font-size:13px;color:var(--muted);background:var(--surface);text-align:center}
@media(max-width:760px){.video-frame{border-radius:22px}.video-section{padding-block:50px 20px}}
