/* Deferred font-face declarations — loaded non-blocking after first paint.
 * These 14 @font-face rules cover all non-critical weights in Latin-only
 * subsets. They are loaded via:
 *   <link rel="stylesheet" href="/fonts-deferred.css"
 *         media="print" onload="this.media='all'">
 * so they do not block the critical path. The two above-fold fonts
 * (Space Grotesk 600 Latin, Plus Jakarta Sans 500 Latin) are inlined
 * in BaseLayout.astro <head> and preloaded — they are NOT repeated here.
 * JetBrains Mono is not present (no .woff2 for it exists in /public/fonts/;
 * code blocks fall back to system-ui monospace).
 * Latin-Extended subsets have been removed — this is an English-only site
 * (specs.md §11); Eastern European / diacritic characters are not needed.
 * unicode-range ensures each file is only fetched when its character
 * set is actually used on the page.
 *
 * Synthetic ui-sans-serif fallbacks: when the browser paints with the
 * ui-sans-serif fallback during font-swap, these @font-face rules
 * resolve first so Space Grotesk / Plus Jakarta Sans are rendered with
 * system-font-like metrics (size-adjust / ascent-override). Both source
 * files are identical to their real counterparts so no extra network
 * request is incurred. These are also inlined in BaseLayout.astro. */
/* Synthetic ui-sans-serif — Space Grotesk metrics (weights 400/500/700 kept;
 * 300 removed — font-light is never used in the codebase). */
@font-face {
  font-family: "ui-sans-serif";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("/fonts/space-grotesk-400-latin.woff2") format("woff2");
  size-adjust: 103.6%;
  ascent-override: 90%;
  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: "ui-sans-serif";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("/fonts/space-grotesk-500-latin.woff2") format("woff2");
  size-adjust: 103.6%;
  ascent-override: 90%;
  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: "ui-sans-serif";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("/fonts/space-grotesk-700-latin.woff2") format("woff2");
  size-adjust: 103.6%;
  ascent-override: 90%;
  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;
}
/* Synthetic ui-sans-serif — Plus Jakarta Sans metrics (weights 400–700 kept;
 * 200/300 are unused — no font-light or font-extralight appears in the
 * codebase, so those synthetic fallbacks are never triggered). */
@font-face {
  font-family: "ui-sans-serif";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("/fonts/plus-jakarta-sans-400-latin.woff2") format("woff2");
  size-adjust: 104.2%;
  ascent-override: 90%;
  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: "ui-sans-serif";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("/fonts/plus-jakarta-sans-600-latin.woff2") format("woff2");
  size-adjust: 104.2%;
  ascent-override: 90%;
  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: "ui-sans-serif";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("/fonts/plus-jakarta-sans-700-latin.woff2") format("woff2");
  size-adjust: 104.2%;
  ascent-override: 90%;
  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: "ui-sans-serif";
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url("/fonts/plus-jakarta-sans-800-latin.woff2") format("woff2");
  size-adjust: 104.2%;
  ascent-override: 90%;
  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;
}
/* Plus Jakarta Sans — Latin only, weights 400–800 (200/300 removed — unused) */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("/fonts/plus-jakarta-sans-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: "Plus Jakarta Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("/fonts/plus-jakarta-sans-600-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: "Plus Jakarta Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("/fonts/plus-jakarta-sans-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: "Plus Jakarta Sans";
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url("/fonts/plus-jakarta-sans-800-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;
}
/* Space Grotesk — Latin only, weights 400–700 (300 removed — font-light unused) */
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("/fonts/space-grotesk-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 Grotesk";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("/fonts/space-grotesk-500-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 Grotesk";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("/fonts/space-grotesk-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;
}
