/* ============================================================
   AN AUSTRIAN ECONOMIST · CALCULATOR FONT PROGRAM (self-hosted)
   Mirrors the site's V4 program (Website/css/fonts.css, generated
   by assets/fonts/_build-fonts.py): same subset woff2 files, same
   metric-matched fallbacks. Faces used by the instrument:
   EB Garamond (text/UI; osf, true smcp) · Playfair Display
   (masthead, display numerals) · Source Serif 4 (apparatus;
   tnum, carries ₿ U+20BF) · JetBrains Mono (labels, data).
   IM Fell, Pinyon, and the versal pair are site-only; the app
   does not load them. Licenses in fonts/licenses/.
   ============================================================ */

@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('fonts/ebgaramond-var.woff2') format('woff2');
  unicode-range: U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+017F,U+2010-2027,U+2030-203A,U+2042,U+2044,U+20AC,U+20BF,U+2116,U+2122,U+2190-2193,U+2212,U+261E,U+2766-2767,U+FB00-FB06;
}

@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url('fonts/ebgaramond-italic-var.woff2') format('woff2');
  unicode-range: U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+017F,U+2010-2027,U+2030-203A,U+2042,U+2044,U+20AC,U+20BF,U+2116,U+2122,U+2190-2193,U+2212,U+261E,U+2766-2767,U+FB00-FB06;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('fonts/playfair-var.woff2') format('woff2');
  unicode-range: U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+017F,U+2010-2027,U+2030-203A,U+2042,U+2044,U+20AC,U+20BF,U+2116,U+2122,U+2190-2193,U+2212,U+261E,U+2766-2767,U+FB00-FB06;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url('fonts/playfair-italic-var.woff2') format('woff2');
  unicode-range: U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+017F,U+2010-2027,U+2030-203A,U+2042,U+2044,U+20AC,U+20BF,U+2116,U+2122,U+2190-2193,U+2212,U+261E,U+2766-2767,U+FB00-FB06;
}

@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('fonts/sourceserif4-var.woff2') format('woff2');
  unicode-range: U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+017F,U+2010-2027,U+2030-203A,U+2042,U+2044,U+20AC,U+20BF,U+2116,U+2122,U+2190-2193,U+2212,U+261E,U+2766-2767,U+FB00-FB06;
}

@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url('fonts/sourceserif4-italic-var.woff2') format('woff2');
  unicode-range: U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+017F,U+2010-2027,U+2030-203A,U+2042,U+2044,U+20AC,U+20BF,U+2116,U+2122,U+2190-2193,U+2212,U+261E,U+2766-2767,U+FB00-FB06;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('fonts/jetbrains-mono-var.woff2') format('woff2');
  unicode-range: U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+017F,U+2010-2027,U+2030-203A,U+2042,U+2044,U+20AC,U+20BF,U+2116,U+2122,U+2190-2193,U+2212,U+261E,U+2766-2767,U+FB00-FB06;
}

/* ----- metric-matched fallbacks (no reflow on swap) ----- */

@font-face {
  font-family: 'EB Garamond Fallback';
  src: local('Georgia');
  size-adjust: 85.88%;
  ascent-override: 117.26%;
  descent-override: 34.70%;
  line-gap-override: 0.00%;
}

@font-face {
  font-family: 'EB Garamond Fallback 2';
  src: local('Times New Roman');
  size-adjust: 94.27%;
  ascent-override: 106.82%;
  descent-override: 31.61%;
  line-gap-override: 0.00%;
}

@font-face {
  font-family: 'Playfair Display Fallback';
  src: local('Georgia');
  size-adjust: 102.37%;
  ascent-override: 105.69%;
  descent-override: 24.52%;
  line-gap-override: 0.00%;
}

@font-face {
  font-family: 'Playfair Display Fallback 2';
  src: local('Times New Roman');
  size-adjust: 112.38%;
  ascent-override: 96.28%;
  descent-override: 22.34%;
  line-gap-override: 0.00%;
}

@font-face {
  font-family: 'Source Serif 4 Fallback';
  src: local('Georgia');
  size-adjust: 108.41%;
  ascent-override: 95.56%;
  descent-override: 30.90%;
  line-gap-override: 0.00%;
}

@font-face {
  font-family: 'Source Serif 4 Fallback 2';
  src: local('Times New Roman');
  size-adjust: 119.00%;
  ascent-override: 87.06%;
  descent-override: 28.15%;
  line-gap-override: 0.00%;
}

@font-face {
  font-family: 'JetBrains Mono Fallback';
  src: local('Menlo');
  size-adjust: 99.66%;
  ascent-override: 102.35%;
  descent-override: 30.10%;
  line-gap-override: 0.00%;
}

@font-face {
  font-family: 'JetBrains Mono Fallback 2';
  src: local('Courier New');
  size-adjust: 99.98%;
  ascent-override: 102.02%;
  descent-override: 30.00%;
  line-gap-override: 0.00%;
}
