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

.container--narrow {
  max-width: var(--container-narrow);
}

.page-section {
  padding: var(--space-16) 0;
}

.page-section + .page-section {
  border-top: 1px solid var(--color-border);
}

.section-header {
  margin-bottom: var(--space-12);
}

.section-header h2 {
  margin-bottom: var(--space-4);
}

.section-header p {
  font-size: var(--text-lg);
  max-width: 600px;
}

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

.grid--2 {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}

.grid--3 {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.grid--auto {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

@media (max-width: 768px) {
  .container {
    padding: 0 var(--space-4);
  }

  .page-section {
    padding: var(--space-12) 0;
  }

  .section-header {
    margin-bottom: var(--space-8);
  }
}
