@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap');
:root{
  --bg:#0a0f1e; --surface:#111827; --border:rgba(255,255,255,.06);
  --cyan:#00f5ff; --violet:#7c3aed; --danger:#ff4560; --amber:#f59e0b;
  --green:#10b981; --text:#e2e8f0; --muted:#94a3b8;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,sans-serif;line-height:1.5;}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.label{font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace;letter-spacing:.12em;margin-bottom:10px;}
.section-head .label{font-size:14px;letter-spacing:.18em;color:#c2ccda;margin-bottom:14px;}
.grad{background:linear-gradient(90deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;}
.chip{display:inline-block;background:rgba(0,245,255,.06);border:1px solid rgba(0,245,255,.22);color:var(--cyan);font-family:'JetBrains Mono',monospace;font-size:11px;padding:5px 14px;border-radius:4px;letter-spacing:.14em;}
.btn-primary{background:var(--cyan);color:#04080f;border:none;border-radius:9px;padding:13px 26px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;}
.btn-primary:hover{filter:brightness(1.08);}
.btn-primary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text);border-radius:9px;padding:13px 26px;font-size:15px;cursor:pointer;font-family:inherit;}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);}
.btn-ghost:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:flex-start;}
@media(max-width:900px){.grid-3{grid-template-columns:1fr;}.two-col{grid-template-columns:1fr;}}
@media(max-width:620px){.grid-2{grid-template-columns:1fr;}}
/* Safari renders its own disclosure triangle unless the marker is killed
   explicitly; the FAQ already does this, and the compliance table needs it too. */
details > summary::-webkit-details-marker{display:none;}
details[open] > summary .mono{transform:rotate(45deg);display:inline-block;}
section{padding:80px 24px;scroll-margin-top:64px;}
.section-head{text-align:center;margin-bottom:48px;}
.section-head h2{font-size:clamp(26px,4vw,38px);font-weight:700;color:var(--text);line-height:1.15;}
.section-sub{color:var(--muted);font-size:15px;line-height:1.7;max-width:600px;margin:12px auto 0;}
body>nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(10,15,30,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
nav .inner{max-width:1120px;margin:0 auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;}
nav .links{display:flex;gap:22px;font-size:14px;color:#aab6c6;align-items:center;}
nav .links a{text-decoration:none;color:#aab6c6;}
nav .links a:hover{color:var(--cyan);}
nav .links a.nav-cta{background:var(--cyan);color:#04080f;padding:8px 16px;border-radius:8px;font-weight:700;letter-spacing:.01em;line-height:1;}
nav .links a.nav-cta:hover{color:#04080f;background:#4df3ff;}
/* Brand lockup. The mark ships as a transparent PNG keyed off the original
   flat #0a0f1e artboard, so it sits cleanly on the translucent nav instead of
   showing a slightly-darker opaque square when a tinted section scrolls under. */
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0;}
.brand img{display:block;height:32px;width:32px;}
.brand .wordmark{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;letter-spacing:.09em;color:var(--text);}
.brand:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:4px;}
@media(max-width:860px){.brand img{height:27px;width:27px;}.brand .wordmark{font-size:12px;}}
/* The wordmark used to be hidden below 420px to buy room for eight nav links.
   With six it fits, and the name is worth more than the extra gap. */
/* Nav links overflow a phone viewport — let them scroll horizontally rather
   than spill off-screen. Every link stays reachable, no hamburger needed. */
@media(max-width:860px){
  nav .inner{gap:14px;}
  nav .links{gap:15px;font-size:12px;flex:1;justify-content:flex-end;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;}
  nav .links::-webkit-scrollbar{display:none;}
  nav .links a{white-space:nowrap;}
}
.hero{min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 24px 70px;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;top:22%;left:50%;transform:translateX(-50%);width:700px;height:400px;background:radial-gradient(ellipse,rgba(124,58,237,.13) 0%,transparent 68%);pointer-events:none;}
/* Hero lockup: mark + wordmark. Sized down and dropped entirely on short
   viewports so it never pushes the CTAs below the fold on a laptop — brand
   recall is not worth a buried "Request access" button.
   The negative right margin cancels the trailing letter-space, which would
   otherwise throw the lockup a few pixels off true centre. */
.hero-lockup{position:relative;display:flex;align-items:center;gap:15px;margin-bottom:24px;}
.hero-lockup img{width:64px;height:64px;display:block;flex-shrink:0;}
.hero-lockup .wm{font-family:'JetBrains Mono',monospace;font-size:clamp(23px,5.2vw,33px);
                 font-weight:700;letter-spacing:.15em;color:var(--text);line-height:1;margin-right:-.15em;}
@media(max-height:780px){.hero-lockup{margin-bottom:16px;gap:12px;}.hero-lockup img{width:50px;height:50px;}}
@media(max-height:650px){.hero-lockup{display:none;}}
.hero h1{font-size:clamp(38px,7.5vw,66px);font-weight:800;line-height:1.08;letter-spacing:-.025em;margin:28px 0 22px;position:relative;}
.hero p.lead{font-size:17px;color:var(--muted);line-height:1.72;max-width:620px;margin:0 auto 36px;position:relative;}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;position:relative;}
.pill{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:999px;padding:5px 14px;font-size:12px;color:var(--muted);display:inline-block;}

/* Sized-problem band */
.problem{background:rgba(124,58,237,.05);border-top:1px solid rgba(124,58,237,.14);border-bottom:1px solid rgba(124,58,237,.14);}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px;}
@media(max-width:760px){.stat-row{grid-template-columns:1fr;}}
.stat{text-align:center;padding:20px 16px;}
.stat b{display:block;font-family:'JetBrains Mono',monospace;font-size:clamp(28px,5vw,40px);font-weight:700;color:var(--text);line-height:1.15;margin-bottom:8px;}
.stat b.hl{color:var(--cyan);}
.stat span{font-size:13px;color:var(--muted);line-height:1.6;display:block;}
/* Citations. Inline URLs cluttered the argument and pulled the eye away from
   the claim; the marker keeps the provenance visible without breaking the
   sentence, and the full reference lives in #references above the footer. */
.ref-mark{font-family:'JetBrains Mono',monospace;font-size:10px;vertical-align:super;
          color:var(--cyan);text-decoration:none;padding:0 1px;letter-spacing:0;}
.ref-mark:hover{text-decoration:underline;}
.ref-mark:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:2px;}
.ref-list{list-style:none;max-width:820px;margin:0 auto;counter-reset:refc;}
.ref-list li{counter-increment:refc;display:flex;gap:14px;align-items:flex-start;
             padding:14px 0;border-bottom:1px solid var(--border);}
.ref-list li:last-child{border-bottom:none;}
.ref-list li::before{content:"[" counter(refc) "]";font-family:'JetBrains Mono',monospace;
                     font-size:11px;color:var(--cyan);flex-shrink:0;min-width:28px;margin-top:2px;}
.ref-list .src{font-size:13px;color:var(--text);line-height:1.6;display:block;margin-bottom:3px;}
.ref-list .note{font-size:12.5px;color:var(--muted);line-height:1.65;display:block;margin-bottom:5px;}
.ref-list a{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:rgba(148,163,184,0.9);
            word-break:break-all;line-height:1.5;}
.ref-list a:hover{color:var(--cyan);}
:target .src{color:var(--cyan);}

/* Regulator quote block */
.quote{border-left:2px solid var(--violet);padding:2px 0 2px 20px;margin:22px 0;}
.quote p{font-size:15.5px;color:var(--text);line-height:1.7;font-style:italic;}
.quote cite{display:block;margin-top:10px;font-size:11.5px;color:var(--muted);font-family:'JetBrains Mono',monospace;font-style:normal;letter-spacing:.04em;}

.demo-preset{background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 14px;font-size:12px;cursor:pointer;font-family:inherit;}
#calcMode .demo-preset{font-size:14px;padding:10px 24px;font-weight:600;}
.demo-preset.active,.demo-preset:hover{border-color:var(--cyan);color:var(--cyan);}
.demo-preset:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}
.demo-textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:12px 14px;color:var(--text);font-size:14px;font-family:'JetBrains Mono',monospace;resize:vertical;outline:none;}
.demo-textarea:focus{border-color:var(--cyan);}
.check-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;}
.check-row .dot{width:20px;height:20px;border-radius:50%;flex-shrink:0;color:#04080f;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;margin-top:1px;}
.check-row .area{font-size:13px;font-weight:600;color:var(--text);}
.check-row .note{font-size:12px;color:var(--muted);margin-top:1px;}
.faq-item{border-bottom:1px solid var(--border);padding:18px 0;}
.faq-item summary{font-size:15px;font-weight:600;color:var(--text);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--cyan);font-weight:400;flex-shrink:0;}
.faq-item[open] summary::after{content:"\2013";}
.faq-item p{font-size:13.5px;color:var(--muted);line-height:1.75;margin-top:10px;max-width:760px;}
table.compliance{width:100%;border-collapse:collapse;font-size:13px;min-width:640px;}
table.compliance th{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.08em;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);}
table.compliance td{padding:12px;border-bottom:1px solid var(--border);color:var(--muted);vertical-align:top;line-height:1.6;}
table.compliance td:first-child{color:var(--text);font-weight:600;}
.rec-row{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--border);}
.rec-row:last-child{border-bottom:none;}
.rec-row .k{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--violet);flex-shrink:0;min-width:76px;margin-top:3px;letter-spacing:.07em;}
.rec-row .v b{display:block;font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:3px;}
.rec-row .v span{font-size:12.5px;color:var(--muted);line-height:1.6;}
.rep-stat{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:8px;padding:11px 13px;}
.rep-stat b{display:block;font-family:'JetBrains Mono',monospace;font-size:18px;color:var(--text);font-weight:700;line-height:1.3;}
.rep-stat span{font-size:10.5px;color:var(--muted);}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
@media(max-width:520px){.grid-4{grid-template-columns:repeat(2,1fr);}}
.fmt{display:inline-flex;align-items:center;gap:6px;background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.28);color:#a78bfa;font-family:'JetBrains Mono',monospace;font-size:11px;padding:4px 10px;border-radius:4px;}
.rep-period{background:rgba(255,255,255,.04);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:5px 13px;font-size:11.5px;cursor:pointer;font-family:'JetBrains Mono',monospace;transition:all .2s ease;}
.rep-period.active,.rep-period:hover{background:rgba(124,58,237,.14);border-color:var(--violet);color:#c4b5fd;}
.rep-period:focus-visible{outline:2px solid var(--violet);outline-offset:2px;}
.spinner-v{width:40px;height:40px;border:3px solid rgba(124,58,237,.15);border-top-color:var(--violet);border-radius:50%;animation:spin .8s linear infinite;}
.tick{display:flex;gap:9px;align-items:flex-start;margin-bottom:9px;font-size:12.5px;color:var(--muted);line-height:1.6;}
.tick i{color:var(--violet);font-style:normal;font-size:11px;margin-top:2px;flex-shrink:0;}
.btn-report{width:100%;background:linear-gradient(90deg,var(--violet),#a855f7);color:#fff;border:none;border-radius:9px;padding:14px 22px;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:9px;transition:filter .2s ease;}
.btn-report:hover{filter:brightness(1.12);}
.btn-report:disabled{opacity:.6;cursor:wait;}
.btn-report:focus-visible{outline:2px solid var(--violet);outline-offset:3px;}

/* Cost calculator. Every assumption is an input the visitor can overwrite —
   the persuasive move is that the desk head types in their own desk and the
   number becomes theirs, not a claim we made. */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;}
@media(max-width:620px){.calc-grid{grid-template-columns:1fr;}}
.calc-field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;line-height:1.45;}
.calc-field .row{display:flex;align-items:center;gap:8px;}
.calc-field .pre{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--muted);}
.calc-field input{width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.12);
                  border-radius:8px;padding:9px 11px;color:var(--text);font-size:14px;
                  font-family:'JetBrains Mono',monospace;outline:none;-moz-appearance:textfield;}
.calc-field input:focus{border-color:var(--cyan);}
.calc-field input::-webkit-outer-spin-button,.calc-field input::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;}
.calc-out{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
          padding:11px 0;border-bottom:1px solid var(--border);}
.calc-out .k{font-size:13px;color:var(--muted);line-height:1.5;}
.calc-out .k i{display:block;font-style:normal;font-size:11px;color:rgba(148,163,184,0.85);
               font-family:'JetBrains Mono',monospace;margin-top:2px;}
.calc-out .v{font-family:'JetBrains Mono',monospace;font-size:15px;color:var(--text);
             font-weight:600;white-space:nowrap;}
.calc-out .pct{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);
               min-width:38px;text-align:right;}
.calc-total{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:18px 0 4px;}
.calc-total .k{font-size:14px;font-weight:600;color:var(--text);}
.calc-total .v{font-family:'JetBrains Mono',monospace;font-size:clamp(24px,4.5vw,32px);
               font-weight:700;color:var(--cyan);white-space:nowrap;}
.calc-kicker{background:rgba(0,245,255,.05);border:1px solid rgba(0,245,255,.2);border-radius:9px;
             padding:15px 17px;margin-top:18px;font-size:13.5px;color:var(--text);line-height:1.7;}

/* Founder note. Deliberately plainer than the rest of the page — larger type,
   looser leading, left-aligned, no grid — so it reads as a person talking
   rather than as one more marketing panel. */
.founder p{font-size:15px;color:var(--muted);line-height:1.85;margin-bottom:16px;}
.founder p.pull{font-size:17px;color:var(--text);font-weight:600;line-height:1.6;
                border-left:2px solid var(--cyan);padding-left:18px;margin:26px 0;}
.founder p:last-of-type{margin-bottom:0;}
.byline{display:flex;align-items:center;gap:15px;margin-top:30px;padding-top:24px;border-top:1px solid var(--border);}
.byline .avatar{width:54px;height:54px;border-radius:50%;flex-shrink:0;object-fit:cover;
                background:rgba(0,245,255,.07);border:1px solid rgba(0,245,255,.25);
                display:flex;align-items:center;justify-content:center;
                font-family:'JetBrains Mono',monospace;font-size:17px;font-weight:700;color:var(--cyan);}
.byline .who{font-size:14.5px;font-weight:600;color:var(--text);line-height:1.45;}
.byline .role{font-size:12.5px;color:var(--muted);font-family:'JetBrains Mono',monospace;letter-spacing:.03em;}

/* Pricing */
.price-card{padding:28px 26px;border-top:2px solid var(--cyan);}
.price-card h3{font-size:17px;font-weight:700;margin-bottom:6px;}
.price-card .amt{font-family:'JetBrains Mono',monospace;font-size:26px;font-weight:700;color:var(--text);margin:14px 0 4px;}
.price-card .per{font-size:12px;color:var(--muted);margin-bottom:18px;}
.price-card ul{list-style:none;}
.price-card li{font-size:13px;color:var(--muted);line-height:1.6;padding:7px 0;display:flex;gap:9px;align-items:flex-start;}
.price-card li::before{content:"\2713";color:var(--cyan);flex-shrink:0;font-size:12px;margin-top:2px;}

/* Social. Inline SVG rather than an icon font or a CDN sprite — two icons is
   not worth a network request, and currentColor lets them inherit the hover
   state for free. */
.social{display:flex;gap:9px;align-items:center;}
.social a{display:flex;align-items:center;justify-content:center;width:33px;height:33px;
          border:1px solid var(--border);border-radius:7px;color:var(--muted);
          transition:border-color .2s ease,color .2s ease;}
.social a:hover{border-color:var(--cyan);color:var(--cyan);}
.social a:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}
.social svg{width:15px;height:15px;fill:currentColor;display:block;}
footer{padding:36px 24px;border-top:1px solid var(--border);}
.footer-links{display:flex;gap:24px;font-size:13px;color:var(--muted);flex-wrap:wrap;align-items:center;}
.footer-links a{text-decoration:none;color:var(--muted);}
.footer-links a:hover{color:var(--cyan);}
.spinner{width:48px;height:48px;position:relative;margin:0 auto;}
.spinner::before{content:"";position:absolute;inset:0;border:3px solid rgba(0,245,255,.12);border-radius:50%;}
.spinner::after{content:"";position:absolute;inset:0;border:3px solid transparent;border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.status-circle{width:56px;height:56px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;border:2px solid;}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
.hero-sub{font-size:clamp(19px,2.7vw,26px);color:var(--text);line-height:1.4;max-width:660px;margin:22px auto 34px;position:relative;font-weight:500;letter-spacing:-.01em;}
.fit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.fit-step{padding:22px 20px;border-top:2px solid var(--border);}
.fit-step .fit-k{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:12px;}
.fit-step h3{font-size:17px;font-weight:700;margin-bottom:9px;line-height:1.1;}
.fit-step p{font-size:12.5px;color:var(--muted);line-height:1.7;}
@media(max-width:820px){.fit-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:460px){.fit-grid{grid-template-columns:1fr;}}
/* Wordmark uses the real NEITH lettering (three-bar E), not a web font.
   Selectors out-specify the brand-mark img sizing so the mark rules don't hit it. */
.brand img.wordmark-img{height:14px;width:auto;}
.hero-lockup img.wm-img{height:clamp(21px,4.8vw,30px);width:auto;}
@media(max-width:860px){.brand img.wordmark-img{height:12px;}}
@media(max-height:780px){.hero-lockup img.wm-img{height:23px;}}
.nf{--d:3.6s;display:flex;align-items:flex-start;justify-content:center;max-width:780px;margin:16px auto 0;position:relative;}
  .nf-node{display:flex;flex-direction:column;align-items:center;gap:15px;flex:0 0 auto;}
  .nf-box{position:relative;width:104px;height:104px;border-radius:20px;border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;justify-content:center;}
  .nf-cap{position:relative;height:17px;min-width:104px;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.1em;color:#c2cbd8;text-transform:uppercase;text-align:center;line-height:17px;}
  .nf-neith .nf-box{border-color:rgba(0,245,255,.32);background:linear-gradient(180deg,rgba(0,245,255,.05),var(--surface));animation:nf-pulse var(--d) ease-in-out infinite;}
  .nf-mkt .nf-box{animation:nf-pulse-mkt var(--d) ease-in-out infinite;animation-delay:calc(var(--d) / -2);}
  .nf-mark{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:700;letter-spacing:.14em;color:var(--cyan);}
  .nf-wire{position:relative;flex:1 1 64px;min-width:32px;height:2px;background:var(--border);margin:52px 10px 0;align-self:flex-start;}
  .nf-dot{position:absolute;top:50%;left:0;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 11px 3px rgba(0,245,255,.85);transform:translate(-50%,-50%);animation:nf-run var(--d) linear infinite;}
  .nf-w2 .nf-dot{animation-delay:calc(var(--d) / -2);}
  .nf-ico{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;}
  .nf-ico svg{width:44px;height:44px;stroke:var(--cyan);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
  .nf-mkt .nf-box svg{width:44px;height:44px;stroke:var(--muted);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
  .nf-neith .nf-box svg{width:46px;height:46px;stroke:var(--cyan);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
  .nf-src .nf-cap span{position:absolute;left:0;right:0;opacity:0;}
  .nf-h{animation:nf-swap calc(var(--d) * 2) ease-in-out infinite;}
  .nf-a{animation:nf-swap calc(var(--d) * 2) ease-in-out infinite;animation-delay:var(--d);}
  .nf-verdict{position:absolute;top:-27px;left:50%;transform:translateX(-50%);white-space:nowrap;font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:.06em;color:var(--green);opacity:0;animation:nf-flash var(--d) ease-in-out infinite;}
  @keyframes nf-run{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
  @keyframes nf-pulse{0%,100%{box-shadow:0 0 20px 1px rgba(0,245,255,.4);border-color:rgba(0,245,255,.6)}46%,60%{box-shadow:0 0 0 0 rgba(0,245,255,0);border-color:var(--border)}}
  @keyframes nf-pulse-mkt{0%,100%{box-shadow:0 0 20px 1px rgba(16,185,129,.42);border-color:rgba(16,185,129,.55)}46%,60%{box-shadow:0 0 0 0 rgba(16,185,129,0);border-color:var(--border)}}
  @keyframes nf-swap{0%,42%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}
  @keyframes nf-flash{0%,7%{opacity:1}22%{opacity:0}85%{opacity:0}95%,100%{opacity:1}}
  @media(max-width:520px){.nf{max-width:360px}.nf-box{width:76px;height:76px;border-radius:16px}.nf-ico svg,.nf-mkt .nf-box svg{width:34px;height:34px}.nf-cap{font-size:10px;min-width:76px}.nf-wire{flex-basis:20px;min-width:18px;margin-top:38px}.nf-verdict{font-size:10px;top:-22px}}
  @media(prefers-reduced-motion:reduce){.nf-dot{display:none}.nf-neith .nf-box{animation:none;border-color:rgba(0,245,255,.5)}.nf-mkt .nf-box{animation:none}.nf-h{opacity:1;animation:none}.nf-a{opacity:0;animation:none}.nf-verdict{opacity:0}}
.arch-in{font-family:'JetBrains Mono',monospace;font-size:12px;color:#c2ccda;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:8px;padding:9px 14px;white-space:nowrap;}
  .arch-step{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--text);background:rgba(0,245,255,.07);border:1px solid rgba(0,245,255,.25);border-radius:7px;padding:8px 13px;font-weight:600;white-space:nowrap;}
  .arch-sep{color:var(--muted);font-size:15px;display:flex;align-items:center;}
  .arch-out{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:8px;padding:9px 14px;white-space:nowrap;}
  .arch-arrow{text-align:center;color:var(--cyan);font-size:20px;margin:14px 0;line-height:1;}
  .arch-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:26px;max-width:960px;margin-left:auto;margin-right:auto;}
  @media(max-width:820px){.arch-steps{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:460px){.arch-steps{grid-template-columns:1fr;}}

/* ── multi-page additions ─────────────────────────────────────────────── */
nav .links a.active{color:var(--cyan);}
.page-hero{padding:132px 24px 44px;text-align:center;border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.page-hero::before{content:"";position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:640px;height:320px;background:radial-gradient(ellipse,rgba(124,58,237,.12) 0%,transparent 68%);pointer-events:none;}
.page-hero .label{display:block;}
.page-hero h1{font-size:clamp(30px,5vw,46px);font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:8px 0 16px;position:relative;}
.page-hero p{color:var(--muted);font-size:16px;line-height:1.72;max-width:640px;margin:0 auto;position:relative;}
.pre-cta .wrap{max-width:640px;}
.footer-nav a{text-decoration:none;color:var(--muted);font-size:13.5px;line-height:1;}
.footer-nav a:hover{color:var(--cyan);}
.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:820px){.quad{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.quad{grid-template-columns:1fr;}}
.cmp-row{display:flex;gap:10px;align-items:flex-start;padding:9px 0;font-size:13.5px;line-height:1.6;color:var(--text);}
.cmp-row .ic{flex-shrink:0;font-weight:800;font-size:13px;margin-top:2px;}
.cmp-no .ic{color:var(--danger);}
.cmp-yes .ic{color:var(--green);}
.cmp-row.lead{padding:13px 14px;margin-bottom:10px;border-radius:9px;font-size:14.5px;font-weight:600;}
.cmp-no.lead{background:rgba(255,69,96,.09);border:1px solid rgba(255,69,96,.24);}
.cmp-yes.lead{background:rgba(16,185,129,.09);border:1px solid rgba(16,185,129,.24);}
