/* =====================================================================
   AGENTIC AI AUTOMATION — design tokens
   Single-theme by intent: a high-contrast signal board.
   Values copied verbatim from docs/02-DESIGN-SYSTEM.md. Do not retune.
   ===================================================================== */

:root{
  --void:#0a0908; --carbon:#15120e; --carbon-2:#1d1913; --carbon-3:#242019;
  --hair:rgba(250,247,241,.10); --hair-2:rgba(250,247,241,.18); --hair-3:rgba(250,247,241,.28);
  --paper:#faf7f1; --paper-dim:#a99d89; --paper-faint:#6d6254;
  --orange:#ff5a00; --orange-hi:#ff7d33; --yellow:#ffd400;
  --wa:#25d366; --good:#2fd07f; --bad:#ff4d3d; --warn:#ffa23a;
  --ink:#170800;
}

/* ---------------------------------------------------------------------
   Self-hosted fonts. Latin subset, woff2, font-display:swap.
   No Google Fonts link ships — it is a third-party request and a
   privacy liability (CLAUDE.md rule 6).

   NOTE: Archivo here carries the WEIGHT axis only (700-900). The width
   axis file is 90 KB against 35 KB, so font-stretch:112% from the design
   system is not available. See REPORT.md, Phase 1.
   --------------------------------------------------------------------- */

@font-face{
  font-family:"Archivo";
  src:url("/static/assets/fonts/archivo-wght-latin.woff2") format("woff2-variations"),
      url("/static/assets/fonts/archivo-wght-latin.woff2") format("woff2");
  font-weight:700 900; font-style:normal; font-display:swap;
  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 Sans";
  src:url("/static/assets/fonts/plexsans-var-latin.woff2") format("woff2-variations"),
      url("/static/assets/fonts/plexsans-var-latin.woff2") format("woff2");
  font-weight:100 700; font-style:normal; font-display:swap;
  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";
  src:url("/static/assets/fonts/plexmono-400-latin.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
  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";
  src:url("/static/assets/fonts/plexmono-600-latin.woff2") format("woff2");
  font-weight:500 600; font-style:normal; font-display:swap;
  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;
}

/* ---------------------------------------------------------------------
   Metric-matched fallback faces.

   Measured in Chrome against a 56-character sample at 100px:
       Archivo 800        fallback rendered 86.7% of the real face -> 103.9%
       IBM Plex Sans 400  fallback rendered 100.9%               -> 100.5%
       IBM Plex Mono 400  fallback rendered  70.8%               -> 109.2%

   These are measured against the fallback faces as they actually resolve, not
   against the bare family names: local("Arial Bold") is a real bold face rather
   than synthetically-bolded Arial, and local("Consolas") is narrower than the
   generic monospace default. Measuring the family name instead of the resolved
   face is how the first attempt ended up 13% too narrow and made CLS worse.

   Without these the fallback text is a different width, so every heading and
   every mono label re-wraps the moment the real font arrives and everything
   below it moves. That was CLS 0.179 on /services and 0.086 on the homepage
   over a real network (localhost never exposed it — the fonts arrived too
   fast). Arial is the anchor because it is present on Windows and macOS and
   metric-compatible with Liberation Sans on Linux.
   --------------------------------------------------------------------- */
@font-face{
  font-family:"Archivo Fallback";
  src:local("Arial Bold"),local("Arial"),local("Helvetica");
  font-weight:700 900;font-style:normal;size-adjust:103.9%;
}
@font-face{
  font-family:"Plex Sans Fallback";
  src:local("Arial"),local("Helvetica");
  font-weight:100 700;font-style:normal;size-adjust:100.5%;
}
@font-face{
  font-family:"Plex Mono Fallback";
  src:local("Consolas"),local("Courier New"),local("Menlo"),local("DejaVu Sans Mono");
  font-weight:400 600;font-style:normal;size-adjust:109.2%;
}

