/* =========================================================================
   Self-hosted fonts (was Google Fonts CDN). See SITE-REFERENCE.
   font-display:optional on the two body/heading families => guaranteed 0 CLS:
   the browser locks one font for the whole load, so the web-font swap can
   never reflow the hero. IBM Plex Mono stays swap (small UI labels only).
   The *-fallback families carry size-adjust + metric overrides computed from
   the actual woff2 files, so the first (uncached) paint matches closely too.
   ========================================================================= */

/* ---- Fraunces (headings, hero H1) ---- */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:400;font-display:optional;
  src:url("/assets/fonts/fraunces-v38-latin-regular.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:500;font-display:optional;
  src:url("/assets/fonts/fraunces-v38-latin-500.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:600;font-display:optional;
  src:url("/assets/fonts/fraunces-v38-latin-600.woff2") format("woff2")}

/* ---- Hanken Grotesk (body) ---- */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400;font-display:optional;
  src:url("/assets/fonts/hanken-grotesk-v12-latin-regular.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:500;font-display:optional;
  src:url("/assets/fonts/hanken-grotesk-v12-latin-500.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:600;font-display:optional;
  src:url("/assets/fonts/hanken-grotesk-v12-latin-600.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:700;font-display:optional;
  src:url("/assets/fonts/hanken-grotesk-v12-latin-700.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:italic;font-weight:400;font-display:optional;
  src:url("/assets/fonts/hanken-grotesk-v12-latin-italic.woff2") format("woff2")}

/* ---- IBM Plex Mono (mono UI labels) ---- */
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("/assets/fonts/ibm-plex-mono-v20-latin-regular.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url("/assets/fonts/ibm-plex-mono-v20-latin-500.woff2") format("woff2")}

/* ---- Metric-matched fallback families (values computed from the woff2s) ---- */
@font-face{font-family:"Fraunces Fallback";src:local("Times New Roman");
  size-adjust:136.53%;ascent-override:71.63%;descent-override:18.68%;line-gap-override:0%}
@font-face{font-family:"Hanken Fallback";src:local("Arial");
  size-adjust:116.22%;ascent-override:86.04%;descent-override:26.07%;line-gap-override:0%}