/* =============================================================================
   Typography primitives
   Final family set via --font-sans after bake-off (self-hosted).
   ============================================================================= */

.t-display {
  font-size: var(--text-display);
  line-height: var(--leading-display);
  letter-spacing: var(--track-display);
  font-weight: 500;
}

.t-display-xl {
  font-size: var(--text-display-xl);
  line-height: var(--leading-display);
  letter-spacing: var(--track-display);
  font-weight: 500;
}

.t-h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-tight);
  letter-spacing: var(--track-tight);
  font-weight: 500;
}

.t-h2 {
  font-size: var(--text-h2);
  line-height: var(--leading-tight);
  letter-spacing: var(--track-tight);
  font-weight: 500;
}

.t-h3 {
  font-size: var(--text-h3);
  line-height: var(--leading-snug);
  letter-spacing: var(--track-tight);
  font-weight: 500;
}

.t-lead {
  font-size: var(--text-lead);
  line-height: var(--leading-snug);
  letter-spacing: var(--track-normal);
  font-weight: 400;
  color: var(--color-fg-soft);
}

.t-body {
  font-size: var(--text-body);
  line-height: var(--leading-body);
  font-weight: 400;
}

.t-body-lg {
  font-size: var(--text-body-lg);
  line-height: var(--leading-relaxed);
  font-weight: 400;
}

.t-meta {
  font-size: var(--text-meta);
  line-height: var(--leading-snug);
  letter-spacing: var(--track-meta);
  text-transform: uppercase;
  font-weight: 500;
  color: var(--color-muted);
}

.t-nums {
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--track-tight);
}

.measure {
  max-width: var(--measure);
}

.measure--narrow {
  max-width: var(--measure-narrow);
}

.measure--wide {
  max-width: var(--measure-wide);
}

.statement {
  font-size: var(--text-display);
  line-height: var(--leading-display);
  letter-spacing: var(--track-display);
  font-weight: 500;
  text-wrap: balance;
}

.statement--xl {
  font-size: var(--text-display-xl);
}

.muted {
  color: var(--color-muted);
}

.soft {
  color: var(--color-fg-soft);
}

.uppercase {
  text-transform: uppercase;
  letter-spacing: var(--track-meta);
}
