/**
 * Woven 2026 — self-hosted webfonts.
 *
 * Figtree and IBM Plex Mono, both SIL Open Font License 1.1.
 * Files are the `latin` subsets pulled from Google Fonts (see fonts/LICENSE.md).
 *
 * This file is intentionally NOT part of the Vite bundle: keeping it static
 * means the url() paths and the <link rel="preload"> paths in inc/enqueue.php
 * can never drift apart because of asset hashing.
 */

/*
 * Figtree — ONE VARIABLE FACE, 400 to 800, under its real family name.
 *
 * It has to be the real name and it has to cover the whole range, because this
 * family is shared with the legacy site: 21 rules of hand-written Elementor
 * custom CSS ask for `Figtree, sans-serif` at 400, 500, 600 and 700, and
 * production serves exactly that from Google Fonts.
 *
 * The trap this replaces: we used to ship static 700 and 800 only. Locally
 * Elementor stopped emitting the Google Fonts link for Figtree, so ours became
 * the only faces on the page, and CSS font matching sent every legacy weight to
 * the nearest one we had - 700. Seventeen pages of body copy went bold.
 *
 * Renaming ours out of the way fixed the bold and left the legacy pages in the
 * system sans, which is not what production looks like either. A complete
 * family fixes both: nothing to collapse to, and the legacy pages get the
 * typeface their CSS has always asked for.
 *
 * One variable file is 20KB against 23KB for the two statics it replaces, and
 * it cannot be short a weight again.
 */
@font-face {
	font-family: "Figtree";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("./figtree-variable.woff2") format("woff2-variations");
	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;
}

/* IBM Plex Mono — everything else: body, nav, eyebrows, UI. */
@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("./ibm-plex-mono-400.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: "IBM Plex Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("./ibm-plex-mono-500.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: "IBM Plex Mono";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("./ibm-plex-mono-600.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: "IBM Plex Mono";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("./ibm-plex-mono-700.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;
}
