/*
 * THE v4 SERIF: EB GARAMOND, TUNED TO THE DECK. Ruled by Charles 2026-09-23
 * (decision 3172; descriptors 3174; weights 3175). v1 never loads this file:
 * the <link> in html_head_content.php sits behind V4::isEnabled, and the token
 * that wears the family is declared only inside :root[data-v4].
 *
 * WHY LOCAL @font-face RULES AND NOT THE css2 REQUEST THE SANS RIDES. The
 * rebrand was drawn in a PowerPoint deck set in Monotype Garamond, an Office
 * face with no web licence. EB Garamond is the web stand-in, and the ruling is
 * to match the deck as closely as reasonably possible - which means descriptors
 * Google's stylesheet cannot carry: size-adjust for width parity and the deck
 * face's own vertical box (ascent 86.2%, descent 26.3%, line-gap 0). Those live
 * on @font-face, so the faces are declared here and only the files come from
 * gstatic. The Arimo request in the head is unchanged.
 *
 * THE FAMILY NAME IS PRIVATE ON PURPOSE. 'HW EB Garamond' cannot collide with a
 * stock EB Garamond @font-face any other stylesheet declares now or later (source
 * order would decide the winner, and the descriptors would silently vanish), and
 * a file that fails to load falls through visibly to Times New Roman rather than
 * to an untuned local EB Garamond that happens to be installed.
 *
 * SIZE-ADJUST PER WEIGHT. 102.4% at 400 and 101.1% at 700 were MEASURED against
 * Monotype Garamond (obs 2541, width-first: the deck's line breaks matter more
 * than its x-height). 500 and 600 are interpolated between them, 800 holds the
 * 700 value; none of the three has a deck equivalent (the deck has Regular and
 * Bold only, obs 2628), so there is nothing to measure them against and the
 * interpolation is the honest placeholder. Re-measure if a design ever sets a
 * deck line in one of them.
 *
 * THE BOX OVERRIDES ARE ON EVERY FACE, including the italics: without them each
 * style would bring its own vertical metrics and a run that mixes upright and
 * italic would change line height mid-paragraph.
 *
 * font-display: swap, per 2104 and the rule that text is never invisible: Times
 * New Roman paints at once and EB Garamond replaces it. The 400 upright file is
 * preloaded in the head so that swap is as short as the network allows; the
 * other nine are fetched only when a rule reaches for them.
 *
 * THE FILES ARE SERVED FROM THIS ORIGIN, PINNED THROUGH npm (Charles, 2026-09-23):
 * @fontsource/eb-garamond 5.3.0, exact in package.json, sha512 in pnpm-lock.yaml,
 * copied by pnpm build into html/vendor/eb-garamond-5.3.0 (vite.config.js, the
 * Font Awesome pattern) - the latin subset, woff2, ten static per-weight files.
 * Ten files rather than one variable file with ten rules, because a rule per
 * weight is what lets each weight carry its own size-adjust. The urls below are
 * root-absolute so they resolve the same from html/css/v4-fonts.css and from
 * the preload in html_head_content.php, which must match the 400 upright's url
 * byte for byte or the browser downloads it twice. No gstatic, no third-party
 * origin, no font-file request that leaves the site.
 *
 * ITALIC IS THE KNOWN GAP (obs 2540): Monotype Garamond's italic is unusually
 * narrow and nothing here pretends to match it. The italics carry the upright
 * size-adjust of their weight so a word set in italic keeps its neighbours' box.
 */

/* ── upright ─────────────────────────────────────────────────────────────── */

@font-face {
    font-family: 'HW EB Garamond';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-400-normal.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 102.4%;
}

@font-face {
    font-family: 'HW EB Garamond';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-500-normal.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 102.1%;
}

@font-face {
    font-family: 'HW EB Garamond';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-600-normal.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 101.7%;
}

@font-face {
    font-family: 'HW EB Garamond';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-700-normal.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 101.1%;
}

@font-face {
    font-family: 'HW EB Garamond';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-800-normal.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 101.1%;
}

/* ── italic ──────────────────────────────────────────────────────────────── */

@font-face {
    font-family: 'HW EB Garamond';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-400-italic.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 102.4%;
}

@font-face {
    font-family: 'HW EB Garamond';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-500-italic.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 102.1%;
}

@font-face {
    font-family: 'HW EB Garamond';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-600-italic.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 101.7%;
}

@font-face {
    font-family: 'HW EB Garamond';
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-700-italic.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 101.1%;
}

@font-face {
    font-family: 'HW EB Garamond';
    font-style: italic;
    font-weight: 800;
    font-display: swap;
    src: url(/vendor/eb-garamond-5.3.0/eb-garamond-latin-800-italic.woff2) format('woff2');
    ascent-override: 86.2%;
    descent-override: 26.3%;
    line-gap-override: 0%;
    size-adjust: 101.1%;
}
