/* Web fonts for the bank-family pages (the ones that link home.css). Every face here is a SIL OFL 1.1 subset in /assets/fonts,
   licences beside them. The Instrument Serif, Apercu Pro and Aeonik faces (commercial, never licensed) were removed on 2026-11-07:
   home.css sets --font-display, --font-serif, --font-body and --font-body-medium to Newsreader Text and Archivo on every page that
   loads this file, so no page could reach them. The "Apercu fallback" and "Aeonik fallback" faces below are local Arial only and
   download nothing; tokens.css still names them. */
@font-face {
  font-family: "Newsreader";
  src: url("/assets/fonts/newsreader-wordmark.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* The advisory home's faces (home.css, 2026-11-04 restyle after the landing page). Both are SIL OFL 1.1 subsets already in
   /assets/fonts (licences beside them). "Newsreader Text" is newsreader-text.woff2 (wght 300-500, opsz 16-60; recipe in
   the manifesto page's decision record): ASCII, curly quotes, en and em dash, ellipsis. It has no × or ·, so text that
   carries them stays in Archivo. "Archivo" is archivo-ui.woff2 (wght 300-600, Latin-1 and common punctuation). A page that
   does not use these families never downloads them. */
@font-face {
  font-family: "Newsreader Text";
  src: url("/assets/fonts/newsreader-text.woff2") format("woff2");
  font-weight: 300 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archivo";
  src: url("/assets/fonts/archivo-ui.woff2") format("woff2");
  font-weight: 300 600;
  font-style: normal;
  font-display: swap;
}
/* Metric-matched fallbacks. Until the web fonts arrive (1.4-2.3 s on slow 4G), text is set in local Arial scaled
   to the web font's width and given its ascent and descent, so the swap moves almost nothing. size-adjust is the width of
   the pages' own text in the web font over Arial (measured in Chrome); ascent/descent are the font files' hhea values
   (Apercu 0.788/0.212, Aeonik 1.000/0.200, no line gap) divided by size-adjust. Where Arial is missing (Android), the
   stack falls through to system-ui as before. */
@font-face { font-family: "Apercu fallback"; src: local("Arial"), local("ArialMT"); size-adjust: 97.6%; ascent-override: 80.7%; descent-override: 21.7%; line-gap-override: 0%; }
@font-face { font-family: "Apercu fallback medium"; src: local("Arial"), local("ArialMT"); size-adjust: 99.7%; ascent-override: 79%; descent-override: 21.3%; line-gap-override: 0%; }
@font-face { font-family: "Aeonik fallback"; src: local("Arial"), local("ArialMT"); size-adjust: 99.6%; ascent-override: 100.4%; descent-override: 20.1%; line-gap-override: 0%; }
/* The same for the advisory faces (owner, 2026-11-06: "make it thinkpad proof"; a Windows laptop has Georgia and Arial too).
   Measured in Chrome at 1000px: Newsreader Text 300 over Georgia on the home's headings, Archivo 400 over Arial on its text;
   ascent and descent are the web fonts' own (Newsreader Text 0.735/0.265, Archivo 0.878/0.210) divided by size-adjust. */
@font-face { font-family: "Newsreader Text fallback"; src: local("Georgia"); size-adjust: 95.5%; ascent-override: 77%; descent-override: 27.7%; line-gap-override: 0%; }
@font-face { font-family: "Archivo fallback"; src: local("Arial"), local("ArialMT"); size-adjust: 98%; ascent-override: 89.6%; descent-override: 21.4%; line-gap-override: 0%; }
