.site-shell {
  min-height: 100vh;
  overflow-x: clip;
}

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

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

.section--tight {
  padding-block: var(--space-2xl);
}

.section--flush-top {
  padding-top: 0;
}

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

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

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

.split {
  display: grid;
  gap: var(--space-xl);
  grid-template-columns: minmax(0, 1.05fr) minmax(17.5rem, 0.95fr);
  align-items: start;
}

.flow > * + * {
  margin-top: var(--space-sm);
}

@media (max-width: 960px) {
  .split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1470px) {
  .container {
    padding-inline: 1rem;
  }
}

@media (max-width: 640px) {
  .container {
    padding-inline: 0.75rem;
  }
}
