/* =========================================================================
   netex · fonts.css (Foundation) · design bible §3
   Self-hosted, instanced with tools/fonts-instance.py (originals in assets-src/fonts/original/).
   Commissioner  wght 300–900 · FLAR 0–100 · VOLM 0–100 (slnt pinned 0)   display, UI, body
   Literata Text opsz 20 · wght 400–600 · roman + italic                  leads, human voice, long reads
   JetBrains Mono wght 400–700                                            labels, data, logs
   Handjet       lives in assets/fonts/handjet.css (one readout per page; enqueued by netex_use_handjet()).
   Metric-matched fallbacks (Arial / Georgia) keep the swap free of layout shift.
   ========================================================================= */
@layer reset, tokens, base, components, layout, pages, utilities;

/* ---- Commissioner ------------------------------------------------------- */
/* greek */
@font-face {
	font-family: 'Commissioner';
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url('../fonts/commissioner-greek.woff2') format('woff2');
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
	font-family: 'Commissioner';
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url('../fonts/commissioner-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: 'Commissioner';
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url('../fonts/commissioner-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;
}

/* ---- Literata Text (instanced at opsz 20) -------------------------------- */
/* greek */
@font-face {
	font-family: 'Literata Text';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url('../fonts/literata-text-greek.woff2') format('woff2');
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
	font-family: 'Literata Text';
	font-style: italic;
	font-weight: 400 600;
	font-display: swap;
	src: url('../fonts/literata-text-greek-italic.woff2') format('woff2');
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin */
@font-face {
	font-family: 'Literata Text';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url('../fonts/literata-text-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: 'Literata Text';
	font-style: italic;
	font-weight: 400 600;
	font-display: swap;
	src: url('../fonts/literata-text-latin-italic.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;
}

/* ---- JetBrains Mono -------------------------------------------------------- */
/* greek */
@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/jetbrains-mono-greek.woff2') format('woff2');
	unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* latin-ext */
@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/jetbrains-mono-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/jetbrains-mono-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;
}

/* ---- Metric-matched fallbacks (bible §3.2; computed against Windows Arial / Georgia) ---- */
/* Greek and Latin need different size-adjust (Commissioner Greek is wider). */
@font-face {
	font-family: 'Commissioner Fallback';
	src: local('Arial'), local('Helvetica'), local('Liberation Sans');
	size-adjust: 106.7%;
	ascent-override: 95.3%;
	descent-override: 19.3%;
	line-gap-override: 0%;
	unicode-range: U+0370-03FF, U+1F00-1FFF;
}
@font-face {
	font-family: 'Commissioner Fallback';
	src: local('Arial'), local('Helvetica'), local('Liberation Sans');
	size-adjust: 100.2%;
	ascent-override: 101.5%;
	descent-override: 20.6%;
	line-gap-override: 0%;
	unicode-range: U+0000-036F, U+0400-1EFF, U+2000-FFFF;
}
@font-face {
	font-family: 'Literata Fallback';
	src: local('Georgia'), local('Times New Roman');
	size-adjust: 106.5%;
	ascent-override: 110.5%;
	descent-override: 28.9%;
	line-gap-override: 0%;
}
