/* Self-hosted fonts — vendored from Google Fonts (fonts.gstatic.com,
   "latin" subset only) instead of loaded from fonts.googleapis.com at
   runtime. Source Sans 3 and Source Serif 4 are variable fonts:
   Google serves ONE file per family covering the whole weight range,
   which is why two @font-face rules below point at the same file —
   this mirrors exactly what fonts.googleapis.com itself does, not a
   duplicate/mistake. */

@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('fonts/source-serif-4-variable.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/source-serif-4-variable.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/source-sans-3-variable.woff2') format('woff2');
}

@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('fonts/source-sans-3-variable.woff2') format('woff2');
}

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

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

/* Applied directly rather than via _brand.yml's `typography.base`/
   `headings`/`monospace`: those set the font NAME, but this Quarto
   version (1.7.29) never generates @font-face for a `source: file`
   font, so without this the name would resolve to nothing and fall
   back to the browser's generic serif/sans-serif. */
body { font-family: 'Source Sans 3', system-ui, sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family: 'Source Serif 4', serif; font-weight: 700; }
code, pre, kbd, samp { font-family: 'IBM Plex Mono', monospace; }
