/* ==========================================================================
   Layout helpers — container & section heads
   ========================================================================== */

main { overflow-x: clip; }

/* Uniform vertical rhythm — every section breathes the same way */
.section    { padding: 80px 0; }
.section--lg { padding: 100px 0; }
/* Tighter rhythm for the stacked card-blocks in the lower half */
.section--tight { padding: 40px 0; }

.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 40px;
}

.section-head { margin-bottom: 56px; }
.section-head h2 { margin-top: 4px; }
.section-head--center { text-align: center; }
.section-head--center .lead { margin: 16px auto 0; }
.section-head--row {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; flex-wrap: wrap;
}
