:root{
/* families — Archivo variable 400–900 carries ALL UI + headings; IBM Plex Mono carries labels, meta, kickers, code */
--font-sans:'Archivo',sans-serif;
--font-mono:'IBM Plex Mono',monospace;
/* composed shorthands (weight size/line family) — exact values from source */
--type-hero:900 70px/0.98 Archivo,sans-serif; /* letter-spacing -.03em */
--type-display:900 46px/1.05 Archivo,sans-serif; /* dark-section headline, -.02em */
--type-h2:800 34px/1.2 Archivo,sans-serif; /* -.01em */
--type-h2-narrow:800 30px/1.3 Archivo,sans-serif;
--type-h3:800 27px/1.2 Archivo,sans-serif; /* FAQ/prose h2, -.01em */
--type-h4:800 19px/1.3 Archivo,sans-serif;
--type-card-title:800 16.5px/1.3 Archivo,sans-serif;
--type-lead:500 19px/1.6 Archivo,sans-serif;
--type-body-lg:500 17px/1.65 Archivo,sans-serif;
--type-body:500 15.5px/1.7 Archivo,sans-serif;
--type-body-sm:500 13px/1.55 Archivo,sans-serif;
--type-caption:500 12.5px/1.5 Archivo,sans-serif;
--type-btn:800 17px Archivo,sans-serif;
--type-btn-sm:800 13px Archivo,sans-serif;
--type-wordmark:800 20px Archivo,sans-serif; /* -.01em, ALL CAPS */
/* mono roles — ALL CAPS + tracking */
--type-kicker:600 12px 'IBM Plex Mono',monospace; /* letter-spacing .16em */
--type-mono-label:700 10.5px 'IBM Plex Mono',monospace; /* .1em, form labels */
--type-mono-meta:600 11.5px 'IBM Plex Mono',monospace; /* .04em, card header bars */
--type-mono-badge:700 9.5px 'IBM Plex Mono',monospace; /* .08em, match badges */
--type-mono-sticker:800 11px 'IBM Plex Mono',monospace; /* .08em, stickers */
--type-mono-micro:400 10.5px 'IBM Plex Mono',monospace;
--type-mono-body:400 12px 'IBM Plex Mono',monospace;
--type-mono-note:400 12.5px 'IBM Plex Mono',monospace;
--type-mono-input:400 15px 'IBM Plex Mono',monospace; /* typed reply text */
/* tracking */
--track-tight:-.03em; /* hero */
--track-display:-.02em;
--track-heading:-.01em;
--track-kicker:.16em;
--track-label:.1em;
--track-badge:.08em;
--track-meta:.04em;
/* ghost numerals */
--type-ghost:900 300px/1 Archivo,sans-serif; /* -.05em, color --ink-ghost */
}
