/*
 * Self-hosted brand fonts (Cinzel + Inter), latin subset only,
 * one woff2 per weight.
 *
 * Why per-weight static files (vs the merged Google Fonts response):
 *   The merged file Google's CSS2 endpoint returns when multiple weights
 *   are requested at once is ambiguous — not declared as variable in its
 *   metadata, so browsers fall back to the metric-matched fallback face
 *   (Times for Cinzel) for any weight other than the file's actual one.
 *   Per-weight static files are unambiguous: weight 600 hits a real
 *   weight 600 file. Total payload ~142 KB, gzipped over the wire.
 *
 * Files come from Google Fonts (Open Font License — Cinzel by Natanael
 * Gama, Inter by Rasmus Andersson). Sources committed under
 * wwwroot/fonts/ and served same-origin.
 *
 * Metric overrides on the FALLBACK families make the system fallback
 * render with metrics matching the real font, so the swap from fallback
 * -> webfont causes no layout shift. Without these, Inter swap on
 * mobile is the largest CLS source on the home page.
 */

/* ------------------------------------------------------------------ */
/* Inter — body, UI, buttons. Weights 400 / 500 / 600 / 700.           */
/* ------------------------------------------------------------------ */

@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("inter-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: "Inter";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("inter-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: "Inter";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("inter-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: "Inter";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("inter-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;
}

/* ------------------------------------------------------------------ */
/* Cinzel — display headings. Weights 500 / 600 / 700.                 */
/* ------------------------------------------------------------------ */

@font-face {
    font-family: "Cinzel";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("cinzel-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: "Cinzel";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("cinzel-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: "Cinzel";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("cinzel-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;
}

/* ------------------------------------------------------------------ */
/* Metric-matched fallback faces. Render INSTANTLY using local system   */
/* fonts whose metrics are reshaped to match the real font, so the      */
/* swap to the webfont causes no CLS.                                   */
/* ------------------------------------------------------------------ */

@font-face {
    font-family: "Inter Fallback";
    src: local("Arial");
    size-adjust: 107.4%;
    ascent-override: 90.49%;
    descent-override: 22.55%;
    line-gap-override: 0%;
}

@font-face {
    font-family: "Cinzel Fallback";
    src: local("Times New Roman"), local("Times");
    size-adjust: 100%;
    ascent-override: 95%;
    descent-override: 30%;
    line-gap-override: 0%;
}
