/* openroar — self-hosted webfonts (no third-party CDN at runtime; privacy-first) */
/* Fraunces: variable (opsz 9..144, wght 100..900), roman + italic, latin subset */
/* Inter:    variable (wght 100..900), latin subset                              */

/* Fraunces — roman */
@font-face {
  font-family: "Fraunces";
  src: url("fraunces-latin-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Fraunces — italic (includes Thin/100 for the Fraunces Thin Italic display cut) */
@font-face {
  font-family: "Fraunces";
  src: url("fraunces-latin-italic-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-stretch: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter — variable (all weights 100..900 used).
   font-display: optional — Inter is the BODY sans; a swap mid-paint would shift body copy
   (CLS). optional hides the web-font briefly, falls back, and never reflows. The metric-
   matched fallback below keeps the fallback line-box close so even an optional swap is calm. */
@font-face {
  font-family: "Inter";
  src: url("inter-latin-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: optional;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* metric-matched fallback for Inter — kills swap/optional CLS by matching the
   fallback's line-box geometry to Inter's. Use "Inter-fallback" in the body stack. */
@font-face {
  font-family: "Inter-fallback";
  src: local("Arial");
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
  size-adjust: 107%;
}

/* metric-matched fallback for Fraunces (display/LCP face, font-display: swap above).
   Georgia is the visible fallback; these overrides keep the hero headline's box stable
   so the swap to Fraunces does not nudge layout. Use "Fraunces-fallback" in display stacks. */
@font-face {
  font-family: "Fraunces-fallback";
  src: local("Georgia");
  ascent-override: 92%;
  descent-override: 24%;
  line-gap-override: 0%;
  size-adjust: 104%;
}
