/* Self-hosted fonts, georgian and latin subsets only. The Noto families are
   VARIABLE fonts: one file per subset covers the whole 400-700 weight range
   (build 329), replacing the former 4 static Sans + 2 static Serif weights and
   cutting the font payload ~56%. Regenerate the Noto faces with
   tests/ci/fetch-fonts.mjs (weight ranges supported). Space Mono has no variable
   version and keeps its two static latin weights. */

@font-face {
  font-family: 'Noto Sans Georgian';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/noto-sans-georgian-400-700-georgian.woff2') format('woff2');
  unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}

@font-face {
  font-family: 'Noto Sans Georgian';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/noto-sans-georgian-400-700-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: 'Noto Serif Georgian';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/noto-serif-georgian-400-700-georgian.woff2') format('woff2');
  unicode-range: U+0589, U+10A0-10FF, U+1C90-1CBA, U+1CBD-1CBF, U+205A, U+2D00-2D2F, U+2E31;
}

@font-face {
  font-family: 'Noto Serif Georgian';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/noto-serif-georgian-400-700-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: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/space-mono-400-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: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/space-mono-700-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;
}

/* docs/tasks/HOMEPAGE_FONT_SWAP_LAYOUT_SHIFT.md: style.css's --serif/--sans fallback stack used
   the generic serif/sans-serif keyword directly, so font-display:swap's fallback-then-swap
   transition visibly shifted layout (classic FOUT+CLS) - the generic keyword's line box has a
   different ascent/descent than Noto Sans/Serif Georgian, so swapping in the real font pushed
   text up/down and resized it. These two @font-face blocks give a NAMED fallback (still whatever
   font the browser actually matches - Arial/Times New Roman or, for Georgian glyphs, the OS's own
   Georgian-capable system font) the SAME vertical metrics as the real webfont, so the swap moves
   nothing. Values measured directly from the real files with fontkit (hhea and OS/2 sTypo* agree
   exactly, so there's no ambiguity about which table a browser reads):
     Noto Sans/Serif Georgian: unitsPerEm=1000, ascent=1068, descent=-292, lineGap=0
     ascent-override  = 1068/1000 = 106.8%
     descent-override =  292/1000 =  29.2%
     line-gap-override =   0/1000 =   0%
   size-adjust is deliberately omitted: it would need the ACTUAL fallback font's average glyph
   width, which for Georgian text is whatever Georgian-capable system font the OS substitutes
   (not Arial/Times, which have no Georgian glyphs at all) - a size-adjust computed against the
   wrong font could introduce a NEW horizontal mismatch instead of removing one. The vertical
   overrides above are exact for any substituted font and already remove the layout shift the
   owner reported. */
@font-face {
  font-family: 'Noto Sans Georgian Fallback';
  src: local('Arial');
  ascent-override: 106.8%;
  descent-override: 29.2%;
  line-gap-override: 0%;
}

@font-face {
  font-family: 'Noto Serif Georgian Fallback';
  src: local('Times New Roman');
  ascent-override: 106.8%;
  descent-override: 29.2%;
  line-gap-override: 0%;
}
