/*
 * Self-hosted web fonts — generated by tools/build-fonts.mjs. Do not edit.
 *
 * Cinzel and Instrument Sans, both SIL Open Font License 1.1. Licence files
 * ship beside the woff2 files in assets/fonts/.
 *
 * No font CDN is used and no external request is made at runtime, per
 * handoff/02-design-system/typography.md.
 */

@font-face {
	font-family: "Cinzel";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/cinzel-latin-400-normal.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("../fonts/cinzel-latin-600-normal.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("../fonts/cinzel-latin-700-normal.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: "Instrument Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/instrument-sans-latin-400-normal.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: "Instrument Sans";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/instrument-sans-latin-500-normal.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: "Instrument Sans";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/instrument-sans-latin-600-normal.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: "Instrument Sans";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/instrument-sans-latin-700-normal.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 fallbacks
   ========================================================================== */

/*
 * `font-display: swap` means the page paints in a fallback and then re-lays
 * out when the real font arrives. Measured, that swap was the site's entire
 * layout shift: CLS 0.0333 with the fonts, 0.0000 with them blocked. The hero
 * copy jumped 17px because the fallback set the same words in less space.
 *
 * These two faces are Georgia and Arial stretched to occupy exactly as much
 * room as Cinzel and Instrument Sans, so the swap changes the letterforms and
 * nothing else. The numbers are measured, not copied from a generator:
 *
 *   Cinzel is 16.05% wider than Georgia at the same size (2622.3 vs 2259.72
 *   for a 46-character probe at 100px), with an ascent of 98% against 92% and
 *   a descent of 37% against 22%. Instrument Sans is 2.24% wider than Arial,
 *   ascent 97% against 91%, descent 25% against 21%.
 *
 * The overrides are divided by the size-adjust, because size-adjust scales the
 * overridden metrics too.
 *
 * If neither local font exists — some Linux desktops — the face fails to load
 * and the stack falls through to the generic family, unadjusted. That is the
 * behaviour without this block, so nothing is made worse.
 */

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

@font-face {
	font-family: "Instrument Sans Fallback";
	src: local("Arial"), local("Helvetica Neue"), local("Helvetica");
	size-adjust: 102.24%;
	ascent-override: 94.9%;
	descent-override: 24.5%;
	line-gap-override: 0%;
}
