/* Self-hosted Plus Jakarta Sans (latin) — weights 400–800.
 *
 * WHY: the student and parent apps linked this from fonts.googleapis.com, and
 * that link cost 1,150 ms of BLOCKING time on every page load, measured on live
 * 2026-09-16. Worse, the user's network blocks fonts.googleapis.com and
 * fonts.gstatic.com at the browser level (see poppins.css, verified 2026-06-10)
 * — so the wait ended in a fallback font anyway. A second of blank text for
 * nothing.
 *
 * Same shape as poppins.css: fontsource latin subset, one file per weight,
 * display:swap so text paints instantly in the fallback and swaps when the real
 * face arrives. Same-origin, so it is never blocked and rides the connection
 * the page already has open.
 *
 * SIL Open Font License 1.1 — self-hosting is expressly permitted. */

@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('jakarta/jakarta-400.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('jakarta/jakarta-500.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('jakarta/jakarta-600.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('jakarta/jakarta-700.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url('jakarta/jakarta-800.woff2') format('woff2')}
