/* Self-hosted, as on yarvixo.com: the CSP says `font-src 'self'`, and a
   Google Fonts <link> would send every visitor's IP to Google.

   WHY NOT ARCHIVO. yarvixo.com sets everything in Archivo, flexed on its width
   axis — but Archivo has no Cyrillic at all, in any distribution, so on a
   Russian page every letter fell back to Arial while digits stayed in Archivo.
   Roboto Flex is the nearest grotesque that has Cyrillic AND a width axis, so
   design.css's "condensed display, normal body" (font-stretch 80–100 %) works
   unchanged. Chosen 2026-10-29; both families are SIL OFL 1.1 — the licences
   are next to the files (OFL-*.txt), which is what the OFL asks of anyone who
   redistributes them.

   The files are Google Fonts' own subsets, downloaded once:
     - latin and cyrillic, each carrying weight 400–800 and width 80–100 % only;
     - the ruble sign alone. Google files ₽ (U+20BD) under latin-ext, 42 KB for
       one glyph a Russian page needs; the API's text=₽ subset is 2 KB.
   unicode-range is Google's own, so a page downloads only the subsets its
   text uses. Font URLs are cached for a year as immutable: changed bytes need
   a new file name. */

@font-face {
  font-family: 'Roboto Flex';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 80% 100%;
  font-display: swap;
  src: url('/fonts/roboto-flex-cyrillic-wdth80-100.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Roboto Flex';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 80% 100%;
  font-display: swap;
  src: url('/fonts/roboto-flex-latin-wdth80-100.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: 'Roboto Flex';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 80% 100%;
  font-display: swap;
  src: url('/fonts/roboto-flex-rub-wdth80-100.woff2') format('woff2');
  unicode-range: U+20BD;
}

/* Every number and label: monospaced, tabular. JetBrains Mono has Cyrillic,
   so the uppercase mono labels (ЦЕНЫ, ПРЕДЛОЖЕНИЕ А) stay in one face. */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-rub.woff2') format('woff2');
  unicode-range: U+20BD;
}
