/* =========================================================================
 * INTER — GOVERNED PRIMARY TYPEFACE
 * =========================================================================
 *
 * Design System Manual v3.2 §2: "Primary typeface: Inter."
 *
 * Inter was declared in 38 component rules but delivered by nothing: the
 * theme shipped no @font-face, no font files and made no font request, so
 * every declaration fell through to the platform system face. This file is
 * the delivery mechanism that makes the governed typeface actually render.
 *
 * ⚠ document.fonts.check('16px Inter') RETURNED TRUE while Inter was absent.
 *   check() reports on registered faces and returns true when there is no
 *   matching @font-face to block on. It is not evidence. Verify delivery with
 *   a resource-timing check plus a canvas width-probe against BOTH an absent
 *   -face control and system-ui.
 *
 * SUBSET: latin only, deliberately. Audited against rendered staging output —
 * every non-ASCII character in use falls inside this subset except → (U+2192),
 * ★ (U+2605) and ☆ (U+2606), which are absent from latin-ext too and continue
 * to render through per-glyph system fallback exactly as before. Shipping
 * latin-ext would add 85KB and cover none of them.
 *
 * Variable face, weight axis 400-700, covering the four governed weights:
 * 400 body / 500 metadata / 600 labels-buttons-card-titles / 700 headings.
 * ========================================================================= */

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/inter-latin-var.woff2') format('woff2');
    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;
}

/* ── Global conformance ────────────────────────────────────
 *
 * Only 7 component files declared Inter. Everything else — the whole article
 * template included, which declares nothing on purpose so that it inherits —
 * computed to GeneratePress's system stack. Component-only delivery would
 * therefore have left body copy, both frozen articles and the frozen
 * Advertiser Disclosure on the system face, i.e. still non-conformant.
 *
 * ★ SPECIFICITY, NOT SOURCE ORDER. GeneratePress sets
 *   `body, button, input, select, textarea { font-family: ... }` at (0,1) from
 *   main.min.css, which loads at sheet index 17 — AFTER every child stylesheet
 *   (6-16). A plain `body` rule here would lose. Prefixing `html` raises this
 *   to (0,2) and wins regardless of order. The form-control selectors are
 *   matched because GeneratePress sets those too, and the Advertiser
 *   Disclosure trigger is a <button>.
 *
 * ⚠ TOKENS ARE FROZEN AND UNTOUCHED. This sets font-family only. No governed
 *   size, weight, line-height or letter-spacing is altered here. */
html body,
html button,
html input,
html select,
html textarea {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont,
                 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
