  :root {
    --color-bg: #ffffff;
    --color-surface: #f2f6fb;
    --color-text: #01195d;
    --color-accent: #0927eb;
    --color-accent-2: #1893f8;
    --color-divider: color-mix(in srgb, #01195d 16%, transparent);
    --color-accent-100: #eaf1fe;
    --color-accent-200: #d3e6fd;
    --color-accent-300: #a9cdfb;
    --color-accent-400: #76b9f0;
    --color-accent-500: #1893f8;
    --color-accent-600: #0927eb;
    --color-accent-700: #061bb0;
    --color-accent-800: #031a86;
    --color-accent-900: #01195d;
    --color-accent-2-100: #eaf1fe;
    --color-accent-2-200: #d3e6fd;
    --color-accent-2-300: #a9cdfb;
    --color-accent-2-400: #76b9f0;
    --color-accent-2-500: #1893f8;
    --color-accent-2-600: #0927eb;
    --color-accent-2-700: #061bb0;
    --color-accent-2-800: #031a86;
    --color-accent-2-900: #01195d;
  }
  html { scroll-behavior: smooth; }
  body { margin: 0; background: #ffffff; -webkit-font-smoothing: antialiased; }
  a { color: #061bb0; text-decoration: none; }
  a:hover { color: #0927eb; text-decoration: underline; }
  input[type=range] { accent-color: var(--color-accent); }
  input, textarea, select { font-family: var(--font-body); }
  /* readability: heavier baseline weight everywhere */
  body, p, span, div, a, li, td, th, label, input, textarea, select, button { font-weight: 500; }
  b, strong { font-weight: 700; }
  input::placeholder, textarea::placeholder { color: #93a3bd; }
  @keyframes nc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes nc-dash { to { stroke-dashoffset: -240; } }
  @keyframes nc-draw { from { stroke-dashoffset: 1400; } to { stroke-dashoffset: 0; } }
  @keyframes nc-travel { 0% { offset-distance: 0%; opacity: 0; } 10% { opacity: 1; } 88% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
  @keyframes nc-pulse { 0% { transform: scale(0.55); opacity: 0.85; } 100% { transform: scale(1.85); opacity: 0; } }
  @keyframes nc-scan { 0% { transform: translateY(2px); } 50% { transform: translateY(116px); } 100% { transform: translateY(2px); } }
  @keyframes nc-spin { to { transform: rotate(360deg); } }
  @keyframes nc-rise { 0%, 100% { transform: scaleY(0.58); } 50% { transform: scaleY(1); } }
  @keyframes nc-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.18; } }
  @keyframes nc-wave { 0%, 100% { opacity: 0.12; transform: scale(0.94); } 50% { opacity: 0.9; transform: scale(1); } }
  @keyframes nc-linkflow { to { stroke-dashoffset: -120; } }
  @keyframes nc-nodepulse { 0%, 100% { opacity: 0.35; } 50% { opacity: 1; } }
  @keyframes nc-ring { 0% { transform: scale(0.4); opacity: 0.7; } 100% { transform: scale(1.6); opacity: 0; } }
  @keyframes nc-drift { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-14px); } }
  @keyframes nc-driftb { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(9px); } }
  @keyframes nc-orbit { to { transform: rotate(360deg); } }
  /* paper-grade 360 showcase */
  @keyframes pgv-cam {
    0%, 13.5% { transform: translate(0, 0); }
    16.5%, 30% { transform: translate(0, 4%); }
    33.5%, 47% { transform: translate(-1.5%, 1%); }
    50.5%, 64% { transform: translate(1.5%, -3%); }
    67.5%, 80.5% { transform: translate(0, -2.5%); }
    84%, 100% { transform: translate(0, 0); }
  }
  @keyframes pgv-tilt { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
  @keyframes pgv-win { 0% { opacity: 0; transform: translateY(8px); } 1.6% { opacity: 1; transform: translateY(0); } 14.4% { opacity: 1; } 16.4% { opacity: 0; } 100% { opacity: 0; } }
  @keyframes pgv-badge { 0% { opacity: 0; transform: scale(0.7); } 2% { opacity: 1; transform: scale(1); } 14% { opacity: 1; transform: scale(1); } 16.4% { opacity: 0; transform: scale(0.92); } 100% { opacity: 0; } }
  .pgv-cam { animation: pgv-cam 27s cubic-bezier(.6,.05,.35,.95) infinite; transform-origin: 50% 0; will-change: transform; }
  .pgv-tilt { animation: pgv-tilt 13s ease-in-out infinite; }
  .pgv-co { opacity: 0; animation: pgv-win 27s linear infinite both; }
  .pgv-bdg { opacity: 0; animation: pgv-badge 27s linear infinite both; }
  /* AI + human converge timeline */
  @keyframes cv-node { 0% { opacity: 0.2; transform: scale(0.82); } 3% { opacity: 1; transform: scale(1); } 22% { opacity: 1; transform: scale(1); } 27% { opacity: 0.28; transform: scale(0.9); } 100% { opacity: 0.28; transform: scale(0.9); } }
  @keyframes cv-rail { 0% { transform: scaleX(0); } 88% { transform: scaleX(1); } 100% { transform: scaleX(1); } }
  @keyframes cv-final { 0%, 84% { opacity: 0; transform: translate(-50%, -50%) scale(0.72); } 90% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 97% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); } }
  @keyframes cv-merge { 0%, 78% { stroke-dashoffset: 100; } 88% { stroke-dashoffset: 0; } 97% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
  .cv-merge { animation: cv-merge 20s linear infinite both; }
  @keyframes nc-thread { 0% { background-position: -25% 0; } 100% { background-position: 125% 0; } }
  @keyframes nc-spark { 0% { stroke-dashoffset: 100; } 45% { stroke-dashoffset: 0; } 85% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
  @keyframes cv-cap { 0% { opacity: 0; transform: translateY(6px); } 3.5% { opacity: 1; transform: translateY(0); } 21% { opacity: 1; } 25% { opacity: 0; } 100% { opacity: 0; } }
  .cv-n { animation: cv-node 20s linear infinite both; }
  .cv-c { opacity: 0; animation: cv-cap 20s linear infinite both; }
  [data-nc="anim"] * { transform-box: fill-box; }
  @media (max-width: 1080px) {
    [data-nc="herogrid"], [data-nc="flowgrid"] { grid-template-columns: 1fr !important; gap: 40px !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    [data-nc="anim"] * { animation: none !important; }
  }
  .corner { display: none !important; }
  .blueprint { border-radius: 24px !important; border-color: rgba(1,25,93,0.12) !important; }
  .btn { border-radius: 999px !important; }
  h1, h2, h3, blockquote { font-family: var(--font-body) !important; font-weight: 600 !important; }
  h1, h2 { letter-spacing: -0.025em !important; }
  input, textarea { border-radius: 14px !important; }
  ::selection { background: rgba(9,39,235,0.14); }
  image-slot { display: block; width: 100%; height: 100%; }

  /* ══ mock animations ══ */
  @keyframes m-draw    { to { stroke-dashoffset: 0; } }
  @keyframes m-dash    { to { stroke-dashoffset: -240; } }
  @keyframes m-pulse   { 0% { transform: scale(0.5); opacity: 0.9; } 100% { transform: scale(2.1); opacity: 0; } }
  @keyframes m-blinkin { 0%, 100% { opacity: 0.25; } 50% { opacity: 1; } }
  @keyframes m-rise    { 0%, 100% { transform: scaleY(0.6); } 50% { transform: scaleY(1); } }
  @keyframes m-breathe { 0%, 100% { transform: scale(0.985); opacity: 0.85; } 50% { transform: scale(1.015); opacity: 1; } }
  @keyframes m-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @keyframes hero-line { from { stroke-dashoffset: 1080; } to { stroke-dashoffset: 0; } }
  .hero-baseline { stroke-dasharray: 1080; animation: hero-line 2.6s cubic-bezier(.4,0,.2,1) forwards; }
  .hero-dot { transform-box: view-box; offset-path: path('M60 90 L1140 90'); offset-rotate: 0deg; animation: hero-travel 7s cubic-bezier(.45,.05,.55,.95) infinite; animation-delay: 1s; }
  .hs-page { fill: none; stroke: #01195d; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: nc-stamp-draw-b 1.2s ease-in-out forwards; }
  .hs-page.p2 { animation-delay: .35s; } .hs-page.p3 { animation-delay: .7s; }
  .hs-scan { animation: hs-scan 3.8s ease-in-out infinite; animation-delay: 1.3s; }
  @keyframes hs-scan { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(64px); } }
  .hs-gauge { transform-origin: center; animation: m-spin 16s linear infinite; }
  .hs-cash { opacity: 0; animation: nc-gfade .8s ease 2.8s forwards; }
  [data-nc="trustrail"] > div:last-child { border-right: 0 !important; }
  @keyframes hero-travel { 0% { offset-distance: 0%; opacity: 0; } 5% { opacity: 1; } 30% { offset-distance: 33%; } 38% { offset-distance: 33%; } 62% { offset-distance: 66%; } 70% { offset-distance: 66%; } 92% { offset-distance: 100%; opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
  .hero-node { animation: hero-node 7s ease infinite; animation-delay: 1s; opacity: 0.3; }
  .hero-node.n1 { animation-name: hero-n1; } .hero-node.n2 { animation-name: hero-n2; }
  .hero-node.n3 { animation-name: hero-n3; } .hero-node.n4 { animation-name: hero-n4; }
  @keyframes hero-n1 { 0%,2% { opacity: 0.3; } 4%,100% { opacity: 1; } }
  @keyframes hero-n2 { 0%,29% { opacity: 0.3; } 33%,100% { opacity: 1; } }
  @keyframes hero-n3 { 0%,61% { opacity: 0.3; } 66%,100% { opacity: 1; } }
  @keyframes hero-n4 { 0%,90% { opacity: 0.3; } 94%,100% { opacity: 1; } }
  .hero-ring { transform-origin: center; animation: m-pulse 7s ease-out infinite; animation-delay: 1s; opacity: 0; }
  .hero-ring.r2 { animation-delay: 3.1s; } .hero-ring.r3 { animation-delay: 5.35s; } .hero-ring.r4 { animation-delay: 7.44s; }
  .ekg-glow  { stroke-dasharray: 46 1010; animation: ekg-run 4.4s linear infinite; }
  @keyframes ekg-run { from { stroke-dashoffset: 46; } to { stroke-dashoffset: -1010; } }
  .spark { stroke-dasharray: 240; stroke-dashoffset: 240; animation: spark-cycle 6s ease-in-out infinite; }
  @keyframes spark-cycle { 0% { stroke-dashoffset: 240; } 40% { stroke-dashoffset: 0; } 78% { stroke-dashoffset: 0; opacity: 1; } 92% { opacity: 0; } 100% { stroke-dashoffset: 240; opacity: 0; } }
  .gauge { stroke-dasharray: 163.4; stroke-dashoffset: 163.4; transform: rotate(-90deg); transform-origin: center; animation: gauge-cycle 6s ease-in-out infinite; }
  @keyframes gauge-cycle { 0% { stroke-dashoffset: 163.4; } 40% { stroke-dashoffset: 16.3; } 78% { stroke-dashoffset: 16.3; opacity: 1; } 92% { opacity: 0; } 100% { stroke-dashoffset: 163.4; opacity: 0; } }
  .mbar { transform-origin: bottom; animation: mbar-cycle 6s ease-in-out infinite; }
  @keyframes mbar-cycle { 0% { transform: scaleY(0.08); } 40% { transform: scaleY(1); } 78% { transform: scaleY(1); opacity: 1; } 92% { opacity: 0; } 100% { transform: scaleY(0.08); opacity: 0; } }
  .ico path, .ico circle, .ico line, .ico polyline, .ico rect { fill: none; stroke: #0927eb; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: ico-cycle 5.5s ease-in-out infinite; }
  @keyframes ico-cycle { 0% { stroke-dashoffset: 1; } 32% { stroke-dashoffset: 0; } 68% { stroke-dashoffset: 0; } 96% { stroke-dashoffset: -1; } 100% { stroke-dashoffset: -1; } }
  .ico .accent { stroke: #1893f8; }
  .street .s { fill: none; stroke: #01195d; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: street-cycle 14s ease-in-out infinite; }
  .street .a  { stroke: #0927eb; }
  .street .a2 { stroke: #1893f8; }
  @keyframes street-cycle { 0% { stroke-dashoffset: 1; } 26% { stroke-dashoffset: 0; } 84% { stroke-dashoffset: 0; opacity: 1; } 94% { opacity: 0; } 100% { stroke-dashoffset: 1; opacity: 0; } }
  .b1 .s{animation-delay:0s}   .b2 .s{animation-delay:.3s}  .b3 .s{animation-delay:.6s}  .b4 .s{animation-delay:.9s}
  .b5 .s{animation-delay:1.2s} .b6 .s{animation-delay:1.5s} .b7 .s{animation-delay:1.8s} .b8 .s{animation-delay:2.1s}
  .b1 .a,.b1 .a2{animation-delay:.55s}  .b2 .a,.b2 .a2{animation-delay:.85s}
  .b3 .a,.b3 .a2{animation-delay:1.15s} .b4 .a,.b4 .a2{animation-delay:1.45s}
  .b5 .a,.b5 .a2{animation-delay:1.75s} .b6 .a,.b6 .a2{animation-delay:2.05s}
  .b7 .a,.b7 .a2{animation-delay:2.35s} .b8 .a,.b8 .a2{animation-delay:2.65s}
  .hookg { animation: hook-bob 3.8s ease-in-out infinite; }
  @keyframes hook-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
  .win { animation: m-blinkin 3.4s ease-in-out infinite; }
  .truck { animation: truck-go 14s linear infinite; }
  @keyframes truck-go { 0%, 38% { transform: translateX(-110px); opacity: 0; } 43% { opacity: 1; } 90% { transform: translateX(1010px); opacity: 1; } 91%, 100% { transform: translateX(1010px); opacity: 0; } }
  .wheel { transform-origin: center; animation: m-spin 1.1s linear infinite; }
  @keyframes m-spin { to { transform: rotate(360deg); } }
  .svg-tag { font-size: 10px; letter-spacing: 1.3px; }
  .rbar { transform-origin: bottom; animation: m-rise 6.6s ease-in-out infinite; }
  .packet { animation: packet-fall 3.3s ease-in infinite; opacity: 0; }
  @keyframes packet-fall { 0% { transform: translateY(0); opacity: 0; } 12% { opacity: 1; } 78% { opacity: 1; } 100% { transform: translateY(74px); opacity: 0; } }
  .remit-line { stroke-dasharray: 640; stroke-dashoffset: 640; animation: remit-draw 6.6s ease-in-out infinite; }
  @keyframes remit-draw { 0% { stroke-dashoffset: 640; } 45% { stroke-dashoffset: 0; } 88% { stroke-dashoffset: 0; opacity: 1; } 97% { opacity: 0; } 100% { stroke-dashoffset: 640; opacity: 0; } }
  .q-fade { animation: q-fade 10s ease infinite; opacity: 0; }
  @keyframes q-fade { 0% { opacity: 0; } 6% { opacity: 1; } 86% { opacity: 1; } 94%, 100% { opacity: 0; } }
  .ink { stroke-dasharray: 1; stroke-dashoffset: 1; animation: ink-draw 10s ease-in-out infinite; }
  @keyframes ink-draw { 0%, 8% { stroke-dashoffset: 1; } 20% { stroke-dashoffset: 0; } 86% { stroke-dashoffset: 0; opacity: 1; } 94%, 100% { stroke-dashoffset: 0; opacity: 0; } }
  .sig { stroke-dasharray: 1; stroke-dashoffset: 1; animation: sig-draw 10s cubic-bezier(.45,0,.3,1) infinite; }
  @keyframes sig-draw { 0%, 22% { stroke-dashoffset: 1; } 52% { stroke-dashoffset: 0; } 86% { stroke-dashoffset: 0; opacity: 1; } 94%, 100% { stroke-dashoffset: 0; opacity: 0; } }
  .sig2 { stroke-dasharray: 1; stroke-dashoffset: 1; animation: sig2-draw 10s ease-out infinite; }
  @keyframes sig2-draw { 0%, 52% { stroke-dashoffset: 1; } 62% { stroke-dashoffset: 0; } 86% { stroke-dashoffset: 0; opacity: 1; } 94%, 100% { stroke-dashoffset: 0; opacity: 0; } }
  .sig-dot { transform-origin: center; animation: sigdot 10s ease infinite; opacity: 0; }
  @keyframes sigdot { 0%, 62% { opacity: 0; transform: scale(0); } 66% { opacity: 1; transform: scale(1.5); } 70% { transform: scale(1); } 86% { opacity: 1; } 94%, 100% { opacity: 0; } }
  .cap-fade { animation: cap-fade 10s ease infinite; opacity: 0; }
  @keyframes cap-fade { 0%, 56% { opacity: 0; } 64% { opacity: 1; } 86% { opacity: 1; } 94%, 100% { opacity: 0; } }
  .star path { fill: #1893f8; stroke: #061bb0; stroke-width: 1.6; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; fill-opacity: 0; animation: star-draw 10s ease-in-out infinite; }
  @keyframes star-draw { 0%, 8% { stroke-dashoffset: 1; fill-opacity: 0; } 22% { stroke-dashoffset: 0; fill-opacity: 0; } 32% { fill-opacity: 1; } 86% { fill-opacity: 1; opacity: 1; } 94%, 100% { fill-opacity: 1; opacity: 0; } }
  .star.s1 path { animation-delay: 0s; } .star.s2 path { animation-delay: .5s; } .star.s3 path { animation-delay: 1s; } .star.s4 path { animation-delay: 1.5s; } .star.s5 path { animation-delay: 2s; }
  .star-ping circle { transform-origin: center; animation: m-pulse 10s ease-out infinite; animation-delay: 3.4s; opacity: 0; }
  .file-doc { offset-path: path('M60 96 C 190 30, 430 30, 560 96'); offset-rotate: 0deg; animation: file-go 8s ease-in-out infinite; }
  @keyframes file-go { 0% { offset-distance: 0%; opacity: 0; } 6% { opacity: 1; } 44% { offset-distance: 100%; opacity: 1; } 52%, 100% { offset-distance: 100%; opacity: 0; } }
  .file-check { stroke-dasharray: 1; stroke-dashoffset: 1; animation: check-in 8s ease infinite; }
  @keyframes check-in { 0%, 45% { stroke-dashoffset: 1; } 55% { stroke-dashoffset: 0; } 92% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
  .coin-back { offset-path: path('M560 118 C 430 178, 190 178, 60 118'); offset-rotate: 0deg; animation: coin-go 8s ease-in-out infinite; }
  @keyframes coin-go { 0%, 55% { offset-distance: 0%; opacity: 0; } 60% { opacity: 1; } 94% { offset-distance: 100%; opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
  .dest-pulse { transform-origin: center; animation: m-pulse 8s ease-out infinite; animation-delay: 3.5s; opacity: 0; }
  .svg-label { font-size: 11px; letter-spacing: 2.2px; }
  [data-nc="anim"] text { font-family: var(--font-body); }
  /* ══ subpage animations ══ */
  /* sections marked data-anim-scope get data-seen toggled on/off as they scroll in and out,
     so the draw-on animations re-run on every pass and hold while the section is in view */

  /* 09 · funding hero jargon fog */
  .fogword { animation: nc-fog-cycle 7s ease-in-out infinite; opacity: 0; }
  @keyframes nc-fog-cycle {
    0% { opacity: 0; filter: blur(6px); transform: translate(0, 8px); }
    14% { opacity: 0.85; filter: blur(0); transform: translate(0, 0); }
    52% { opacity: 0.85; filter: blur(0); transform: translate(0, 0); }
    74% { opacity: 0; filter: blur(7px); transform: translate(var(--dx, 20px), var(--dy, -14px)); }
    100% { opacity: 0; }
  }
  .fw1 { --dx: -26px; --dy: -16px; }
  .fw2 { --dx: 18px; --dy: -20px; animation-delay: 1.1s; }
  .fw3 { --dx: 30px; --dy: -12px; animation-delay: 2.3s; }
  .fw4 { --dx: -20px; --dy: -22px; animation-delay: 3.4s; }
  .fw5 { --dx: 24px; --dy: -18px; animation-delay: 4.5s; }
  .fw6 { --dx: -16px; --dy: -20px; animation-delay: 5.6s; }
  .fw7 { --dx: 22px; --dy: -16px; animation-delay: 2.9s; }
  .fw8 { --dx: -18px; --dy: -14px; animation-delay: 1.7s; }

  /* 10 · three things: stamp then check, once on scroll-in, redraw on hover */
  .stamp { fill: none; stroke: #0927eb; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
  .stampchk { fill: none; stroke: #1893f8; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
  [data-seen] .stamp { animation: nc-stamp-draw 1.1s ease-in-out forwards; }
  [data-seen] .stampchk { animation: nc-stamp-check .6s ease .85s forwards; }
  @keyframes nc-stamp-draw { to { stroke-dashoffset: 0; } }
  @keyframes nc-stamp-check { to { stroke-dashoffset: 0; } }
  @keyframes nc-stamp-draw-b { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
  @keyframes nc-stamp-check-b { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
  .s2 .stamp { animation-delay: .55s; } .s2 .stampchk { animation-delay: 1.4s; }
  .s3 .stamp { animation-delay: 1.1s; } .s3 .stampchk { animation-delay: 1.95s; }
  .qual-row:hover .stamp { animation: nc-stamp-draw-b 1.1s ease-in-out forwards; }
  .qual-row:hover .stampchk { animation: nc-stamp-check-b .6s ease .85s forwards; }

  /* 11 · use-case icons: draw on scroll-in, hold while in view, reset when scrolled away */
  .ico.bold path, .ico.bold circle, .ico.bold line, .ico.bold polyline, .ico.bold rect, .ico.bold ellipse { stroke-width: 2.2; }
  [data-anim-scope] .ico path, [data-anim-scope] .ico circle, [data-anim-scope] .ico line, [data-anim-scope] .ico polyline, [data-anim-scope] .ico rect { animation: none; }
  [data-anim-scope][data-seen] .ico path, [data-anim-scope][data-seen] .ico circle, [data-anim-scope][data-seen] .ico line, [data-anim-scope][data-seen] .ico polyline, [data-anim-scope][data-seen] .ico rect { animation: nc-ico-draw 1.4s ease-in-out forwards; }
  @keyframes nc-ico-draw { to { stroke-dashoffset: 0; } }

  /* 12 · afternoon clock: sweeps on scroll-in, resets when scrolled away */
  .hand-h { transform-origin: center bottom; transform: rotate(-28deg); }
  [data-seen] .hand-h { animation: nc-hour-sweep 3.4s cubic-bezier(.45,.05,.4,1) forwards; }
  @keyframes nc-hour-sweep { 0%, 12% { transform: rotate(-28deg); } 58%, 100% { transform: rotate(79deg); } }
  .hand-m { transform-origin: center bottom; transform: rotate(24deg); }
  [data-seen] .hand-m { animation: nc-min-sweep 3.4s cubic-bezier(.45,.05,.4,1) forwards; }
  @keyframes nc-min-sweep { 0%, 12% { transform: rotate(24deg); } 58%, 100% { transform: rotate(1308deg); } }
  .clock-arc { stroke-dasharray: 226.2; stroke-dashoffset: 226.2; transform: rotate(-118deg); transform-origin: center; }
  [data-seen] .clock-arc { animation: nc-arc-fill 3.4s cubic-bezier(.45,.05,.4,1) forwards; }
  @keyframes nc-arc-fill { 0%, 12% { stroke-dashoffset: 226.2; } 58%, 100% { stroke-dashoffset: 159; } }
  .t-in { opacity: 0; }
  [data-seen] .t-in { animation: nc-t-in 3.4s ease forwards; }
  @keyframes nc-t-in { 0%, 8% { opacity: 0; } 14%, 100% { opacity: 1; } }
  .t-in2 { opacity: 0; }
  [data-seen] .t-in2 { animation: nc-t-in2 3.4s ease forwards; }
  @keyframes nc-t-in2 { 0%, 56% { opacity: 0; } 64%, 100% { opacity: 1; } }
  .clock-ping { transform-origin: center; opacity: 0; }
  [data-seen] .clock-ping { animation: nc-clock-ping 3.4s ease-out forwards; }
  @keyframes nc-clock-ping { 0%, 58% { opacity: 0; transform: scale(0.6); } 62% { opacity: 0.8; } 74%, 100% { opacity: 0; transform: scale(1.9); } }

  /* 13 · partner hero chat (loops) */
  .cb-l { animation: nc-cb-l 9s ease infinite; opacity: 0; }
  @keyframes nc-cb-l { 0%, 4% { opacity: 0; transform: translateY(8px); } 10% { opacity: 1; transform: translateY(0); } 88% { opacity: 1; } 95%, 100% { opacity: 0; } }
  .typing { animation: nc-typing 9s ease infinite; opacity: 0; }
  @keyframes nc-typing { 0%, 16% { opacity: 0; } 20% { opacity: 1; } 52% { opacity: 1; } 55%, 100% { opacity: 0; } }
  .tdot { animation: nc-tdot 1s ease-in-out infinite; }
  .tdot.d2 { animation-delay: .15s; } .tdot.d3 { animation-delay: .3s; }
  @keyframes nc-tdot { 0%, 100% { transform: translateY(0); opacity: .45; } 50% { transform: translateY(-4px); opacity: 1; } }
  .cb-r { animation: nc-cb-r 9s cubic-bezier(.34,1.45,.5,1) infinite; opacity: 0; transform-origin: 80% 100%; }
  @keyframes nc-cb-r { 0%, 55% { opacity: 0; transform: scale(0.85); } 61% { opacity: 1; transform: scale(1); } 88% { opacity: 1; } 95%, 100% { opacity: 0; } }
  .cb-check { fill: none; stroke: #7CFFB2; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: nc-cb-check 9s ease infinite; }
  @keyframes nc-cb-check { 0%, 61% { stroke-dashoffset: 1; } 68% { stroke-dashoffset: 0; } 88% { stroke-dashoffset: 0; opacity: 1; } 95%, 100% { opacity: 0; } }
  .cb-ping { transform-origin: center; animation: nc-cb-ping 9s ease-out infinite; opacity: 0; }
  @keyframes nc-cb-ping { 0%, 58% { opacity: 0; transform: scale(0.6); } 62% { opacity: 0.8; } 74%, 100% { opacity: 0; transform: scale(1.9); } }
  @media (max-width: 1080px) { [data-nc="chat"] { display: none !important; } [data-nc="herosplit"] { grid-template-columns: 1fr !important; } }

  /* 15 · what-to-send checklist: rows slide in and tick on scroll-in, reset when away */
  .row-in { opacity: 0; }
  [data-seen] .row-in { animation: nc-row-in .9s ease forwards; }
  @keyframes nc-row-in { from { opacity: 0; transform: translateX(-14px); } to { opacity: 1; transform: translateX(0); } }
  [data-seen] .row-in.r2 { animation-delay: .5s; } [data-seen] .row-in.r3 { animation-delay: 1s; } [data-seen] .row-in.r4 { animation-delay: 1.5s; }
  .row-ck { fill: none; stroke: #1893f8; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
  [data-seen] .row-ck { animation: nc-row-ck .5s ease .4s forwards; }
  @keyframes nc-row-ck { to { stroke-dashoffset: 0; } }
  [data-seen] .row-ck.r2 { animation-delay: .9s; } [data-seen] .row-ck.r3 { animation-delay: 1.4s; } [data-seen] .row-ck.r4 { animation-delay: 1.9s; }

  /* 16 · about hero calendar (loops) */
  .q-slot { opacity: 0; }
  .q-slot.qa { animation: nc-qa 11s ease infinite; }
  .q-slot.qb { animation: nc-qb 11s ease infinite; }
  .q-slot.qc { animation: nc-qc 11s ease infinite; }
  @keyframes nc-qa { 0%, 3% { opacity: 0; } 6% { opacity: 1; } 24% { opacity: 1; } 27%, 100% { opacity: 0; } }
  @keyframes nc-qb { 0%, 27% { opacity: 0; } 30% { opacity: 1; } 48% { opacity: 1; } 51%, 100% { opacity: 0; } }
  @keyframes nc-qc { 0%, 51% { opacity: 0; } 54% { opacity: 1; } 72% { opacity: 1; } 75%, 100% { opacity: 0; } }
  .q-strike { stroke-dasharray: 1; stroke-dashoffset: 1; }
  .q-strike.qa { animation: nc-sa 11s ease infinite; }
  .q-strike.qb { animation: nc-sb 11s ease infinite; }
  .q-strike.qc { animation: nc-sc 11s ease infinite; }
  @keyframes nc-sa { 0%, 14% { stroke-dashoffset: 1; opacity: 1; } 21% { stroke-dashoffset: 0; } 24% { opacity: 1; } 27%, 100% { stroke-dashoffset: 0; opacity: 0; } }
  @keyframes nc-sb { 0%, 38% { stroke-dashoffset: 1; opacity: 1; } 45% { stroke-dashoffset: 0; } 48% { opacity: 1; } 51%, 100% { stroke-dashoffset: 0; opacity: 0; } }
  @keyframes nc-sc { 0%, 62% { stroke-dashoffset: 1; opacity: 1; } 69% { stroke-dashoffset: 0; } 72% { opacity: 1; } 75%, 100% { stroke-dashoffset: 0; opacity: 0; } }
  .today-in { animation: nc-today-in 11s ease infinite; opacity: 0; }
  @keyframes nc-today-in { 0%, 76% { opacity: 0; } 81% { opacity: 1; } 94% { opacity: 1; } 99%, 100% { opacity: 0; } }
  .today-ping { transform-origin: center; animation: nc-today-ping 11s ease-out infinite; opacity: 0; }
  @keyframes nc-today-ping { 0%, 80% { opacity: 0; transform: scale(0.55); } 84% { opacity: 0.85; } 96%, 100% { opacity: 0; transform: scale(2); } }

  /* 17 · commitment seals: etch on scroll-in, reset when away */
  .seal { fill: none; stroke: #1893f8; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; }
  .seal.inner { stroke: #01195d; }
  [data-seen] .seal { animation: nc-seal-draw 1.3s ease-in-out forwards; }
  @keyframes nc-seal-draw { to { stroke-dashoffset: 0; } }
  [data-seen] .seal.k2 { animation-delay: .4s; } [data-seen] .seal.k3 { animation-delay: .8s; } [data-seen] .seal.k4 { animation-delay: 1.2s; }

  /* 18 · faq bubbles (loop) + accordion plus→minus */
  .qbub { animation: nc-qbub 7s ease-in-out infinite; opacity: 0; }
  @keyframes nc-qbub { 0% { opacity: 0; transform: translateY(16px); } 18% { opacity: 1; } 72% { opacity: 1; transform: translateY(-10px); } 100% { opacity: 0; transform: translateY(-22px); } }
  .q-mark { animation: nc-q-mark 7s ease infinite; }
  @keyframes nc-q-mark { 0%, 48% { opacity: 1; } 54%, 88% { opacity: 0; } 94%, 100% { opacity: 1; } }
  .a-mark { fill: none; stroke: #7CFFB2; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; animation: nc-a-mark 7s ease infinite; }
  @keyframes nc-a-mark { 0%, 50% { stroke-dashoffset: 1; opacity: 0; } 52% { opacity: 1; } 60% { stroke-dashoffset: 0; } 86% { stroke-dashoffset: 0; opacity: 1; } 92%, 100% { opacity: 0; } }
  .plusbar { transform-origin: center; transition: transform .32s ease; }
  .plusbar.open { transform: scaleY(0.06); }

  /* 19 · contact callback (loops) */
  .ring { transform-origin: center; animation: m-pulse 2.4s ease-out infinite; opacity: 0; }
  .ring.g2 { animation-delay: .8s; } .ring.g3 { animation-delay: 1.6s; }
  .send-dot { transform-box: view-box; offset-path: path('M96 120 C 200 40, 380 40, 496 104'); offset-rotate: 0deg; animation: nc-send-dot 7s ease-in-out infinite; }
  @keyframes nc-send-dot { 0%, 6% { offset-distance: 0%; opacity: 0; } 12% { opacity: 1; } 42% { offset-distance: 100%; opacity: 1; } 48%, 100% { offset-distance: 100%; opacity: 0; } }
  .phone-wig { transform-origin: center; animation: nc-phone-wig 7s ease infinite; }
  @keyframes nc-phone-wig { 0%, 44% { transform: rotate(0); } 47% { transform: rotate(-9deg); } 50% { transform: rotate(8deg); } 53% { transform: rotate(-6deg); } 56% { transform: rotate(0); } 100% { transform: rotate(0); } }
  .hour-lbl { animation: nc-hour-lbl 7s ease infinite; opacity: 0; }
  @keyframes nc-hour-lbl { 0%, 48% { opacity: 0; } 56% { opacity: 1; } 90% { opacity: 1; } 97%, 100% { opacity: 0; } }

  @media (max-width: 760px) { [data-nc="fog"] { display: none !important; } }

  /* 20 · technology page */
  .tx-dot { offset-rotate: 0deg; transform-box: view-box; animation: nc-tx-dot 6s cubic-bezier(.45,.05,.55,.95) infinite; opacity: 0; }
  .tx-dot.d2 { animation-delay: 2s; } .tx-dot.d3 { animation-delay: 4s; } .tx-dot.d4 { animation-delay: 1.2s; } .tx-dot.d5 { animation-delay: 3.2s; }
  @keyframes nc-tx-dot { 0% { offset-distance: 0%; opacity: 0; } 8% { opacity: 1; } 86% { offset-distance: 100%; opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
  .tx-ping { transform-origin: center; animation: m-pulse 6s ease-out infinite; opacity: 0; animation-delay: 2.4s; }
  .tx-ret { stroke-dasharray: 4 7; animation: nc-dash 10s linear infinite; }
  .tl-line { transform-origin: top; transform: scaleY(0); }
  [data-seen] .tl-line { animation: nc-tl-grow 2.4s cubic-bezier(.4,0,.2,1) forwards; }
  @keyframes nc-tl-grow { to { transform: scaleY(1); } }
  .tl-dot { opacity: 0.35; }
  [data-seen] .tl-dot { opacity: 1; animation: nc-tl-glow 6.4s ease-in-out infinite; }
  @keyframes nc-tl-glow {
    0%, 12.5%, 100% { background: #ffffff; box-shadow: 0 0 0 0 rgba(9,39,235,0); }
    4% { background: #0927eb; box-shadow: 0 0 0 7px rgba(9,39,235,0.16), 0 0 14px 2px rgba(24,147,248,0.55); }
    9% { background: #ffffff; box-shadow: 0 0 0 0 rgba(9,39,235,0); }
  }
  [data-seen] .tl-dot.t2 { animation-delay: .8s; } [data-seen] .tl-dot.t3 { animation-delay: 1.6s; } [data-seen] .tl-dot.t4 { animation-delay: 2.4s; }
  [data-seen] .tl-dot.t5 { animation-delay: 3.2s; } [data-seen] .tl-dot.t6 { animation-delay: 4s; } [data-seen] .tl-dot.t7 { animation-delay: 4.8s; } [data-seen] .tl-dot.t8 { animation-delay: 5.6s; }
  .gbar { transform-origin: left; transform: scaleX(0); }
  [data-seen] .gbar { animation: nc-gbar 1s cubic-bezier(.2,.7,.3,1) forwards; }
  @keyframes nc-gbar { to { transform: scaleX(1); } }
  [data-seen] .gbar.g2 { animation-delay: .15s; } [data-seen] .gbar.g3 { animation-delay: .3s; } [data-seen] .gbar.g4 { animation-delay: .45s; } [data-seen] .gbar.g5 { animation-delay: .6s; }
  .gfade { opacity: 0; }
  [data-seen] .gfade { animation: nc-gfade .7s ease .9s forwards; }
  @keyframes nc-gfade { to { opacity: 1; } }
  .hfu { opacity: 0; transform: translateY(5px); animation: nc-hfu .55s ease forwards; }
  @keyframes nc-hfu { to { opacity: 1; transform: none; } }
  .hsb { transform-origin: left; transform: scaleX(0); animation: nc-hsb .9s cubic-bezier(.2,.7,.3,1) forwards; }
  @keyframes nc-hsb { to { transform: scaleX(1); } }
  .hscan { animation: nc-hscan 10s cubic-bezier(.45,.05,.55,.95) infinite; }
  @keyframes nc-hscan { 0% { top: 8%; } 6% { top: 8%; } 62% { top: 88%; } 70% { top: 88%; } 100% { top: 8%; } }
  @media (max-width: 1080px) { [data-nc="techviz"] { display: none !important; } [data-nc="tl-loopsvg"] { display: none !important; } }
  .calcfill { transition: width .5s cubic-bezier(.2,.7,.3,1); }
  @media (prefers-reduced-motion: reduce) { .calcfill { transition: none; } }

  @keyframes nc-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
  @keyframes nc-breathe { 0%, 100% { transform: scale(0.97); opacity: 0.6; } 50% { transform: scale(1.03); opacity: 1; } }
  [data-nc="navlink"], [data-nc="navphone"], .btn { white-space: nowrap; }
  [data-nc="navlink"], [data-nc="navcta"] a, [data-nc="drawer"] a, .btn { font-family: var(--font-body) !important; font-weight: 600 !important; letter-spacing: 0.06em !important; }
  [data-nc="navlink"] { font-size: 15px !important; }
  .btn { font-size: 15px !important; }
  @media (max-width: 1220px) {
    [data-nc="navrow"] { gap: 20px !important; }
    [data-nc="navlinks"] { gap: 0 !important; }
    [data-nc="navlink"] { padding-left: 9px !important; padding-right: 9px !important; font-size: 14px !important; }
    [data-nc="navphone"] { display: none; }
    [data-nc="navcta"] { padding-left: 16px !important; border-left: 0 !important; }
  }
  [data-nc="menubtn"] { display: none; }
  @media (max-width: 1000px) {
    [data-nc="navlinks"] { display: none !important; }
    [data-nc="menubtn"] { display: grid !important; }
  }
  @media (min-width: 1001px) {
    [data-nc="drawer"] { display: none !important; }
  }
  @media (max-width: 1080px) {
    [data-nc="bar"] { grid-template-columns: 1fr 1fr !important; }
    [data-nc="g2"], [data-nc="g3"] { grid-template-columns: 1fr !important; }
    [data-nc="g4"] { grid-template-columns: 1fr 1fr !important; }
    [data-nc="g4"] > div { border-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
    [data-nc="g4"] > div > span:first-child { left: 0 !important; }
    [data-nc="g4"] > div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,0.28); margin-top: 30px; }
    [data-nc="g6"] { grid-template-columns: repeat(3, 1fr) !important; }
    [data-nc~="statrail"] { grid-template-columns: 1fr 1fr 1fr !important; }
    [data-nc~="statrail"] > div { border-right: 0 !important; padding: 0 !important; }
    [data-nc="grid4"] { grid-template-columns: 1fr 1fr !important; }
    [data-nc~="grid3"] { grid-template-columns: 1fr 1fr !important; }
    [data-nc="footer"] { grid-template-columns: 1fr 1fr !important; }
    [data-nc="split"] { grid-template-columns: 1fr !important; }
    [data-nc~="grid3"] > div, [data-nc="grid4"] > div { border-right: 0 !important; }
    [data-nc~="grid3"] > div:nth-child(3):last-child { grid-column: span 2; }
    [data-nc~="steps"] > div { padding-left: 0 !important; padding-right: 0 !important; border-top: 1px solid rgba(255,255,255,0.16); }
    [data-nc~="steps"] { column-gap: 36px !important; }
    [data-nc="navcta"] { gap: 26px !important; }
    h1 { font-size: 50px !important; }
  }
  @media (max-width: 1080px) {
    [data-nc="cvwrap"] { grid-template-columns: 1fr !important; }
    [data-nc="cvwrap"] > div:last-child { display: none !important; }
    [data-nc="cvwrap"] [data-cv-rail] > div:nth-child(-n+2) { right: 0 !important; }
    [data-nc="pgstage"] .pgv-co { display: none !important; }
  }
  @media (max-width: 760px) {
    [data-nc="bar"] { grid-template-columns: 1fr !important; }
    [data-nc="chrome"] > div:nth-child(n+7) { display: none !important; }
    [data-nc="cvwrap"] [data-cv-rail] > div:last-child { grid-template-columns: repeat(5, 1fr) !important; gap: 4px !important; }
    [data-nc="cvwrap"] [data-cv-rail] > div:last-child > div > div:first-child { width: 44px !important; height: 44px !important; }
    [data-nc="cvwrap"] [data-cv-rail] > div:last-child > div > span { font-size: 9px !important; letter-spacing: 0.08em !important; }
    [data-nc="cvwrap"] [data-cv-rail] > div:nth-child(-n+2) { top: 22px !important; }
    [data-nc="pgstage"] { height: 560px !important; }
    [data-nc="pgstage"] .pgv-bdg > div > div:first-child { width: 96px !important; height: 96px !important; }
    [data-nc="g4"] { grid-template-columns: 1fr !important; }
    [data-nc="g6"] { grid-template-columns: 1fr 1fr !important; }
    [data-nc~="statrail"] { grid-template-columns: 1fr 1fr !important; }
    [data-nc="grid4"], [data-nc~="grid3"], [data-nc="footer"] { grid-template-columns: 1fr !important; }
    h1 { font-size: 38px !important; }
    h2 { font-size: 34px !important; }
  }
