/* ============================================================================
   Rosetta Dynamics — self-hosted IBM Plex
   Load BEFORE tokens.css:

     <link rel="stylesheet" href="assets/fonts.css">
     <link rel="stylesheet" href="assets/tokens.css">

   ----------------------------------------------------------------------------
   EXPECTED FILES — put these in assets/fonts/ and rename to match exactly.
   Only .woff2 is needed; every browser you care about supports it, and it's
   roughly half the size of .woff and a third of .ttf.

     ibm-plex-sans-400.woff2
     ibm-plex-sans-500.woff2
     ibm-plex-sans-600.woff2
     ibm-plex-mono-400.woff2     <- REQUIRED for the code page digits

   The IBM Plex download names files like "IBMPlexSans-Regular.woff2",
   "IBMPlexSans-Medium.woff2", "IBMPlexSans-SemiBold.woff2". Rename rather
   than editing the paths below, so every project in the org matches.

   If your zip contains only .ttf files, get the .woff2 build instead —
   from the official release's web/ folder, or from Google Fonts. Serving
   .ttf works but costs you 2-3x the bytes for identical rendering.
   ============================================================================ */

/* ------------------------------------------------------------- IBM Plex Sans */

@font-face {
  font-family: "IBM Plex Sans";
  src: url("fonts/ibm-plex-sans-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  /* swap: show fallback immediately, switch when Plex arrives. Never FOIT —
     invisible text is worse than a brief flash, especially on site over 4G. */
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("fonts/ibm-plex-sans-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url("fonts/ibm-plex-sans-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* ------------------------------------------------------------- IBM Plex Mono
   Carries every live-updating numeric in the product, and the entire teaser
   page. If you only host one Plex file, host this one. */

@font-face {
  font-family: "IBM Plex Mono";
  src: url("fonts/ibm-plex-mono-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* --------------------------------------------------------- optional extras
   Uncomment as you actually need them. Every weight is another request and
   another ~30 KB; three sans weights plus one mono is a deliberate budget,
   not an oversight.

@font-face {
  font-family: "IBM Plex Sans";
  src: url("fonts/ibm-plex-sans-400-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Mono";
  src: url("fonts/ibm-plex-mono-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "IBM Plex Sans Condensed";
  src: url("fonts/ibm-plex-sans-condensed-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
*/

/* ------------------------------------------------------- variable font route
   If your download is the VARIABLE build (a single file, usually named
   something like "IBMPlexSans[wght].woff2" or "IBMPlexSansVar-Roman.woff2"),
   delete the three static Sans blocks above and use this instead. One request
   covers every weight, and intermediate weights become available.

@font-face {
  font-family: "IBM Plex Sans";
  src: url("fonts/ibm-plex-sans-var.woff2") format("woff2-variations");
  font-weight: 100 700;
  font-style: normal;
  font-display: swap;
}
*/
