.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 108px 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 48px; }
.section-heading > div { max-width: 650px; }
.section-heading h2, .about h2, .faq h2 { margin: 10px 0 0; font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.045em; }
.section-heading > p { max-width: 460px; margin: 0; color: var(--color-muted); font-size: 1.05rem; }
.section-heading--center { display: block; max-width: 720px; margin-inline: auto; text-align: center; }
.section-heading--center p { max-width: 620px; margin: 16px auto 0; }
.section-action { margin-top: 42px; text-align: center; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
