/**
 * Self-hosted webfonts.
 *
 * WHY THIS FILE EXISTS. Elementor was requesting both families from fonts.googleapis.com with every
 * weight and every italic listed — 36 faces across two render-blocking third-party stylesheets, for
 * a site that uses four. That is the largest Core Web Vitals cost on the page, and hotlinking Google
 * Fonts also hands a visitor's IP to a third party on every load, which is the thing German courts
 * have ruled against for EU visitors. Both problems have the same fix.
 *
 * The four faces are the whole type system, and they are the whole set the design allows:
 * Cormorant Garamond 500 (display), Inter 400 (body), Inter 500, Inter 600 (accent, buttons,
 * labels). There is no italic anywhere in the CSS, and `strong` is forced to 600 because the
 * system has no 700.
 *
 * ⚠ SEPARATE FILE, not part of rm-custom.css, for two reasons. Font delivery is a different concern
 * from the site's patterns, and it must load FIRST so a face is never requested before it is
 * declared. Keeping it out of the big file also means the two can be edited independently.
 *
 * ⚠ CEILING: these are ~200-glyph subsets (Latin-1 plus the punctuation the site actually sets,
 * verified to include the middot, the right arrow, curly quotes and the copyright sign). A
 * character outside that set falls back per-glyph to Georgia or the system sans, which is graceful
 * but visible. If a case study ever needs Central European or Turkish names, replace these with
 * fuller subsets from the same families rather than adding a second font source.
 *
 * ✅ woff2 shipped 2026-08-13, and the source files never had to turn up. This note used to say
 * "whenever the source files turn up" — but woff2 is a compression container, not a different
 * outline, so fontTools can re-flavour the woff we already hold with no re-subsetting and no
 * quality change. 52,204 B -> 40,004 B across the four faces, about 23% off the type system's
 * total weight, and the glyph coverage is byte-for-byte the same set, so the CEILING note above
 * still holds exactly.
 *
 * ⚠ woff is kept as the SECOND `src` entry, not deleted. A browser takes the first format it
 * understands, so woff2-capable browsers (every current one) never fetch it, and the fallback
 * costs nothing but the file sitting on disk. Order is load-bearing: woff2 must come first.
 */

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/cormorant-500.woff2") format("woff2"),
       url("../fonts/cormorant-500.woff") format("woff");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/inter-400.woff2") format("woff2"),
       url("../fonts/inter-400.woff") format("woff");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/inter-500.woff2") format("woff2"),
       url("../fonts/inter-500.woff") format("woff");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/inter-600.woff2") format("woff2"),
       url("../fonts/inter-600.woff") format("woff");
}
