/* ZNO AI — shared 2026 design system */
:root{
      --bg:#0a0a0c; --bg-2:#0f0e11; --card:#151318; --card-2:#1c1922;
      --text:#f4f1ea; --muted:#b3ad9f; --faint:#8f897c;
      --gold:#d9b56a; --gold-bright:#f0d18a; --gold-soft:rgba(217,181,106,.12); --gold-glow:rgba(217,181,106,.35);
      --blue:#3fb6f0; --blue-bright:#7dd3ff; --blue-soft:rgba(63,182,240,.12);
      --border:rgba(255,255,255,.08); --border-2:rgba(217,181,106,.24); --border-blue:rgba(63,182,240,.28);
      --glass:linear-gradient(165deg,rgba(28,25,34,.72),rgba(15,14,17,.5));
      --sans:'IBM Plex Sans',system-ui,sans-serif; --mono:'IBM Plex Mono',monospace;
      --maxw:1240px;
    }
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{scroll-behavior:smooth;}
    body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
    a{color:inherit;text-decoration:none;}
    ::selection{background:var(--blue);color:#0a0a0c;}
    .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
    h1,h2,h3{font-family:var(--sans);font-weight:700;line-height:1.05;letter-spacing:-.02em;}
    .eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:8px;}
    .eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 12px var(--blue);}
    .grad{background:linear-gradient(100deg,var(--gold-bright),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;}
    .blue{color:var(--blue-bright);}

    /* faint tech grid + glow backdrop */
    body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
      background:
        radial-gradient(900px 600px at 78% 8%, rgba(63,182,240,.10), transparent 60%),
        radial-gradient(760px 520px at 8% 42%, rgba(217,181,106,.07), transparent 60%),
        linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px) 0 0/54px 54px,
        linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px) 0 0/54px 54px;}
    main,header,footer{position:relative;z-index:1;}

    /* ── Nav ── */
    header{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:16px 34px;transition:background .3s,border-color .3s;border-bottom:1px solid transparent;}
    header.scrolled{background:rgba(10,10,12,.82);backdrop-filter:blur(14px);border-color:var(--border);}
    .logo{display:flex;align-items:center;gap:11px;font-weight:700;font-size:1.15rem;}
    .logo img{height:38px;width:auto;display:block;}
    .logo b{color:var(--gold-bright);}
    nav.links{display:flex;align-items:center;gap:6px;font-size:1.1rem;font-weight:500;color:var(--muted);padding:7px 14px;background:rgba(255,255,255,.05);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(255,255,255,.10);border-radius:999px;box-shadow:0 8px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.07);}
    nav.links a{position:relative;padding:9px 26px;border-radius:999px;transition:color .22s ease,background .25s ease,box-shadow .25s ease;}
    nav.links a:hover{color:var(--gold-bright);background:rgba(255,255,255,.08);box-shadow:0 2px 14px rgba(217,181,106,.14);}
    nav.links a.active{color:var(--gold-bright);background:rgba(217,181,106,.15);}
    .btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem;padding:12px 24px;border-radius:999px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s,color .2s;cursor:pointer;}
    .btn-primary{background:var(--gold);color:#0a0a0c;box-shadow:0 8px 30px var(--gold-glow);}
    .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 40px var(--gold-glow);background:var(--gold-bright);}
    .btn-ghost{border:1px solid var(--border-2);color:var(--text);}
    .btn-ghost:hover{border-color:var(--gold-bright);color:var(--gold-bright);}
    .nav-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:14px 10px;}
    .nav-burger span{width:24px;height:2px;background:var(--text);border-radius:2px;}
    .mobile-menu{position:fixed;inset:0;z-index:39;background:rgba(10,10,12,.97);backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;}
    .mobile-menu.open{opacity:1;visibility:visible;}
    .mobile-menu a{font-size:1.55rem;font-weight:600;}
    .mobile-menu a:hover{color:var(--gold-bright);}
    @media(max-width:1160px){nav.links{display:none;}header .btn-primary{display:none;}.nav-burger{display:flex;}}
    @media(max-width:900px){header{padding:14px 20px;}.lang-switch{padding:11px 14px;}}

    /* ── Hero ── */
    .hero{position:relative;padding:150px 0 70px;}
    .hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center;}
    .hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);margin:20px 0 0;max-width:14ch;}
    .hero .sub{margin-top:22px;max-width:46ch;font-size:1.1rem;color:var(--muted);}
    .hero .cta-row{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap;}
    .stat-row{margin-top:40px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:520px;}
    .stat{background:var(--glass);border:1px solid var(--border);border-radius:16px;padding:18px 16px;backdrop-filter:blur(10px);}
    .stat b{display:block;font-size:1.5rem;font-weight:700;color:var(--gold-bright);line-height:1;}
    .stat span{display:block;margin-top:7px;font-size:.74rem;color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;}
    .hero-visual{position:relative;height:460px;transform:translateX(44px);}
    #globe{position:absolute;inset:0;width:100%;height:100%;}
    @media(max-width:920px){
      .hero .wrap{grid-template-columns:1fr;}
      .hero-visual{height:340px;order:-1;transform:none;}
      .stat-row{max-width:none;}
    }

    /* section scaffolding */
    section.blk{position:relative;padding:100px 0;}
    .head-center{text-align:center;max-width:720px;margin:0 auto 56px;}
    .head-center h2{font-size:clamp(2rem,4.6vw,3.2rem);margin-top:16px;}
    .head-center p{margin-top:16px;color:var(--muted);font-size:1.05rem;}
    .sec-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-2),transparent);}

    /* ── Process timeline (connected) ── */
    .flow{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:12px;}
    .flow::before{content:'';position:absolute;top:38px;left:9%;right:9%;height:2px;background:repeating-linear-gradient(90deg,var(--border-blue) 0 10px,transparent 10px 22px);z-index:0;}
    .step{position:relative;z-index:1;text-align:center;}
    .step .node{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;
      background:radial-gradient(circle at 50% 35%,var(--card-2),var(--bg-2));border:1px solid var(--border-blue);color:var(--blue-bright);
      box-shadow:0 0 0 6px rgba(10,10,12,.9),0 0 34px rgba(63,182,240,.18);}
    .step:nth-child(even) .node{color:var(--blue-bright);border-color:var(--border-blue);box-shadow:0 0 0 6px rgba(10,10,12,.9),0 0 34px rgba(63,182,240,.18);}
    .step .k{font-family:var(--mono);font-size:.72rem;color:var(--faint);letter-spacing:.14em;}
    .step h3{font-size:1.2rem;font-weight:600;margin:8px 0 8px;}
    .step p{font-size:.9rem;color:var(--muted);max-width:24ch;margin:0 auto;}
    @media(max-width:860px){.flow{grid-template-columns:repeat(2,1fr);gap:36px 24px;}.flow::before{display:none;}}

    /* ── Services grid (glass cards) ── */
    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
    .scard{position:relative;display:flex;flex-direction:column;background:var(--glass);border:1px solid var(--border);border-radius:20px;padding:32px 28px;backdrop-filter:blur(10px);overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s;}
    .scard::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .5s;}
    .scard:hover{transform:translateY(-6px);border-color:var(--border-blue);box-shadow:0 30px 60px rgba(0,0,0,.4),0 0 40px rgba(63,182,240,.06);}
    .scard:hover::before{transform:scaleX(1);}
    .scard .num{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;color:var(--gold);margin-bottom:20px;}
    .scard .ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-size:1.7rem;margin-bottom:20px;background:var(--blue-soft);border:1px solid var(--border-blue);color:var(--blue-bright);}
    .scard h3{font-size:1.32rem;font-weight:600;margin-bottom:10px;}
    .scard p{font-size:.94rem;color:var(--muted);flex:1;margin-bottom:18px;}
    .tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px;}
    .tag{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.04);border:1px solid var(--border);padding:5px 10px;border-radius:6px;}
    .scard .go{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-bright);display:inline-flex;gap:8px;transition:gap .3s;}
    .scard:hover .go{gap:14px;}
    @media(max-width:960px){.grid{grid-template-columns:repeat(2,1fr);}}
    @media(max-width:620px){.grid{grid-template-columns:1fr;}}

    /* ── Why band ── */
    .why{background:linear-gradient(180deg,rgba(63,182,240,.05),rgba(217,181,106,.04));border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:12px;}
    .why-item{padding:28px;border-radius:18px;border:1px solid var(--border);background:var(--glass);}
    .why-item .ic{font-size:1.6rem;color:var(--gold-bright);margin-bottom:14px;}
    .why-item h3{font-size:1.2rem;font-weight:600;margin-bottom:8px;}
    .why-item p{font-size:.94rem;color:var(--muted);}
    @media(max-width:860px){.why-grid{grid-template-columns:1fr;}}

    /* ── CTA ── */
    .cta{position:relative;text-align:center;padding:120px 0;overflow:hidden;}
    .cta::before{content:'';position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 30%,rgba(63,182,240,.12),transparent 70%);pointer-events:none;}
    .cta h2{font-size:clamp(2.2rem,5.5vw,3.8rem);}
    .cta p{margin:18px auto 0;max-width:52ch;color:var(--muted);}
    .cta .cta-row{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
    .cta .whatsapp{font-family:var(--mono);font-size:.82rem;color:var(--muted);margin-top:20px;}
    .cta .whatsapp a{color:var(--blue-bright);}

    /* ── Footer ── */
    footer{border-top:1px solid var(--border);padding:56px 0 40px;background:var(--bg);}
    footer .foot{display:flex;flex-wrap:wrap;gap:48px 64px;align-items:flex-start;padding-bottom:30px;border-bottom:1px solid var(--border);}
    footer .foot-brand{flex:1 1 300px;max-width:380px;}
    footer .foot-brand .logo{margin-bottom:14px;}
    footer .foot-brand p{color:#c7c2b6;font-size:.98rem;margin-bottom:8px;}
    footer .foot-brand .motto{font-family:var(--mono);color:var(--gold);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;}
    footer .foot-links{display:flex;flex-direction:column;gap:12px;}
    footer .foot-links a{color:var(--muted);font-size:.92rem;}
    footer .foot-links a:hover{color:var(--gold-bright);}
    footer .foot-cols{flex:2 1 460px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;}
    footer .foot-col{display:flex;flex-direction:column;gap:11px;}
    footer .foot-col h4{font-family:var(--mono);font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:5px;}
    footer .foot-col a{color:#e2ddd1;font-size:1.02rem;transition:color .2s;}
    footer .foot-col a:hover{color:var(--gold-bright);}
    @media(max-width:600px){footer .foot{gap:32px;}footer .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px;}footer .foot-social a{width:44px;height:44px;}footer .foot-col a{padding:7px 0;}}
    footer .foot-bottom{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding-top:22px;color:var(--muted);font-size:.9rem;}
    footer .foot-legal a{color:var(--muted);border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
    footer .foot-legal a:hover{color:var(--gold-bright);border-bottom-color:var(--gold-bright);}
    footer .foot-social{display:flex;gap:11px;margin-top:20px;}
    footer .foot-social a{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--muted);background:rgba(255,255,255,.04);border:1px solid var(--border);transition:color .2s,border-color .2s,background .2s,transform .2s;}
    footer .foot-social a:hover{color:#0a0a0c;background:var(--gold);border-color:var(--gold);transform:translateY(-2px);}
    footer .foot-social svg{width:18px;height:18px;fill:currentColor;}
    /* header right-side controls, grouped next to the nav */
    #site-header .nav-actions{display:flex;align-items:center;gap:12px;}
    #site-header .nav-actions .lang-switch{order:-1;}
    /* designed language toggle — gold glass pill with a globe glyph */
    .lang-switch{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.1em;color:var(--gold-bright);background:linear-gradient(180deg,rgba(217,181,106,.16),rgba(217,181,106,.06));border:1px solid var(--border-2);border-radius:999px;padding:8px 14px;transition:transform .25s,box-shadow .25s,background .25s,color .2s,border-color .2s;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
    .lang-switch::before{content:"";width:13px;height:13px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.2'/%3E%3Cline x1='2.8' y1='12' x2='21.2' y2='12'/%3E%3Cellipse cx='12' cy='12' rx='4.2' ry='9.2'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9.2'/%3E%3Cline x1='2.8' y1='12' x2='21.2' y2='12'/%3E%3Cellipse cx='12' cy='12' rx='4.2' ry='9.2'/%3E%3C/svg%3E") center/contain no-repeat;}
    .lang-switch:hover{color:#0a0a0c;background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold);box-shadow:0 8px 24px var(--gold-glow);transform:translateY(-1px);}
    /* custom cursor — soft glow + trailing ring + precise dot (created by zno.js) */
    html.zc, html.zc *{cursor:none;}
    .cursor-glow{position:fixed;top:0;left:0;width:440px;height:440px;border-radius:50%;pointer-events:none;z-index:90;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(63,182,240,.10),rgba(217,181,106,.045) 40%,transparent 68%);mix-blend-mode:screen;opacity:0;transition:opacity .4s ease;will-change:transform;}
    .cursor-ring{position:fixed;top:0;left:0;width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(125,211,255,.7);pointer-events:none;z-index:91;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s,width .25s,height .25s,border-color .25s,background .25s;will-change:transform;}
    .cursor-dot{position:fixed;top:0;left:0;width:7px;height:7px;border-radius:50%;background:var(--gold-bright);pointer-events:none;z-index:92;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s;will-change:transform;}
    .cursor-glow.on,.cursor-ring.on,.cursor-dot.on{opacity:1;}
    .cursor-ring.hot{width:54px;height:54px;border-color:rgba(240,209,138,.9);background:rgba(217,181,106,.08);}
    .cursor-ring.press{width:24px;height:24px;border-color:rgba(240,209,138,1);}
    .cursor-glow.press{background:radial-gradient(circle,rgba(125,211,255,.17),rgba(217,181,106,.06) 40%,transparent 68%);}
    @media(pointer:coarse){.cursor-glow,.cursor-ring,.cursor-dot{display:none!important;}}

    .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
    .reveal.in{opacity:1;transform:none;}
    .skip-link{position:fixed;top:-120px;left:12px;z-index:200;background:var(--gold);color:#0a0a0c;padding:10px 16px;border-radius:8px;font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.4);transition:top .2s;}
    .skip-link:focus{top:12px;outline:none;}
    a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.btn:focus-visible,.scard:focus-visible{outline:2px solid var(--blue-bright);outline-offset:3px;border-radius:8px;}
    @media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;}}
    @media(max-width:640px){section.blk{padding:56px 0;}.head-center{margin-bottom:36px;}}

    /* ── Large-screen / ultrawide scaling (fills 27"–34"+ monitors) ── */
    @media(min-width:1600px){
      :root{--maxw:1360px;}
      html,body{font-size:17px;}
      section.blk{padding:118px 0;}
    }
    @media(min-width:2000px){
      :root{--maxw:1500px;}
      html,body{font-size:18px;}
      section.blk{padding:134px 0;}
    }
    @media(min-width:2560px){
      :root{--maxw:1680px;}
      html,body{font-size:19px;}
      section.blk{padding:150px 0;}
    }

/* ── Light section variant — for "黑白相间" alternating panels ── */
section.light{background:#f4f2ec;color:#17151d;border-radius:48px;margin:24px 0;box-shadow:0 34px 90px rgba(0,0,0,.42);}
section.light .eyebrow{color:#9a6f1e;}
section.light .eyebrow::before{background:#1f7fbe;box-shadow:0 0 10px rgba(31,127,190,.5);}
section.light .head-center h2{color:#17151d;}
section.light .head-center p{color:#5c574e;}
section.light .grad{background:linear-gradient(100deg,#b5862a,#8a6418);-webkit-background-clip:text;background-clip:text;color:transparent;}
section.light .blue{color:#1f7fbe;}
/* timeline on light */
section.light .flow::before{background:repeating-linear-gradient(90deg,rgba(31,127,190,.45) 0 10px,transparent 10px 22px);}
section.light .step .node{background:#fff;border-color:rgba(31,127,190,.5);color:#1f7fbe;box-shadow:0 0 0 7px #f4f2ec,0 8px 22px rgba(31,127,190,.18);}
section.light .step:nth-child(even) .node{color:#1f7fbe;border-color:rgba(31,127,190,.55);box-shadow:0 0 0 7px #f4f2ec,0 8px 22px rgba(31,127,190,.2);}
section.light .step .k{color:#9a938a;}
section.light .step h3{color:#17151d;}
section.light .step p{color:#5c574e;}
/* cards on light */
section.light .scard,section.light .why-item,section.light .stat{background:#fff;border-color:rgba(23,21,29,.09);backdrop-filter:none;box-shadow:0 12px 30px rgba(23,21,29,.07);}
section.light .scard:hover,section.light .why-item:hover{border-color:rgba(31,127,190,.35);box-shadow:0 24px 50px rgba(23,21,29,.12);}
section.light .scard h3,section.light .why-item h3{color:#17151d;}
section.light .scard p,section.light .why-item p{color:#5c574e;}
section.light .scard .num{color:#9a6f1e;}
section.light .scard .ic{background:rgba(31,127,190,.09);border-color:rgba(31,127,190,.25);color:#1f7fbe;}
section.light .why-item .ic{color:#b5862a;}
section.light .scard .go{color:#1f7fbe;}
section.light .tag{color:#5c574e;background:rgba(23,21,29,.04);border-color:rgba(23,21,29,.1);}
/* buttons on light */
section.light .btn-ghost{border-color:rgba(23,21,29,.2);color:#17151d;}
section.light .btn-ghost:hover{border-color:#9a6f1e;color:#9a6f1e;}
/* a why-band that is also light: drop the dark gradient/borders */
section.light.why{background:#f4f2ec;border:0;}

/* light panel — dimensional "tab" connector at top-center (凹凸 design) */
section.light{position:relative;}
section.light::before{content:'';position:absolute;top:-18px;left:50%;transform:translateX(-50%);width:190px;height:38px;background:#f4f2ec;border-radius:20px 20px 0 0;pointer-events:none;z-index:0;}

/* line icons */
.ic svg,.node svg{width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.node svg{width:28px;height:28px;}

/* ── 3D icon chips / orbs ── */
.ic{position:relative;overflow:hidden;background:linear-gradient(150deg,rgba(63,182,240,.32),rgba(20,58,92,.10));border:1px solid rgba(125,211,255,.32);box-shadow:inset 0 1.5px 1px rgba(255,255,255,.4),inset 0 -8px 14px rgba(0,0,0,.42),0 12px 26px rgba(63,182,240,.16),0 3px 6px rgba(0,0,0,.45);}
.ic::after{content:'';position:absolute;top:0;left:0;right:0;height:46%;background:linear-gradient(180deg,rgba(255,255,255,.24),transparent);pointer-events:none;}
.ic svg{position:relative;z-index:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));}
.step .node{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 32%,#20242e,#0c0e13);box-shadow:inset 0 2px 2px rgba(255,255,255,.14),inset 0 -8px 16px rgba(0,0,0,.6),0 14px 30px rgba(63,182,240,.16),0 4px 10px rgba(0,0,0,.5);}
.step .node::after{content:'';position:absolute;top:0;left:0;right:0;height:44%;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent);pointer-events:none;}
.step .node svg{position:relative;z-index:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));}
/* light-panel variants: white 3D orbs + light-blue chips */
section.light .step .node{background:radial-gradient(circle at 50% 30%,#ffffff,#e7e3da);border-color:rgba(31,127,190,.4);box-shadow:inset 0 2px 2px rgba(255,255,255,.95),inset 0 -8px 15px rgba(20,18,26,.10),0 16px 30px rgba(20,18,26,.16),0 5px 10px rgba(20,18,26,.10);}
section.light .step .node::after{background:linear-gradient(180deg,rgba(255,255,255,.7),transparent);}
section.light .step:nth-child(even) .node{border-color:rgba(31,127,190,.5);}
section.light .scard .ic{background:linear-gradient(150deg,#ffffff,#eaf4fc);border-color:rgba(31,127,190,.3);box-shadow:inset 0 1.5px 1px rgba(255,255,255,.9),inset 0 -6px 12px rgba(20,18,26,.08),0 12px 24px rgba(31,127,190,.16),0 3px 6px rgba(20,18,26,.12);}
section.light .scard .ic::after{background:linear-gradient(180deg,rgba(255,255,255,.6),transparent);}

/* ── Fix: why-item icons need a real chip box; light-panel icons keep the dark 3D look (pops on white, matches reference) ── */
.why-item .ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;margin-bottom:18px;}
section.light .step .node{background:radial-gradient(circle at 50% 32%,#20242e,#0c0e13)!important;border:1px solid var(--border-blue)!important;color:var(--blue-bright)!important;box-shadow:inset 0 2px 2px rgba(255,255,255,.14),inset 0 -8px 16px rgba(0,0,0,.6),0 16px 32px rgba(0,0,0,.22),0 5px 12px rgba(0,0,0,.35)!important;}
section.light .step:nth-child(even) .node{color:var(--blue-bright)!important;border-color:var(--border-blue)!important;}
section.light .step .node::after{background:linear-gradient(180deg,rgba(255,255,255,.16),transparent)!important;}
section.light .scard .ic,section.light .why-item .ic{background:linear-gradient(150deg,rgba(63,182,240,.34),rgba(20,58,92,.12))!important;border:1px solid rgba(125,211,255,.34)!important;box-shadow:inset 0 1.5px 1px rgba(255,255,255,.35),inset 0 -8px 14px rgba(0,0,0,.4),0 14px 26px rgba(63,182,240,.16),0 3px 6px rgba(0,0,0,.35)!important;}
section.light .scard .ic svg,section.light .why-item .ic svg{color:var(--blue-bright);}

/* light-panel scard/why chips → DARK 3D chip (pops on white, matches the process orbs) */
section.light .scard .ic,section.light .why-item .ic{background:radial-gradient(circle at 50% 28%,#20242e,#0c0e13)!important;border:1px solid var(--border-blue)!important;box-shadow:inset 0 1.5px 1px rgba(255,255,255,.12),inset 0 -8px 14px rgba(0,0,0,.55),0 14px 28px rgba(0,0,0,.2),0 4px 8px rgba(0,0,0,.32)!important;}
section.light .scard .ic::after,section.light .why-item .ic::after{background:linear-gradient(180deg,rgba(255,255,255,.14),transparent)!important;}
section.light .scard .ic svg,section.light .why-item .ic svg{color:var(--blue-bright)!important;}


/* ── scroll-progress rail + tech back-to-top (auto-injected by zno.js) ── */
.scroll-dock{position:fixed;top:0;bottom:0;right:24px;width:48px;z-index:55;pointer-events:none;}
.scroll-rail{position:absolute;top:15vh;left:50%;transform:translateX(-50%);width:9px;height:58vh;border-radius:99px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);pointer-events:none;}
.scroll-rail__fill{position:absolute;top:0;left:0;width:100%;height:0;border-radius:99px;overflow:hidden;background:linear-gradient(180deg,var(--gold-bright),var(--gold) 42%,var(--blue-bright));box-shadow:0 0 14px rgba(217,181,106,.55),0 0 24px rgba(63,182,240,.35);}
.scroll-rail__fill::before{content:'';position:absolute;left:0;right:0;top:0;height:45%;border-radius:99px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.65),transparent);animation:railFlow 1.9s linear infinite;}
@keyframes railFlow{0%{transform:translateY(-130%);}100%{transform:translateY(300%);}}
.scroll-rail__head{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,#fff 8%,var(--gold-bright) 42%,rgba(240,209,138,0) 72%);box-shadow:0 0 14px var(--gold-bright),0 0 30px rgba(63,182,240,.6);animation:railPulse 1.6s ease-in-out infinite;}
@keyframes railPulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.85;}50%{transform:translate(-50%,-50%) scale(1.4);opacity:1;}}
.to-top{position:absolute;bottom:28px;left:50%;width:48px;height:48px;border-radius:50%;border:1px solid var(--border-2);background:radial-gradient(circle at 50% 34%,rgba(40,36,48,.92),rgba(12,11,15,.94));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--gold-bright);display:grid;place-items:center;cursor:pointer;pointer-events:auto;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(12px);transition:opacity .3s,transform .3s,visibility .3s,box-shadow .3s,color .2s,border-color .2s;box-shadow:0 6px 20px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);}
.to-top.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.to-top::before{content:'';position:absolute;inset:-3px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,transparent 0deg,var(--gold-bright) 55deg,var(--blue-bright) 130deg,transparent 205deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:toTopSpin 3s linear infinite;pointer-events:none;}
.to-top::after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px dashed rgba(217,181,106,.42);animation:toTopSpin 11s linear infinite reverse;pointer-events:none;}
@keyframes toTopSpin{to{transform:rotate(360deg);}}
.to-top:hover{color:#fff;border-color:var(--gold-bright);box-shadow:0 10px 30px rgba(217,181,106,.32),0 0 0 1px rgba(240,209,138,.5),inset 0 1px 0 rgba(255,255,255,.08);}
.to-top:hover::before{animation-duration:1.1s;}
.to-top:hover::after{border-color:rgba(63,182,240,.6);}
.to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px rgba(217,181,106,.5));}
@media(max-width:1360px){.scroll-rail{display:none;}}
@media(max-width:860px){.scroll-dock{right:14px;}.to-top{bottom:18px;width:44px;height:44px;}}
@media(prefers-reduced-motion:reduce){.scroll-rail__fill::before,.scroll-rail__head,.to-top::before,.to-top::after{animation:none;}}

/* keep the custom cursor + progress rail readable over light (cream) panels */
.cur-lite .cursor-ring{border-color:rgba(31,127,190,.85);}
.cur-lite .cursor-ring.hot{border-color:rgba(154,111,30,.9);background:rgba(154,111,30,.08);}
.cur-lite .cursor-dot{background:#9a6f1e;}
.cur-lite .cursor-glow{opacity:0;}
.scroll-dock.on-light .scroll-rail{background:rgba(23,21,29,.12);box-shadow:inset 0 0 0 1px rgba(23,21,29,.06);}
.scroll-dock.on-light .scroll-rail__fill{box-shadow:0 0 8px rgba(184,134,42,.35);}
.scroll-dock.on-light .scroll-rail__head{background:radial-gradient(circle,#8a6418 12%,#b5862a 46%,rgba(184,134,42,0) 72%);box-shadow:0 0 9px rgba(184,134,42,.55);}

/* nav: nowrap + compact on laptops so labels do not cram before the burger */
nav.links a{white-space:nowrap;}
@media(max-width:1400px){nav.links{font-size:.98rem;gap:3px;}nav.links a{padding:8px 13px;}}


/* stat-row: stack on narrow phones so long labels never clip */
.stat b,.stat span{overflow-wrap:anywhere;}
@media(max-width:400px){.stat-row{grid-template-columns:1fr;}}
