/* ============================================================
   RocketX Fonts — self-hosted Montserrat (variable)
   ============================================================

   Replaces the Google Fonts <link> (removed 2026-08-10). Why:

   - LCP: the Google route is a two-hop critical chain — fetch the CSS from
     fonts.googleapis.com, only then discover the woff2 URLs on
     fonts.gstatic.com. Self-hosting collapses that to one same-origin
     request, and lets functions.php <link rel="preload"> the exact file.
   - Google serves Montserrat as a VARIABLE font (wght 100–900) and lists the
     same file URL under every requested weight. So one 35 KB latin file
     covers 400/500/600/700/800 — including the 900 that market-ticker.css
     asks for, which the old 5-weight request never actually loaded.
   - Third-party control + caching, same argument as the globe texture.

   "Montserrat Fallback" is Arial metric-matched to Montserrat so the swap
   does not change layout. Montserrat renders ~10% wider than Arial at the
   same size; before this, the hero <h1> grew 100px -> 150px when the real
   font arrived, and that larger repaint registered a new, later LCP entry
   (~2s after first paint, measured). The override numbers are computed from
   the actual font tables (frequency-weighted advance widths, hhea metrics)
   — see the commit message; don't hand-tweak them.

   The stack in tokens.css must be:  'Montserrat', 'Montserrat Fallback', …
   ============================================================ */

/* --- Montserrat variable — normal --- */
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/montserrat-var-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: 'Montserrat';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/montserrat-var-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;
}

/* --- Montserrat variable — italic (used by blog + testimonial quotes) --- */
@font-face {
	font-family: 'Montserrat';
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/montserrat-italic-var-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: 'Montserrat';
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/montserrat-italic-var-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 (Arial adjusted to Montserrat's metrics) --- */
@font-face {
	font-family: 'Montserrat Fallback';
	src: local('Arial'), local('Helvetica Neue'), local('Liberation Sans');
	size-adjust: 110.58%;
	ascent-override: 87.54%;
	descent-override: 22.70%;
	line-gap-override: 0%;
}
