/* ═══════════════════════════════════════════════════════════════════════
   The three typefaces, served from this server.

   They used to come from Google Fonts. No cookie was set, but a visitor's
   browser made a request to Google on every page, which put their IP
   address in front of a third party in order to fetch a font file — and
   the cookie notice had to say so. Decision of 15 September 2026, answer
   to question 16: serve them here instead, so nothing leaves.

   The files are in assets/fonts/ and are licensed under the SIL Open Font
   Licence 1.1, which permits exactly this. Only the Latin subset is here,
   and only the weights the site actually uses — four of Newsreader, three
   of Public Sans, two of IBM Plex Mono, 248 KB in all, each one fetched
   only if a page needs it.

   font-display:swap means text is readable in a fallback face while the
   real one arrives, rather than invisible.
   ═══════════════════════════════════════════════════════════════════════ */

@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/newsreader-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/newsreader-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/newsreader-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:700;font-display:swap;
  src:url('/assets/fonts/newsreader-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;
  src:url('/assets/fonts/newsreader-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:500;font-display:swap;
  src:url('/assets/fonts/newsreader-latin-500-italic.woff2') format('woff2')}

@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/public-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/public-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/public-sans-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-style:italic;font-weight:400;font-display:swap;
  src:url('/assets/fonts/public-sans-latin-400-italic.woff2') format('woff2')}

@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2')}
