/* Core centered container */
.container {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

/* Section spacing & strict center alignment */
section {
  padding: var(--space-xl) 0;
  display: flex;
  flex-direction: column;
  align-items: center; 
  text-align: center;
}

/* Content block wrappers (for text readability when left aligned inside center) */
.content-wrapper {
  max-width: 800px;
  margin: 0 auto;
}

/* Grid layouts */
.grid {
  display: grid;
  gap: var(--space-md);
  width: 100%;
}

.grid-cols-2 {
  grid-template-columns: repeat(1, 1fr);
}

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