/* Self-hosted fonts (latin subset). No third-party font requests anywhere in the
   app, so type renders even if Google Fonts is blocked (Cloudflare, CSP, offline).

   Roles:
     Fraunces        Study 2.0 display headings (.ds2 --display)
     Space Grotesk   Study 2.0 body + numerals (.ds2 --sans / --num)
     JetBrains Mono   counts, codes, query blocks (--mono) */


/* Fraunces (2.0 display) */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/fraunces-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/fraunces-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/fraunces-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/fraunces-latin-700-normal.woff2') format('woff2')}

/* Space Grotesk (2.0 body + numerals) */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/space-grotesk-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/space-grotesk-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/space-grotesk-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-grotesk-latin-700-normal.woff2') format('woff2')}

/* JetBrains Mono */
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/jetbrains-mono-latin-600-normal.woff2') format('woff2')}

/* Movaci Thai (Sarabun) — Thai-script fallback so on-screen Thai matches the
   brand type and the certificate (which also uses Sarabun). Appended to the
   --display / --sans / --num stacks in ds-2.0.css; Latin is unaffected because
   it resolves to the preceding Latin face. */
@font-face{font-family:'Movaci Thai';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/sarabun-thai-400-normal.woff2') format('woff2')}
@font-face{font-family:'Movaci Thai';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/sarabun-thai-700-normal.woff2') format('woff2')}
