:root {
    /* Typography utilities build on tokens; keep body copy readable and headings tight. */
}

.heading-1 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-7xl);
    line-height: var(--line-height-heading);
    font-weight: var(--font-weight-light);
}

.heading-2 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-6xl);
    line-height: var(--line-height-heading);
    font-weight: var(--font-weight-light);
}

.heading-3 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-5xl);
    line-height: var(--line-height-snug);
    font-weight: var(--font-weight-light);
}

.heading-4 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-4xl);
    line-height: var(--line-height-snug);
    font-weight: var(--font-weight-light);
}

.heading-5 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-3xl);
    line-height: var(--line-height-snug);
    font-weight: var(--font-weight-regular);
}

.heading-6 {
    font-family: var(--font-family-base);
    font-size: var(--font-size-2xl);
    line-height: var(--line-height-normal);
    font-weight: var(--font-weight-semibold);
}

.text-xs { font-size: var(--font-size-2xs); line-height: var(--line-height-loose); }
.text-sm { font-size: var(--font-size-xs); line-height: var(--line-height-relaxed); }
.text-base { font-size: var(--font-size-sm); line-height: var(--line-height-relaxed); }
.text-md { font-size: var(--font-size-md); line-height: var(--line-height-normal); }
.text-lg { font-size: var(--font-size-lg); line-height: var(--line-height-normal); }
.text-xl { font-size: var(--font-size-xl); line-height: var(--line-height-normal); }
.text-2xl { font-size: var(--font-size-2xl); line-height: var(--line-height-snug); }

.lead {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-normal);
    color: var(--color-ink);
}

.eyebrow {
    font-size: var(--font-size-xs);
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: var(--font-weight-semibold);
    color: var(--color-ink-muted);
}
