/* ════════════════════════════════════════════
   Self-hosted variable fonts (latin subset).
   Preloaded in each page's <head>, so the hero
   paints in EB Garamond from first render with no
   web-font swap. Weights are ranges (variable font).
   ════════════════════════════════════════════ */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('fonts/eb-garamond-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url('fonts/eb-garamond-italic-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('fonts/dm-sans-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('fonts/dm-sans-italic-latin.woff2') format('woff2');
}

/* ── Metric-matched fallbacks ──
   Scale the system fonts to the apparent size of the web fonts so the
   swap doesn't visibly shrink/grow or reflow text on first load.
   Referenced as the 2nd family in --serif / --sans. */
@font-face {
  font-family: 'EB Garamond fallback';
  src: local('Georgia'), local('Times New Roman');
  size-adjust: 90%;
}
@font-face {
  font-family: 'DM Sans fallback';
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica');
  ascent-override: 92.43%;
  descent-override: 28.88%;
  line-gap-override: 0%;
  size-adjust: 105.34%;
}
