/* ============================================================================
   BASE — Zeroe
   Element resets + the brand's text helper classes. Depends on token files.
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html, body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--fg);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ---- Display headings ---- */
.display, .h-hero, .h1, .h2, .h3, .h4 {
  font-family: var(--font-display);
  color: var(--fg);
  margin: 0;
  text-wrap: balance;
}
.h-hero { font-size: var(--fs-hero); font-weight: var(--fw-semibold); line-height: 1.04; letter-spacing: var(--ls-tight); }
.h1 { font-size: var(--fs-h1); font-weight: var(--fw-semibold); line-height: 1.08; letter-spacing: -0.02em; }
.h2 { font-size: var(--fs-h2); font-weight: var(--fw-semibold); line-height: 1.15; letter-spacing: -0.015em; }
.h3 { font-size: var(--fs-h3); font-weight: var(--fw-semibold); line-height: 1.25; letter-spacing: -0.01em; }
.h4 { font-size: var(--fs-h4); font-weight: var(--fw-semibold); line-height: 1.3; }

/* ---- Body ---- */
p { margin: 0 0 1em; text-wrap: pretty; }
.body-lg { font-size: var(--fs-body-lg); line-height: 1.6; }
.small   { font-size: var(--fs-small); }

/* ---- Eyebrow — the primary place ALL CAPS appears ---- */
.eyebrow {
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  font-size: var(--fs-label);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--blue);
  margin: 0;
}

/* ---- Mono label / audit-id treatment ---- */
.mono-label {
  font-family: var(--font-mono);
  font-weight: var(--fw-medium);
  font-size: var(--fs-label);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fg-subtle);
}

/* ---- Key-phrase emphasis (solid accent — gradient text retired) ---- */
.word-coral { color: var(--coral); }
.word-blue  { color: var(--blue); }
.word-plum  { color: var(--plum); }
.word-rose  { color: var(--rose); }

/* Gradient text helper — WEB ONLY, never export to PPTX/PDF */
.word-gradient {
  background: var(--gradient-brand);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

a { color: var(--link); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--fg); }

code, kbd { font-family: var(--font-mono); font-size: 0.9em; }
