/*
 * The brand fonts, served from our own host so that no page makes a request
 * to Google Fonts (docs/DECISIONS.md, 2026-10-06 evening, item 6: nothing
 * third-party loads before the matching consent).
 *
 * Four families (DESIGN.md 10.2; C1 and C2, 2026-10-16):
 *   Plus Jakarta Sans 600 to 700    headings, labels and buttons (--font-heading)
 *   Arimo                           the heading face's fallback for Cyrillic,
 *                                   Greek and Hebrew, which Plus Jakarta Sans
 *                                   does not draw
 *   Noto Sans                       body (--font-body)
 *   Source Serif 4 500, italic 400  the display face (--font-serif)
 *
 * Arimo, Noto Sans and Source Serif 4 are as Google Fonts served them on
 * 2026-10-06 for this css2 query (same files, same unicode ranges):
 *   family=Arimo:wght@400;500;600;700&family=Noto+Sans:wght@400;500;600;700&family=Source+Serif+4:ital,opsz,wght@0,8..60,500;1,8..60,400&display=swap
 * The Source Serif 4 files are the app's (apps/web/fonts), byte for byte,
 * the cut the October design boards loaded; until 2026-10-16 the site had
 * the static text cut. Arimo keeps only its
 * cyrillic, greek and hebrew files: Plus Jakarta Sans covers latin,
 * latin-ext and vietnamese, so Arimo's three files for those were deleted
 * on 2026-10-16. Source Serif 4 has the optical size axis
 * (opsz 8 to 60), so the browser draws its display cut at display sizes. To
 * refresh, request css2 with that query and a current Chrome user agent,
 * and replace the files. The version in these file names (v36 and so on) is
 * Google's, and changes the address whenever a file changes.
 *
 * Plus Jakarta Sans is cut here from Google's variable font
 * (PlusJakartaSans-VariableFont_wght.ttf, version 2.071: the "v2071" in its
 * file names), limited to weights 600 to 700 and split into Google's latin,
 * latin-ext and vietnamese ranges, with every OpenType feature kept, tabular
 * figures included. 800 is not shipped: C2 retired it. To rebuild, with
 * fontTools and brotli (pip install fonttools brotli):
 *   fonttools varLib.instancer PlusJakartaSans-VariableFont_wght.ttf wght=600:600:700 -o pjs.ttf
 *   pyftsubset pjs.ttf --unicodes="<the face's unicode-range>" --layout-features='*' --name-IDs='*' --flavor=woff2 --output-file=plus-jakarta-sans-<subset>-v<version>.woff2
 *
 * The two "Fallback" families at the end are local Arial Bold and Georgia,
 * scaled to the web fonts' widths and line metrics, so text drawn while a
 * web font is still arriving takes the space it will take when it lands and
 * nothing moves on the swap. Measured with fontTools on 2026-10-16 against
 * the advance widths of an English sample of the product's own headings.
 *
 * All four are under the SIL Open Font Licence 1.1: OFL-*.txt beside
 * this file.
 */

/* Plus Jakarta Sans, vietnamese */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("./plus-jakarta-sans-vietnamese-v2071.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Plus Jakarta Sans, latin-ext */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("./plus-jakarta-sans-latin-ext-v2071.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Plus Jakarta Sans, latin */
@font-face {
  font-family: "Plus Jakarta Sans";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("./plus-jakarta-sans-latin-v2071.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;
}

/* Plus Jakarta Sans Fallback: local Arial Bold (or a metric twin of it) at
   Plus Jakarta Sans's widths and line metrics, one face per weight. In
   --font-heading after Arimo, which has no latin face here, so latin text
   drawn before Plus Jakarta Sans arrives uses this and not Arimo. */
@font-face {
  font-family: "Plus Jakarta Sans Fallback";
  font-style: normal;
  font-weight: 600;
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold"), local("Arimo Bold"), local("Arimo-Bold");
  size-adjust: 99.37%;
  ascent-override: 104.46%;
  descent-override: 22.34%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Plus Jakarta Sans Fallback";
  font-style: normal;
  font-weight: 700;
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("LiberationSans-Bold"), local("Arimo Bold"), local("Arimo-Bold");
  size-adjust: 100.42%;
  ascent-override: 103.36%;
  descent-override: 22.11%;
  line-gap-override: 0%;
}

/* Arimo, cyrillic-ext */
@font-face {
  font-family: "Arimo";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("./arimo-cyrillic-ext-v36.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Arimo, cyrillic */
@font-face {
  font-family: "Arimo";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("./arimo-cyrillic-v36.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Arimo, greek-ext */
@font-face {
  font-family: "Arimo";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("./arimo-greek-ext-v36.woff2") format("woff2");
  unicode-range: U+1F00-1FFF;
}

/* Arimo, greek */
@font-face {
  font-family: "Arimo";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("./arimo-greek-v36.woff2") format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* Arimo, hebrew */
@font-face {
  font-family: "Arimo";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("./arimo-hebrew-v36.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

/* Noto Sans, cyrillic-ext */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("./noto-sans-cyrillic-ext-v42.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Noto Sans, cyrillic */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("./noto-sans-cyrillic-v42.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Noto Sans, devanagari */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("./noto-sans-devanagari-v42.woff2") format("woff2");
  unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;
}

/* Noto Sans, greek-ext */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("./noto-sans-greek-ext-v42.woff2") format("woff2");
  unicode-range: U+1F00-1FFF;
}

/* Noto Sans, greek */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("./noto-sans-greek-v42.woff2") format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* Noto Sans, vietnamese */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("./noto-sans-vietnamese-v42.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Noto Sans, latin-ext */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("./noto-sans-latin-ext-v42.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Noto Sans, latin */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("./noto-sans-latin-v42.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;
}

/* Source Serif 4 italic, cyrillic-ext */
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("./source-serif-4-italic-cyrillic-ext-v15.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Source Serif 4 italic, cyrillic */
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("./source-serif-4-italic-cyrillic-v15.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Source Serif 4 italic, greek */
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("./source-serif-4-italic-greek-v15.woff2") format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* Source Serif 4 italic, vietnamese */
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("./source-serif-4-italic-vietnamese-v15.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Source Serif 4 italic, latin-ext */
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("./source-serif-4-italic-latin-ext-v15.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Source Serif 4 italic, latin */
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("./source-serif-4-italic-latin-v15.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;
}

/* Source Serif 4, cyrillic-ext */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./source-serif-4-cyrillic-ext-v15.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* Source Serif 4, cyrillic */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./source-serif-4-cyrillic-v15.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Source Serif 4, greek */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./source-serif-4-greek-v15.woff2") format("woff2");
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* Source Serif 4, vietnamese */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./source-serif-4-vietnamese-v15.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* Source Serif 4, latin-ext */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./source-serif-4-latin-ext-v15.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Source Serif 4, latin */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("./source-serif-4-latin-v15.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;
}

/* Source Serif 4 Fallback: local Georgia at Source Serif 4's widths and line
   metrics. The serif's width changes with its optical size by up to 9%, so
   one set of numbers fits one range of sizes. These fit opsz 60, for the
   site's H1s at 40 to 96px, the biggest boxes and the first paint. The
   app's copy of this file fits opsz 30. */
@font-face {
  font-family: "Source Serif 4 Fallback";
  font-style: normal;
  font-weight: 500;
  src: local("Georgia");
  size-adjust: 92.51%;
  ascent-override: 111.99%;
  descent-override: 36.21%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Source Serif 4 Fallback";
  font-style: italic;
  font-weight: 400;
  src: local("Georgia Italic"), local("Georgia-Italic");
  size-adjust: 84.78%;
  ascent-override: 122.20%;
  descent-override: 39.51%;
  line-gap-override: 0%;
}
