/* ────────────────────────────────────────────────────────────────
 * GPL type library — shared across every company on the lattice.
 *
 * Declaring a face here does NOT download it. A browser fetches a font
 * only when a rule actually renders text in it, so a page that uses two
 * families pays for two families no matter how many are declared. That is
 * what makes one shared library affordable: an in-world advertiser can set
 * its own typeface without every other page carrying the weight.
 *
 * Everything here is SIL Open Font License 1.1 — free for commercial use and
 * web embedding. Nothing in this file needs a separate licence receipt, and
 * nothing may be added to it that does. A face whose webfont rights are not
 * on hand does not belong in a stylesheet the whole site loads.
 *
 * WOFF2 only. The sources are TTF/OTF in the brand folder; converting cut
 * 5.9MB to 1.6MB. Variable faces declare their real axis range, so
 * font-weight interpolates instead of snapping.
 * ──────────────────────────────────────────────────────────────── */

/* Share Tech Mono — 1 face(s), 16KB */
@font-face {
  font-family: 'Share Tech Mono';
  src: url('/assets/fonts/library/sharetechmono-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Courier Prime — 2 face(s), 57KB */
@font-face {
  font-family: 'Courier Prime';
  src: url('/assets/fonts/library/courierprime-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Courier Prime';
  src: url('/assets/fonts/library/courierprime-700-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Space Mono — 1 face(s), 35KB */
@font-face {
  font-family: 'Space Mono';
  src: url('/assets/fonts/library/spacemono-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Xanh Mono — 2 face(s), 50KB */
@font-face {
  font-family: 'Xanh Mono';
  src: url('/assets/fonts/library/xanhmono-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Xanh Mono';
  src: url('/assets/fonts/library/xanhmono-400-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* Major Mono Display — 1 face(s), 37KB */
@font-face {
  font-family: 'Major Mono Display';
  src: url('/assets/fonts/library/majormono-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Sacramento — 1 face(s), 31KB */
@font-face {
  font-family: 'Sacramento';
  src: url('/assets/fonts/library/sacramento-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Monoton — 1 face(s), 20KB */
@font-face {
  font-family: 'Monoton';
  src: url('/assets/fonts/library/monoton-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Archivo Black — 1 face(s), 30KB */
@font-face {
  font-family: 'Archivo Black';
  src: url('/assets/fonts/library/archivoblack-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Barlow Condensed — 2 face(s), 77KB */
@font-face {
  font-family: 'Barlow Condensed';
  src: url('/assets/fonts/library/barlowcondensed-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed';
  src: url('/assets/fonts/library/barlowcondensed-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* Rubik Glitch — 1 face(s), 156KB */
@font-face {
  font-family: 'Rubik Glitch';
  src: url('/assets/fonts/library/rubikglitch-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Space Grotesk — 1 face(s), 48KB */
@font-face {
  font-family: 'Space Grotesk';
  src: url('/assets/fonts/library/spacegrotesk-var.woff2') format('woff2');
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}

/* Unbounded — 1 face(s), 255KB */
@font-face {
  font-family: 'Unbounded';
  src: url('/assets/fonts/library/unbounded-var.woff2') format('woff2');
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}

/* JetBrains Mono — 1 face(s), 70KB */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/assets/fonts/library/jetbrainsmono-var.woff2') format('woff2');
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}

/* Doto — 1 face(s), 9KB */
@font-face {
  font-family: 'Doto';
  src: url('/assets/fonts/library/doto-var.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Recursive — 1 face(s), 702KB */
@font-face {
  font-family: 'Recursive';
  src: url('/assets/fonts/library/recursive-var.woff2') format('woff2');
  font-weight: 300 1000;
  font-style: normal;
  font-display: swap;
}


/* IBM Plex Mono — 7 weights + italics. Previously loaded as raw TTF from
 * four separate ad-hoc @font-face blocks; declared here once, as WOFF2. */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-100.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-100-italic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-200.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-200-italic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-300-italic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-400-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-500-italic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-600-italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/assets/fonts/library/ibmplexmono-700-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Audiowide — OFL 1.1, Astigmatic. */
@font-face {
  font-family: 'Audiowide';
  src: url('/assets/fonts/library/audiowide-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ── Added to close two gaps: the collection had no serif at all, and no
 * neutral body sans. Plex Sans/Serif complete the superfamily already
 * present as Plex Mono. All SIL Open Font License 1.1. */

/* Archivo — 1 face(s) */
@font-face {
  font-family: 'Archivo';
  src: url('/assets/fonts/library/archivo-var.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Barlow — 4 face(s) */
@font-face {
  font-family: 'Barlow';
  src: url('/assets/fonts/library/barlow-400-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('/assets/fonts/library/barlow-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('/assets/fonts/library/barlow-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('/assets/fonts/library/barlow-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* IBM Plex Sans — 2 face(s) */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/assets/fonts/library/ibmplexsans-var-italic.woff2') format('woff2');
  font-weight: 100 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/assets/fonts/library/ibmplexsans-var.woff2') format('woff2');
  font-weight: 100 700;
  font-style: normal;
  font-display: swap;
}

/* IBM Plex Serif — 10 face(s) */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-300-italic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-400-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-500-italic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-600-italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-700-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/assets/fonts/library/ibmplexserif-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
