/* ============================================================
   HMI DESIGN SYSTEM — FONTS v1.0

   Self-hosted Inter and JetBrains Mono. Load this BEFORE
   hmi-tokens.css:

     <link rel="stylesheet" href="/css/hmi-fonts.css">
     <link rel="stylesheet" href="/css/hmi-tokens.css">
     <link rel="stylesheet" href="/css/hmi-components.css">

   WHY SELF-HOSTED, not the Google Fonts CDN:

   1. Plant floor and kiosk machines are frequently on networks
      that cannot reach fonts.googleapis.com. The failure is
      SILENT — the browser falls back to Segoe UI and every
      typographic rule in the guide quietly stops applying.
   2. A CDN request leaks the visitor's IP to a third party on
      every page load. German courts have ruled that embedding
      Google Fonts this way breaches GDPR, which matters for a
      company with an EU parent.
   3. No external dependency means no render-blocking round trip
      and no third-party outage taking out the look of every
      internal application at once.

   Only the three weights the design system actually uses are
   included (400/500/600 for Inter, 400/500 for the mono).
   Latin subset only. Five files, ~115 KB total.

   Paths below assume the woff2 files sit in a `files/` folder
   next to this stylesheet. Adjust if your static layout differs.
   ============================================================ */

/* ---------- Inter — UI and body ---------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;                 /* show fallback immediately, swap when ready */
  src: url('../fonts/files/inter-latin-400-normal.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+2074, 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: 500;
  font-display: swap;
  src: url('../fonts/files/inter-latin-500-normal.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+2074, 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: 600;
  font-display: swap;
  src: url('../fonts/files/inter-latin-600-normal.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+2074, U+20AC,
                 U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- JetBrains Mono — data and code ---------- */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/files/jetbrains-mono-latin-400-normal.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+2074, U+20AC,
                 U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/files/jetbrains-mono-latin-500-normal.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+2074, U+20AC,
                 U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ------------------------------------------------------------
   Weights deliberately NOT included: 100-300, 700-900, and every
   italic. The design system uses exactly three weights and no
   italics. If a build needs 700, that is a design review, not a
   font request — hierarchy comes from size, color, and space.

   Tabular figures are the other half of this. Inter ships them,
   but they are OFF by default. Any numeric value that updates or
   stacks in a column needs:

       font-variant-numeric: tabular-nums;

   hmi-tokens.css already applies this to .value, .tabular, and
   td.numeric. Anything else numeric needs it explicitly, or the
   row will twitch as digits change width.
   ------------------------------------------------------------ */
