/* ============================================================
   Self-hosted webfonts — Cormorant Garamond + Inter (SIL OFL 1.1).
   Served from this origin on purpose: no request ever leaves the
   visitor's browser for a font, so no third party sees their IP.
   Latin + Latin-Extended subsets only. Do not replace with a CDN link.
   ============================================================ */
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/CormorantGaramond-latin-ext-italic.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/CormorantGaramond-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(fonts/CormorantGaramond-latin-ext-italic.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;src:url(fonts/CormorantGaramond-latin-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/CormorantGaramond-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/CormorantGaramond-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/CormorantGaramond-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/CormorantGaramond-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/Inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/Inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ============================================================
   Armada — marketing site design system
   Deep-water navy, two-tier gold, borderless rounded glass.
   Cormorant Garamond display · Inter text · mono metadata.
   ============================================================ */

:root{
  --bg:#080D16;
  --bg-deep:#060A12;
  --bg-raise:#0A101C;
  --panel:rgba(255,255,255,.04);
  --panel-2:rgba(10,15,26,.55);
  --line:rgba(255,255,255,.07);
  --line-soft:rgba(255,255,255,.05);
  --t-hi:rgba(255,255,255,.93);
  --t-mid:rgba(255,255,255,.55);
  /* Was .34, which measured 3.05:1 against the page background — below the
     WCAG AA 4.5:1 floor for body text. This tier carries the footer liability
     disclaimer and the contact form's privacy notice, both of which are weaker
     in law if they are not legible. .47 clears 4.5:1 on every surface here and
     stays visibly dimmer than --t-mid, so the hierarchy is unchanged. */
  --t-low:rgba(255,255,255,.47);
  --gold:#C89A4A;          /* brand — buttons, eyebrows, accents */
  --gold-display:#D9B579;  /* display — big numbers, italic words */
  --gold-deep:#A67C2E;
  --gold-tint:rgba(200,154,74,.10);
  --signal:#B5333A;
  --risk:#D96C66;
  --pass:#5FBF9A;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter','Segoe UI',system-ui,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --r-sm:8px; --r-md:14px; --r-lg:20px;
  --ease:cubic-bezier(.22,.9,.28,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--bg);color:var(--t-mid);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:var(--gold);color:var(--bg)}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
svg{display:block}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:var(--bg-deep)}
::-webkit-scrollbar-thumb{background:#1d2938;border:3px solid var(--bg-deep);border-radius:8px}

/* ---------- shared primitives ---------- */
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.section{padding:110px 0;position:relative}
.section.alt{background:var(--bg-raise)}
.section>.wrap{position:relative;z-index:1}

.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:20px}
.eyebrow.center{text-align:center}

.h2{font-family:var(--serif);font-weight:500;font-size:clamp(36px,4.6vw,54px);line-height:1.08;color:var(--t-hi);letter-spacing:.005em;margin-bottom:22px}
.h2 em,h1 em{font-style:italic;font-weight:500;color:var(--gold-display)}
.lede{max-width:620px;font-size:17px}

.glass{background:var(--panel);border-radius:var(--r-md);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.glow{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0}

/* ---------- nav ---------- */
nav.site{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(8,13,22,.6);transition:background .3s,box-shadow .3s}
nav.site.solid{background:rgba(6,10,18,.88);box-shadow:0 1px 0 var(--line-soft)}
.nav-in{max-width:1160px;margin:0 auto;padding:0 28px;height:64px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px}
.brand .word{font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.3em;color:var(--t-hi)}
.links{display:flex;align-items:center;gap:32px;font-size:13.5px;font-weight:500}
.links a{color:var(--t-mid);transition:color .2s}
.links a:hover,.links a[aria-current="page"]{color:var(--t-hi)}

.btn{display:inline-block;padding:11px 24px;border:0;border-radius:var(--r-sm);background:var(--gold);color:#0A0F1A;font-size:13.5px;font-weight:600;letter-spacing:.01em;transition:background .2s,transform .2s,box-shadow .25s;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:var(--gold-display);transform:translateY(-1px);box-shadow:0 10px 34px rgba(200,154,74,.28)}
.btn.ghost{background:rgba(255,255,255,.07);color:var(--t-hi)}
.btn.ghost:hover{background:rgba(255,255,255,.12);box-shadow:none}
.btn.nav-cta{padding:9px 18px;font-size:13px}

#burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
#burger span{display:block;width:22px;height:2px;background:var(--t-hi);margin:5px 0;transition:transform .25s,opacity .25s}
#mobile{display:none;position:fixed;inset:64px 0 auto 0;background:rgba(6,10,18,.97);border-bottom:1px solid var(--line-soft);z-index:49;padding:22px 28px 30px;flex-direction:column;gap:20px;font-size:16px}
#mobile a{color:var(--t-hi)}
/* `#mobile a` out-specifies `.btn`, which left the gold CTA in the mobile menu
   rendering near-white on gold at 2.42:1. Restore the button's dark ink. */
#mobile a.btn{color:#0A0F1A}
body.menu-open #mobile{display:flex}
body.menu-open #burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open #burger span:nth-child(2){opacity:0}
body.menu-open #burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- atmosphere ---------- */
.atmos{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.atmos .grid{position:absolute;inset:0;
  background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 20%,transparent 72%);
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 20%,transparent 72%)}
.atmos .aur{position:absolute;border-radius:50%;filter:blur(110px)}
.atmos .aur.a{width:760px;height:760px;top:-320px;left:50%;transform:translateX(-50%);background:radial-gradient(circle,rgba(200,154,74,.13),transparent 65%);animation:breathe 11s ease-in-out infinite}
.atmos .aur.b{width:640px;height:640px;top:6%;left:-280px;background:radial-gradient(circle,rgba(27,44,74,.55),transparent 65%)}
.atmos .aur.c{width:640px;height:640px;top:14%;right:-280px;background:radial-gradient(circle,rgba(27,44,74,.45),transparent 65%)}
@keyframes breathe{0%,100%{opacity:.75}50%{opacity:1}}
.rings{position:absolute;left:50%;transform:translateX(-50%);width:1200px;height:1200px;opacity:.4;animation:spin 180s linear infinite}
@keyframes spin{to{transform:translateX(-50%) rotate(360deg)}}

/* ---------- home hero ---------- */
header.hero{position:relative;padding:190px 0 0;overflow:hidden;text-align:center;
  background:linear-gradient(180deg,var(--bg-deep),var(--bg) 60%)}
.status{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--t-mid);background:rgba(255,255,255,.05);padding:8px 18px;border-radius:999px;margin-bottom:34px}
.status .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}
header.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(52px,7.4vw,96px);line-height:1.02;color:var(--t-hi);margin:0 auto 26px;max-width:980px;position:relative;z-index:1}
.hero-sub{font-size:17.5px;max-width:560px;margin:0 auto 40px;position:relative;z-index:1}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:center;position:relative;z-index:1}
.ghost-link{font-size:14px;font-weight:500;color:var(--t-mid);transition:color .2s}
.ghost-link:hover{color:var(--t-hi)}

/* ---------- hero console shot ---------- */
.shot-zone{position:relative;z-index:1;margin-top:84px;padding-bottom:110px}
.shot-zone::before{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;
  background:linear-gradient(180deg,transparent,rgba(200,154,74,.05) 45%,transparent);pointer-events:none}
.shot{position:relative;border-radius:var(--r-lg);background:rgba(10,16,28,.85);
  box-shadow:0 60px 140px rgba(0,0,0,.6),0 0 0 1px var(--line-soft),inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;text-align:left;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.shot-chrome{display:flex;align-items:center;gap:16px;padding:13px 20px;border-bottom:1px solid var(--line-soft);background:rgba(255,255,255,.02)}
.shot-dots{display:flex;gap:7px}
.shot-dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.12)}
.shot-url{flex:1;max-width:340px;margin:0 auto;font-family:var(--mono);font-size:11px;color:var(--t-low);background:rgba(255,255,255,.04);border-radius:6px;padding:5px 14px;text-align:center;letter-spacing:.04em}
.shot-body{display:grid;grid-template-columns:1.5fr 1fr;gap:0}
.shot-main{padding:26px 26px 28px;border-right:1px solid var(--line-soft)}
.shot-side{padding:26px 24px;background:rgba(255,255,255,.015)}
.shot-cap{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--t-low);margin-bottom:16px}

/* ---------- attestation card ---------- */
.cert{position:relative;overflow:hidden}
.beam{position:absolute;left:0;right:0;height:56px;top:0;background:linear-gradient(180deg,transparent,rgba(200,154,74,.10),transparent);opacity:0;pointer-events:none;z-index:1}
.beam.on{animation:beam 1.9s linear infinite;opacity:1}
@keyframes beam{from{transform:translateY(60px)}to{transform:translateY(230px)}}
.cert-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;position:relative;z-index:2}
.cert-title{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--gold-display);letter-spacing:.06em}
.cert-phase{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--gold);text-transform:uppercase;min-width:92px;text-align:right}
.cert-sub{font-size:11.5px;color:var(--t-low);margin-bottom:18px;position:relative;z-index:2}
.tele{font-family:var(--mono);font-size:12px;line-height:2.2;min-height:112px;position:relative;z-index:2}
.tele .row{display:flex;justify-content:space-between;gap:14px;opacity:0;transform:translateY(3px);transition:opacity .4s,transform .4s}
.tele .row.on{opacity:1;transform:none}
.tele .row.purge{opacity:.16;text-decoration:line-through;text-decoration-color:var(--signal)}
.tele .k{color:var(--t-mid)}
.tele .v{color:var(--t-low)}
.tele .v.pass{color:var(--pass)}
.tele .v.partial{color:var(--gold)}
.cert-meter{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;color:var(--t-low);border-top:1px solid var(--line-soft);padding-top:13px;margin-top:13px;letter-spacing:.05em;position:relative;z-index:2}
#bytes{color:var(--gold);transition:color .4s}
#bytes.zero{color:var(--pass)}
.cert-sig{margin-top:12px;font-family:var(--mono);font-size:10.5px;line-height:1.9;color:var(--t-low);word-break:break-all;position:relative;z-index:2}
.cert-sig b{color:var(--t-mid);font-weight:500}
.cert-note{margin-top:14px;font-size:11px;color:var(--t-low);position:relative;z-index:2}

/* ---------- page hero (interior) ---------- */
.page-hero{padding:180px 0 80px;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--bg-deep),var(--bg) 70%)}
.page-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(42px,5.4vw,68px);line-height:1.05;color:var(--t-hi);margin-bottom:22px;max-width:840px}
.page-hero .lede{font-size:17.5px}

/* ---------- stat strip ---------- */
.figures{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.fig{padding:44px 28px;text-align:center;position:relative}
.fig + .fig::before{content:"";position:absolute;left:0;top:28%;bottom:28%;width:1px;background:var(--line-soft)}
.fig .n{font-family:var(--serif);font-weight:500;font-size:clamp(44px,4.8vw,62px);line-height:1;color:var(--gold-display)}
.fig .l{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--t-mid);margin-top:14px}
.fig .s{font-size:12.5px;color:var(--t-low);margin-top:6px}

/* ---------- comparison ledger ---------- */
.ledger{margin-top:56px;border-radius:var(--r-lg);overflow:hidden;background:var(--panel-2);box-shadow:0 0 0 1px var(--line-soft),0 30px 80px rgba(0,0,0,.35);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.lrow{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line-soft)}
.lrow:last-child{border-bottom:0}
.lrow.head{background:rgba(255,255,255,.03)}
.lcell{padding:24px 30px;font-size:14.5px;line-height:1.65}
.lcell:first-child{border-right:1px solid var(--line-soft);color:var(--t-low)}
.lcell:last-child{color:var(--t-mid)}
.lrow:not(.head) .lcell:first-child::before{content:"✕";color:var(--signal);opacity:.55;margin-right:12px;font-size:12px}
.lrow:not(.head) .lcell:last-child::before{content:"✓";color:var(--pass);margin-right:12px;font-size:12px}
.lrow.head .lcell{font-family:var(--serif);font-size:19px;font-weight:600;padding:18px 30px}
.lrow.head .lcell:first-child{color:var(--t-low)}
.lrow.head .lcell:last-child{color:var(--gold-display)}
.lcell b{color:var(--t-hi);font-weight:600}

/* ---------- method steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:60px}
.step{background:var(--panel);border-radius:var(--r-md);padding:36px 28px 34px;position:relative;overflow:hidden;
  transition:background .5s,opacity .6s,transform .6s;opacity:.3;transform:translateY(12px)}
.step::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);opacity:0;transition:opacity .5s}
.step.live{opacity:1;transform:none;background:rgba(255,255,255,.055)}
.step.live::before{opacity:1}
.step .num{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--gold-display);margin-bottom:16px}
.step h3{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--t-hi);margin-bottom:10px}
.step p{font-size:13.5px;line-height:1.75}
.step.destroy .num{color:var(--risk)}
.step.destroy::before{background:linear-gradient(90deg,var(--signal),transparent)}

/* ---------- numbered journey ---------- */
.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:64px}
.jstep{border-top:1px solid var(--line);padding-top:28px}
.jstep .jn{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--gold);margin-bottom:18px}
.jstep h3{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--t-hi);margin-bottom:12px}
.jstep p{font-size:14.5px}

/* ---------- feature cards ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:60px}
.feat-grid.four{grid-template-columns:repeat(4,1fr)}
.feat{padding:32px 28px;border-radius:var(--r-md);background:var(--panel);transition:background .3s,transform .35s var(--ease)}
.feat:hover{background:rgba(255,255,255,.065);transform:translateY(-4px)}
.feat .glyph{width:42px;height:42px;margin-bottom:22px;border-radius:10px;background:var(--gold-tint);display:grid;place-items:center}
.feat .glyph svg{width:22px;height:22px}
.feat h3{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--t-hi);margin-bottom:8px}
.feat p{font-size:13.5px;line-height:1.7}
.after-grid{margin-top:44px;text-align:center}
.after-grid .ghost-link{color:var(--gold)}
.after-grid .ghost-link:hover{color:var(--gold-display)}

/* ---------- console mock / tour ---------- */
.tour-tabs{display:inline-flex;gap:4px;flex-wrap:wrap;margin:52px 0 24px;padding:4px;background:rgba(255,255,255,.05);border-radius:10px}
.tab{padding:9px 20px;font-size:13px;font-weight:500;color:var(--t-mid);border:0;border-radius:7px;background:transparent;cursor:pointer;font-family:var(--sans);transition:all .2s}
.tab[aria-selected="true"]{color:var(--t-hi);background:rgba(255,255,255,.09)}
.tab:hover:not([aria-selected="true"]){color:var(--t-hi)}
.panel{display:none}
.panel.on{display:block;animation:panelin .4s ease}
@keyframes panelin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mock{padding:0;overflow:hidden;border-radius:var(--r-lg);background:var(--panel-2);box-shadow:0 0 0 1px var(--line-soft),0 40px 100px rgba(0,0,0,.45);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.mock-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line-soft);background:rgba(255,255,255,.02)}
.mock-brand{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;letter-spacing:.26em;font-size:11px;color:var(--t-hi)}
.sample-tag{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t-low);background:rgba(255,255,255,.05);border-radius:5px;padding:4px 10px}
.mock-body{padding:24px 22px 26px}
.frow{display:grid;grid-template-columns:1.4fr .55fr 1.1fr .8fr;gap:14px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line-soft);font-size:13.5px}
.frow.head{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t-low);border-bottom:1px solid var(--line)}
.frow .name{color:var(--t-hi);font-weight:500}
.frow .ind{color:var(--t-low);font-size:12px}
.scorebox{font-family:var(--serif);font-weight:600;font-size:21px;color:var(--t-hi)}
.riskbar{height:6px;display:flex;background:rgba(255,255,255,.08);overflow:hidden;border-radius:3px}
.riskbar i{display:block;height:100%}
.riskmeta{display:flex;gap:10px;margin-top:7px;font-family:var(--mono);font-size:10.5px;color:var(--t-low)}
.riskmeta .rh{color:var(--risk)} .riskmeta .rm{color:var(--gold)} .riskmeta .rs{color:var(--pass)}
.tier{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:4px 10px;border-radius:6px}
.tier.ready{color:var(--pass);background:rgba(95,191,154,.12)}
.tier.cond{color:var(--gold);background:rgba(200,154,74,.13)}
.tier.risk{color:#D96C66;background:rgba(181,51,58,.14)}
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.sim-left{padding:26px 24px;border-right:1px solid var(--line-soft)}
.sim-right{padding:26px 24px;display:flex;flex-direction:column;justify-content:center;gap:18px}
.toggle{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 2px;border-bottom:1px solid var(--line-soft)}
.toggle .t-label{font-size:14px;color:var(--t-hi);font-weight:500}
.toggle .t-sub{font-size:11.5px;color:var(--t-low);margin-top:2px}
.sw{position:relative;width:44px;height:24px;border-radius:999px;background:rgba(255,255,255,.12);border:0;cursor:pointer;flex:none;transition:background .25s;padding:0}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.55);transition:transform .25s,background .25s}
.sw[aria-checked="true"]{background:rgba(200,154,74,.55)}
.sw[aria-checked="true"]::after{transform:translateX(20px);background:var(--gold-display)}
.sim-score{font-family:var(--serif);font-weight:500;font-size:74px;line-height:1;color:var(--t-hi)}
.sim-caption{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--t-low)}
.sim-mkts{font-size:13.5px;color:var(--t-mid)}
.sim-mkts b{color:var(--gold-display);font-weight:600}
.att-body{padding:28px 24px;font-family:var(--mono);font-size:12.5px;line-height:2.1;color:var(--t-mid)}
.att-body .g{color:var(--gold-display)}
.att-body .p{color:var(--pass)}
.att-body .d{color:var(--t-low)}
.att-rows{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:10px 0;margin:12px 0}
.tour-note{margin-top:18px;font-size:12.5px;color:var(--t-low)}

/* ---------- integrations ---------- */
.int-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px}
.int{padding:28px 24px;border-radius:var(--r-md);background:var(--panel)}
.int .i-name{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--t-hi)}
.int .i-scope{font-size:12.5px;color:var(--t-low);margin-top:6px;line-height:1.6}
.int .i-state{display:inline-block;margin-top:16px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:5px 11px;border-radius:6px}
.int .i-state.live{color:var(--gold-display);background:var(--gold-tint)}
.int .i-state.road{color:var(--t-low);background:rgba(255,255,255,.05)}

/* ---------- trust ---------- */
.trust{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.trust-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.trust-item{display:flex;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}
.trust-item .tick{color:var(--gold-display);font-family:var(--serif);font-size:20px;line-height:1.4}
.trust-item h4{color:var(--t-hi);font-size:15px;font-weight:600;margin-bottom:5px}
.trust-item p{font-size:14px}

/* ---------- faq ---------- */
.faq{max-width:780px;margin:60px auto 0;border-top:1px solid var(--line)}
.q{border-bottom:1px solid var(--line)}
.q button{width:100%;background:none;border:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 4px;text-align:left;font-family:var(--serif);font-size:21px;font-weight:600;color:var(--t-hi)}
.q .plus{font-family:var(--serif);color:var(--gold-display);font-size:26px;transition:transform .3s;flex:none}
.q.open .plus{transform:rotate(45deg)}
.q .a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.q .a p{padding:0 4px 28px;font-size:15px;max-width:660px}

/* ---------- cta band ---------- */
.cta-band{padding:130px 0;text-align:center;position:relative;overflow:hidden;background:var(--bg-deep)}
.cta-band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 70% at 50% 115%,rgba(200,154,74,.14),transparent 70%)}
.cta-band::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line-soft)}
.cta-band .h2{margin-bottom:16px}
.cta-band p{max-width:540px;margin:0 auto 36px;font-size:16.5px}

/* ---------- contact / access form ---------- */
.access{padding:64px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;
  border-radius:var(--r-lg);background:var(--panel-2);box-shadow:0 0 0 1px var(--line-soft),0 40px 110px rgba(0,0,0,.45);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.access form{display:flex;flex-direction:column;gap:14px}
.access input{background:rgba(255,255,255,.05);border:1px solid transparent;border-radius:10px;color:var(--t-hi);padding:15px 18px;font-family:var(--sans);font-size:14.5px;transition:border-color .2s,background .2s}
.access input::placeholder{color:var(--t-low)}
.access input:focus{outline:none;border-color:rgba(200,154,74,.5);background:rgba(255,255,255,.07)}
/* `.access input:focus{outline:none}` above out-specifies the global
   :focus-visible rule, which left the only form on the site with no keyboard
   focus ring. Put it back for keyboard users without showing it on mouse click. */
.access input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.form-note{font-size:12px;color:var(--t-low)}
/* Point-of-collection notice. Deliberately --t-mid, not --t-low: a privacy
   disclosure has to be conspicuous to do its job. */
.form-privacy{font-size:12px;line-height:1.65;color:var(--t-mid);margin:2px 0 0}
.form-privacy a{color:var(--gold-display);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.form-privacy a:hover{color:var(--gold)}

/* Honeypot — off-screen rather than display:none, so a bot parsing the DOM
   still finds it and fills it in. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Visually hidden, still read aloud. Used for form labels. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.direct-line{margin-top:26px;font-size:14px;color:var(--t-low)}
.direct-line a{color:var(--gold-display)}
.direct-line a:hover{color:var(--gold)}

/* ---------- footer ---------- */
footer.site{border-top:1px solid var(--line-soft);padding:70px 0 44px;font-size:13.5px;color:var(--t-low);background:var(--bg-deep)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:52px}
.foot-brand p{margin-top:16px;max-width:300px;line-height:1.7}
.foot-col .fh{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--t-low);margin-bottom:16px;font-weight:600}
.foot-col a{display:block;color:var(--t-mid);padding:5px 0;transition:color .2s}
.foot-col a:hover{color:var(--t-hi)}
.foot-links{border-top:1px solid var(--line-soft);padding-top:24px;margin-bottom:22px;
  display:flex;flex-wrap:wrap;gap:10px 28px;font-size:12.5px}
.foot-links a{color:var(--t-mid);transition:color .2s}
.foot-links a:hover{color:var(--gold-display)}
.foot-legal{padding-top:0;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12.5px;line-height:1.7}
.foot-legal .fine{max-width:640px}

/* Keyboard-only escape hatch past the nav. Visible the moment it is focused —
   never display:none, which would hide it from screen readers too. */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;
  padding:12px 20px;border-radius:0 0 var(--r-sm) 0;
  background:var(--gold);color:#0A0F1A;font-size:13.5px;font-weight:600;font-family:var(--sans)}
.skip-link:focus{left:0}

/* ---------- motion helpers (used by motion.js) ---------- */
.wl{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .04em .09em 0;margin-bottom:-.09em}
.w{display:inline-block;will-change:transform}
.sweep{position:absolute;left:50%;bottom:-640px;width:1200px;height:1200px;border-radius:50%;pointer-events:none;opacity:.85;
  background:conic-gradient(from 0deg,rgba(200,154,74,.12),transparent 45deg);
  -webkit-mask-image:radial-gradient(circle closest-side,transparent 40%,#000 48%,#000 86%,transparent 92%);
  mask-image:radial-gradient(circle closest-side,transparent 40%,#000 48%,#000 86%,transparent 92%);
  animation:sweep 7s linear infinite}
@keyframes sweep{from{transform:translateX(-50%) rotate(0deg)}to{transform:translateX(-50%) rotate(360deg)}}

.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;pointer-events:none;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.32),transparent);
  transform:skewX(-20deg);transition:left .55s ease}
.btn:hover::after{left:125%}

.feat,.int{position:relative;overflow:hidden}
.feat::after,.int::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .4s;pointer-events:none;
  background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.06),transparent 65%)}
.feat:hover::after,.int:hover::after{opacity:1}
.shot::after,.mock::after,.access::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .45s;pointer-events:none;border-radius:inherit;
  background:radial-gradient(520px circle at var(--mx,50%) var(--my,50%),rgba(200,154,74,.05),transparent 70%)}
.shot:hover::after,.mock:hover::after,.access:hover::after{opacity:1}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}

/* ---------- responsive ---------- */
@media(max-width:960px){
  .links,.nav-cta{display:none}
  #burger{display:block}
  .steps{grid-template-columns:1fr 1fr}
  .feat-grid,.feat-grid.four{grid-template-columns:1fr 1fr}
  .figures{grid-template-columns:1fr 1fr}
  .fig + .fig::before{display:none}
  .int-grid{grid-template-columns:1fr 1fr}
  .journey{grid-template-columns:1fr;gap:36px}
  .trust{grid-template-columns:1fr;gap:44px}
  .access{grid-template-columns:1fr;padding:44px 30px}
  .sim-grid,.shot-body{grid-template-columns:1fr}
  .sim-left,.shot-main{border-right:0;border-bottom:1px solid var(--line-soft)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .section{padding:84px 0}
  header.hero{padding:140px 0 0}
  .page-hero{padding:130px 0 56px}
  .steps,.feat-grid,.feat-grid.four,.int-grid,.figures{grid-template-columns:1fr}
  .frow{grid-template-columns:1.4fr .6fr 1fr;font-size:12.5px}
  .frow .riskcell{display:none}
  .lrow{grid-template-columns:1fr}
  .lcell:first-child{border-right:0;border-bottom:1px dashed var(--line)}
  .shot-zone{margin-top:60px;padding-bottom:80px}
  .foot-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv,.step{opacity:1;transform:none;transition:none}
  .status .dot,.beam,.rings,.atmos .aur.a{animation:none}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ---------- legal documents ---------- */
/* Long-form scope for privacy.html, terms.html, acceptable-use.html.
   Everything here is namespaced under .legal-doc so it can't leak into
   the marketing pages. */
.legal-doc{max-width:74ch;font-size:15.5px;line-height:1.8;color:var(--t-mid)}
.legal-doc [id]{scroll-margin-top:96px}   /* fixed nav is 64px tall */

/* draft notice / prominent callout */
.legal-warning{margin:0 0 40px;padding:24px 28px;border-radius:var(--r-md);
  background:rgba(200,154,74,.07);border-left:3px solid var(--gold)}
.legal-warning .lw-title{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:10px}
.legal-warning p{margin:0;color:var(--t-hi);font-size:15.5px;line-height:1.75}
.legal-warning p + p{margin-top:12px}

/* last updated / version / status */
.legal-meta{margin:0 0 44px;padding:18px 22px;border-radius:var(--r-md);background:var(--panel);
  font-family:var(--mono);font-size:12px;line-height:1.85;color:var(--t-low)}
.legal-meta p{margin:0}
.legal-meta p + p{margin-top:6px}
.legal-meta b{display:inline-block;min-width:104px;margin-right:10px;font-size:10px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* table of contents */
.legal-toc{margin:0 0 56px;padding:28px 32px;border-radius:var(--r-md);
  background:var(--panel-2);box-shadow:0 0 0 1px var(--line-soft)}
.legal-doc .legal-toc .toc-title{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin:0 0 16px;padding:0;border:0;line-height:1.6}
.legal-toc ul{list-style:none;margin:0;padding:0}
.legal-toc li{margin:0}
.legal-doc .legal-toc a{display:block;padding:4px 0;font-size:13.5px;line-height:1.55;color:var(--t-mid);
  text-decoration:none;transition:color .2s}
.legal-doc .legal-toc a:hover{color:var(--gold-display)}
.legal-toc li.toc-part{margin-top:16px}
.legal-toc li.toc-part:first-child{margin-top:0}
.legal-toc li.toc-part > a{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--t-hi);padding-bottom:6px}
.legal-toc li.toc-part > a:hover{color:var(--gold-display)}
.legal-toc ul ul{margin:0 0 4px;padding-left:16px;border-left:1px solid var(--line-soft)}

/* headings */
.legal-doc h2{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2.7vw,30px);line-height:1.25;
  letter-spacing:.005em;color:var(--gold-display);margin:56px 0 18px;padding-top:30px;border-top:1px solid var(--line)}
.legal-doc h2.legal-part{font-size:clamp(28px,3.4vw,38px);color:var(--t-hi);
  margin-top:80px;padding-top:40px;border-top:1px solid rgba(200,154,74,.4)}
.legal-doc h3{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.01em;
  color:var(--t-hi);margin:32px 0 10px}

/* body copy */
.legal-doc p{margin:0 0 18px}
.legal-doc > p:last-child{margin-bottom:0}
.legal-doc strong{color:var(--t-hi);font-weight:600}
.legal-doc em{font-style:italic;color:var(--t-low)}
.legal-doc a{color:var(--gold-display);text-decoration:underline;text-decoration-thickness:1px;
  text-decoration-color:rgba(217,181,121,.38);text-underline-offset:3px;transition:color .2s}
.legal-doc a:hover{color:var(--gold)}

/* lists */
.legal-doc ul{list-style:disc;margin:0 0 20px;padding-left:24px}
.legal-doc ol{list-style:decimal;margin:0 0 20px;padding-left:26px}
.legal-doc li{margin-bottom:10px;padding-left:4px}
.legal-doc li:last-child{margin-bottom:0}
.legal-doc li::marker{color:var(--gold)}
.legal-doc li > ul,.legal-doc li > ol{margin:10px 0 0}

/* inline code / literal identifiers */
.legal-doc code{font-family:var(--mono);font-size:.86em;color:var(--gold-display);
  background:rgba(255,255,255,.05);border-radius:5px;padding:2px 6px;word-break:break-word}

/* pull-quote style callout inside a section */
.legal-doc blockquote{margin:0 0 26px;padding:20px 24px;border-radius:var(--r-md);
  background:rgba(255,255,255,.03);border-left:3px solid var(--line);color:var(--t-mid)}
.legal-doc blockquote p{margin:0}
.legal-doc blockquote p + p{margin-top:12px}
.legal-doc blockquote strong{color:var(--gold-display)}

/* unresolved drafting placeholder — must stay visible, never silently dropped */
.legal-placeholder{font-family:var(--mono);font-size:.82em;font-weight:600;letter-spacing:.1em;
  color:var(--gold);background:var(--gold-tint);border-radius:5px;padding:3px 9px;white-space:nowrap}

/* tables — wrapped in an overflow-x container so they scroll on mobile */
.legal-table{overflow-x:auto;margin:0 0 26px;border-radius:var(--r-md);
  background:var(--panel-2);box-shadow:0 0 0 1px var(--line-soft)}
.legal-doc table{width:100%;min-width:520px;border-collapse:collapse;font-size:13.5px;line-height:1.65}
.legal-doc th,.legal-doc td{text-align:left;vertical-align:top;padding:15px 18px;border-bottom:1px solid var(--line-soft)}
.legal-doc thead th,.legal-doc thead td{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--t-low);background:rgba(255,255,255,.03);border-bottom:1px solid var(--line)}
.legal-doc tbody th{color:var(--t-hi);font-weight:600}
.legal-doc tbody tr:last-child th,.legal-doc tbody tr:last-child td{border-bottom:0}
.legal-doc td strong,.legal-doc th strong{color:var(--t-hi)}

@media(max-width:600px){
  .legal-doc{font-size:15px}
  .legal-warning{padding:20px 20px}
  .legal-warning p{font-size:15px}
  .legal-meta{padding:16px 18px}
  .legal-meta b{display:block;min-width:0;margin:0 0 2px}
  .legal-toc{padding:22px 20px}
  .legal-doc h2{margin-top:44px;padding-top:26px}
  .legal-doc h2.legal-part{margin-top:56px;padding-top:32px}
  .legal-doc ul{padding-left:20px}
  .legal-doc ol{padding-left:22px}
  .legal-doc blockquote{padding:18px 18px}
  .legal-doc th,.legal-doc td{padding:13px 14px}
}
