/* Slobal apex site: the one shared stylesheet for Home/site (ADR-101, round 127).
 *
 * Round 126 (TagFix sweep 2026-08-28, tag 08) retired the three self-hosted web
 * faces and put every page of this site on a Segoe UI system stack. Round 127
 * reverses that call: the brand faces are back, still self-hosted, and they are
 * declared once here instead of nine times over. Files, licences and the latin
 * unicode-range are documented in shared/fonts/README.md. nginx serves /assets/
 * immutable for a year under font-src 'self' (Home/deploy/nginx.conf), so the
 * file name carries the first 12 hex of the sha256 of these bytes: change a
 * byte, change the name, and the year-long cache stays honest.
 *
 * This file is also the one copy of the shared token block. Seven of the nine
 * pages, privacy, terms and the five FAQ documents, carried that block verbatim
 * and now carry none of it. index.html keeps only the tokens that are its own,
 * a lighter --muted among them that deliberately overrides the one below, and
 * 404.html keeps its whole palette inline because it is the only page with a
 * prefers-color-scheme:dark pair, and splitting that pair across two files
 * would be a trap. Every token either page still declares either repeats a
 * value below or is meant to win over it, so nothing either page computes
 * changes.
 *
 * The four font stacks are gate-checked against shared/theme.css, the canonical
 * statement of the Slobal brand tokens. Move a value there and move it here in
 * the same round.
 */

@font-face {
  font-family: "Big Shoulders Inline Text";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/big-shoulders-inline-text-900.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: "Onest";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/fonts/onest-variable.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: "Geist Mono";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/geist-mono-variable.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;
}

:root{
  --night:#0F172A; --teal:#0E7490; --cyan:#06B6D4; --light:#67E8F9;
  --paper:#F5F4EF; --surface:#FFFFFF; --line:#E0DED6;
  --ink:#0A0E1A; --ink-soft:#374151; --muted:#5F6779;
  --ink-deep:#06090F; --ink-line:#1F2A40; --paper-dark:#EDEBE3; --dim-foot:#C3C7D2;
  /* Type, round 127: the brand faces are back and self-hosted, per ADR-101.
     --display is the 900 weight inline face, set uppercase for display headings.
     --mono keeps its name for the uppercase tracked LABEL role, the skip link,
     nav, kickers, footer and legal line, which is chrome rather than code;
     --code is the same face and belongs to <code> and <pre>. */
  --sans:"Onest","Segoe UI","Segoe UI Variable Text",system-ui,-apple-system,sans-serif;
  --display:"Big Shoulders Inline Text","Big Shoulders Display",sans-serif;
  --mono:"Geist Mono",ui-monospace,"Cascadia Code",Consolas,monospace;
  --code:"Geist Mono",ui-monospace,"Cascadia Code",Consolas,monospace;
}
code,pre{font-family:var(--code)}
*,*::before,*::after{box-sizing:border-box}
