/* RESURRECTION fonts — the four voices, shipped as files.
   url() paths resolve relative to this file: keep fonts/ beside it.
   No CDN fonts, ever: offline surfaces and CSP'd artifacts must
   render identically to production. */

/* The story voice — Lora (variable 400–700, upright + italic) */
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/Lora-Variable.woff2") format("woff2");
}
@font-face {
  font-family: "Lora";
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/Lora-Italic-Variable.woff2") format("woff2");
}

/* The interface voice — Archivo (variable 100–900) */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/Archivo-Variable.woff2") format("woff2");
}

/* The scorekeeping voice — Graduate (single weight) */
@font-face {
  font-family: "Graduate";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/Graduate-Regular.woff2") format("woff2");
}

/* The evidence voice — Courier Prime */
@font-face {
  font-family: "Courier Prime";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/CourierPrime-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Courier Prime";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/CourierPrime-Bold.woff2") format("woff2");
}
