@import url("./tokens.css");
@import url("./base.css");

    /* ───────────────────────── layout ───────────────────────── */
    .container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
    .section{padding-block:clamp(76px,11vw,156px);position:relative}
    .section-head{max-width:64ch;margin-bottom:clamp(40px,6vw,72px)}
    .eyebrow{
      font-family:var(--font-mono);font-size:12px;font-weight:500;
      letter-spacing:.2em;text-transform:uppercase;color:var(--amber);
      display:inline-flex;align-items:center;gap:11px;
    }
    .eyebrow::before{content:"";width:24px;height:1px;background:var(--grad);box-shadow:0 0 9px var(--glow)}
    .lead{font-size:var(--fs-lead);line-height:1.55;color:var(--muted);max-width:58ch}
    .h2{font-size:var(--fs-h2);line-height:1.03;letter-spacing:-.032em}
    .grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
    .mono{font-family:var(--font-mono)}

    /* ───────────────────────── nav ───────────────────────── */
    .topnav{position:fixed;inset:0 0 auto 0;z-index:100;border-bottom:1px solid transparent;
      transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s var(--ease)}
    .topnav.scrolled{background:color-mix(in oklch,var(--bg) 70%,transparent);
      backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--border)}
    .topnav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:16px}
    .brand{display:inline-flex;align-items:center}
    .brand img{height:30px;width:auto;mix-blend-mode:lighten}
    .navlinks{display:flex;gap:34px}
    .navlinks a{font-size:14.5px;color:var(--muted);transition:color .2s var(--ease);position:relative}
    .navlinks a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--grad);transition:width .25s var(--ease)}
    .navlinks a:hover{color:var(--fg)}
    .navlinks a:hover::after{width:100%}
    .social{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
      border:1px solid var(--border);border-radius:10px;color:var(--muted);
      transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease)}
    .social svg{width:16px;height:16px;fill:currentColor}
    .social:hover{color:var(--fg);border-color:var(--border-2);background:rgba(255,255,255,.03)}
    .social.x:hover{color:var(--amber);border-color:color-mix(in oklch,var(--orange) 40%,transparent);box-shadow:0 0 18px -6px var(--glow)}
    .menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--border);border-radius:10px;place-items:center;background:transparent;transition:border-color .2s var(--ease),background .2s var(--ease)}
    .menu-toggle:hover{border-color:var(--border-2);background:rgba(255,255,255,.03)}
    .menu-bars{position:relative;display:block;width:18px;height:12px}
    .menu-bars i{position:absolute;left:0;width:100%;height:1.5px;border-radius:2px;background:var(--fg);transition:transform .28s var(--ease),opacity .2s var(--ease);transform-origin:center}
    .menu-bars i:nth-child(1){top:0}
    .menu-bars i:nth-child(2){top:50%;margin-top:-.75px}
    .menu-bars i:nth-child(3){bottom:0}
    .topnav.menu-open .menu-bars i:nth-child(1){transform:translateY(5.25px) rotate(45deg)}
    .topnav.menu-open .menu-bars i:nth-child(2){opacity:0}
    .topnav.menu-open .menu-bars i:nth-child(3){transform:translateY(-5.25px) rotate(-45deg)}

    /* ───────────────────────── buttons ───────────────────────── */
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
      padding:13px 24px;border-radius:11px;border:1px solid transparent;
      font-size:14.5px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;will-change:transform;
      transition:transform .18s var(--ease),background .2s var(--ease),border-color .2s var(--ease),box-shadow .3s var(--ease),color .2s var(--ease)}
    .btn-primary{background:var(--grad);color:#0b0c10;box-shadow:0 10px 30px -12px var(--glow)}
    .btn-primary:hover{box-shadow:0 0 30px -4px var(--glow),0 12px 34px -10px var(--glow)}
    .btn-primary:active{transform:scale(.985)}
    .btn-secondary{border-color:var(--border-2);color:var(--fg)}
    .btn-secondary:hover{border-color:var(--fg);background:rgba(255,255,255,.03)}
    .btn .arr{transition:transform .2s var(--ease)}
    .btn:hover .arr{transform:translateX(3px)}
    .magnetic{will-change:transform}

    /* ───────────────────────── hero ───────────────────────── */
    .hero{position:relative;min-height:100svh;display:flex;align-items:center;
      padding-top:120px;padding-bottom:72px;overflow:hidden}
    .hero-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;
      mask-image:radial-gradient(ellipse 95% 80% at 60% 42%,#000 0%,transparent 80%);
      -webkit-mask-image:radial-gradient(ellipse 95% 80% at 60% 42%,#000 0%,transparent 80%)}
    .hero-bloom{position:absolute;z-index:0;left:62%;top:34%;width:880px;height:760px;
      transform:translate(-50%,-50%);pointer-events:none;
      background:radial-gradient(circle,var(--glow) 0%,transparent 62%);filter:blur(20px);
      opacity:.5;animation:bloom 10s ease-in-out infinite}
    @keyframes bloom{0%,100%{opacity:.4;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.07)}}
    .hero-inner{position:relative;z-index:2;width:100%}
    .hero-eyebrow{margin-bottom:30px}
    .hero h1{font-size:var(--fs-display);line-height:.97;letter-spacing:-.045em;max-width:17ch;margin-bottom:30px;font-weight:600}
    .hero .lead{max-width:52ch;margin-bottom:40px}
    .hero-cta{display:inline-flex;gap:14px;flex-wrap:wrap}

    /* status ticker under hero */
    .ticker{margin-top:clamp(48px,7vw,88px);border-top:1px solid var(--border);padding-top:22px;
      display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center}
    .ticker .label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
    .ticker .item{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:13px;color:var(--muted)}
    .ticker .item b{color:var(--fg);font-weight:500}
    .pulse{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 var(--glow);animation:pulse 2.6s ease-in-out infinite}
    @keyframes pulse{0%{box-shadow:0 0 0 0 var(--glow)}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}

    /* kinetic headline */
    .kline{display:block;overflow:hidden}
    .kline>span{display:block;transform:translateY(106%);will-change:transform}
    .reveal-on .kline>span{animation:lineUp .9s var(--ease) forwards}
    .reveal-on .kline:nth-child(1)>span{animation-delay:.05s}
    .reveal-on .kline:nth-child(2)>span{animation-delay:.16s}
    .reveal-on .kline:nth-child(3)>span{animation-delay:.27s}
    @keyframes lineUp{to{transform:translateY(0)}}

    /* fade-up reveals */
    .fx{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
    .fx.in{opacity:1;transform:none}
    .fx[data-d="1"]{transition-delay:.08s}
    .fx[data-d="2"]{transition-delay:.16s}
    .fx[data-d="3"]{transition-delay:.24s}
    .fx[data-d="4"]{transition-delay:.32s}

    /* ───────────────────────── thesis ───────────────────────── */
    .thesis{position:relative;overflow:clip;border-block:1px solid var(--border);
      min-height:100svh;display:flex;align-items:center;
      background:radial-gradient(120% 130% at 50% 8%,var(--glow-soft) 0%,transparent 52%)}
    .thesis-inner{position:relative;z-index:2}
    /* candidate field — many bets, condensing to a few winners */
    .thesis-field{position:absolute;inset:0;z-index:1;pointer-events:none;
      display:grid;place-content:center;gap:clamp(26px,4vw,52px);
      grid-auto-flow:row;
      mask-image:radial-gradient(115% 95% at 50% 50%,#000 30%,transparent 82%);
      -webkit-mask-image:radial-gradient(115% 95% at 50% 50%,#000 30%,transparent 82%)}
    .thesis-field .frow{display:grid;grid-auto-flow:column;gap:clamp(26px,4vw,52px)}
    .tnode{position:relative;width:9px;height:9px;border-radius:2px;border:1px solid var(--border-2);
      background:rgba(255,255,255,.02);opacity:.5;will-change:transform,opacity}
    .tnode.win{border:0;background:var(--grad);border-radius:50%;
      box-shadow:0 0 0 1px color-mix(in oklch,var(--orange) 50%,transparent),0 0 18px -2px var(--glow)}
    .tnode .ring{position:absolute;left:50%;top:50%;width:46px;height:46px;
      margin:-23px 0 0 -23px;border-radius:50%;border:1px solid var(--glow);
      opacity:0;will-change:transform,opacity}
    .tnode .ring.r2{width:74px;height:74px;margin:-37px 0 0 -37px;
      border-color:color-mix(in oklch,var(--coral) 36%,transparent)}

    .thesis-eyebrow{margin-bottom:clamp(28px,4vw,44px)}
    .thesis-lines{font-family:var(--font-display);font-weight:500;
      font-size:clamp(28px,5vw,62px);line-height:1.12;letter-spacing:-.03em;
      max-width:18ch;color:var(--fg)}
    .tline{display:block;overflow:clip;padding-block:.04em}
    .tline .tl-in{display:block}
    .tline em{font-style:normal;font-weight:700}
    .thesis-note{position:relative;margin-top:clamp(34px,5vw,46px);max-width:48ch;
      color:var(--muted);font-family:var(--font-body);font-size:clamp(15px,1.4vw,17px);
      opacity:0;transform:translateY(14px);transition:opacity .7s var(--ease) .15s,transform .7s var(--ease) .15s}
    .thesis-note.in{opacity:1;transform:none}

    /* ───────────────────────── products ───────────────────────── */
    .grid-products{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
    .pcard{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);
      background:linear-gradient(180deg,var(--surface),var(--bg-2));overflow:hidden;
      transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .45s var(--ease);
      transform-style:preserve-3d;will-change:transform;min-height:380px;display:flex;flex-direction:column}
    .pcard::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
      background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
      -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s var(--ease);pointer-events:none}
    .pcard::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
      transition:opacity .35s var(--ease);
      background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),var(--glow-soft),transparent 60%)}
    .pcard:hover{border-color:transparent;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
    .pcard:hover::before,.pcard:hover::after{opacity:1}
    .pcard-viz{height:168px;position:relative;border-bottom:1px solid var(--border);overflow:hidden;background:var(--bg-2)}
    .pcard-body{padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}
    .pcard-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--amber);margin-bottom:14px}
    .pcard h3{font-size:26px;letter-spacing:-.02em;margin-bottom:6px}
    .pcard .tagline{color:var(--fg);font-weight:500;margin-bottom:12px}
    .pcard .teaser{color:var(--muted);font-size:14.5px;line-height:1.6;margin-bottom:20px}
    .pcard-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
    .chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;padding:6px 11px;border-radius:999px;
      border:1px solid var(--border-2);color:var(--muted);display:inline-flex;align-items:center;gap:7px}
    .chip .dot{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 8px var(--glow)}
    .pcard .more{font-family:var(--font-mono);font-size:12px;color:var(--faint);display:inline-flex;gap:7px;align-items:center;
      transition:color .2s var(--ease)}
    .pcard:hover .more{color:var(--amber)}

    /* stealth card */
    .pcard.stealth{background:transparent;border-style:dashed;border-color:var(--border-2);justify-content:center;align-items:flex-start;min-height:0}
    .pcard.stealth .pcard-body{justify-content:center;gap:10px}
    .pcard.stealth h3{color:var(--muted)}
    .pcard.stealth:hover{border-color:var(--amber);box-shadow:none}
    .pcard.stealth::before{display:none}

    /* product viz primitives (pure CSS/SVG, abstract) */
    .viz-grid{position:absolute;inset:0;background-image:
      linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
      background-size:26px 26px;opacity:.5}
    .viz-bars{position:absolute;inset:auto 0 0 0;height:100%;display:flex;align-items:flex-end;gap:8px;padding:18px 22px}
    .viz-bars i{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--orange),color-mix(in oklch,var(--orange) 20%,transparent));opacity:.85}
    .viz-line{position:absolute;inset:0}
    .viz-canvas{position:absolute;inset:0;width:100%;height:100%}
    .viz-nodes circle{fill:var(--bg-2);stroke:var(--orange);stroke-width:1.5}
    .viz-nodes line{stroke:var(--border-2)}
    .viz-rows{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:0 22px}
    .viz-rows i{height:9px;border-radius:4px;background:var(--surface-3)}
    .viz-rows i.a{width:62%;background:var(--grad)}
    .viz-rows i.b{width:84%}
    .viz-rows i.c{width:46%}

    /* ───────────────────────── studio engine (scroll-pinned pipeline) ─── */
    .engine{background:radial-gradient(110% 90% at 0% 0%,var(--glow-soft),transparent 42%)}
    .engine .section-head{margin-bottom:0}
    .pin-wrap{position:relative;height:360vh}
    .pin-sticky{position:sticky;top:0;height:100dvh;display:flex;align-items:center;overflow:hidden}
    .engine-grid{display:grid;grid-template-columns:0.94fr 1.06fr;gap:clamp(28px,5vw,72px);align-items:center;width:100%}

    .engine-panel{position:relative;min-height:380px}
    .ep-eyebrow{margin-bottom:24px}
    .ep-swap{will-change:transform,opacity}
    .ep-idx{font-family:var(--font-mono);font-size:13px;color:var(--amber);letter-spacing:.18em;margin:0 0 14px}
    .ep-title{font-family:var(--font-display);font-size:clamp(34px,4.8vw,62px);line-height:.98;letter-spacing:-.035em;margin:0 0 20px}
    .ep-lead{font-family:var(--font-display);font-size:clamp(18px,1.7vw,22px);font-weight:500;letter-spacing:-.02em;color:var(--fg);margin:0 0 16px;line-height:1.25;min-height:1.25em}
    .ep-desc{color:var(--muted);font-size:var(--fs-lead);line-height:1.6;max-width:42ch;margin:0 0 26px;min-height:4.8em}
    .ep-caps{display:flex;flex-wrap:wrap;gap:9px;min-height:72px;align-content:flex-start}
    .ep-cap{font-family:var(--font-mono);font-size:12px;letter-spacing:.01em;color:var(--muted);padding:8px 13px;border:1px solid var(--border);border-radius:999px;background:var(--bg-2);display:inline-flex;align-items:center;gap:8px;transition:color .4s var(--ease),border-color .4s var(--ease)}
    .ep-cap::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--grad);box-shadow:0 0 8px var(--glow);flex:none}
    .ep-fade .ep-cap{animation:capIn .5s var(--ease) both}
    @keyframes capIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
    .ep-fade{animation:epIn .5s var(--ease)}
    @keyframes epIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
    .ep-rail{display:flex;gap:8px;margin-top:36px}
    .ep-rail i{height:3px;flex:1;border-radius:3px;background:var(--surface-2);position:relative;overflow:hidden;font-style:normal}
    .ep-rail i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--f,0%);background:var(--grad);border-radius:3px}

    .engine-viz{position:relative;display:flex;justify-content:center;align-items:center}
    .engine-viz svg{width:100%;max-width:520px;height:auto;overflow:visible}
    .pipe-base{fill:none;stroke:var(--border);stroke-width:2}
    .pipe-draw{fill:none;stroke:url(#pipeGrad);stroke-width:3;stroke-linecap:round;filter:drop-shadow(0 0 7px var(--glow))}
    #pipeGrad .s0{stop-color:var(--amber)}
    #pipeGrad .s1{stop-color:var(--orange)}
    #pipeGrad .s2{stop-color:var(--coral)}
    .pnode .ring{fill:var(--bg-2);stroke:var(--border);stroke-width:2;transition:stroke .45s var(--ease)}
    .pnode .core{fill:var(--faint);transition:fill .45s var(--ease)}
    .pnode .nm{fill:var(--muted);font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.02em;transition:fill .45s var(--ease)}
    .pnode .ix{fill:var(--faint);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;transition:fill .45s var(--ease)}
    .pnode.on .ring{stroke:var(--orange)}
    .pnode.on .core{fill:var(--amber)}
    .pnode.on .nm{fill:var(--fg)}
    .pnode.on .ix{fill:var(--amber)}
    .pnode.cur .ring{stroke:var(--orange);filter:drop-shadow(0 0 9px var(--glow))}
    .token-halo{fill:var(--glow);opacity:.55}
    .token{fill:#fff;filter:drop-shadow(0 0 11px var(--orange))}

    /* mobile / reduced-motion stacked fallback */
    .engine-stack{display:none;flex-direction:column;gap:0;margin-top:40px;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}
    .es-card{padding:clamp(22px,4vw,30px);border-top:1px solid var(--border);display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
    .es-card:first-child{border-top:0}
    .es-node{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:4px}
    .es-dot{width:14px;height:14px;border-radius:50%;background:var(--grad);box-shadow:0 0 10px var(--glow)}
    .es-line{width:2px;flex:1;min-height:30px;background:var(--border)}
    .es-card .ep-idx{margin-bottom:8px}
    .es-card h3{font-family:var(--font-display);font-size:24px;letter-spacing:-.025em;margin:0 0 8px;line-height:1.05}
    .es-card .es-lead{font-family:var(--font-display);font-size:16px;font-weight:500;letter-spacing:-.02em;color:var(--fg);margin:0 0 10px;line-height:1.25}
    .es-card .es-desc{color:var(--muted);margin:0 0 16px;font-size:15.5px}

    /* ───────────────────────── principles ───────────────────────── */
    .principles{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
    .principle{background:var(--bg);padding:clamp(28px,3.4vw,42px);transition:background .3s var(--ease)}
    .principle:hover{background:var(--surface)}
    .principle .pi{font-family:var(--font-mono);font-size:12px;color:var(--amber);margin-bottom:16px}
    .principle h3{font-family:var(--font-display);font-size:21px;font-weight:600;letter-spacing:-.02em;margin-bottom:9px}
    .principle p{color:var(--muted);font-size:15px;line-height:1.6;max-width:42ch}

    /* ───────────────────────── build with us / CTA ───────────────────────── */
    .cta{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);
      background:linear-gradient(180deg,var(--surface),var(--bg-2));padding:clamp(44px,7vw,96px) clamp(28px,5vw,72px);text-align:center}
    .cta::before{content:"";position:absolute;left:50%;top:-20%;width:760px;height:560px;transform:translateX(-50%);
      background:radial-gradient(circle,var(--glow) 0%,transparent 60%);filter:blur(24px);opacity:.5;pointer-events:none}
    .cta-inner{position:relative;z-index:1;max-width:680px;margin-inline:auto}
    .cta h2{font-size:clamp(34px,5.4vw,68px);line-height:1.02;letter-spacing:-.035em;margin-bottom:20px}
    .cta p{color:var(--muted);font-size:var(--fs-lead);max-width:48ch;margin:0 auto 34px}
    .waitlist{display:flex;gap:10px;max-width:460px;margin:0 auto 16px;flex-wrap:wrap}
    .waitlist input{flex:1;min-width:200px;padding:14px 16px;border-radius:11px;border:1px solid var(--border-2);
      background:var(--bg-2);color:var(--fg);font:inherit;font-size:15px}
    .waitlist input::placeholder{color:var(--faint)}
    .waitlist input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px var(--glow-soft)}
    .waitlist .msg{font-family:var(--font-mono);font-size:12.5px;min-height:18px;color:var(--amber)}
    .cta-alt{display:inline-flex;gap:26px;flex-wrap:wrap;justify-content:center;margin-top:8px}
    .cta-alt a{font-size:14.5px;color:var(--muted);display:inline-flex;gap:7px;align-items:center;transition:color .2s var(--ease)}
    .cta-alt a:hover{color:var(--fg)}

    /* ───────────────────────── footer ───────────────────────── */
    .footer{border-top:1px solid var(--border);padding-block:56px 36px}
    .footer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:44px}
    .footer-brand img{height:34px;width:auto;mix-blend-mode:lighten;margin-bottom:16px}
    .footer-brand p{color:var(--muted);font-size:14.5px;max-width:34ch;margin:0}
    .footer-social{display:flex;gap:8px}
    .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
      border-top:1px solid var(--border);padding-top:24px}
    .footer-bottom .copy{font-family:var(--font-mono);font-size:12px;color:var(--faint);letter-spacing:.02em}

    /* ───────────────────────── responsive ───────────────────────── */
    @media(max-width:1100px){
      .engine-grid{gap:34px}
      .engine-viz svg{max-width:440px}
    }
    /* collapse the pinned pipeline to a static stack on small / touch screens */
    @media(max-width:900px),(pointer:coarse){
      .pin-wrap{height:auto!important}
      .pin-sticky{position:static;height:auto;display:block;overflow:visible}
      .engine-grid{display:none}
      .engine-stack{display:flex}
    }
    @media(max-width:820px){
      .menu-toggle{display:grid}
      .navlinks{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
        padding:6px var(--gutter) 14px;
        background:color-mix(in oklch,var(--bg) 88%,transparent);
        backdrop-filter:blur(18px) saturate(140%);
        border-bottom:1px solid var(--border);
        opacity:0;transform:translateY(-10px);pointer-events:none;visibility:hidden;
        transition:opacity .26s var(--ease),transform .26s var(--ease),visibility 0s linear .26s}
      .topnav.menu-open .navlinks{opacity:1;transform:none;pointer-events:auto;visibility:visible;
        transition:opacity .26s var(--ease),transform .26s var(--ease),visibility 0s}
      .navlinks a{font-size:16px;padding:14px 2px;border-top:1px solid var(--border);width:100%}
      .navlinks a:first-child{border-top:0}
      .navlinks a::after{display:none}
    }
    @media(max-width:680px){
      .grid-products{grid-template-columns:1fr}
      .principles{grid-template-columns:1fr}
      .ticker{gap:12px 22px}
    }

    /* ───────────────────────── reduced motion ───────────────────────── */
    @media(prefers-reduced-motion:reduce){
      *,*::before,*::after{animation:none!important;transition:none!important}
      .kline>span{transform:none!important}
      .fx{opacity:1!important;transform:none!important}
      .thesis-field{display:none!important}
      .tline .tl-in{transform:none!important;opacity:1!important}
      .thesis-note{opacity:1!important;transform:none!important}
      html{scroll-behavior:auto}
      .pin-wrap{height:auto!important}
      .pin-sticky{position:static;height:auto;display:block;overflow:visible}
      .engine-grid{display:none}
      .engine-stack{display:flex}
    }
