.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
  container-type: inline-size;
  container-name: sheet;
}

.site-main {
  flex: 1 0 auto;
  min-width: 0;
}

.page-section {
  padding: var(--space-xl) 0 calc(var(--space-xl) + var(--safe-bottom));
}

.page-section--alt {
  background: var(--color-bg-alt);
}

.page-header {
  margin-bottom: var(--space-lg);
}

.page-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.15;
  color: var(--color-primary);
  text-align: left;
}

@media (min-width: 768px) {
  .page-section {
    padding: var(--space-2xl) 0 calc(var(--space-2xl) + var(--safe-bottom));
  }
}

@media (min-width: 1024px) {
  .page-section {
    padding: var(--space-3xl) 0 calc(var(--space-3xl) + var(--safe-bottom));
  }
}
