/* ============================================================
   VeriCommand site foundation + chrome: the NorthGate family look
   (TASK-0422, 2026-09-30). The values are those of the selected
   northgatestrategic.com design (brand/ng-family/family.css):
   near-black with NG's soft top light, Instrument Serif headlines
   over a small Inter body, the plain Inter wordmark in a 103 px
   header, 7 px buttons with an arrow glyph, the announcement pill,
   10 px eyebrows, NG's 1280 px content width. One warm accent
   (the lamp) is the light: the beam and lit / recorded states only,
   never text, links, borders, focus or decoration.

   Every public page links this sheet after its own <style>, so it
   owns the fonts, the tokens, the page base, the ONE header, the
   ONE footer and the shared .btn / .pill / .wordmark / .maker. Page
   styles only lay out their own content. /account loads pro.css +
   account.css only, so pro.css repeats the fonts and tokens. Under
   768px the header links fold into a no-JS <details> menu, so every
   page stays reachable on a phone. Fonts are self-hosted (SIL OFL,
   licences in /assets/fonts/); no third-party requests.
   ============================================================ */
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/instrument-serif-latin-400-normal.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:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/instrument-serif-latin-ext-400-normal.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:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("/assets/fonts/instrument-serif-latin-400-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:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/inter-latin-wght-normal.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:100 900;font-display:swap;src:url("/assets/fonts/inter-latin-ext-wght-normal.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:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url("/assets/fonts/jetbrains-mono-latin-wght-normal.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:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url("/assets/fonts/jetbrains-mono-latin-ext-wght-normal.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}

:root{
  --bg:#0A0A0B;
  --bg-raised:#111113;
  --glow:radial-gradient(ellipse at 60% -28%,#ffffff0b,transparent 63%); /* NG's soft top light */
  --vignette:var(--glow);
  --hairline:rgba(255,255,255,0.08);
  --hairline-strong:rgba(255,255,255,0.16);  /* hover / active borders */
  --text:#EDEDED;
  --text-2:#A1A1A1;
  --text-3:#808080;            /* NG's quiet grey, 5.0:1 on --bg */
  --quiet:#808080;
  --lamp:#F0C674;              /* the light: the beam and lit / recorded states only */
  --lamp-core:#FFF4DA;
  --lamp-rgb:240,198,116;
  --focus:#EDEDED;             /* focus ring: neutral, never the lamp */
  --ok:#7FD1A1;                /* result states only (supported, passed, signed) */
  --bad:#F28B82;               /* result states only (conflicts, errors) */
  --font-display:"Instrument Serif",ui-serif,Georgia,"Times New Roman",serif;
  --font-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --container:1280px;          /* NG's content width, with NG's side margins below */
  --gutter:56px;
  --radius:10px;
  --radius-lg:14px;
  --radius-pill:999px;
}
@media (max-width:1150px){:root{--gutter:36px}}
@media (max-width:800px){:root{--gutter:24px}}
@media (max-width:550px){:root{--gutter:20px}}

/* ---------- base ---------- */
html{background:var(--bg);color-scheme:dark;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{
  margin:0;min-height:100vh;
  background:var(--glow) 0 0 / 100% 850px no-repeat,var(--bg);
  color:var(--text);
  font-family:var(--font-body);font-size:14px;line-height:1.7;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
::selection{background:#EDEDED;color:#0A0A0B}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:6px;border-radius:3px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .btn:hover{transform:none}
}

/* ---------- wordmark: the product's name, plain Inter 500 ---------- */
.wordmark{font-family:var(--font-body);font-size:24px;font-weight:500;letter-spacing:-1.1px;line-height:1.2;color:var(--text);text-decoration:none;white-space:nowrap}
.wordmark:hover{color:var(--text);text-decoration:none}

/* ---------- header: wordmark | nav | Download, hairline below ---------- */
.vc-header{position:relative;z-index:50;font-family:var(--font-body);line-height:1.4}
.vc-header-in{width:min(var(--container),calc(100% - 2 * var(--gutter)));margin:0 auto;display:flex;align-items:center;gap:16px;height:103px;border-bottom:1px solid var(--hairline)}
.vc-header a{text-decoration:none}
.vc-right{flex:1;display:flex;align-items:center;gap:16px;min-width:0}
.vc-nav{flex:1;display:flex;align-items:center;gap:33px;margin-left:65px;font-size:13px}
.vc-nav a{color:var(--text-2);transition:color .2s}
.vc-nav a:hover,.vc-nav a[aria-current=page]{color:#FFFFFF}
.vc-nav .vc-wide:first-child{margin-left:auto}
/* Download = NG's one plain header link, with a muted arrow */
.vc-nav a.vc-dl{margin-left:auto;color:var(--text)}
.vc-nav a.vc-dl span{margin-left:14px;color:var(--text-2)}
.vc-menu{display:none;position:relative;border:0;padding:0;margin:0}
.vc-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:36px;border:1px solid #ffffff20;border-radius:7px;padding:7px 14px;font-size:12px;font-weight:500;color:#D1D1D1;background:#ffffff02;line-height:1.3;user-select:none}
.vc-menu summary::-webkit-details-marker{display:none}
.vc-menu summary::after,.vc-menu[open] summary::after{content:none}
.vc-menu[open] summary{border-color:#ffffff40}
.vc-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:linear-gradient(145deg,#171719,#0f0f11);border:1px solid #ffffff13;border-radius:var(--radius);box-shadow:0 24px 60px rgba(0,0,0,0.6);padding:6px;display:grid}
.vc-panel a{display:block;padding:11px 12px;color:var(--text-2);font-size:14px;border-radius:7px}
.vc-panel a:hover,.vc-panel a[aria-current=page]{background:rgba(255,255,255,0.05);color:var(--text);text-decoration:none}
@media (max-width:800px){.vc-header-in{height:84px}.wordmark{font-size:22px}.vc-nav{margin-left:0;gap:20px}}
@media (max-width:767px){.vc-nav .vc-wide{display:none}.vc-menu{display:block}}
@media (max-width:550px){.vc-header-in{height:76px}.wordmark{font-size:23px}.vc-nav{font-size:11px}.vc-nav a.vc-dl span{margin-left:6px}}

/* ---------- footer: wordmark, maker and small print left; links right ---------- */
footer.vc-footer{margin:96px 0 0;padding:0 0 48px;border:0;background:transparent;color:var(--text-2);font-family:var(--font-body);font-size:12px;line-height:1.6}
.vc-footer-in{width:min(var(--container),calc(100% - 2 * var(--gutter)));margin:0 auto;display:flex;justify-content:space-between;gap:30px 60px;padding-top:40px;border-top:1px solid var(--hairline)}
.vc-footer .wordmark{font-size:22px}
.vc-footer .maker{margin:10px 0 0;font-size:12px;line-height:1.6;color:var(--text-2)}
.vc-footer .maker a{color:var(--text);font-weight:500;letter-spacing:-.2px}
.vc-footer .maker a:hover{color:#FFFFFF}
.vc-footer .maker a span{margin-left:8px;color:var(--text-2)}
.vc-copy{display:block;margin:18px 0 0;font-size:10px;line-height:1.8;color:var(--quiet)}
.vc-footer-links{display:grid;gap:16px;justify-items:end;align-content:start}
.vc-fl,.vc-family{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 22px}
.vc-fl{max-width:600px}
.vc-footer a{color:var(--text-2);text-decoration:none;transition:color .2s}
.vc-footer a:hover,.vc-footer a[aria-current=page]{color:#FFFFFF;text-decoration:none}
.vc-family{font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase}
@media (max-width:550px){footer.vc-footer{padding-bottom:32px}.vc-footer-in{display:block;padding-top:32px}.vc-footer-links{justify-items:start;margin-top:28px}.vc-fl,.vc-family{justify-content:flex-start}.vc-copy{font-size:9px}}

/* ---------- shared buttons + pill (NG's: 7 px corners, 12 px label, an arrow glyph after it) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:45px;padding:11px 18px;border:1px solid transparent;border-radius:7px;font-family:var(--font-body);font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;text-align:center;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:#EDEDED;color:#151516;border-color:#EDEDED;box-shadow:0 1px 0 #fff3 inset}
.btn.primary:hover{background:#FFFFFF;border-color:#FFFFFF;color:#151516}
.btn.ghost{background:#ffffff02;border-color:#ffffff20;color:#D1D1D1}
.btn.ghost:hover{background:#ffffff08;border-color:#ffffff40;color:#D1D1D1}
.pill{display:inline-flex;align-items:center;gap:10px;max-width:100%;padding:5px 11px;border:1px solid #ffffff15;border-radius:30px;background:transparent;font-family:var(--font-body);font-size:11px;font-weight:400;line-height:20px;color:#BCBCBC;text-decoration:none;transition:border-color .25s,background .25s}
.pill:hover{background:#ffffff06;border-color:#ffffff30;color:#BCBCBC}
.pill>span:last-child{font-size:14px;margin-left:8px}
.pill strong{font-weight:500;color:var(--text)}
.pill-dot{flex:none;width:5px;height:5px;border-radius:50%;background:#A1A1A1}
@media (max-width:1150px){.btn{padding-inline:14px;gap:14px}}
@media (max-width:800px){.pill{font-size:10px}}
@media (max-width:550px){.btn{font-size:11px;min-height:44px;padding:12px 15px;gap:14px}}
