.container { width: 100%; max-width: var(--container-width); margin-inline: auto; padding-inline: var(--container-pad); }
.section { padding-block: var(--section-space); position: relative; }
.section--bordered { border-top: 1px solid var(--color-border-soft); }
.section--textured { background: radial-gradient(ellipse at 50% 0%, #15120e 0%, var(--color-bg) 70%); }

.section-heading { text-align: center; max-width: 720px; margin: 0 auto clamp(2rem, 4vw, 3rem); }
.section-heading p { margin-top: .9rem; color: var(--color-text-muted); }
.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; max-width: none; text-align: left; }
.section-heading--split > div { max-width: 640px; }

.grid { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
