/* ── Title block ── section header you stack above content blocks.
   Token-only. Generous top padding (separates from what's above), tight
   bottom padding (visually attaches to the content block below). */
.block-title {
  padding: clamp(64px, 8vh, 96px) var(--space-section-x) clamp(24px, 4vh, 40px);
}
.block-title.section--dark { background: var(--color-dark-bg); }

.block-title .title-content { max-width: 820px; }
.block-title .section-label { margin-bottom: 24px; }

.block-title .section-title {
  font-family: var(--font-display);
  font-size: clamp(48px, 7vw, 96px);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.035em;
  color: var(--color-fg);
  margin: 0;
  max-width: 1100px;
}
.block-title .section-title em {
  color: var(--color-accent);
  font-style: italic;
  font-weight: 900;
}
.block-title.section--dark .section-title { color: var(--color-on-dark); }
.block-title.section--dark .section-title em { color: var(--color-accent-4); }

.block-title .title-intro {
  font-family: var(--font-body);
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 400;
  line-height: 1.45;
  color: var(--color-fg);
  max-width: 820px;
  margin-top: 32px;
}
.block-title.section--dark .title-intro { color: var(--color-accent-5); }

@media (max-width: 900px) {
  .block-title { padding: 56px 32px 24px; }
}
@media (max-width: 480px) {
  .block-title { padding: 48px 20px 20px; }
}
