/* ==========================================================================
   A8 Core -- base.css
   --------------------------------------------------------------------------
   MIGRATED VERBATIM from the WordPress Customizer (Appearance > Additional
   CSS), which stored it as custom_css post 128 and inlined all 77,199
   characters into the <head> of every page.

   Delivered by mu-plugins/a8core-base.php, which prints the <link> from
   wp_head at priority 100 -- immediately before priority 101, the slot core
   used for the Customizer CSS. That keeps this file EARLIER in the cascade
   than uploads/a8core.css, which is linked from post_content (the body).
   Do not append these rules to a8core.css instead: that would make them win
   ties they currently lose.

   Everything below the end of this comment is byte-identical to post 128 as
   exported on 2026-07-27. Pass 17 asserts that.

   AUTHORITY: uploads/a8core.css is the current design system. 2,519 of this
   file's 2,642 declarations are already duplicated there with identical
   values; 78 differ and a8core.css deliberately wins those. Only 16 selectors
   exist here and nowhere else -- the /glossary/ alphabet tabs (.nat-tabs,
   .natgroups, .natgrp, .gterm) and section.cta-band. Consolidate here, not in
   a new layer.
   ========================================================================== */
/* ====================================================================
   A8 Core™ — COMPLETE Additional CSS  (design system + navigation fix)
   --------------------------------------------------------------------
   PASTE THIS ENTIRE FILE into  Appearance → Customize → Additional CSS,
   REPLACING everything currently there, then Publish.
   Part A is the full site design system (was accidentally overwritten);
   Part B is the navigation alignment / anchor-offset fix.
   ==================================================================== */

/* ============================  PART A — DESIGN SYSTEM  ============================ */

:root{--crit-bg:#2A1016;--warn-bg:#2E1C0E;
    --ink-950:#060E14;
    --ink-900:#0B1620;
    --ink-800:#12232E;
    --surface:#162A36;
    --surface-2:#1A303D66;
    --line:#1E3846;
    --line-soft:#172B36;
    --blue:#6FC3AE;
    --blue-bright:#8FD6C3;
    --blue-deep:#2F8B76;
    --mint:#34e0a6;
    --mint-dim:#1f8f6a;
    --txt:#e8eefb;
    --txt-2:#aebbd4;
    --txt-3:#8195B6;
    --white:#fff;

    --maxw:1200px;
    --gut:clamp(20px,5vw,68px);

    --disp:"Sora",system-ui,sans-serif;
    --body:"Inter",system-ui,-apple-system,sans-serif;
    --mono:"JetBrains Mono",ui-monospace,monospace;
  }
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--ink-900);color:var(--txt);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
svg{display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}
h1,h2,h3,h4{font-family:var(--disp);font-weight:600;line-height:1.08;letter-spacing:-.02em;margin:0;}
h2{font-size:clamp(1.8rem,3.7vw,2.8rem);}
h3{font-size:1.18rem;letter-spacing:-.01em;}
p{margin:0;}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);}
.mono{font-family:var(--mono);}
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--body);font-weight:600;font-size:.92rem;padding:.82em 1.4em;border-radius:7px;border:1px solid transparent;cursor:pointer;transition:transform .15s,background .2s,border-color .2s,color .2s;white-space:nowrap;}
.btn-pri{background:var(--blue);color:var(--ledger-950);}
.btn-pri:hover{background:var(--blue-bright);transform:translateY(-1px);}
.btn-ghost{border-color:var(--line);color:var(--txt);}
.btn-ghost:hover{border-color:var(--blue);color:#fff;}
.ribbon{background:var(--ink-950);border-bottom:1px solid var(--line-soft);font-family:var(--mono);font-size:.7rem;color:var(--txt-3);letter-spacing:.04em;}
.ribbon .wrap{display:flex;align-items:center;gap:.6em;height:34px;}
.dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(52,224,166,.6);animation:pulse 2.4s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,224,166,.5);}70%{box-shadow:0 0 0 7px rgba(52,224,166,0);}100%{box-shadow:0 0 0 0 rgba(52,224,166,0);}}
.ribbon b{color:var(--txt-2);font-weight:500;}
.ribbon .sep{color:var(--line);}
header.nav{position:sticky;top:0;z-index:60;background:rgba(11,22,32,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px;}
.brand{display:flex;align-items:center;gap:.65em;}
.brand-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(150deg,#12232E,#060E14);border:1px solid #1E3846;display:grid;place-items:center;}
.brand-mark svg{width:23px;height:23px;}
.brand-logo{height:44px;width:auto;display:block;}
.brand-txt{font-family:var(--disp);font-weight:700;font-size:.96rem;color:#fff;letter-spacing:-.01em;}
.brand-txt small{display:block;font-family:var(--mono);font-weight:400;font-size:.6rem;letter-spacing:.16em;color:var(--txt-3);text-transform:uppercase;margin-top:1px;}
.nav-links{display:flex;gap:1.9rem;}
.nav-links a{font-size:.88rem;font-weight:500;color:var(--txt-2);transition:color .15s;}
.nav-links a:hover{color:#fff;}
.nav-r{display:flex;align-items:center;gap:1.2rem;}
.nav-r a.txtlink{font-size:.88rem;font-weight:500;color:var(--txt-2);}
.nav-r a.txtlink:hover{color:#fff;}
.menu-btn{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px;}
.menu-btn span{width:22px;height:2px;background:#fff;display:block;}
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line-soft);
    background:
      radial-gradient(900px 480px at 84% -8%, rgba(111,195,174,.16), transparent 62%),
      radial-gradient(700px 420px at 6% 12%, rgba(52,224,166,.06), transparent 60%),
      var(--ink-900);}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:54px 54px;opacity:.32;mask-image:radial-gradient(circle at 70% 20%,#000,transparent 75%);}
.hero-in{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,60px);align-items:center;padding:clamp(56px,8vw,96px) 0 clamp(52px,7vw,84px);}
.tagchip{display:inline-flex;align-items:center;gap:.55em;border:1px solid var(--line);background:var(--surface-2);border-radius:100px;padding:.4em .9em .4em .65em;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--txt-2);}
.tagchip .mini{width:6px;height:6px;border-radius:50%;background:var(--mint);}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.05rem);font-weight:700;color:#fff;margin:1.1rem 0 1.1rem;max-width:15ch;}
.hero h1 .grad{background:linear-gradient(100deg,var(--blue-bright),var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-sub{font-size:clamp(1.02rem,1.25vw,1.16rem);color:var(--txt-2);max-width:50ch;}
.hero-cta{display:flex;gap:.85rem;margin-top:2rem;flex-wrap:wrap;}
.hero-meta{margin-top:1.5rem;font-family:var(--mono);font-size:.72rem;color:var(--txt-3);letter-spacing:.02em;}
.console{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--ink-800),var(--ink-950));box-shadow:0 30px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(111,195,174,.06);overflow:hidden;}
.console-bar{display:flex;align-items:center;gap:.5em;padding:11px 14px;border-bottom:1px solid var(--line-soft);background:var(--ledger-950);}
.tl{width:11px;height:11px;border-radius:50%;}
.tl.r{background:var(--crit);}
.tl.y{background:var(--pending);}
.tl.g{background:var(--ok);}
.console-title{margin-left:.6em;font-family:var(--mono);font-size:.7rem;color:var(--txt-3);letter-spacing:.04em;}
.console-title b{color:var(--txt-2);font-weight:500;}
.console-body{font-family:var(--mono);font-size:.78rem;line-height:1.75;padding:16px 16px 18px;min-height:330px;}
.cl{white-space:pre-wrap;word-break:break-word;}
.c-com{color:var(--txt-3);}
.c-verb{color:var(--blue-bright);font-weight:600;}
.c-path{color:var(--txt-2);}
.c-str{color:var(--txt);}
.c-ok{color:var(--mint);font-weight:600;}
.c-mut{color:var(--txt-3);}
.c-event{color:var(--mint);}
.caret{display:inline-block;width:8px;height:1.05em;background:var(--mint);vertical-align:-2px;margin-left:2px;animation:blink 1s step-end infinite;}
@keyframes blink{50%{opacity:0;}}
.proof{background:var(--ink-950);border-bottom:1px solid var(--line-soft);}
.proof-in{display:grid;grid-template-columns:repeat(4,1fr);}
.proof .it{padding:26px var(--gut);border-right:1px solid var(--line-soft);}
.proof .it:last-child{border-right:0;}
.proof .n{font-family:var(--disp);font-weight:700;font-size:1.55rem;color:#fff;letter-spacing:-.02em;}
.proof .n em{font-style:normal;color:var(--blue);}
.proof .l{font-size:.8rem;color:var(--txt-3);margin-top:5px;}
section{padding:clamp(60px,8.5vw,108px) 0;}
.head{max-width:64ch;}
.head h2{margin:.55em 0 .6em;color:#fff;}
.head .lead{color:var(--txt-2);font-size:1.08rem;}
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:50px;}
.pillar{border:1px solid var(--line-soft);border-radius:12px;background:var(--surface);padding:28px 26px;transition:border-color .2s,transform .18s;}
.pillar:hover{border-color:var(--blue);transform:translateY(-2px);}
.pillar .ic{width:38px;height:38px;border-radius:9px;background:rgba(111,195,174,.12);display:grid;place-items:center;color:var(--blue);margin-bottom:18px;}
.pillar .ic svg{width:20px;height:20px;}
.pillar h3{color:#fff;margin-bottom:.5em;}
.pillar p{color:var(--txt-2);font-size:.94rem;}
.acct{background:var(--ink-950);border-block:1px solid var(--line-soft);}
.acct-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:46px;}
.acard{border:1px solid var(--line-soft);border-radius:10px;background:var(--ink-900);padding:18px 16px;transition:border-color .2s,background .2s;}
.acard:hover{border-color:var(--blue);background:var(--surface);}
.acard .t{font-family:var(--disp);font-weight:600;font-size:.96rem;color:#fff;}
.acard .d{font-size:.74rem;color:var(--txt-3);margin-top:4px;}
.acct-cats .cat{padding:22px 20px;display:flex;flex-direction:column;}
.acct-cats .cat .t{font-size:1.02rem;margin-bottom:7px;line-height:1.2;}
.acct-cats .cat .d{font-size:.84rem;color:var(--txt-2);line-height:1.5;margin-top:0;}
.provider .grid2{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,64px);align-items:center;}
.ptree{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--surface),var(--ink-950));padding:24px;}
.ptier{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;}
.pnode{border:1px solid var(--line);border-radius:8px;padding:9px 13px;font-family:var(--mono);font-size:.74rem;color:var(--txt);background:var(--ink-800);text-align:center;}
.pnode.root{border-color:var(--blue);color:#fff;background:linear-gradient(180deg,rgba(111,195,174,.18),rgba(111,195,174,.04));}
.pnode.leaf{font-size:.68rem;color:var(--txt-2);}
.pnode .sub{display:block;font-size:.6rem;color:var(--txt-3);margin-top:2px;letter-spacing:.04em;}
.pconn{height:22px;width:1px;background:var(--line);margin:6px auto;}
.feat-list{list-style:none;padding:0;margin:1.5em 0 0;display:grid;gap:.85em;}
.feat-list li{display:flex;gap:.7em;color:var(--txt-2);font-size:.95rem;}
.feat-list li svg{flex:none;width:18px;height:18px;color:var(--mint);margin-top:3px;}
.dev{background:var(--ink-950);border-block:1px solid var(--line-soft);}
.ep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px;}
.ep{border:1px solid var(--line-soft);border-radius:11px;background:var(--ink-900);padding:22px 20px;}
.ep .k{font-family:var(--mono);font-size:.72rem;color:var(--blue);letter-spacing:.06em;text-transform:uppercase;}
.ep h3{color:#fff;font-size:1.04rem;margin:.5em 0 .45em;}
.ep p{color:var(--txt-2);font-size:.88rem;}
.ep .verb{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:.7rem;color:var(--mint);border:1px solid var(--line);border-radius:5px;padding:.2em .55em;}
.plug{display:flex;flex-wrap:wrap;gap:9px;margin-top:40px;align-items:center;}
.plug .lbl{font-family:var(--mono);font-size:.72rem;color:var(--txt-3);margin-right:.4em;}
.plug .chip{font-family:var(--mono);font-size:.76rem;color:var(--txt-2);border:1px solid var(--line);border-radius:6px;padding:.4em .8em;background:var(--ink-900);}
.sec{background:
      radial-gradient(700px 360px at 100% 0%, rgba(52,224,166,.07), transparent 60%),
      var(--ink-900);}
.sec .grid2{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(30px,5vw,68px);align-items:center;}
.sec h2{color:#fff;}
.sec .lead{color:var(--txt-2);font-size:1.06rem;margin-top:1em;}
.ctrls{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.ctrl{border:1px solid var(--line-soft);border-radius:10px;background:var(--surface);padding:18px 18px;}
.ctrl .k{font-family:var(--disp);font-weight:600;font-size:.96rem;color:#fff;}
.ctrl p{font-size:.82rem;color:var(--txt-3);margin-top:.45em;}
.compl{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
.compl .b{font-family:var(--mono);font-size:.72rem;color:var(--mint);border:1px solid var(--mint-dim);border-radius:5px;padding:.3em .65em;background:rgba(52,224,166,.05);}
.who{background:var(--ink-950);border-top:1px solid var(--line-soft);}
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px;}
.wcard{border:1px solid var(--line-soft);border-radius:11px;background:var(--ink-900);padding:22px 20px;transition:border-color .2s,transform .18s;}
.wcard:hover{border-color:var(--blue);transform:translateY(-2px);}
.wcard .n{font-family:var(--mono);font-size:.7rem;color:var(--txt-3);}
.wcard h3{color:#fff;font-size:1.02rem;margin:.4em 0 .4em;}
.wcard p{color:var(--txt-2);font-size:.86rem;}
.arch{border-block:1px solid var(--line-soft);
    background:
      radial-gradient(760px 380px at 0% 0%, rgba(111,195,174,.09), transparent 60%),
      radial-gradient(680px 360px at 100% 26%, rgba(52,224,166,.06), transparent 60%),
      var(--ink-950);}
.arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px;}
.acell{position:relative;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface);padding:24px 22px;transition:border-color .2s,transform .18s;}
.acell:hover{border-color:var(--blue);transform:translateY(-2px);}
.acell .ic{width:34px;height:34px;border-radius:8px;background:rgba(111,195,174,.12);display:grid;place-items:center;color:var(--blue);margin-bottom:14px;}
.acell .ic svg{width:18px;height:18px;}
.acell h3{color:#fff;font-size:1.02rem;margin-bottom:.5em;padding-right:64px;}
.acell p{color:var(--txt-2);font-size:.88rem;}
.acell .badge{position:absolute;top:22px;right:18px;font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);border:1px solid var(--mint-dim);border-radius:5px;padding:.22em .5em;background:rgba(52,224,166,.06);}
.achips{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px;}
.achips span{font-family:var(--mono);font-size:.68rem;color:var(--txt-2);border:1px solid var(--line);border-radius:5px;padding:.28em .55em;background:var(--ink-900);}
.arch-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;margin-top:16px;}
.arch-strip .s{background:var(--ink-900);padding:20px 22px;}
.arch-strip .s .n{font-family:var(--disp);font-weight:700;font-size:1.3rem;color:#fff;letter-spacing:-.02em;}
.arch-strip .s .n em{font-style:normal;color:var(--mint);}
.arch-strip .s .l{font-size:.76rem;color:var(--txt-3);margin-top:4px;}
.arch-foot{font-family:var(--mono);font-size:.71rem;color:var(--txt-3);text-align:center;margin-top:22px;letter-spacing:.02em;line-height:1.7;}
.arch-base{margin-top:42px;text-align:center;}
.lbl{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3);text-align:center;}
.stack-row{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:18px;}
.stack-row span{font-family:var(--mono);font-size:.82rem;color:var(--txt-2);}
.founder .grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,64px);align-items:center;}
.founder blockquote{font-family:var(--disp);font-weight:500;font-size:clamp(1.3rem,2.6vw,1.85rem);line-height:1.32;color:#fff;margin:0;max-width:24ch;letter-spacing:-.01em;}
.founder .who-l{font-family:var(--mono);font-size:.8rem;color:var(--txt-3);margin-top:1.5em;}
.founder .who-l b{display:block;color:#fff;font-family:var(--disp);font-weight:600;font-size:1rem;letter-spacing:-.01em;}
.ipcard{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--surface),var(--ink-950));padding:26px;}
.ipcard .eyebrow{margin-bottom:1.1em;display:block;}
.ipcard .row{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line-soft);}
.ipcard .row:first-of-type{border-top:0;}
.ipcard .row .k{color:var(--txt-2);font-size:.9rem;}
.ipcard .row .v{font-family:var(--mono);color:#fff;font-size:.9rem;}
.final{position:relative;overflow:hidden;text-align:center;border-top:1px solid var(--line-soft);
    background:radial-gradient(800px 420px at 50% 0%, rgba(111,195,174,.18), transparent 65%),var(--ink-950);}
.final h2{color:#fff;max-width:20ch;margin:.5em auto .6em;font-size:clamp(2rem,4.2vw,3.1rem);}
.final p{color:var(--txt-2);max-width:54ch;margin:0 auto;font-size:1.08rem;}
.final .hero-cta{justify-content:center;margin-top:2.2rem;}
footer.ft{background:var(--ink-950);border-top:1px solid var(--line-soft);padding:58px 0 30px;}
.ft-top{display:flex;justify-content:space-between;gap:44px;flex-wrap:wrap;}
.ft-cols{display:flex;gap:clamp(30px,5vw,72px);flex-wrap:wrap;}
.ft-col h4{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3);margin:0 0 1.1em;font-weight:500;}
.ft-col a{display:block;color:var(--txt-2);font-size:.88rem;margin-bottom:.65em;}
.ft-col a:hover{color:#fff;}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid var(--line-soft);font-size:.74rem;color:var(--txt-3);}
.ft-bottom a{color:var(--txt-2);}
.ft-bottom a:hover{color:#fff;}
.ft-social{display:flex;gap:1.1em;}
.rv{opacity:0;transform:translateY(15px);transition:opacity .6s,transform .6s;}
.rv.in{opacity:1;transform:none;}
@media (max-width:960px){
    .hero-in,.provider .grid2,.sec .grid2,.founder .grid2{grid-template-columns:1fr;}
    .console{order:2;}
    .pillars,.ctrls{grid-template-columns:1fr 1fr;}
    .ep-grid,.who-grid{grid-template-columns:1fr 1fr;}
    .acct-grid{grid-template-columns:repeat(3,1fr);}
    .arch-grid{grid-template-columns:1fr 1fr;}
    .arch-strip{grid-template-columns:1fr 1fr;}
    .proof-in{grid-template-columns:1fr 1fr;}
    .proof .it:nth-child(2){border-right:0;}
    .proof .it{border-bottom:1px solid var(--line-soft);}
  }
@media (max-width:760px){
    .nav-links,.nav-r a.txtlink{display:none;}
    .menu-btn{display:flex;}
    .nav-links.open{display:flex;position:absolute;top:66px;left:0;right:0;flex-direction:column;gap:1.1rem;background:var(--ink-950);padding:18px var(--gut);border-bottom:1px solid var(--line-soft);}
    .ribbon .hide-sm{display:none;}
  }
@media (max-width:560px){
    .pillars,.ctrls,.ep-grid,.who-grid{grid-template-columns:1fr;}
    .acct-grid{grid-template-columns:1fr 1fr;}
    .arch-grid{grid-template-columns:1fr;}
    .arch-strip{grid-template-columns:1fr;}
    .proof-in{grid-template-columns:1fr;}
    .proof .it{border-right:0;}
  }
@media (prefers-reduced-motion:reduce){
    .rv{opacity:1;transform:none;transition:none;}
    .dot,.caret{animation:none;}
    html{scroll-behavior:auto;}
  }
.caps{padding:clamp(56px,8vw,104px) 0;border-top:1px solid var(--line-soft);}
.caps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px;}
@media(max-width:920px){.caps-grid{grid-template-columns:1fr;}}
.cap{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:16px;padding:26px;transition:border-color .18s,transform .18s;}
.cap:hover{border-color:var(--card-line-hover);transform:translateY(-2px);}
.cap-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--ledger-800);border:1px solid var(--line);color:var(--blue);margin-bottom:15px;}
.cap h3{font-family:var(--disp);font-weight:600;font-size:1.1rem;margin:0 0 8px;letter-spacing:-.01em;}
.cap p{color:var(--txt-2);font-size:.95rem;line-height:1.62;margin:0;}
.nav-dd{position:relative;}
.nav-dd-t{background:none;border:0;color:var(--txt-2);font-family:var(--body);font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:0;}
.nav-dd:hover .nav-dd-t,.nav-dd-t:hover{color:var(--txt);}
.nav-dd-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(6px);min-width:222px;background:var(--ink-800);border:1px solid var(--line);border-radius:13px;padding:8px;display:flex;flex-direction:column;gap:1px;opacity:0;visibility:hidden;transition:.17s ease;box-shadow:0 26px 64px -32px #000;z-index:70;}
.nav-dd::after{content:"";position:absolute;top:100%;left:0;right:0;height:18px;}
.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav-dd-menu a{padding:9px 12px;border-radius:8px;color:var(--txt-2);font-size:.92rem;white-space:nowrap;}
.nav-dd-menu a:hover{background:var(--surface);color:var(--blue-bright);}
.ft-cols-5{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;}
@media(max-width:900px){.ft-cols-5{grid-template-columns:repeat(2,1fr);gap:26px 20px;}}
@media(max-width:760px){.nav-dd-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:6px 0 6px 12px;min-width:0;background:none;}.nav-dd-t{padding:8px 0;}}
main.pg{min-height:60vh;}
.page-hero{padding:clamp(50px,7vw,96px) 0 clamp(24px,3vw,40px);border-bottom:1px solid var(--line-soft);}
.page-hero.center{text-align:center;}
.page-hero .eyebrow{margin-bottom:14px;}
.page-hero h1{font-family:var(--disp);font-weight:700;font-size:clamp(2.1rem,4.6vw,3.3rem);letter-spacing:-.03em;line-height:1.05;margin:0 0 14px;}
.page-hero h1 .g{background:linear-gradient(100deg,var(--blue-bright),var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent;}
.page-hero .lede{font-size:clamp(1.04rem,1.7vw,1.2rem);color:var(--txt-2);max-width:66ch;}
.page-hero.center .lede{margin-inline:auto;}
.sec{padding:clamp(40px,6vw,76px) 0;}
.sec h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 8px;}
.sec .sec-sub{color:var(--txt-2);max-width:64ch;margin-bottom:34px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;align-items:start;}
@media(max-width:860px){.grid3{grid-template-columns:1fr;}.grid2{grid-template-columns:1fr;}}
.card{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:15px;padding:24px;transition:border-color .18s,transform .18s;}
.card:hover{border-color:var(--line);transform:translateY(-2px);}
.card .ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--ledger-800);border:1px solid var(--line);color:var(--blue);margin-bottom:14px;}
.card h3{font-size:1.08rem;margin:0 0 7px;}
.card p{color:var(--txt-2);font-size:.94rem;}
.card a.more{color:var(--blue-bright);font-size:.9rem;font-family:var(--mono);display:inline-block;margin-top:12px;}
.prose{max-width:760px;}
.prose h2{font-family:var(--disp);font-weight:600;font-size:1.4rem;margin:38px 0 12px;letter-spacing:-.01em;}
.prose h3{font-size:1.08rem;margin:26px 0 8px;color:var(--txt);}
.prose p,.prose li{color:var(--txt-2);font-size:.97rem;line-height:1.72;}
.prose p{margin:0 0 14px;}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px;}
.prose li{margin-bottom:7px;}
.prose a{color:var(--blue-bright);}
.prose strong{color:var(--txt);}
.prose .upd{font-family:var(--mono);font-size:.74rem;color:var(--txt-3);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;}
.toc{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:13px;padding:18px 20px;margin-bottom:30px;}
.toc h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);margin:0 0 10px;}
.toc a{display:block;color:var(--txt-2);font-size:.92rem;padding:3px 0;}
.toc a:hover{color:var(--blue-bright);}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;}
.pill{font-family:var(--mono);font-size:.7rem;color:var(--txt-2);background:var(--ledger-800);border:1px solid var(--line-soft);border-radius:999px;padding:5px 12px;}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:680px){.kpis{grid-template-columns:1fr;}}
.kpi{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;padding:24px;text-align:center;}
.kpi b{font-family:var(--disp);font-weight:700;font-size:2.2rem;color:var(--txt);display:block;letter-spacing:-.02em;}
.kpi span{color:var(--txt-3);font-size:.88rem;}
.cta-band{margin:0 0 0;padding:clamp(40px,6vw,72px) 0;background:linear-gradient(120deg,var(--ledger-800),#0B1620);border-top:1px solid var(--line);text-align:center;}
.cta-band h2{margin:0 0 12px;}
.cta-band p{color:var(--txt-2);margin:0 auto 22px;max-width:52ch;}
.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-ghost2{background:transparent;border:1px solid var(--line);color:var(--txt);}
.btn-ghost2:hover{border-color:var(--blue-deep);color:var(--blue-bright);}
.lead-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.lead-list li{display:flex;gap:12px;color:var(--txt-2);font-size:.96rem;}
.lead-list li svg{flex:0 0 auto;color:var(--mint);margin-top:2px;}
.sec .grid2{grid-template-columns:repeat(2,1fr);gap:20px;align-items:start;}
.sec .grid3{grid-template-columns:repeat(3,1fr);gap:20px;align-items:start;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr;}}
.card.post{display:flex;flex-direction:column;gap:9px;}
.card.post .tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);}
.card.post h3{font-size:1.12rem;margin:0;}
.card.post .meta{font-family:var(--mono);font-size:.72rem;color:var(--txt-3);margin-top:auto;}
.rtable{width:100%;border-collapse:collapse;font-size:.93rem;}
.rtable th,.rtable td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line-soft);color:var(--txt-2);}
.rtable th{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);}
.rtable td.mono{font-family:var(--mono);color:var(--txt);}
.sev{font-family:var(--mono);font-size:.74rem;padding:3px 9px;border-radius:999px;border:1px solid;}
.sev-critical{color:var(--crit);border-color:var(--crit-bg);background:#2a1018;}
.sev-high{color:#ffb37a;border-color:#5a3a1a;background:#2a1c0e;}
.sev-medium{color:var(--pending);border-color:#5a4f1a;background:#2a2510;}
.sev-low{color:#9fe0c0;border-color:#1f8f6a;background:#10301f;}
.roles{border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;}
.role{display:grid;grid-template-columns:160px 1fr 180px 30px;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line-soft);}
.role:last-child{border-bottom:0;}
.role:hover{background:var(--surface-2);}
.rteam{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);}
.rtitle{color:var(--txt);font-size:.98rem;}
.rloc{color:var(--txt-3);font-size:.86rem;}
.rgo{color:var(--mint);justify-self:end;}
@media(max-width:760px){.role{grid-template-columns:1fr;gap:4px;}.rgo{display:none;}}
.contact-grid .ccard{display:flex;flex-direction:column;gap:7px;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:15px;padding:24px;transition:.18s;}
.contact-grid .ccard:hover{border-color:var(--line);transform:translateY(-2px);}
.ccard .ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--ledger-800);border:1px solid var(--line);color:var(--blue);margin-bottom:8px;}
.ccard h3{font-size:1.06rem;margin:0;}
.ccard p{color:var(--txt-2);font-size:.92rem;}
.ccard .cl{font-family:var(--mono);font-size:.8rem;color:var(--blue-bright);margin-top:auto;padding-top:6px;}
.contact-row{display:grid;grid-template-columns:1.5fr .9fr;gap:30px;align-items:start;}
@media(max-width:860px){.contact-row{grid-template-columns:1fr;}}
.cform-wrap{background:linear-gradient(180deg,var(--ink-800),var(--ink-950));border:1px solid var(--line);border-radius:16px;padding:28px;}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.fg2{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.field label{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);}
.field .req{color:var(--mint);}
.field input,.field textarea{background:var(--ledger-950);border:1px solid var(--line);border-radius:9px;padding:12px 14px;color:var(--txt);font-family:var(--body);font-size:.98rem;resize:vertical;}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue-deep);box-shadow:0 0 0 3px #2F8B7633;}
.err{color:#ff9aa5;font-size:.86rem;min-height:1em;margin-bottom:8px;}
.meta-line{font-family:var(--mono);font-size:.72rem;color:var(--txt-3);margin-top:14px;}
.meta-line a{color:var(--blue);}
.csent{display:none;text-align:center;padding:20px 0;}
.csent .seal{width:56px;height:56px;border-radius:50%;background:#10301f;border:1px solid var(--mint-dim);color:var(--mint);display:grid;place-items:center;margin:0 auto 14px;}
.csent h3{margin:0 0 6px;}
.csent p{color:var(--txt-2);}
.cinfo{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:16px;padding:24px;}
.cinfo .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);margin:16px 0 6px;}
.cinfo .k:first-child{margin-top:0;}
.cinfo p{color:var(--txt-2);font-size:.94rem;line-height:1.7;margin:0;}
.cinfo a{color:var(--blue-bright);}
.legal-layout{display:grid;grid-template-columns:230px 1fr;gap:40px;align-items:start;}
@media(max-width:860px){.legal-layout{grid-template-columns:1fr;}.legal-layout .toc{position:static;}}
.legal-layout .toc{position:sticky;top:20px;}
.demo-hero{padding:clamp(56px,8vw,104px) 0 30px;}
.demo-hero .eyebrow{margin-bottom:16px;}
.demo-hero h1{font-family:var(--disp);font-weight:700;font-size:clamp(2.3rem,5.2vw,3.7rem);letter-spacing:-.03em;line-height:1.04;margin:0 0 18px;}
.demo-hero h1 .g{background:linear-gradient(100deg,var(--blue-bright),var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent;}
.demo-hero .lede{font-size:clamp(1.05rem,1.7vw,1.22rem);color:var(--txt-2);max-width:60ch;}
.demo-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:34px;align-items:start;padding-bottom:90px;}
@media(max-width:920px){.demo-grid{grid-template-columns:1fr;}}
.sched-card{background:linear-gradient(180deg,var(--ink-800),var(--ink-950));border:1px solid var(--line);border-radius:18px;padding:8px;overflow:hidden;box-shadow:0 30px 80px -40px #000;}
.sched-card .calendly-inline-widget{min-width:320px;height:680px;border-radius:12px;overflow:hidden;}
.cal-fallback{height:680px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;color:var(--txt-2);border-radius:12px;background:radial-gradient(120% 90% at 50% 0,#16203455,transparent);}
.cal-fallback .ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--ledger-800);border:1px solid var(--line);color:var(--blue);}
.cal-fallback b{color:var(--txt);font-family:var(--disp);font-weight:600;font-size:1.1rem;}
.cal-note{font-family:var(--mono);font-size:.72rem;color:var(--txt-3);text-align:center;padding:10px 6px 4px;}
.aside h3{font-family:var(--disp);font-weight:600;font-size:1.15rem;margin:0 0 14px;}
.xp{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:14px;}
.xp li{display:flex;gap:12px;align-items:flex-start;color:var(--txt-2);font-size:.97rem;}
.xp li svg{flex:0 0 auto;margin-top:2px;color:var(--mint);}
.aside-card{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;padding:20px 20px 18px;}
.aside-card .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);margin-bottom:10px;}
.aside-card a.line{display:block;color:var(--txt);font-size:.96rem;padding:5px 0;border-bottom:1px solid var(--line-soft);}
.aside-card a.line:last-child{border-bottom:0;}
.aside-card a.line:hover{color:var(--blue-bright);}
.trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;}
.chip{font-family:var(--mono);font-size:.68rem;color:var(--txt-2);background:var(--ledger-800);border:1px solid var(--line-soft);border-radius:999px;padding:5px 11px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.aznav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:30px;position:sticky;top:0;background:var(--ink-900);padding:10px 0;z-index:5;}
.aznav a{font-family:var(--mono);font-size:.8rem;color:var(--txt-2);background:var(--ledger-800);border:1px solid var(--line-soft);border-radius:7px;width:30px;height:30px;display:grid;place-items:center;}
.aznav a:hover{color:var(--blue-bright);border-color:var(--blue-deep);}
.glossary{margin:0;}
.gletter{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line-soft);}
@media(max-width:640px){.gletter{grid-template-columns:1fr;gap:8px;}}
.gL{font-family:var(--disp);font-weight:700;font-size:2rem;color:var(--blue-deep);line-height:1;}
.gterm{padding:9px 0;border-bottom:1px solid #131c30;}
.gterm:last-child{border-bottom:0;}
.gterm dt{font-family:var(--disp);font-weight:600;font-size:1.02rem;color:var(--txt);margin-bottom:4px;}
.gterm dd{margin:0;color:var(--txt-2);font-size:.95rem;line-height:1.65;}
.acct-note{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:15px;padding:24px 26px;margin-bottom:30px;}
.acct-note h3{font-family:var(--disp);font-weight:600;font-size:1.1rem;margin:0 0 7px;}
.acct-note p{color:var(--txt-2);font-size:.95rem;margin:0 0 16px;max-width:70ch;}
.acct-chips{display:flex;flex-wrap:wrap;gap:8px;}
.achip{font-family:var(--mono);font-size:.72rem;color:var(--txt-2);background:var(--ledger-800);border:1px solid var(--line-soft);border-radius:999px;padding:6px 13px;}
.inv-hero{border-bottom:0;}
.inv-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;}
.conf-badge{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#ffb37a;border:1px solid #5a3a1a;background:#2a1c0e;border-radius:999px;padding:6px 13px;}
.kpis4{grid-template-columns:repeat(4,1fr);}
@media(max-width:780px){.kpis4{grid-template-columns:repeat(2,1fr);}}
.trust-note{margin-top:20px;color:var(--txt-2);font-size:.96rem;text-align:center;}
.trust-note a{color:var(--blue-bright);}
.trust-note strong{color:var(--txt);}
.card.hl{background:linear-gradient(180deg,var(--ink-800),var(--ink-950));border-color:var(--line);}
.mbars{display:flex;flex-direction:column;gap:20px;margin-top:10px;}
.mbar-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;gap:14px;}
.mname{color:var(--txt);font-size:1rem;font-family:var(--disp);font-weight:600;}
.mval{color:var(--txt-3);font-family:var(--mono);font-size:.82rem;}
.mtrack{height:10px;background:var(--ledger-950);border:1px solid var(--line-soft);border-radius:999px;overflow:hidden;}
.mfill{display:block;height:100%;background:linear-gradient(90deg,var(--blue-deep),var(--mint));border-radius:999px;}
.ask-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:.92rem;}
.ask-row:last-child{border-bottom:0;}
.ask-k{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);}
.ask-v{color:var(--txt-2);}
.ask-v em{color:var(--txt-3);}
.uof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:780px){.uof-grid{grid-template-columns:repeat(2,1fr);}}
.uof{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;padding:22px;}
.uof b{font-family:var(--disp);font-weight:700;font-size:1.9rem;color:var(--txt);display:block;letter-spacing:-.02em;}
.uof .ut{display:block;color:var(--blue-bright);font-size:.92rem;margin:6px 0 6px;font-weight:600;}
.uof .ud{color:var(--txt-3);font-size:.84rem;line-height:1.5;}
.dataroom{display:grid;grid-template-columns:1.4fr .9fr;gap:30px;align-items:center;}
@media(max-width:820px){.dataroom{grid-template-columns:1fr;}}
.dr-card{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:16px;padding:24px;}
.dr-card .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);}
.conf-notice{color:var(--txt-3);font-size:.82rem;line-height:1.6;max-width:90ch;border-top:1px solid var(--line-soft);padding-top:20px;}
.conf-notice strong{color:var(--txt-2);}
.note{color:var(--txt-3);font-size:.84rem;}
.boiler{display:flex;gap:16px;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;padding:22px 24px;}
.boiler p{color:var(--txt-2);font-size:.97rem;line-height:1.7;margin:0;}
.boiler .btn-ghost{flex:0 0 auto;background:transparent;border:1px solid var(--line);color:var(--txt);border-radius:9px;padding:9px 16px;font-family:var(--disp);font-weight:600;font-size:.85rem;cursor:pointer;}
.boiler .btn-ghost:hover{border-color:var(--blue-deep);color:var(--blue-bright);}
.help-cta2b{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(120deg,var(--ledger-800),#0B1620);border:1px solid var(--line);border-radius:15px;padding:26px 28px;}
.nda-wrap{max-width:920px;margin:0 auto;padding-inline:var(--gut);}
.nda-head{padding:clamp(48px,7vw,90px) 0 8px;}
.nda-head .eyebrow{margin-bottom:14px;}
.nda-head h1{font-family:var(--disp);font-weight:700;font-size:clamp(2rem,4.4vw,3rem);letter-spacing:-.03em;margin:0 0 12px;}
.nda-head .sub{color:var(--txt-2);font-size:1.04rem;}
.nda-body{padding:6px 0 70px;}
.doc{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,4vw,46px);margin:16px 0 30px;}
.doc .recital{color:var(--txt-2);font-size:.99rem;margin-bottom:14px;}
.doc .recital strong{color:var(--txt);}
.doc ol{counter-reset:c;list-style:none;margin:18px 0 0;padding:0;}
.doc ol li{counter-increment:c;position:relative;padding:0 0 16px 40px;color:var(--txt-2);font-size:.95rem;line-height:1.62;}
.doc ol li::before{content:counter(c);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:7px;background:var(--ledger-800);border:1px solid var(--line);color:var(--blue);font-family:var(--mono);font-size:.78rem;display:grid;place-items:center;}
.doc ol li strong{color:var(--txt);}
.sig{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line);}
@media(max-width:640px){.sig{grid-template-columns:1fr;}}
.sig h4{font-family:var(--disp);font-weight:600;font-size:.96rem;margin:0 0 8px;color:var(--txt);}
.sig .b{color:var(--txt-2);font-size:.9rem;line-height:1.7;}
.sig .b a{color:var(--blue);}
.accept{background:linear-gradient(180deg,var(--ink-800),var(--ink-950));border:1px solid var(--line);border-radius:18px;padding:clamp(24px,4vw,40px);margin-bottom:70px;}
.accept h2{font-size:1.5rem;margin:0 0 8px;}
.accept .intro{color:var(--txt-2);font-size:.95rem;margin-bottom:22px;}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:640px){.fgrid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1/-1;}
.field label .req{color:var(--mint);}
.field input{background:var(--ledger-950);border:1px solid var(--line);border-radius:9px;padding:12px 14px;color:var(--txt);font-family:var(--body);font-size:.98rem;transition:border-color .15s,box-shadow .15s;}
.field input:focus{outline:none;border-color:var(--blue-deep);box-shadow:0 0 0 3px #2F8B7633;}
.field input.sign{font-family:"Sora",cursive;font-size:1.15rem;letter-spacing:.01em;}
.agree{display:flex;gap:11px;align-items:flex-start;margin:20px 0 4px;color:var(--txt-2);font-size:.92rem;grid-column:1/-1;}
.agree input{margin-top:3px;width:17px;height:17px;accent-color:var(--blue-deep);flex:0 0 auto;}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;align-items:center;}
.err{color:#ff9aa5;font-size:.86rem;min-height:1em;grid-column:1/-1;}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--txt);border-radius:10px;padding:13px 20px;font-family:var(--disp);font-weight:600;font-size:.92rem;cursor:pointer;}
.btn-ghost:hover{border-color:var(--blue-deep);color:var(--blue-bright);}
button.btn-pri{border:0;cursor:pointer;font-family:var(--disp);}
.meta-line{font-family:var(--mono);font-size:.72rem;color:var(--txt-3);margin-top:16px;}
.confirm{display:none;text-align:center;padding:18px 0 6px;}
.confirm .seal{width:62px;height:62px;border-radius:50%;background:#10301f;border:1px solid var(--mint-dim);color:var(--mint);display:grid;place-items:center;margin:0 auto 16px;}
.confirm h2{margin:0 0 8px;}
.confirm p{color:var(--txt-2);max-width:52ch;margin:0 auto 8px;}
.confirm .idbox{display:inline-block;font-family:var(--mono);font-size:.9rem;color:var(--blue-bright);background:var(--ledger-950);border:1px solid var(--line);border-radius:9px;padding:9px 16px;margin:14px 0;}
@media print{
    body{background:#fff !important;color:#000 !important;}
    .status-bar,.nav,.ft,.accept .fgrid,.accept .agree,.accept .actions,.accept .err,.accept .intro,.menu-btn{display:none !important;}
    .doc,.accept{border:0 !important;background:#fff !important;padding:0 !important;color:#000 !important;}
    .doc .recital,.doc ol li,.sig .b{color:#000 !important;}
    .doc ol li::before{background:#fff !important;color:#000 !important;border-color:#000 !important;}
    .nda-head h1,.doc ol li strong,.sig h4,.confirm h2{color:#000 !important;}
    .confirm{display:block !important;}
    a{color:#000 !important;}
  }
.news{display:flex;flex-direction:column;gap:2px;}
.ni{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--line-soft);}
.ni:hover .nt{color:var(--blue-bright);}
.nd{font-family:var(--mono);font-size:.78rem;color:var(--txt-3);padding-top:3px;}
.nt{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);}
.ni h3{font-size:1.18rem;margin:6px 0 7px;}
.ni p{color:var(--txt-2);font-size:.95rem;}
.help-cta2b{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:15px;padding:26px 28px;}
@media(max-width:640px){.ni{grid-template-columns:1fr;gap:6px;}}
.rlist{display:flex;flex-direction:column;gap:12px;}
.rrow b{display:block;color:var(--txt);font-size:.96rem;}
.rrow span{color:var(--txt-2);font-size:.9rem;}
.note{color:var(--txt-3);font-size:.86rem;margin-top:26px;max-width:80ch;}
.note a{color:var(--blue-bright);}
.status-banner{display:inline-flex;align-items:center;gap:9px;margin-top:18px;background:#10301f;border:1px solid var(--mint-dim);color:var(--mint);border-radius:999px;padding:8px 16px;font-size:.9rem;}
.status-banner .dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px #34e0a633;}
.status-list{border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;}
.strow{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line-soft);}
.strow:last-child{border-bottom:0;}
.sname{color:var(--txt);font-size:.96rem;}
.sstat{display:inline-flex;align-items:center;gap:8px;color:var(--mint);font-size:.88rem;font-family:var(--mono);}
.sdot{width:8px;height:8px;border-radius:50%;background:var(--mint);}
.note .mono,.note{color:var(--txt-3);}
.search-box{display:flex;align-items:center;gap:10px;max-width:560px;margin:22px auto 0;background:var(--ledger-950);border:1px solid var(--line);border-radius:12px;padding:13px 16px;}
.search-box input{flex:1;background:none;border:0;color:var(--txt);font-family:var(--body);font-size:1rem;outline:none;}
.help-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:15px;padding:26px 28px;}
.cert-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:820px){.cert-row{grid-template-columns:repeat(2,1fr);}}
.cert{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:14px;padding:22px;text-align:center;}
.cert .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--ledger-800);border:1px solid var(--line);color:var(--mint);margin:0 auto 12px;}
.cert b{display:block;color:var(--txt);font-family:var(--disp);font-size:1rem;margin-bottom:5px;}
.cert span{color:var(--txt-3);font-size:.85rem;}
.help-cta2{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(120deg,var(--ledger-800),#0B1620);border:1px solid var(--line);border-radius:15px;padding:26px 28px;}

/* ============================  PART B — NAVIGATION FIX  =========================== */

/* 1 — Pin the header; prevent sideways scroll.
       overflow:clip does NOT create a scroll container, so the
       sticky header keeps working. */
html, body { overflow-x: clip !important; }
header.nav { position: sticky !important; top: 0 !important; z-index: 60; }

/* 2 — Offset in-page anchor jumps so the heading you click lands
       below the sticky header instead of tucking underneath it.
       (66px nav + breathing room. The API Reference page uses a
       larger value, set in its own content, for the extra docs bar.) */
html { scroll-padding-top: 84px; }

/* 3 — Clear the WordPress admin bar in your logged-in view.
       Public visitors have no admin bar and are unaffected. */
body.admin-bar header.nav { top: 32px !important; }
@media screen and (max-width: 782px) {
  body.admin-bar header.nav { top: 46px !important; }
}

/* 4 — THE FIX: make "Platform" and the dropdown triggers identical.
       Button elements don't inherit font-size, which is why the
       dropdowns rendered at 15.2px while "Platform" was 14.08px. */
header.nav .nav-links { align-items: center !important; }

header.nav .nav-links > a {
  display: inline-flex !important;
  align-items: center !important;
  font-size: .88rem !important;   /* 14.08px */
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

header.nav .nav-dd { display: inline-flex !important; align-items: center !important; }

header.nav .nav-dd-t {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;            /* space before the chevron */
  font-family: inherit !important;
  font-size: .88rem !important;   /* 14.08px — matches the links */
  font-weight: 500 !important;
  line-height: 1.6 !important;
  letter-spacing: inherit !important;
  color: inherit !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  cursor: pointer !important;
}

/* 5 — No underlines on nav / button / footer links. */
header.nav a,
header.nav .nav-dd-menu a,
.ribbon a,
footer.ft a,
a.btn, a.btn-pri, .ccard { text-decoration: none !important; }

/* 6 — Anchor each dropdown menu to its trigger's edge (no clipping). */
header.nav .nav-dd-menu {
  left: 0 !important; right: auto !important;
  transform: translateY(6px) !important;
}
header.nav .nav-links > .nav-dd:last-child .nav-dd-menu {
  left: auto !important; right: 0 !important;
}

/* 7 — Mobile menu scrolls if it's taller than the viewport. */
@media (max-width: 760px) {
  .nav-links.open {
    max-height: calc(100dvh - 64px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}


/* Hide the duplicated status ribbon on the API Reference page (v4 content
   carries two adjacent .ribbon blocks; this collapses the extra one).
   Harmless elsewhere — no other page has two adjacent ribbons. */
.ribbon + .ribbon { display: none !important; }


/* Tighten the hero's top spacing (section padding + inner grid padding were
   stacking to ~220px of empty space above the headline). */
.hero { padding-top: 56px !important; }
.hero .hero-in { padding-top: 24px !important; }
@media (max-width:768px){
  .hero{ padding-top:28px !important; }
  .hero .hero-in{ padding-top:12px !important; }
}


/* CTA band — match homepage #contact .final glow */
section.cta-band{
  background-color:#060E14;
  background-image:radial-gradient(800px 420px at 50% 0%, rgba(111,195,174,.18), rgba(0,0,0,0) 65%);
}

/* ============================================================
   A8 Core™ additions. APPEND-ONLY: no existing rule is modified.
   ============================================================ */

/* --- container gutter ---------------------------------------------
   .wrap sets padding-inline:var(--gut).  Four later rules use a `padding`
   SHORTHAND whose inline value is 0, silently discarding it:
       .hero-in  .page-hero  .sec  .demo-hero
   Editing those rules is WRONG: 24 `.sec` and 1 `.page-hero` on this site are
   NOT inside a .wrap (on /media/ the wrap is a CHILD of section.page-hero), and
   would gain a second, doubled gutter.
   Compound selectors (0,2,0) beat the base rules (0,1,0) and match only the
   elements that are both.  Vertical padding is untouched.
   ------------------------------------------------------------------ */
.wrap.hero-in,
.wrap.page-hero,
.wrap.sec,
.wrap.demo-hero{padding-inline:var(--gut);}

/* .proof-in is not a .wrap at all, so it spans the whole viewport.
   Its .it children already pad by var(--gut), so constraining the container
   is enough: the "45" label lands on the same left edge as the logo. */
.proof-in{max-width:var(--maxw);margin:0 auto;}

/* --- eligibility glyph tokens (this palette has no gold token) --- */
:root{
  --ael-p:#34e0a6;   /* mint      — permitted   */
  --ael-c:#e0b04a;   /* gold      — conditional */
  --ael-n:#7385a3;   /* slate     — not eligible */
}

/* --- accessibility ------------------------------------------------ */
/* No skip link is added here: the Astra theme already renders one
   (Skip to content, targeting #content). Adding a second would give
   keyboard users two competing first stops. */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--blue-bright);outline-offset:2px;border-radius:4px}
.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}
.statuslink{display:inline-flex;align-items:center;gap:.5em;color:inherit}

/* --- glossary jump nav -------------------------------------------- */
.aznav{position:sticky;top:66px;z-index:40;background:var(--ink-950);
  border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  padding:8px 0;display:flex;flex-wrap:wrap;gap:2px;margin:0 0 26px}
body.admin-bar .aznav{top:98px}
.gletter{scroll-margin-top:126px}
.atype{scroll-margin-top:126px}
body.admin-bar .gletter,body.admin-bar .atype{scroll-margin-top:158px}

/* --- account-type drilldowns -------------------------------------- */
.asset-legend{font-size:.86rem;color:var(--txt-2)}
.natgroups{margin-top:22px}
.natgrp{margin:0 0 30px}
.natgrp h4{font-size:1.02rem;margin:0 0 4px}
.natn{color:var(--txt-3);font-weight:400}
.natdesc{color:var(--txt-2);font-size:.9rem;margin:0 0 14px;max-width:70ch}
.atype{border:1px solid var(--line-soft);border-radius:10px;margin:0 0 8px;background:var(--surface-2)}
.atype>summary{cursor:pointer;padding:12px 14px;list-style:none;display:flex;gap:.6em;align-items:baseline}
.atype>summary::-webkit-details-marker{display:none}
.atype>summary::before{content:"\25B8";color:var(--txt-3);display:inline-block;transition:transform .15s}
.atype[open]>summary::before{transform:rotate(90deg)}
.atype summary code,.atype code{font-family:var(--mono);font-size:.78rem;color:var(--blue-bright)}
.atbody{padding:2px 14px 16px;border-top:1px solid var(--line-soft)}
.atbasis{color:var(--txt-2);font-size:.9rem;margin:12px 0}
.atbody h5{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);margin:18px 0 8px}
.atkv,.atlim{width:100%;border-collapse:collapse;font-size:.88rem;margin:0}
.atkv th,.atlim th{text-align:left;color:var(--txt-3);font-weight:600;padding:6px 8px;vertical-align:top}
.atkv td,.atlim td{padding:6px 8px;vertical-align:top;border-top:1px solid var(--line-soft)}
.atlim thead th{border-bottom:1px solid var(--line)}
.atlim tr.limnote td{color:var(--txt-3);font-size:.8rem;border-top:0;padding-top:0}
.atassets{list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:5px;font-size:.88rem}
.atassets li{display:flex;gap:.55em;align-items:center}
.atassets.none{color:var(--txt-3);font-size:.88rem}
.ael{font-size:.9em;line-height:1}
.ael.p{color:var(--ael-p)}
.ael.c{color:var(--ael-c)}
.ael.n,.ael.x{color:var(--ael-n)}
.atnote,.acct-foot{color:var(--txt-3);font-size:.84rem;max-width:78ch}
.atrestrict{margin:0;padding-left:18px;font-size:.88rem}
.atrestrict li{margin-bottom:5px}
.atrestrict li.auth{list-style:none;margin-left:-18px;color:var(--txt-3);font-size:.82rem}
.atmore{margin:16px 0 0;font-family:var(--mono);font-size:.82rem}

/* --- support search ----------------------------------------------- */
.search-box{position:relative}
#supResults{position:absolute;left:0;right:0;top:100%;margin-top:8px;text-align:left;
  background:var(--surface-2);border:1px solid var(--line-soft);border-radius:12px;
  max-height:340px;overflow:auto;z-index:30;display:none}
#supResults.open{display:block}
#supResults a{display:block;padding:10px 14px;border-bottom:1px solid var(--line-soft);color:var(--txt)}
#supResults a:last-child{border-bottom:0}
#supResults a:hover,#supResults a[aria-selected="true"]{background:rgba(111,195,174,.12)}
#supResults .k{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--txt-3);margin-bottom:2px}
#supResults .none{padding:12px 14px;color:var(--txt-3);font-size:.9rem}

@media (max-width:760px){
  .aznav{top:66px}
  .atassets{grid-template-columns:1fr}
}

/* a8core additions v3 - products panel, product-page components with house hover, intake forms. Sitewide via Additional CSS. Append-only. */
/* ---- 1. Nav fixes -------------------------------------------------------- */
html,body{overflow-x:clip !important;}
html{scroll-padding-top:84px;}
header.nav{position:sticky !important;top:0 !important;z-index:60;}
body.admin-bar header.nav{top:32px !important;}
@media screen and (max-width:782px){body.admin-bar header.nav{top:46px !important;}}
header.nav a, header.nav .nav-dd-menu a, .ribbon a, footer.ft a, a.btn, a.btn-pri, .ccard{text-decoration:none !important;}
header.nav .nav-links > .nav-dd:last-child .nav-dd-menu{left:auto !important;right:0 !important;}
@media(max-width:760px){.nav-links.open{max-height:calc(100dvh - 64px);overflow-y:auto;-webkit-overflow-scrolling:touch;}}

/* ---- 2. Products panel --------------------------------------------------- */
.nav-dd-mega{
  min-width:720px;max-width:calc(100vw - 32px);
  padding:0;overflow:hidden;
  border-radius:16px;
  text-align:left;
}
.nav-dd-mega .ndm-head{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:20px 24px 16px;
  border-bottom:1px solid var(--line-soft, rgba(128,140,160,.18));
}
.nav-dd-mega .ndm-intro h4{margin:0 0 5px;font-size:16px;font-weight:700;color:var(--txt,#e8eefb);}
.nav-dd-mega .ndm-intro p{margin:0;font-size:13px;line-height:1.55;color:var(--mut,var(--txt-2));max-width:44ch;}
.nav-dd-mega .ndm-open{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  padding:12px 16px;border-radius:10px;
  border:1px solid var(--blue-deep, rgba(47,139,118,.55));
  background:rgba(47,139,118,.10);
  color:var(--blue-bright,var(--verd)) !important;
  font-size:13.5px;font-weight:600;white-space:nowrap;
  transition:border-color .15s ease, background .15s ease;
}
.nav-dd-mega .ndm-open:hover{border-color:var(--blue,#2F8B76);background:rgba(47,139,118,.16);}
.nav-dd-mega .ndm-cols{
  display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));
  gap:4px 26px;padding:16px 24px 8px;
}
.nav-dd-mega .ndm-h{
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mut,var(--txt-3));margin:6px 0 7px;font-weight:700;
}
.nav-dd-mega .ndm-col a{display:block;padding:5px 0;font-size:13.5px;}
.nav-dd-mega .ndm-foot{
  display:flex;flex-wrap:wrap;gap:8px 24px;
  border-top:1px solid var(--line-soft, rgba(128,140,160,.18));
  margin-top:10px;padding:12px 24px 14px;
}
.nav-dd-mega .ndm-foot a{font-size:12.5px;color:var(--blue-bright,var(--verd));}
@media(max-width:820px){
  
  
  
}

/* ---- 3. fx components ---------------------------------------------------- */
.fx-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;}
.fx-chip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid rgba(128,140,160,.35);color:var(--mut,var(--txt-3));}
.fx-chip.st-dp{border-color:rgba(52,224,166,.5);color:var(--ok);}
.fx-chip.st-ip{border-color:rgba(111,195,174,.5);color:var(--verd);}
.fx-dep{font-size:13px;color:var(--mut,var(--txt-3));}
.fx-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:18px;}
.fx-grid.fx-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));}
.fx-card{
  border:1px solid rgba(128,140,160,.22);border-radius:12px;
  padding:16px 16px 14px;background:rgba(128,140,160,.05);
  transition:border-color .16s ease, transform .16s ease, background .16s ease;
}
.fx-card:hover{border-color:var(--blue,#2F8B76);transform:translateY(-2px);}
.fx-card h3{margin:0 0 6px;font-size:15px;}
.fx-card p{margin:0;font-size:13.5px;line-height:1.55;color:var(--mut,var(--txt-2));}
.fx-steps{counter-reset:fx;margin-top:18px;display:grid;gap:12px;}
.fx-steps .fx-card{position:relative;padding-left:52px;}
.fx-steps .fx-card:before{counter-increment:fx;content:counter(fx);position:absolute;left:16px;top:16px;width:24px;height:24px;border-radius:50%;border:1px solid rgba(128,140,160,.4);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--mut,var(--txt-3));}
.fx-note{border:1px solid rgba(128,140,160,.25);border-left:3px solid rgba(111,195,174,.6);border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.6;color:var(--mut,var(--txt-2));margin-top:22px;}
.fx-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:14px;}
.fx-table th,.fx-table td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(128,140,160,.18);vertical-align:top;}
.fx-table th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut,var(--txt-3));}
.fx-table tbody tr{transition:background .15s ease;}
.fx-table tbody tr:hover{background:rgba(47,139,118,.07);}
.fx-flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;font-size:13.5px;}
.fx-flow .n{border:1px solid rgba(128,140,160,.3);border-radius:8px;padding:8px 12px;background:rgba(128,140,160,.06);transition:border-color .16s ease;}
.fx-flow .n:hover{border-color:var(--blue,#2F8B76);}
.fx-flow .a{color:var(--mut,var(--txt-3));}
.fx-calc{border:1px solid rgba(128,140,160,.25);border-radius:14px;padding:20px;margin-top:20px;background:rgba(128,140,160,.05);transition:border-color .16s ease;}
.fx-calc:hover{border-color:var(--blue,#2F8B76);}
.fx-calc .fg{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.fx-calc label{display:block;font-size:12px;letter-spacing:.04em;color:var(--mut,var(--txt-3));margin-bottom:5px;}
.fx-calc input,.fx-calc select{width:100%;box-sizing:border-box;padding:9px 10px;border-radius:8px;border:1px solid rgba(128,140,160,.35);background:transparent;color:inherit;font:inherit;}
.fx-out{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:18px;}
.fx-out .o{border:1px solid rgba(128,140,160,.22);border-radius:10px;padding:12px;transition:border-color .16s ease, transform .16s ease;}
.fx-out .o:hover{border-color:var(--blue,#2F8B76);transform:translateY(-2px);}
.fx-out .o b{display:block;font-size:18px;margin-bottom:2px;}
.fx-out .o span{font-size:12px;color:var(--mut,var(--txt-3));}
.fx-tool{border:1px solid rgba(128,140,160,.25);border-radius:14px;padding:18px 20px;margin-top:16px;transition:border-color .16s ease, transform .16s ease;}
.fx-tool:hover{border-color:var(--blue,#2F8B76);transform:translateY(-2px);}
.fx-tool h3{margin:0 0 4px;font-size:16px;}
.fx-tool .fx-q{margin:12px 0;}
.fx-tool .fx-q p{margin:0 0 6px;font-size:14px;}
.fx-tool select{max-width:100%;box-sizing:border-box;padding:9px 10px;border-radius:8px;border:1px solid rgba(128,140,160,.35);background:transparent;color:inherit;font:inherit;}
.fx-tool .fx-res{margin-top:12px;padding:12px 14px;border-radius:8px;border:1px solid rgba(128,140,160,.3);font-size:13.5px;line-height:1.6;display:none;}
.fx-tool .fx-res.on{display:block;}

/* ---- 4. fi intake forms --------------------------------------------------- */
.fi-intake .field{margin-bottom:14px;}
.fi-intake select{width:100%;box-sizing:border-box;padding:11px 12px;border-radius:8px;border:1px solid rgba(128,140,160,.35);background:transparent;color:inherit;font:inherit;}
.fi-intake select option{background:var(--ledger-850);color:#e8eefb;}
.fi-sent{display:none;text-align:center;padding:34px 20px;border:1px solid rgba(52,224,166,.4);border-radius:14px;}
.fi-sent h3{margin:10px 0 6px;}
.fi-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}

/* JS-driven open state (touch / keyboard); mirrors the :hover open rule */
.nav-dd.dd-open .nav-dd-menu{opacity:1;visibility:visible;}

/* glossary nature tabs - option A: five collapsed horizontal cards, one shared panel. Append-only. */
.nat-tabs{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;margin:18px 0 2px}
.nat-tabs button{appearance:none;text-align:left;font:inherit;color:inherit;background:rgba(128,140,160,.05);border:1px solid var(--line-soft,rgba(128,140,160,.25));border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .16s ease,transform .16s ease,background .16s ease}
.nat-tabs button:hover{border-color:var(--blue,#2F8B76);transform:translateY(-2px)}
.nat-tabs button.nat-on{border-color:var(--blue,#2F8B76);background:rgba(47,139,118,.12)}
.nat-tabs .nm{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:700;font-size:13.5px}
.nat-tabs .nm .n{color:var(--blue-bright,var(--verd));font-size:12px;font-weight:600}
.nat-tabs .ds{display:block;margin-top:5px;font-size:11.5px;line-height:1.45;color:var(--mut,var(--txt-3))}
.nat-tabs .ds code{font-size:10.5px;opacity:.85}
.natgroups .natgrp{display:none;border:1px solid var(--line-soft,rgba(128,140,160,.25));border-radius:12px;padding:16px 18px;margin:12px 0 0}
.natgroups .natgrp.nat-on{display:block}
.natgrp h4 code{font-size:12px;color:var(--blue-bright,var(--verd));margin-left:8px;font-weight:600}
.gterm dt code{font-size:12px;color:var(--blue-bright,var(--verd));margin-left:6px;font-weight:600}
@media(max-width:860px){.nat-tabs{grid-template-columns:repeat(2,1fr)}}


/* ==== Standardised card hover ============================================
   One token, one duration, one rule. Matches the established reference
   treatment already used by .pillar / .acard / .wcard / .acell.
   These cards are non-interactive <div>s, so they get the hover affordance
   and keyboard parity via :focus-within, but deliberately NO cursor:pointer.
   ======================================================================= */
:root{
  --card-line-hover:var(--blue);
  --card-t:.2s;
}
.ep,.ctrl{
  transition:border-color var(--card-t) ease;
}
@media (hover:hover) and (pointer:fine){
  .ep:hover,.ctrl:hover{border-color:var(--card-line-hover);}
}
.ep:focus-within,.ctrl:focus-within,.cap:focus-within{
  border-color:var(--card-line-hover);
}
/* ==== end standardised card hover ====================================== */


/* ==== Code panels — defensive integration override =====================
   Critical background/colour pairs are literal, not tokens, so a missing
   variable or a theme rule can never leave light text on a white well.
   Measured on #060E14: default 10.05:1 · string 16.71:1 · keyword 9.34:1
   · number 9.70:1 · comment 5.19:1 · verb 11.64:1 — all AA or better.
   ===================================================================== */
html body .code,
html body .sc,
html body pre{
  background:#060E14 !important;
  color:#AEBBD4 !important;
  border-color:#1E3846 !important;
}
html body .code pre,
html body .sc pre,
html body pre code{
  background:transparent !important;
  color:inherit !important;
}
html body .code-h,
html body .sc-h{
  background:#0B1620 !important;
  color:#AEBBD4 !important;
  border-bottom-color:#172B36 !important;
}
html body :not(pre) > code{
  background:#12232E !important;
  color:#AEBBD4 !important;
  border:1px solid #1E3846 !important;
  border-radius:6px;
  padding:.12em .42em;
}
html body .c-key,html body .cl.c-key{color:#6FC3AE !important;}
html body .c-str{color:#E8EEFB !important;}
html body .c-num{color:#E0B04A !important;}
html body .c-com,html body .c-mut{color:#7385A3 !important;}
html body .c-verb{color:#8FD6C3 !important;}
html body .c-ok{color:#34E0A6 !important;}
html body .c-path{color:#AEBBD4 !important;}
html body .c-event{color:#5AA0FF !important;}
html body .code-h .tl,html body .sc-h .tl{background:#1E3846 !important;}
/* ==== end code panels ================================================= */


/* ==== De-emphasis without opacity ======================================
   Opacity on text multiplies against the background; stacked on --txt-3 it
   produced 1.40-2.33:1. State is now carried by colour and glyph.
   --txt-3 measures 4.88:1 on the ledger ground. Disabled controls keep
   their opacity — WCAG exempts them.
   ===================================================================== */
.dir a.off b,.dir a.off em,.enum span.off b,.enum span.off em{color:var(--txt-3);}
.soon,.legend i.n,.legend i.x,.mx td.n,.mx td.x{opacity:1;color:var(--txt-3);}
.dir a.off,.enum span.off{opacity:1;}
/* ==== end de-emphasis ================================================= */

/* =========================================================================
   A8 Core - Products Mega Menu (v2)
   Scoped entirely to .nav-mega / .nm-*. Nothing here can reach any other
   card, dropdown or navigation item. Every colour is an existing A8 token;
   type, radius, transitions and the button base are the site's own.
   Panel ground is --ledger-850 (not --ledger-800) for one measured reason:
   the muted category label --txt-3 scores 4.30:1 on #12232E (AA fail) and
   4.63:1 on #0E1C26 (AA pass) - see the report's contrast table.
   ====================================================================== */
:root{ --nm-w:940px; --nm-edge:24px; --nm-t:.18s; }

/* the trigger ---------------------------------------------------------- */
html body header.nav .nav-dd-products{position:static;}          /* panel anchors to the header, not the button */
html body header.nav .nav-dd-products::after{content:none;display:none;} /* kill the 18px hover bridge: panel is flush, no gap to bridge */
html body header.nav .nm-t{cursor:pointer;}
html body header.nav .nm-t .nav-dd-c{transition:transform var(--nm-t) ease;}
html body header.nav .nav-dd-products.nm-open .nm-t{color:var(--txt);}
html body header.nav .nav-dd-products.nm-open .nm-t .nav-dd-c{transform:rotate(180deg);}

/* the panel ------------------------------------------------------------ */
html body header.nav .nav-mega{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(-6px);
  z-index:70;
  width:min(var(--nm-w), calc(100vw - (var(--nm-edge) * 2)));
  min-width:0; max-width:calc(100vw - (var(--nm-edge) * 2));
  background:var(--ledger-850,#0E1C26);
  border:1px solid var(--line,#1E3846);
  border-radius:16px;
  box-shadow:0 26px 64px -32px #000;
  text-align:left;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity var(--nm-t) ease, transform var(--nm-t) ease, visibility var(--nm-t);
}
html body header.nav .nav-mega .nm-inner{
  max-height:calc(100vh - 140px); overflow-y:auto; overscroll-behavior:contain;
  border-radius:inherit;
}
/* open state: CSS-only fallback is hover/focus; with JS the class is authoritative */
html body header.nav .nav-dd-products:hover > .nav-mega,
html body header.nav .nav-dd-products:focus-within > .nav-mega,
html body header.nav .nav-dd-products.nm-open > .nav-mega{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
html.nm-js body header.nav .nav-dd-products:hover > .nav-mega,
html.nm-js body header.nav .nav-dd-products:focus-within > .nav-mega{
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateX(-50%) translateY(-6px);
}
html.nm-js body header.nav .nav-dd-products.nm-open > .nav-mega{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
/* JS-measured horizontal anchor: aligns under the trigger, clamped to the viewport */
html.nm-js body header.nav .nav-mega.nm-anchored{left:var(--nm-x,50%); transform:translateY(-6px);}
html.nm-js body header.nav .nav-dd-products.nm-open > .nav-mega.nm-anchored{transform:translateY(0);}

/* 1 - introductory header --------------------------------------------- */
html body header.nav .nav-mega .nm-head{
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  padding:30px 32px 26px;
  border-bottom:1px solid var(--line-soft,#172B36);
}
html body header.nav .nav-mega .nm-intro{flex:1 1 60%; min-width:0;}
html body header.nav .nav-mega .nm-title{
  font-family:var(--disp),sans-serif; font-size:17px; font-weight:700;
  letter-spacing:-.01em; line-height:1.25; color:var(--txt,#E8EEFB); margin:0 0 6px;
}
html body header.nav .nav-mega .nm-sub{
  font-family:var(--body),sans-serif; font-size:13px; line-height:1.55;
  color:var(--txt-2,#AEBBD4); margin:0; max-width:48ch;
}
html body header.nav .nav-mega .nm-cta{
  flex:0 0 auto; max-width:40%;
  border-color:var(--verd-deep,#2F8B76);
  background:rgba(111,195,174,.08);
  color:var(--verd,#6FC3AE);
  font-size:13.5px; padding:1.2em 1.35em;
}
html body header.nav .nav-mega .nm-cta:hover,
html body header.nav .nav-mega .nm-cta:focus-visible{
  border-color:var(--verd,#6FC3AE); background:rgba(111,195,174,.14);
  color:var(--verd-bright,#8FD6C3);
}

/* 2 - three-column product navigation --------------------------------- */
html body header.nav .nav-mega .nm-cols{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 34px; padding:22px 32px 16px;
}
html body header.nav .nav-mega .nm-col{min-width:0;}
html body header.nav .nav-mega .nm-h{
  font-family:var(--mono),monospace; font-size:11px; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--txt-3,#7385A3); margin:0 0 10px;
}
html body header.nav .nav-mega .nm-list{list-style:none; margin:0; padding:0;}
html body header.nav .nav-mega .nm-list li{margin:0; padding:0;}
html body header.nav .nav-mega .nm-list a{
  display:block; position:relative;
  padding:11px 10px; margin-inline:-10px; border-radius:7px;
  font-family:var(--body),sans-serif; font-size:13.5px; font-weight:500;
  line-height:1.4; color:var(--txt-2,#AEBBD4);
  text-decoration:none;
  transition:color var(--nm-t) ease, background-color var(--nm-t) ease;
}
html body header.nav .nav-mega .nm-nw{white-space:nowrap;}
@media (hover:hover) and (pointer:fine){
  html body header.nav .nav-mega .nm-list a:hover{
    color:var(--txt,#E8EEFB); background-color:rgba(111,195,174,.07);
  }
}
html body header.nav .nav-mega .nm-list a:focus-visible{
  color:var(--txt,#E8EEFB); background-color:rgba(111,195,174,.07);
}
/* current page: colour PLUS a rule, never colour alone */
html body header.nav .nav-mega .nm-list a[aria-current="page"]{
  color:var(--verd,#6FC3AE); font-weight:600;
}
html body header.nav .nav-mega .nm-list a[aria-current="page"]::before{
  content:""; position:absolute; left:-10px; top:8px; bottom:8px; width:2px;
  border-radius:2px; background:var(--verd,#6FC3AE);
}

/* 3 - bottom utility navigation --------------------------------------- */
html body header.nav .nav-mega .nm-foot{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px 16px;
  border-top:1px solid var(--line-soft,#172B36);
  padding:19px 20px 21px;
}
html body header.nav .nav-mega .nm-foot a{
  display:inline-flex; align-items:center; gap:.5em; justify-self:start;
  padding:9px 12px; border-radius:7px;
  font-family:var(--body),sans-serif; font-size:13px; font-weight:600;
  color:var(--verd,#6FC3AE); text-decoration:none;
  transition:color var(--nm-t) ease, background-color var(--nm-t) ease;
}
@media (hover:hover) and (pointer:fine){
  html body header.nav .nav-mega .nm-foot a:hover{
    color:var(--verd-bright,#8FD6C3); background-color:rgba(111,195,174,.07);
  }
}
html body header.nav .nav-mega .nm-foot a:focus-visible{
  color:var(--verd-bright,#8FD6C3); background-color:rgba(111,195,174,.07);
}
html body header.nav .nav-mega .nm-ar{
  display:inline-block; transition:transform var(--nm-t) ease;
}
@media (hover:hover) and (pointer:fine){
  html body header.nav .nav-mega a:hover .nm-ar{transform:translateX(3px);}
}

/* focus ring: the site's canonical one, restated so the panel never loses it */
html body header.nav .nav-mega a:focus-visible,
html body header.nav .nm-t:focus-visible{
  outline:2px solid var(--verd-bright,#8FD6C3); outline-offset:2px;
}

/* short viewports / high zoom: two columns rather than a clipped panel */
@media (max-width:1040px) and (min-width:761px){
  html body header.nav .nav-mega .nm-cols{grid-template-columns:repeat(2,minmax(0,1fr));}
  html body header.nav .nav-mega .nm-head{gap:18px;}
  html body header.nav .nav-mega .nm-sub{max-width:40ch;}
}

/* --------------------------------------------------------------------- */
/* Mobile: Products becomes an accordion inside the existing hamburger    */
/* menu. The desktop panel is never squeezed onto a phone.                */
/* --------------------------------------------------------------------- */
@media (max-width:760px){
  html body header.nav .nav-dd-products{position:relative;}
  html body header.nav .nm-t{
    display:flex !important; align-items:center; justify-content:space-between;
    width:100%; min-height:44px; padding:8px 0 !important; text-align:left;
  }
  html body header.nav .nav-mega{
    position:static; left:auto; top:auto; transform:none !important;
    width:100%; max-width:100%;
    opacity:1; visibility:visible; pointer-events:auto;
    background:transparent; border:0; border-radius:0; box-shadow:none;
    display:none;
  }
  html body header.nav .nav-dd-products.nm-open > .nav-mega{display:block;}
  html.nm-js body header.nav .nav-dd-products:hover > .nav-mega,
  html.nm-js body header.nav .nav-dd-products:focus-within > .nav-mega{
    opacity:1; visibility:visible; pointer-events:auto;
  }
  html body header.nav .nav-mega .nm-inner{max-height:none; overflow:visible;}
  html body header.nav .nav-mega .nm-head{
    flex-direction:column; align-items:flex-start; gap:14px;
    padding:6px 0 16px; border-bottom-color:var(--line-soft,#172B36);
  }
  html body header.nav .nav-mega .nm-title{display:none;}   /* the trigger already says Products */
  html body header.nav .nav-mega .nm-sub{display:none;}
  html body header.nav .nav-mega .nm-cta{
    max-width:100%; width:100%; justify-content:center; min-height:44px;
  }
  html body header.nav .nav-mega .nm-cols{
    grid-template-columns:1fr; gap:18px 0; padding:16px 0 8px;
  }
  html body header.nav .nav-mega .nm-list a{
    min-height:44px; display:flex; align-items:center;
    padding:10px 10px; font-size:14px;
  }
  html body header.nav .nav-mega .nm-foot{
    grid-template-columns:1fr; gap:2px; padding:14px 0 6px;
  }
  html body header.nav .nav-mega .nm-foot a{min-height:44px; padding:10px 12px;}
}

/* the hamburger panel must scroll, not run off the page, when Products expands.
   (a8core-docs.css already does this for the 61 docs pages; the other 112 had
   no guard, and an expandable section makes one necessary.) */
@media (max-width:760px){
  html body header.nav .nav-links.open{
    max-height:calc(100dvh - 72px); overflow-y:auto; -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
}

@media (prefers-reduced-motion:reduce){
  html body header.nav .nav-mega,
  html body header.nav .nav-mega .nm-ar,
  html body header.nav .nm-t .nav-dd-c,
  html body header.nav .nav-mega .nm-list a,
  html body header.nav .nav-mega .nm-foot a{transition:none !important;}
  html body header.nav .nav-mega{transform:translateX(-50%) !important;}
  html.nm-js body header.nav .nav-mega.nm-anchored{transform:none !important;}
}

/* print: the panel is chrome, never paper */
@media print{ html body header.nav .nav-mega{display:none !important;} }
/* ===================== end Products Mega Menu (v2) ==================== */

/* ===== FIIW2 v1.5 sitewide section grammar (2026-09-02). Replaces the per-page
   <style>.sec>p{max-width:66ch}</style> tags on the six programme pages, and makes
   bare .sec / .page-hero sections self-wrapping so a future page that forgets the
   wrap class still renders inside the content column. /media/ keeps its own inner
   <div class="wrap"> and is excluded. Three separate rules on purpose: a browser
   without :has() support drops only the last one. ===== */
body.page-id-4633 .sec>p,body.page-id-4634 .sec>p,body.page-id-4635 .sec>p,body.page-id-4636 .sec>p,body.page-id-4640 .sec>p,body.page-id-4641 .sec>p{max-width:66ch}
section.sec{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
section.page-hero:not(:has(> div.wrap)){max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}

/* ===== FIIW2 v1.6 specificity hardening (2026-09-02). Astra's
   `.entry-content[data-ast-blocks-layout] > *` rule (specificity 0,2,0) sets
   max-width:1920px on every direct child of the content and outranks both
   `.wrap` (0,1,0) and the v1.5 `section.sec` (0,1,1). The hero escaped it at
   (0,2,2) via its :not(:has()) clause, so on viewports wider than ~1350px the
   hero (1200px) and the sections (1920px) split into two columns. These
   child-scoped twins outrank Astra at (0,3,0)/(0,3,1) and put the hero and
   every section back in the one --maxw column at any viewport. ===== */
.entry-content[data-ast-blocks-layout]>.wrap,
.entry-content[data-ast-blocks-layout]>section.sec{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
