h1, h2, h3, .display { font-family: var(--font-display); font-weight: 600; line-height: .98; letter-spacing: -.035em; text-transform: uppercase; }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); letter-spacing: -.02em; line-height: 1.05; }
.eyebrow { display: inline-flex; align-items: center; gap: .9rem; font-family: var(--font-display); font-size: var(--fs-small); font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); }
.eyebrow::before { content: ""; width: 2.5rem; height: 1px; background: currentColor; }
.section--light .eyebrow { color: var(--gold-ink); }
.lead { font-size: var(--fs-lead); line-height: 1.55; color: var(--muted-dark); max-width: 38em; }
.section--light .lead { color: var(--muted-light); }
.serif { font-family: var(--font-serif); font-style: italic; font-weight: 400; text-transform: none; letter-spacing: -.01em; }
.gold { color: var(--gold); }
.section--light .gold { color: var(--gold-ink); }
.num { font-family: var(--font-display); font-variant-numeric: tabular-nums; }

/* masked reveal helpers (split by JS) */
.w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.w > span { display: inline-block; will-change: transform; }
.line { display: block; overflow: hidden; padding-bottom: .06em; margin-bottom: -.06em; }
.line > span { display: block; will-change: transform; }
