/* ============================================================================
   Stellic — Typography tokens
   Source: Stellic Brand Guidelines pp.34–35 (Type Families + Hierarchy)
   SCOPE: v1 = brand deliverables (decks, flyers) + marketing website.
   ============================================================================ */

:root {
  /* --- Families --- */
  --font-display: 'Season Mix', Georgia, 'Times New Roman', serif;     /* serif display */
  --font-sans:    'Funnel Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:    'Roboto Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

  /* --- Weights --- */
  --weight-light:   300;  /* Funnel Sans Light */
  --weight-regular: 400;  /* Funnel Sans / Roboto Mono Regular */
  --weight-medium:  500;  /* Funnel Sans Medium · Season Mix Medium (NUMBERS only) */
  --weight-display:  350; /* Season Mix Light Medium — the primary display weight */

  /* ------------------------------------------------------------------------
     ROLE TOKENS  (Hierarchy, p.35). Tracking given in em; leading is line-height.
     ------------------------------------------------------------------------ */

  /* Eyebrow — Roboto Mono, Regular, ALL CAPS. MONO IS EYEBROW-ONLY (kicker above a headline). */
  --type-eyebrow-family:   var(--font-mono);
  --type-eyebrow-weight:   var(--weight-regular);
  --type-eyebrow-case:     uppercase;
  --type-eyebrow-leading:  1.0;
  --type-eyebrow-tracking: 0em;

  /* Headline — Season Mix Light Medium, Sentence case */
  --type-headline-family:   var(--font-display);
  --type-headline-weight:   var(--weight-display);
  --type-headline-leading:  1.0;
  --type-headline-tracking: -0.04em;

  /* Subhead — Funnel Sans Light, Sentence case */
  --type-subhead-family:   var(--font-sans);
  --type-subhead-weight:   var(--weight-light);
  --type-subhead-leading:  1.15;
  --type-subhead-tracking: -0.03em;

  /* Body — Funnel Sans Regular, Sentence case */
  --type-body-family:   var(--font-sans);
  --type-body-weight:   var(--weight-regular);
  --type-body-leading:  1.4;
  --type-body-tracking: -0.01em;

  /* Numbers — Season Mix Medium (the ONLY use of the Medium variant) */
  --type-numbers-family:   var(--font-display);
  --type-numbers-weight:   var(--weight-medium);
  --type-numbers-leading:  1.05;
  --type-numbers-tracking: -0.04em;

  /* Stat sizes — ONE scale across all stat archetypes; reuse these, never per-slide sizes.
     hero  = the single dominant number on a Big-stat slide.
     inline = numbers in multi-item cards/rows/rings (Multi-KPI, Metric row, Donut center, Split story).
     Anything larger than --type-stat-hero (e.g. 200px+) is an oversize defect — flag it. */
  --type-stat-hero:   140px;
  --type-stat-inline: 96px;

  /* Caption / small label — Funnel Sans Medium. NEVER Roboto Mono (that is eyebrow-only).
     Covers chart axis labels, table column headers, image captions, placeholder labels,
     column kickers (Before/After, Current/Future), agenda times. Keep uppercase + tracking
     for structural labels; sentence case for descriptive captions. */
  --type-caption-family:   var(--font-sans);
  --type-caption-weight:   var(--weight-medium);
  --type-caption-leading:  1.3;
  --type-caption-tracking: 0.04em;

  /* CTAs — Funnel Sans Medium, Sentence case */
  --type-cta-family:   var(--font-sans);
  --type-cta-weight:   var(--weight-medium);
  --type-cta-leading:  1.4;
  --type-cta-tracking: -0.01em;
}
