/*
 * Context/26 (v2) fonts — Geist Mono.
 *
 * Page-scoped. Load ONLY from pages that render a context26-v2 panel:
 *   - Context26PromoBand.astro        → /context-layer/
 *   - Context26HeroPage.vue           → /context-conference/, /p/context-conference/
 *   - Context26PioneerBadgeStage.vue  → /context-conference-thankyou/
 *
 * WHY THIS FILE EXISTS
 * These faces used to sit in the panels' own <style> blocks. `@font-face` is an
 * at-rule, so Vue's `scoped` does not scope it, and the single-css purger never
 * strips at-rules (integrations/single-css/src/purge-engine.ts). One panel's
 * faces therefore landed in all ~1,189 pages' /css/pages/<slug>.css, where they
 * redeclared the site's own families, won the cascade by being later, and so
 * discarded all three preloads in FontLoader.astro on every page of the site.
 * Same failure mode as docs/2026-04-13_RCA_seo-v4-cwv-regression.md.
 *
 * WHY ONLY Geist Mono IS HERE
 * Because it is the only one of the three that the site does not already have.
 * The other two were duplicates of faces the site self-hosts and preloads:
 *
 *   Inter — /context26-v2/fonts/Inter-{400,500,600}.woff2 and the global
 *   /fonts/inter-latin.woff2 are the same typeface (518 glyphs), and the global
 *   one is variable across wght 100–900, so it covers every weight these panels
 *   ask for, including the single 650 in Context26HeroPage.
 *
 *   Funnel Display — /context26-v2/fonts/FunnelDisplay-var.woff2 is the same
 *   typeface as the global funnel-display-{regular,medium,semibold,bold}.woff2.
 *   Instantiated at wght 600 its outlines match the static semibold exactly
 *   (same advance widths, same bounds to sub-unit rounding, same 1200 upem).
 *   It is also a SMALLER cut: 217 characters against the global's 348, missing
 *   all 131 Latin Extended-A accented glyphs and adding none. Dropping it gives
 *   the campaign pages better coverage, not worse, and reuses a preloaded face.
 *
 * (An earlier pass declared that file as a separate family, "Funnel Display
 * Light", on the strength of its nameID 1. That was a misread: nameID 1 carries
 * the weight token when a font has no nameID 16, which is why this variable
 * font — whose default instance is Light — reports that name, and why the
 * global funnel-display-semibold.woff2 reports "Funnel Display SemiBold" by the
 * very same convention. Same family, not a different typeface.)
 *
 * Geist Mono has no global equivalent, so it stays here.
 */

@font-face {
  font-family: 'Geist Mono';
  src: url('/context26-v2/fonts/GeistMono-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Geist Mono';
  src: url('/context26-lp/fonts/GeistMono-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Geist Mono';
  src: url('/context26-v2/fonts/GeistMono-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
