/* ============================================================
   STELAAH — TYPEFACES (self hosted)

   Two families, served from our own origin:
   · Onest      variable 300..800, the one humanist sans
   · Space Mono 400/700, tiny uppercase eyebrows only

   Self hosted rather than pulled from Google Fonts because:
   · it removes a render blocking third party request from
     every one of the ~1500 pages
   · nothing leaks to a third party on page load
   · the whole site's typography is 96 kB and cache stable

   THE ALIAS BLOCK AT THE BOTTOM IS LEAD, NOT DECORATION.
   Five legacy stylesheets (intent-pages, search-engine,
   agency-toolkit, planner-library, adhd-content) hardcode
   `Newsreader` and `Inter` across dozens of selectors with no
   token to redirect. Rather than chase every selector and risk
   missing one, those family NAMES are re declared here to point
   at the Onest files. Any rule anywhere that still asks for
   Newsreader or Inter therefore renders Onest, and no serif can
   reach production through a selector we failed to find.

   The explicit weight and tracking corrections still live in
   _shell-legacy.css. This block is the safety net; that file is
   the craft. Do not treat this as a substitute for fixing a
   rule properly when you touch one.
   ============================================================ */

/* ---- Onest, variable 300..800 ---- */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('/fonts/onest-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('/fonts/onest-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---- Satoshi, the design system v3 display face ----
   Self hosted for the same reasons as Onest above: no render blocking third
   party request, and nothing leaks to a third party on page load. The v3 pages
   shipped pulling this from api.fontshare.com directly, which is exactly what
   this file exists to prevent. Fontshare serves Satoshi free for commercial
   use; these are its own woff2 files, unmodified.
   400 body, 500 titles, 700 headlines. DESIGN.md section 8. */
@font-face {
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/satoshi-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/satoshi-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Satoshi';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/satoshi-700.woff2') format('woff2');
}

/* ---- Inter v3, the design system v3 body face ----
   Named 'InterV3', not 'Inter', on purpose. The alias block below deliberately
   redefines 'Inter' as Onest so that no stray v2 selector can pull a webfont,
   and that safety net must keep working. The v3 pages genuinely want real Inter,
   so it gets its own family name and --v3-font-body asks for that. Self hosted
   from the Google Fonts woff2 (Inter is SIL OFL). DESIGN.md section 8. */
@font-face {
  font-family: 'InterV3';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'InterV3';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---- Space Mono ---- */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/space-mono-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/space-mono-400-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/space-mono-700-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/space-mono-700-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ------------------------------------------------------------
   LEGACY FAMILY ALIASES — see the note at the top of this file.
   `Newsreader` and `Inter` resolve to the Onest files so no
   stylesheet we have not swept can put a serif on the page.
   ------------------------------------------------------------ */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('/fonts/onest-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url('/fonts/onest-latin.woff2') format('woff2');
}
