/*
 * Site fonts: the one place that decides which typefaces the whole site uses.
 *
 * Brandefense Sans = Urbanist for letters, JetBrains Mono for the digits 0-9 (same pairing as the product).
 * To change a typeface, change the files here; every page reads the three variables below.
 */

@font-face { font-family: 'Brandefense Sans'; src: url('../fonts/Urbanist-normal-latin-ext.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; 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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Brandefense Sans'; src: url('../fonts/Urbanist-normal-latin.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; 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: 'Brandefense Sans'; src: url('../fonts/Urbanist-italic-latin-ext.woff2') format('woff2'); font-weight: 100 900; font-style: italic; font-display: swap; 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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Brandefense Sans'; src: url('../fonts/Urbanist-italic-latin.woff2') format('woff2'); font-weight: 100 900; font-style: italic; font-display: swap; 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; }

/* Digits: declared last so they win for 0-9 only. Same weight range as the faces above on purpose. */
@font-face { font-family: 'Brandefense Sans'; src: url('../fonts/JetBrainsMono-normal-latin.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; unicode-range: U+0030-0039; }
@font-face { font-family: 'Brandefense Sans'; src: url('../fonts/JetBrainsMono-normal-latin.woff2') format('woff2'); font-weight: 100 900; font-style: italic; font-display: swap; unicode-range: U+0030-0039; }

@font-face { font-family: 'JetBrains Mono'; src: url('../fonts/JetBrainsMono-normal-latin-ext.woff2') format('woff2'); font-weight: 100 800; font-style: normal; font-display: swap; 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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'JetBrains Mono'; src: url('../fonts/JetBrainsMono-normal-latin.woff2') format('woff2'); font-weight: 100 800; font-style: normal; font-display: swap; 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 fallbacks (ISS-051): while the web font loads, text is laid out with Arial resized to Urbanist's width
   and line metrics, so the swap does not move anything. Values measured against Arial (avg width 0.4404 vs 0.4484 em). */
@font-face { font-family: 'Brandefense Sans Fallback'; src: local('Arial'), local('ArialMT'), local('Liberation Sans'); size-adjust: 98.2%; ascent-override: 96.7%; descent-override: 25.5%; line-gap-override: 0%; }
@font-face { font-family: 'JetBrains Mono Fallback'; src: local('Courier New'), local('CourierNewPSMT'), local('Liberation Mono'); size-adjust: 100%; ascent-override: 102%; descent-override: 30%; line-gap-override: 0%; }

:root {
    --bd-font-display: 'Brandefense Sans', 'Brandefense Sans Fallback', 'Helvetica Neue', Arial, sans-serif;
    --bd-font-body: 'Brandefense Sans', 'Brandefense Sans Fallback', 'Helvetica Neue', Arial, sans-serif;
    --bd-font-mono: 'JetBrains Mono', 'JetBrains Mono Fallback', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

body {
    font-family: var(--bd-font-body);
}
