.container {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}
.container-narrow {
    max-width: var(--container-narrow);
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}
.section {
    padding: var(--spacing-4xl) 0;
}
.section-sm {
    padding: var(--spacing-2xl) 0;
}
.section-light {
    background: var(--color-bg);
}
.section-white {
    background: var(--color-bg-card);
}
.section-gradient {
    background: var(--gradient-light);
}
.section-header {
    text-align: center;
    margin-bottom: var(--spacing-3xl);
}
.section-header h2 {
    margin-bottom: var(--spacing-md);
}
.section-header p {
    color: var(--color-text-light);
    font-size: var(--font-size-lg);
    max-width: 700px;
    margin: 0 auto;
}
.grid {
    display: grid;
    gap: var(--spacing-xl);
}
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
.flex { display: flex; }
.flex-center { align-items: center; justify-content: center; }
.flex-between { align-items: center; justify-content: space-between; }
.flex-wrap { flex-wrap: wrap; }
.gap-sm { gap: var(--spacing-sm); }
.gap-md { gap: var(--spacing-md); }
.gap-lg { gap: var(--spacing-lg); }
.text-center { text-align: center; }
.text-left { text-align: left; }
.mb-sm { margin-bottom: var(--spacing-sm); }
.mb-md { margin-bottom: var(--spacing-md); }
.mb-lg { margin-bottom: var(--spacing-lg); }
.mb-xl { margin-bottom: var(--spacing-xl); }
.mb-2xl { margin-bottom: var(--spacing-2xl); }
.mt-lg { margin-top: var(--spacing-lg); }
.mt-xl { margin-top: var(--spacing-xl); }
