/* A2go webfonts — self-hosted IBM Plex (latin subset), absolute URLs.
 * A distribution copy of the site's fonts.css for external/partner web
 * work: reference it directly —
 *   <link rel="stylesheet" href="https://a2go.ai/brand/a2go-fonts.css">
 * — or copy it into the project. Source of truth: the /visual-identity
 * page (§0); this file revs with it. Fonts are IBM Plex (OFL). */

/* Self-hosted IBM Plex — latin subset only (Brand 3a identity).
 *
 * Brand 3a pairs IBM Plex Serif (headings/marks), IBM Plex Sans (body/UI),
 * and IBM Plex Mono (eyebrows, data, labels). Self-hosted rather than pulled
 * from the Google Fonts CDN so the site stays cookie-free and origin-only,
 * matching our privacy posture (no third-party font requests).
 *
 * Files in /public/fonts/ are latin-only woff2 lifted from fontsource:
 *   - Sans  = single variable file (continuous wght axis 100-900)
 *   - Serif = static 400/500/600/700 (no variable axis published upstream)
 *   - Mono  = static 400/500/600
 * The unicode-range mirrors fontsource's "latin" subset — keep in sync if
 * upstream adds glyphs.
 *
 * font-display: swap — system fallback paints first, swaps on load. The two
 * faces that paint above the fold (Serif 600 for the H1, Sans for body) are
 * <link rel="preload">-ed in BaseLayout.astro to keep the swap window short.
 */

/* Latin subset shared by every face below. */
/* U+0000-00FF .. U+FFFD — fontsource "latin" definition, verbatim. */

/* ---- IBM Plex Sans (body / UI) — variable wght ---- */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 100 700;
  src: url('https://a2go.ai/fonts/ibm-plex-sans-latin-wght-normal.woff2') format('woff2-variations');
  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;
}

/* ---- IBM Plex Serif (headings / marks) — static weights ---- */
@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('https://a2go.ai/fonts/ibm-plex-serif-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('https://a2go.ai/fonts/ibm-plex-serif-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('https://a2go.ai/fonts/ibm-plex-serif-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Serif';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('https://a2go.ai/fonts/ibm-plex-serif-latin-700-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---- IBM Plex Mono (eyebrows / data / labels) — static weights ---- */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('https://a2go.ai/fonts/ibm-plex-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('https://a2go.ai/fonts/ibm-plex-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('https://a2go.ai/fonts/ibm-plex-mono-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+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
