/* Self-hosted fonts — Google Fonts CDN se nahi (render-block + GDPR/privacy).

   STATIC instances, variable NAHI (27 Sep 2026). Naap: mobile (CPU 4x) par variable Inter +
   Archivo ke saath pehla layout ek 1.5-1.7 s ka long task banta tha (TBT ~1,700 ms, budget 200).
   Control: fonts block -> TBT 0; wahi fonts static instance -> TBT 0-20 ms. Kharcha har weight
   ke liye variable font ko "instance" karne ka tha (page par 10 alag font+weight jode the).
   `_local/perf-fonts.js` + `_local/perf.js` se dobara naapo.

   Weights: CSS 550/600/650/700 -> Inter 600 file par map hote hain (browser ka font-matching,
   >500 ke liye pehle bhaari face). Archivo 650/700 -> ek 680 file. Isliye CSS me koi weight
   badalna nahi pada. Var files rollback ke liye folder me hain.

   Doosra hissa (usi din): static hone ke baad bhi Inter-400 aane par poore text ki dobara
   "shaping" ~1.3 s (CPU 4x) le rahi thi. Jad: Inter/JetBrains ka `calt` (contextual alternates)
   OpenType feature. `pyftsubset --layout-features=kern,liga,tnum,ccmp,locl,mark,mkmk` se hataya:
   TBT 1,350 ms -> 0-24 ms (A/B, 3+3 run). Dikhne me farak nahi; files 62 -> 47 KB.
   Naya font lagao to yahi subset command dobara chalao. */
@font-face {
	font-family: 'Archivo';
	src: url('../fonts/Archivo-680.woff2') format('woff2');
	font-weight: 680;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Inter';
	src: url('../fonts/Inter-400.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Inter';
	src: url('../fonts/Inter-600.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'JetBrains Mono';
	src: url('../fonts/JetBrainsMono.woff2') format('woff2');
	font-weight: 100 800;
	font-style: normal;
	font-display: swap;
}

/* ---------------------------------------------------------------------------
   METRIC-MATCHED FALLBACKS — CLS ka asli ilaaj.
   Problem: `swap` ka matlab hai text pehle fallback me paint hota hai, phir webfont
   aane par dobara. Dono ki chaudai alag ho to poora paragraph khisak jaata hai —
   deep audit me /resources/paper-angle-board-hsn-code-gst-rate/ par 0.155 CLS aaya.
   Naap (headless canvas, 1000px par): Inter Arial se 6.92% CHAUDI hai,
   Archivo 1.63% patli, JetBrains Mono ~Courier New ke barabar.
   Ilaaj: fallback ko usi naap par set kar do, taaki swap par kuch hile hi na.
   Number andaaze ke nahi — `_local/cls-probe.js` + canvas metrics se naape gaye hain.
   Font ya heading weight badlo to `node _local/font-ratio.js` DOBARA chalao -
   ye values sirf in hi files + in hi weights ke liye sach hain.
   Liberation Sans Arial ke metric-compatible hai (Linux/Android ke liye). */
@font-face {
	font-family: 'Archivo Fallback';
	src: local('Arial'), local('Helvetica Neue'), local('Liberation Sans');
	size-adjust: 105.03%;
	ascent-override: 83.60%;
	descent-override: 19.99%;
	line-gap-override: 0%;
}
@font-face {
	font-family: 'Inter Fallback';
	src: local('Arial'), local('Helvetica Neue'), local('Liberation Sans');
	size-adjust: 106.67%;
	ascent-override: 90.84%;
	descent-override: 22.59%;
	line-gap-override: 0%;
}
@font-face {
	font-family: 'JetBrains Mono Fallback';
	src: local('Courier New'), local('Liberation Mono');
	size-adjust: 100.03%;
	ascent-override: 101.97%;
	descent-override: 29.99%;
	line-gap-override: 0%;
}
