/* Centred section heading: stripe w80 mb16 + H2 30/36 (36/40 from 768), block mb 48 (spec §3.2, §4.12–4.14). */
.section-head { text-align: center; margin-bottom: calc(var(--spacing) * 12); }
.section-head__stripe { margin-inline: auto; margin-bottom: calc(var(--spacing) * 4); }
.section-head__title { font-size: var(--text-3xl); line-height: var(--text-3xl-lh); font-weight: var(--font-weight-bold); color: var(--color-brand-dark); }
@media (min-width: 48rem) { .section-head__title { font-size: var(--text-4xl); line-height: var(--text-4xl-lh); } }

/* Over heads (spec §3.2): H2 24/32 → 30/36 (640) → 36/40 (768); block mb 40 → 48 (why) or 40 → 56 (approach). */
.section-head--over, .section-head--over-wide { margin-bottom: calc(var(--spacing) * 10); }
.section-head--over .section-head__title, .section-head--over-wide .section-head__title { font-size: var(--text-2xl); line-height: var(--text-2xl-lh); }
@media (min-width: 40rem) {
	.section-head--over .section-head__title, .section-head--over-wide .section-head__title { font-size: var(--text-3xl); line-height: var(--text-3xl-lh); }
}
@media (min-width: 48rem) {
	.section-head--over { margin-bottom: calc(var(--spacing) * 12); }
	.section-head--over-wide { margin-bottom: calc(var(--spacing) * 14); }
	.section-head--over .section-head__title, .section-head--over-wide .section-head__title { font-size: var(--text-4xl); line-height: var(--text-4xl-lh); }
}
.section-head:has(.section-head__text) .section-head__title { margin-bottom: calc(var(--spacing) * 3); }
@media (min-width: 48rem) { .section-head:has(.section-head__text) .section-head__title { margin-bottom: calc(var(--spacing) * 4); } }
.section-head__text { font-size: var(--text-sm); line-height: var(--text-sm-lh); color: var(--color-gray-600); max-width: var(--container-2xl); margin-inline: auto; }
@media (min-width: 40rem) { .section-head__text { font-size: var(--text-base); line-height: var(--text-base-lh); } }
