/* Layout primitives: mobile-first, multi-column on wide screens (FR-056a, SC-014). */

main {
  display: block;
}

.container,
.site-header,
.site-footer > *,
main > * {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--space-4);
}

main > * {
  padding-block: var(--space-6);
}

.prose {
  max-width: var(--measure);
}

.prose > * + * {
  margin-top: var(--space-4);
}

.section {
  padding-block: var(--space-8);
}

.section--tint {
  background-color: var(--section-tint);
}

.grid {
  display: grid;
  gap: var(--space-5);
}

@media (min-width: 40rem) {
  .grid--2 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 60rem) {
  .grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.stack > * + * {
  margin-top: var(--space-4);
}

.cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}
