/**
 * Quorum · self-hosted web fonts (hand-authored; never regenerate with fetch-fonts, it drops latin-ext).
 *
 * Big Shoulders (display: H1, ordinals, titles, numbers) · variable wght 100-900 with an opsz axis
 * (font-optical-sizing stays auto, so 24px ordinals get the text cut and 112px+ the display cut).
 * Public Sans (text and UI) · variable wght 100-900, plus the 400 italic for rich text.
 * Overpass Mono (dates, times, metadata) · variable wght 300-700.
 * Each family: one latin file (always) and one latin-ext file (downloaded only when a page uses
 * latin-ext characters). Licences: ../fonts/OFL-*.txt (SIL Open Font License 1.1).
 *
 * The "Fallback" faces are metric-matched local fonts that stand in while the web font loads
 * (font-display: swap), so the swap does not move the layout. Widths were measured in Chromium
 * against Liberation Sans / Liberation Mono (metric-compatible with Arial / Courier New) over
 * sample headings and body copy; Arial Narrow is Arial at 82% width. Ascent and descent come from
 * each web font's OS/2 typo metrics (USE_TYPO_METRICS set), divided by the size adjustment.
 */

/* ---- Big Shoulders ---------------------------------------------------- */

@font-face {
    font-family: 'Big Shoulders';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/big-shoulders-var-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: 'Big Shoulders';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/big-shoulders-var-latin-ext.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;
}

/* ---- Public Sans ------------------------------------------------------ */

@font-face {
    font-family: 'Public Sans';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/public-sans-var-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: 'Public Sans';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/public-sans-var-latin-ext.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: 'Public Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/public-sans-400i-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: 'Public Sans';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/public-sans-400i-latin-ext.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;
}

/* ---- Overpass Mono ---------------------------------------------------- */

@font-face {
    font-family: 'Overpass Mono';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/overpass-mono-var-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: 'Overpass Mono';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/overpass-mono-var-latin-ext.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;
}

/* ---- Metric-matched fallbacks ----------------------------------------- */

/* Big Shoulders on Arial Narrow Bold, calibrated at 700 */
@font-face {
    font-family: 'Big Shoulders Fallback';
    font-style: normal;
    font-weight: 100 750;
    src: local('Arial Narrow Bold'), local('ArialNarrow-Bold'), local('Liberation Sans Narrow Bold');
    size-adjust: 92.27%;
    ascent-override: 106.81%;
    descent-override: 23.25%;
    line-gap-override: 0%;
}

/* Big Shoulders on Arial Narrow Bold, calibrated between 800 and 900 */
@font-face {
    font-family: 'Big Shoulders Fallback';
    font-style: normal;
    font-weight: 751 1000;
    src: local('Arial Narrow Bold'), local('ArialNarrow-Bold'), local('Liberation Sans Narrow Bold');
    size-adjust: 98.00%;
    ascent-override: 100.56%;
    descent-override: 21.89%;
    line-gap-override: 0%;
}

/* Big Shoulders on Arial Bold where Arial Narrow is missing, calibrated at 700 */
@font-face {
    font-family: 'Big Shoulders Fallback Arial';
    font-style: normal;
    font-weight: 100 750;
    src: local('Arial Bold'), local('Arial-BoldMT'), local('Liberation Sans Bold'), local('Arimo Bold');
    size-adjust: 75.66%;
    ascent-override: 130.25%;
    descent-override: 28.35%;
    line-gap-override: 0%;
}

/* Big Shoulders on Arial Bold where Arial Narrow is missing, calibrated between 800 and 900 */
@font-face {
    font-family: 'Big Shoulders Fallback Arial';
    font-style: normal;
    font-weight: 751 1000;
    src: local('Arial Bold'), local('Arial-BoldMT'), local('Liberation Sans Bold'), local('Arimo Bold');
    size-adjust: 80.30%;
    ascent-override: 122.73%;
    descent-override: 26.71%;
    line-gap-override: 0%;
}

/* Public Sans 400 on Arial */
@font-face {
    font-family: 'Public Sans Fallback';
    font-style: normal;
    font-weight: 100 549;
    src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('Arimo');
    size-adjust: 103.95%;
    ascent-override: 91.39%;
    descent-override: 21.65%;
    line-gap-override: 0%;
}

/* Public Sans 600 on Arial Bold */
@font-face {
    font-family: 'Public Sans Fallback';
    font-style: normal;
    font-weight: 550 1000;
    src: local('Arial Bold'), local('Arial-BoldMT'), local('Liberation Sans Bold'), local('Arimo Bold');
    size-adjust: 97.90%;
    ascent-override: 97.04%;
    descent-override: 22.98%;
    line-gap-override: 0%;
}

/* Overpass Mono on Courier New */
@font-face {
    font-family: 'Overpass Mono Fallback';
    font-style: normal;
    font-weight: 100 1000;
    src: local('Courier New'), local('CourierNewPSMT'), local('Liberation Mono'), local('Cousine');
    size-adjust: 102.65%;
    ascent-override: 86.02%;
    descent-override: 37.31%;
    line-gap-override: 0%;
}
