.display-hero {
  font-size: var(--text-hero);
  line-height: var(--leading-tight);
  letter-spacing: -0.02em;
  font-weight: 700;
  margin: 0;
  max-width: 24ch;
}

.display-l {
  font-size: var(--text-3xl);
  line-height: 1.2;
  letter-spacing: -0.015em;
  font-weight: 700;
  margin: 0;
}

.display-m {
  font-size: var(--text-2xl);
  line-height: 1.24;
  letter-spacing: -0.015em;
  font-weight: 700;
  margin: 0;
  max-width: 22ch;
}

.eyebrow {
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin: 0 0 16px;
}

.section-head { margin-bottom: clamp(24px, 3vw, 40px); max-width: 48ch; }
.section-head-center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head-center .section-sub { margin-left: auto; margin-right: auto; }

.section-sub {
  font-size: var(--text-md);
  line-height: var(--leading-body);
  color: var(--ink-muted);
  margin: 14px 0 0;
}

section { padding: clamp(48px, 7vh, 88px) 0; }

[data-component="reveal"] {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.6s var(--reveal-ease), transform 0.6s var(--reveal-ease);
}
[data-component="reveal"].is-visible { opacity: 1; transform: none; }
[data-component="reveal"][data-delay="1"] { transition-delay: 0.07s; }
[data-component="reveal"][data-delay="2"] { transition-delay: 0.14s; }
[data-component="reveal"][data-delay="3"] { transition-delay: 0.21s; }
