/* Self-hosted subsets of Archivo, Inter, JetBrains Mono.
   latin-ext first, latin second (override order matters).
   Generated 2026-08-09 from Google Fonts css2, variable ranges.

   2026-08-17 — the "-ext" files are no longer Google's full latin-ext.
   Google ships that range with ~730 glyphs (Inter's was 85 KB); this site's nine
   languages use exactly 24 of them: the Slovenian, Croatian and Polish accents,
   in both cases (17 CSS rules apply `text-transform: uppercase`, so the capitals
   are rendered at runtime even though the copy files only contain lowercase).
   Re-subset with fontTools to those 24 — 129 KB -> 15 KB across the three faces
   the homepage loads. The `wght` variable axis is preserved, so nothing about the
   type changes visually.

   The declared unicode-range is narrowed to match the file, deliberately. If copy
   ever gains a character outside these 24 (say ā), it falls back to the next font
   in the stack — wrong typeface, still readable. Leaving Google's wide range
   declared over a narrow file would render tofu instead, which is worse.

   Re-subset command (fontTools lives in ~/audio1-assets-build/pyenv):
     python -m fontTools.subset "<face>-ext.woff2" \
       --unicodes=U+0104-0107,U+010C-010D,U+0110-0111,U+0118-0119,\
U+0141-0144,U+015A-015B,U+0160-0161,U+0179-017E \
       --flavor=woff2 --layout-features='*' --output-file=<face>-ext.woff2

   NOT covered by any @font-face here, and rendering in a fallback face today:
   the Cyrillic of copy.ru.js (40 glyphs) plus U+2192 →, U+2248 ≈, U+2500 ─.
*/
@font-face {
  font-family: 'Archivo';
  font-style: italic;
  font-weight: 400 800;
  src: url("Archivo-400 800-italic-ext.woff2")   format('woff2');
  font-display: swap;
  unicode-range: U+0104-0107, U+010C-010D, U+0110-0111, U+0118-0119, U+0141-0144, U+015A-015B, U+0160-0161, U+0179-017E;
}
@font-face {
  font-family: 'Archivo';
  font-style: italic;
  font-weight: 400 800;
  src: url("Archivo-400 800-italic-lat.woff2")   format('woff2');
  font-display: swap;
  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: 'Archivo';
  font-style: normal;
  font-weight: 400 800;
  src: url("Archivo-400 800-normal-ext.woff2")   format('woff2');
  font-display: swap;
  unicode-range: U+0104-0107, U+010C-010D, U+0110-0111, U+0118-0119, U+0141-0144, U+015A-015B, U+0160-0161, U+0179-017E;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 800;
  src: url("Archivo-400 800-normal-lat.woff2")   format('woff2');
  font-display: swap;
  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: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  src: url("Inter-400 600-normal-ext.woff2")   format('woff2');
  font-display: swap;
  unicode-range: U+0104-0107, U+010C-010D, U+0110-0111, U+0118-0119, U+0141-0144, U+015A-015B, U+0160-0161, U+0179-017E;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 600;
  src: url("Inter-400 600-normal-lat.woff2")   format('woff2');
  font-display: swap;
  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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  src: url("JetBrains-Mono-400 700-normal-ext.woff2")   format('woff2');
  font-display: swap;
  unicode-range: U+0104-0107, U+010C-010D, U+0110-0111, U+0118-0119, U+0141-0144, U+015A-015B, U+0160-0161, U+0179-017E;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  src: url("JetBrains-Mono-400 700-normal-lat.woff2")   format('woff2');
  font-display: swap;
  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;
}
