/* ============================================================================
   fonts.css — the ONE @font-face declaration for the product's text face.

   WHY IT IS ITS OWN FILE, AND WHY IT IS LINKED FIRST. Every shell used to pull
   Inter from Google:

       <link rel="preconnect" href="https://fonts.googleapis.com">
       <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
       <link href="https://fonts.googleapis.com/css2?family=Inter:...&display=swap" ...>

   That is a render-blocking stylesheet on a THIRD origin, which then names a
   font on a FOURTH — two DNS lookups and two TLS handshakes before a single
   glyph can be drawn, on connections that are a shop's phone tethered in a
   district town. And because it ships `display=swap`, every page in the product
   painted its text in the fallback (Segoe UI on Windows, Roboto on Android)
   and then RE-LAID IT OUT in Inter a moment later. That visible re-flow, on
   every navigation, is what "clean nahi hai" describes.

   Self-hosted it is one file on the origin the page already has open, and the
   head preloads it — so the first paint is already Inter and nothing moves.

   ONE VARIABLE FILE, THE WHOLE AXIS. `font-weight: 100 900` is a variable
   range: every weight from thin to black comes out of the single 48 KB download,
   and the file really carries it — read straight out of the woff2's fvar table
   on 2026-09-03: wght axis 100..900, default 400, in BOTH subsets.

   WHY THE FULL RANGE, and not the 400-700 the Google URL used to ask for. This
   product writes `font-weight: 800` and `900` in 429 places across its view
   sheets — the register's figures, the strip's active tab, KPI totals — and
   under a face that stops at 700 every one of them is a SYNTHESISED bold: the
   browser smears the 700 outline sideways, which reads as fuzzy, heavy type.
   That was true under Google's four static weights too, and it is exactly the
   "visual clear nahi hai" the owner named. Declaring the range the file already
   has makes all 429 sites a real instance, in one line, with no site edited.
   (Google serves the SAME file for `wght@100..900` and `wght@400..700`; only
   the declared range in its CSS differs, which is why nothing had to be
   re-downloaded.)

   `font-display: swap` STAYS. It is not the cause of the re-flow — the
   round-trips were. With the file preloaded from our own origin it resolves
   before the fallback period elapses in the normal case, and on a genuinely bad
   connection swap is still the right answer: readable text in a fallback beats
   a blank screen (`block` would hold the text invisible for up to 3 s).

   latin-ext is a SEPARATE face on purpose. `unicode-range` is what makes it
   conditional: a page with no accented Latin never downloads those 85 KB. The
   ranges are Google's own, so the split behaves exactly as it did before.

   DEVANAGARI IS NOT HERE AND MUST NOT BE ADDED CASUALLY. The location panel is
   Hindi-first (`hi-location.js` swaps every [data-lang] on load) and Inter has
   no Devanagari; that text falls to the system stack, which is what it did
   under the Google URL too. Nothing about Hindi changes.

   Inter is SIL Open Font License 1.1 — self-hosting is expressly permitted.
   Files: theme/assets/fonts/inter-var-latin{,-ext}.woff2 (Inter v20).
   ============================================================================ */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-var-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: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-var-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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
