/* Self-hosted display + data pairing — no CDN link ships in production.
   `scripts/fetch_web_fonts.sh` populates web/fonts/. It writes .woff2 when a
   converter is installed (`brew install woff2`) and .ttf otherwise, so both are
   listed here, woff2 first. Until the script has run, the metric-matched system
   fallback below carries the layout. */

@font-face {
  font-family: "Archivo";
  src:
    url("../fonts/archivo-variable.woff2") format("woff2-variations"),
    url("../fonts/archivo-variable.ttf") format("truetype-variations");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20A0-20BF, U+2190-21FF, U+2200-22FF;
}

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

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

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

/* Fallback whose metrics sit close to Archivo, so swapping in the real file
   does not reflow the display type. */
@font-face {
  font-family: "Archivo Fallback";
  src: local("Helvetica Neue"), local("Arial"), local("system-ui");
  ascent-override: 92%;
  descent-override: 24%;
  size-adjust: 99%;
}
