/*
 * QAIRU kiosk — self-hosted fonts (no Google Fonts at the venue).
 * Source: jsDelivr, @fontsource-variable/* (variable woff2, wght axis), downloaded 2026-09-28.
 *   unbounded 5.3.0 · manrope 5.3.0 · montserrat 5.3.0 · onest 5.3.1 — all SIL OFL 1.1 (LICENSE-*.txt next to this file).
 * unicode-range values are copied from fontsource index.css (subsets cyrillic-ext, cyrillic, latin-ext, latin).
 *
 * KAZAKH: neither Unbounded nor Manrope has the full Kazakh alphabet (checked with fontTools, upstream TTFs too):
 *   Unbounded lacks  Ә ә Ғ ғ Қ қ Ң ң Ө ө Ұ ұ Ү ү Һ һ  (has only І і)
 *   Manrope   lacks  Ә ә Ғ ғ Қ қ Ң ң Ұ ұ              (has Ө ө Ү ү Һ һ І і)
 * Two "tail" families fill ONLY those letters, glyph by glyph, and must stand right after the main family:
 *   --disp: "Unbounded", "QAIRU KK Display", system-ui, sans-serif;
 *   --body: "Manrope",   "QAIRU KK Body",    system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
 * Do NOT keep "Manrope" second in --disp: it would put Manrope's Ө Ү Һ into Unbounded headlines.
 * Tail files load only when a Kazakh letter is on screen (restricted unicode-range).
 *
 * PATHS: this file lives in site/fonts/ and is linked from index.html, so url() values are
 * relative to this folder (no "fonts/" prefix).
 */

/* ---------- Unbounded (display) — wght 200..900, used 500/700/800 ---------- */
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(unbounded-cyrillic-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(unbounded-cyrillic-wght-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(unbounded-latin-ext-wght-normal.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;
}
@font-face {
  font-family: "Unbounded";
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(unbounded-latin-wght-normal.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;
}

/* ---------- Manrope (body) — wght 200..800, used 500/600/700/800 ---------- */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(manrope-cyrillic-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(manrope-cyrillic-wght-normal.woff2) format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(manrope-latin-ext-wght-normal.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;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(manrope-latin-wght-normal.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;
}

/* ---------- Kazakh tail for display: Montserrat (wide geometric, closest to Unbounded 800) ---------- */
@font-face {
  font-family: "QAIRU KK Display";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(montserrat-cyrillic-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0492-0493, U+049A-049B, U+04A2-04A3, U+04AE-04AF, U+04BA-04BB, U+04D8-04D9, U+04E8-04E9;
}
@font-face {
  font-family: "QAIRU KK Display";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(montserrat-cyrillic-wght-normal.woff2) format("woff2");
  unicode-range: U+04B0-04B1;
}

/* ---------- Kazakh tail for body: Onest (near-twin of Manrope) ---------- */
@font-face {
  font-family: "QAIRU KK Body";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(onest-cyrillic-ext-wght-normal.woff2) format("woff2");
  unicode-range: U+0492-0493, U+049A-049B, U+04A2-04A3, U+04AE-04AF, U+04BA-04BB, U+04D8-04D9, U+04E8-04E9;
}
@font-face {
  font-family: "QAIRU KK Body";
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(onest-cyrillic-wght-normal.woff2) format("woff2");
  unicode-range: U+04B0-04B1;
}
