/*
 * Self-hosted Inter — replaces fonts.googleapis.com to remove the
 * third-party round-trip + DNS lookup + cookieless-origin handshake.
 *
 * Files are downloaded from Google Fonts (v20, Latin + Latin-Ext subsets).
 * Both subsets share a single woff2 URL per subset across all 6 weights;
 * the browser fetches each file once and treats it as six weight variants.
 *
 * [claude:opus-4.8-1m][client:2.1.195][hurc:v0.12.267] font-display: swap (was `optional`).
 *   `optional` gives a ~100ms block window and NO swap period: whichever face
 *   (Inter or the fallback) wins the FIRST paint is frozen for the entire
 *   pageview and never swaps. Measured consequence — the weight-800 hero
 *   headline lost that race nondeterministically, so it rendered in Inter on
 *   some marketing pages and in the system font on others ("different font on
 *   every page"). Compounding it, the metric-matched 'Inter Fallback' below is
 *   src: local('Arial') — Arial is absent on Linux, so the frozen fallback
 *   dropped PAST it to -apple-system, a visibly different typeface at the same
 *   px size.
 *   `swap` renders the metric-matched fallback immediately, then ALWAYS swaps
 *   to Inter once the (preloaded) woff2 arrives — so every page converges on
 *   Inter. The fallback is metric-matched (see 'Inter Fallback' overrides
 *   below), so the swap is layout-stable: glyph box sizes are identical and
 *   buttons / headings do not reflow.
 *
 * Fallback metrics sourced from next/font/google output for Inter+Arial
 * (90.20% ascent, 22.48% descent, 0% line-gap, 107.40% size-adjust) — the
 * canonical metric-match for Inter that Vercel publishes.
 */

/* ── Inter (Latin subset — covers ASCII + common Latin) ──────────────── */

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('inter/inter-latin.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;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('inter/inter-latin.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;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('inter/inter-latin.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;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('inter/inter-latin.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;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('inter/inter-latin.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;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('inter/inter-latin.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;
}

/* ── Inter (Latin-Ext — covers accented chars, only fetched on demand) ── */

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url('inter/inter-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ── Metric-matched fallback ────────────────────────────────────────────
 * Used when Inter doesn't load inside the optional-display block window.
 * Arial rendered with these overrides has Inter's metrics, so layout is
 * identical to Inter — no reflow even if Inter never loads.
 */
@font-face {
	font-family: 'Inter Fallback';
	src: local('Arial');
	ascent-override: 90.20%;
	descent-override: 22.48%;
	line-gap-override: 0.00%;
	size-adjust: 107.40%;
}
