/* ============================================================
   Reality Breaker — Webfonts
   Self-hosted variable fonts (latin subset).
   Fraunces      : storybook serif, optical-size variable (headlines)
   Space Grotesk : geometric grotesque (body / UI)
   Space Mono    : structural metadata labels only
   ============================================================ */

@font-face {
  font-family: "Fraunces";
  font-style: normal;
  font-weight: 300 900;
  font-display: optional;
  src: url("../assets/fonts/fraunces-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 300 700;
  font-display: optional;
  src: url("../assets/fonts/space-grotesk-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Space Mono";
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url("../assets/fonts/space-mono-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Space Mono";
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url("../assets/fonts/space-mono-700-latin.woff2") format("woff2");
}

/* Metric-matched local fallbacks: pre-swap text occupies roughly the same
   space as the webfont, so little reflows when the webfonts finish loading. */
@font-face {
  font-family: "Fraunces Fallback";
  src: local("Georgia");
  size-adjust: 92.7%;
  ascent-override: 105.5%;
  descent-override: 26.3%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Space Grotesk Fallback";
  src: local("Arial");
  size-adjust: 105.5%;
  ascent-override: 93.2%;
  descent-override: 27.7%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Space Mono Fallback";
  src: local("Courier New");
  size-adjust: 112%;
  line-gap-override: 0%;
}
