/* ── Typography ──────────────────────────────────────────────────────────
   The scale is design.md's, value for value: display weight 500 (never bold),
   negative tracking on display only, uppercase micro-type at 1.1px, CTA labels
   at 14/700/1.4px, number-display at 80/700/-1.6px. Sizes that were fixed in
   the source are expressed as clamps here so the responsive ladder
   (hero 80 → 56 → 32) is carried in the token rather than in media queries. */

:root {
  /* Source scale — literal values */
  --type-display-mega: 500 80px/1.05 var(--font-sans);
  --type-display-xl: 500 56px/1.1 var(--font-sans);
  --type-display-lg: 500 36px/1.2 var(--font-sans);
  --type-display-md: 500 26px/1.5 var(--font-sans);
  --type-title-md: 700 18px/1.2 var(--font-sans);
  --type-title-sm: 500 16px/1.4 var(--font-sans);
  --type-body-md: 400 14px/1.5 var(--font-sans);
  --type-caption: 400 12px/1.4 var(--font-sans);
  --type-caption-uppercase: 600 11px/1.4 var(--font-sans);
  --type-button: 700 14px/1 var(--font-sans);
  --type-nav-link: 600 13px/1.4 var(--font-sans);
  --type-number-display: 700 80px/1 var(--font-sans);

  /* Responsive display ladder — 80 → 56 → 32 */
  --type-display-1: 500 clamp(32px, 6vw, 80px)/1.05 var(--font-sans);
  --type-display-2: 500 clamp(28px, 4vw, 56px)/1.1 var(--font-sans);
  --type-display-3: 500 clamp(24px, 2.6vw, 36px)/1.2 var(--font-sans);
  --type-display-4: 500 clamp(20px, 1.8vw, 26px)/1.5 var(--font-sans);

  /* Roles */
  --type-eyebrow: 600 11px/1.4 var(--font-sans);
  --type-label: 600 11px/1.4 var(--font-sans);
  --type-nav: 600 13px/1.4 var(--font-sans);
  --type-body-lg: 400 16px/1.5 var(--font-sans);
  --type-body: 400 14px/1.5 var(--font-sans);
  --type-body-sm: 400 13px/1.5 var(--font-sans);
  --type-meta: 400 12px/1.4 var(--font-sans);

  /* Specification figures — number-display geometry, responsive */
  --type-figure-xl: 700 clamp(44px, 5.4vw, 80px)/1 var(--font-sans);
  --type-figure: 700 clamp(34px, 3.4vw, 56px)/1 var(--font-sans);
  --type-figure-sm: 700 26px/1 var(--font-sans);
  --type-price: 500 clamp(22px, 1.9vw, 26px)/1.2 var(--font-sans);

  /* Tracking — negative on display only; uppercase micro-type positive */
  --tracking-display: -0.02em; /* @kind font */
  --tracking-micro: 1.1px;     /* @kind font */ /* caption-uppercase */
  --tracking-micro-tight: 0.65px; /* @kind font */ /* nav-link */
  --tracking-button: 1.4px;    /* @kind font */
  --tracking-figure: -0.02em;  /* @kind font */
}

.aur-eyebrow { font: var(--type-eyebrow); letter-spacing: var(--tracking-micro); text-transform: uppercase; color: var(--text-meta); }
.aur-display-1 { font: var(--type-display-1); letter-spacing: var(--tracking-display); }
.aur-display-2 { font: var(--type-display-2); letter-spacing: var(--tracking-display); }
.aur-display-3 { font: var(--type-display-3); letter-spacing: var(--tracking-display); }
.aur-body { font: var(--type-body); color: var(--text-body); text-wrap: pretty; }
.aur-figure { font: var(--type-figure); letter-spacing: var(--tracking-figure); font-variant-numeric: tabular-nums; }
