/* ============================================================================
   PREVIOUSLY — Self-hosted fonts · shared/perf/fonts.css
   Drop-in @font-face for the locked design language (v1.0, James 2026-09-28).
   Two variable-font files cover EVERY weight — pages never add per-weight files.

   Files (SIL Open Font License — free to self-host):
     shared/perf/fonts/inter-latin.woff2    48,432 bytes · Inter Variable 100-900
     shared/perf/fonts/playfair-latin.woff2  38,460 bytes · Playfair Display 400-900
   sha256 in ../../AUDIT.md. Deploy copies this whole directory; the page
   shell preloads both files (see ../head-snippet.html).

   font-display: swap — text paints immediately in the fallback stack, the
   brand font swaps in when ready. Never invisible text, never blocked paint.
   ============================================================================ */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;               /* variable range */
  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: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;               /* variable range */
  font-display: swap;
  src: url('fonts/playfair-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;
}

/* Fallback stacks live on the tokens (--pv-serif / --pv-sans) so swap
   rendering uses Georgia / system-ui until the woff2 arrives. */
