/**
 * Self-hosted fonts (performance / Core Web Vitals — a non-negotiable from the handoff).
 *
 * TODO before launch: download woff2 files from Google Fonts and place them in
 * /assets/fonts/. Until then, the font-family fallbacks in tokens.css keep the
 * site rendering in system fonts (no layout break).
 *
 * Families: Space Grotesk (700), Hanken Grotesk (400/500/600/700),
 * Spectral (300 italic), IBM Plex Mono (500/600).
 */

/* Space Grotesk — display & headings */
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/space-grotesk-700.woff2") format("woff2");
}

/* Hanken Grotesk — body & UI */
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-400.woff2") format("woff2");
}
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-500.woff2") format("woff2");
}
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-600.woff2") format("woff2");
}
@font-face {
  font-family: "Hanken Grotesk";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/hanken-grotesk-700.woff2") format("woff2");
}

/* Spectral — editorial italic pull-quotes */
@font-face {
  font-family: "Spectral";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/spectral-300-italic.woff2") format("woff2");
}

/* IBM Plex Mono — eyebrows, labels, prices-as-data */
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/ibm-plex-mono-500.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");
}
