/* Self-hosted fonts (SIL OFL 1.1; licences sit beside the files). Latin subsets only.

   Source Serif 4: optical-size axis 8–60 kept variable; weight instanced at 500, the only
   weight the site uses for the serif, so the file stays under the 70 KB budget.
   Rebuild with scripts/build-fonts.py.

   IBM Plex Sans: weight axis 400–700.

   Each face has a metric-matched local fallback so the swap produces no layout shift. The
   percentages are computed from the font tables (ascender, descender, weighted average
   character width), not estimated. */

@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('source-serif-4-latin-var.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: 'Source Serif 4 Fallback';
  src: local('Georgia');
  size-adjust: 102.46%;
  ascent-override: 101.12%;
  descent-override: 32.70%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Source Serif 4 Fallback Times';
  src: local('Times New Roman');
  size-adjust: 112.66%;
  ascent-override: 91.96%;
  descent-override: 29.74%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('ibm-plex-sans-latin-var.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: 'IBM Plex Sans Fallback';
  src: local('Arial');
  size-adjust: 101.38%;
  ascent-override: 101.10%;
  descent-override: 27.12%;
  line-gap-override: 0%;
}
