/* Self-hosted fonts — replaces Google Fonts.

   Two families as of the claymation redesign (2026-09-08): Libre Caslon Text
   carries display — headlines, wordmark, card titles — at 400 only, because in
   the clay language headline weight comes from size, not boldness. Inter
   carries everything else: UI, prose, buttons, labels. Newsreader was retired
   from the marketing site in the same change; the member app and Expo app
   still ship it from their own font directories until they migrate.

   Five faces, and no more. Inter 500/600 are buttons, labels and badges; 700
   exists so prose `strong` is a real face rather than a synthesised one. A
   weight this file does not serve is one the browser synthesises, so adding
   one means adding a face in tools/build-fonts.py and here together.

   No italic: base.css forces em/i upright on every page.

   Generated by tools/build-fonts.py — do not hand-edit the binaries, and do not
   hand-download replacements. Google Fonts serves Inter as a single variable
   file for every weight, so downloading "600" by hand gets you a file that is
   not a 600. (Libre Caslon Text is a true static upstream; the generator
   verifies that and fails if it ever changes.) */
@font-face { font-family: 'Libre Caslon Text'; font-style: normal; font-weight: 400; font-display: swap; src: url('/cgi/fonts/libre-caslon-text-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('/cgi/fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('/cgi/fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('/cgi/fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('/cgi/fonts/inter-latin-700-normal.woff2') format('woff2'); }
