/* =========================================================================
   FONT FACES ONLY
   -------------------------------------------------------------------------
   Split out of globals.css so it can be loaded on its own. Two reasons:
     - the browser finds the @font-face rules without parsing 32KB of layout
       CSS first, so the font downloads start earlier;
     - Stripe's Payment Element takes a `fonts: [{ cssSrc }]` stylesheet to
       load faces inside its cross-origin iframe (javascript/checkout.js).
       It was being handed the whole of globals.css, which the iframe cannot
       use and which pulls all three families when it renders only mont-bold.
   Loaded first on every page by template_header(); globals.css does NOT
   @import it, because that would serialise the two fetches.
   ========================================================================= */

/* Registered under BOTH style descriptors, same file. The glyphs are italic
   by design ("-it"), but most headings request font-style: normal — Chrome
   quietly uses an italic-only face for those, Safari refuses and falls back
   to the default serif (seen on iPad, 2026-08-27). Dual registration gives
   every request an exact match; no browser synthesises anything on top. */
@font-face {
  font-family: "good-timing";
  src: url("../fonts/geom-graphic-semi-bold-it.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "good-timing";
  src: url("../fonts/geom-graphic-semi-bold-it.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
/* font-weight: 700 is required, not decorative. Without the descriptor this
   face registers at 400 — the family is *named* bold but *filed* as normal —
   so any heading tag (default font-weight: bold) found no 700 face and the
   browser synthesised one ON TOP of glyphs that are already Inter Bold.
   Declaring 700 makes those requests match exactly and stops the smearing.
   Rules asking for `normal` are unaffected: with only a 700 face available the
   browser uses it as-is, since it never synthesises a lighter weight. */
@font-face {
  font-family: "mont-bold";
  src: url("../fonts/inter-bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "mont-med";
  src: url("../fonts/inter-medium.woff2") format("woff2");
  font-display: swap;
}
