/* ==========================================================================
   The Undeniable Stack: self-hosted fonts
   Load this BEFORE tokens.css. All three faces are variable woff2, OFL-licensed
   (see fonts/OFL-NOTICE.txt). One file per family covers the weight range used.
     Display : Fraunces        (editorial old-style serif)
     Body    : Geist           (clean modern grotesque)
     Mono    : JetBrains Mono  (technical, tabular)

   THE FILES ARE AXIS-LIMITED, AND THE DESCRIPTORS BELOW MUST MATCH THE FILES.
   Upstream ships a 100-900 axis; the site uses 400, 600 and 700 only, so
   tools/subset-fonts.py clips each axis to the range actually rendered. That
   is where nearly all of the 22% saving comes from, because the files were
   already Latin-subset upstream and character subsetting alone recovers ~4%.

   The descriptor ranges are deliberately narrowed to match. A descriptor that
   advertises 100-900 over a file that only carries 400-700 is a lie the
   browser acts on: it would set wght to a value the font then silently clamps,
   so the CSS and the render disagree with no error anywhere.

   IF YOU ADD A WEIGHT OUTSIDE THESE RANGES, RE-RUN THE SUBSETTER FIRST.
   Watch <strong> and <b> in particular. The HTML UA stylesheet gives them
   font-weight: bolder, not bold, so their computed weight depends on the
   parent: bolder inside 400 is 700 (fine), but bolder inside 600 or 700 is
   900, which these files no longer carry and would render a stop light. As of
   2026-08-12 no element on any page computes outside 400-700 (Geist), 400-700
   (Fraunces) or 400-600 (JetBrains Mono), verified against the live DOM.
   ========================================================================== */

@font-face {
  font-family: "Fraunces";
  src: url("fonts/fraunces-wght-normal.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fraunces";
  src: url("fonts/fraunces-wght-italic.woff2") format("woff2");
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Geist";
  src: url("fonts/geist-wght-normal.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("fonts/jetbrains-mono-wght-normal.woff2") format("woff2");
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}
