/* Cyrillic coverage for the heading face.
 *
 * Archivo Black ships no Cyrillic subset (verified against the Google Fonts css2
 * endpoint, 2026-09-09 — it serves only latin, latin-ext and vietnamese), so the
 * Russian locale's headings would otherwise fall back to whatever heavy sans the
 * device happens to have: Arial Black on desktop, a thin generic sans on most
 * Android phones.
 *
 * This declares a SEPARATE family that carries Cyrillic only, appended to
 * --font-heading in site.css after 'Archivo Black'. Latin headings still resolve
 * to real Archivo Black and nothing about the LT/EN design moves; only Cyrillic
 * codepoints reach this face.
 *
 * The weight descriptor is load-bearing. The vendored Montserrat woff2 is a
 * VARIABLE font — scripts/fetch-google-font.mjs writes byte-identical files for
 * every requested weight — so the @font-face `font-weight` descriptor, not the
 * filename, is what picks the instance the browser renders. Declared at 900 so
 * Cyrillic headings come out black and match Archivo Black's weight, even though
 * site.css asks headings for weight 400 (Archivo Black bakes black into 400).
 * Dropping this to 400 renders the Russian headlines thin.
 *
 * Kept in its own file so re-running scripts/install-shared-font.mjs cannot
 * clobber it.
 */

@font-face {
  font-family: 'Heading Cyrillic';
  font-weight: 900;
  font-style: normal;
  src: url('Montserrat-900-cyrillic-ext.woff2') format('woff2');
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: 'Heading Cyrillic';
  font-weight: 900;
  font-style: normal;
  src: url('Montserrat-900-cyrillic.woff2') format('woff2');
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
