/* Cyrillic font stack for /ru/ — Files self-hosted 2026-09-29 from Google Fonts (subset "cyrillic", unicode-range verified against the Google CSS). Loaded only on Russian pages (src/i18n/config.js → FONT_STACKS.cyrillic → Base.astro).
 *
 * Why: Josefin Sans and Libre Baskerville have no Cyrillic, neither in these files nor upstream (docs/international/research/04-machbarkeit.md §2.1).
 * Replacement: Jost for headings, Source Serif 4 for body text. Both SIL Open Font License, self-hosted like the Latin files (GDPR).
 *
 * TODO(international, RU work package) — files to self-host in public/fonts/ (NOT in the repo yet, nothing was downloaded):
 *   1. jost-cyrillic.woff2                   Jost, variable (wght 400–700), subset "cyrillic"
 *   2. source-serif-4-cyrillic.woff2         Source Serif 4, variable roman (wght 400–700), subset "cyrillic"
 *   3. source-serif-4-italic-cyrillic.woff2  Source Serif 4, variable italic (wght 400–700), subset "cyrillic"
 *   One variable file per style on purpose: the three Josefin Sans files per subset in this folder are byte-identical
 *   variable fonts (research §1.1), so three files per family would triple the requests for nothing.
 *   Russian needs the subset "cyrillic" only (ё and № included); "cyrillic-ext" is not required.
 *   Then: (a) uncomment the three @font-face blocks below, (b) verify the unicode-range against the subset actually downloaded,
 *   (c) add '/fonts/jost-cyrillic.woff2' to FONT_STACKS.cyrillic.preloads in src/i18n/config.js,
 *   (d) check uppercase + letter-spacing in header, buttons and kickers: Cyrillic capitals run wider (research §2.1),
 *   (e) /fonts/* is served with a one-year immutable cache (netlify.toml): if this file ever changes after /ru/ is live, rename it.
 *
 * The rule at the bottom is already active and harmless: without the files the browser falls back to the system font for Cyrillic,
 * exactly as it would without this stylesheet. The house fonts stay first, so Latin words inside Russian text (H.E.L.P., device
 * names, e-mail addresses) keep the brand typefaces; Cyrillic glyphs fall through to Jost / Source Serif 4 via unicode-range.
 */

@font-face { font-family: 'Jost'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('/fonts/jost-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('/fonts/source-serif-4-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Source Serif 4'; font-style: italic; font-weight: 400 700; font-display: swap; src: url('/fonts/source-serif-4-italic-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }

:lang(ru) {
  --font-heading: 'Josefin Sans', 'Jost', sans-serif;
  --font-body: 'Libre Baskerville', 'Source Serif 4', Georgia, serif;
}
