/* Layout + structural classes */
/* Uniform vertical rhythm: single padding value + explicit gap between sibling sections */
.section { padding: var(--space-md) 1rem; }
.section + .section { margin-top: var(--space-md); }
.container { width: 100%; max-width: var(--container-max); margin-inline: auto; }
.grid { display: grid; gap: var(--space-sm); }
.flex { display: flex; }
.center { display: grid; place-items: center; }
.flow > * + * { margin-top: var(--flow-gap,1rem); }

/* Section heading style */
.section-title { font-size: clamp(1.6rem, 3.5vw, 2.25rem); margin: 0 0 var(--space-sm); background: var(--gradient-accent); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Global cards grid helper (used across pages) */
.cards { display: grid; gap: var(--space-xs); }
@media (min-width: 720px) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .cards--three { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Responsive helpers */
@media (min-width: 700px) {
  .split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,5vw,4rem); align-items: center; }
}
