/* Responsive */
@media (max-width: 1200px) {
    :root {
        --container-width: 960px;
    }
}

@media (max-width: 992px) {
    :root {
        --container-width: 720px;
    }
    .grid-3, .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
    .hero-title {
        font-size: var(--font-size-4xl);
    }
}

@media (max-width: 768px) {
    :root {
        --container-width: 540px;
    }
    .grid-2, .grid-3, .grid-4 {
        grid-template-columns: 1fr;
    }
    .main-navigation .primary-menu {
        display: none;
    }
    .menu-toggle {
        display: block;
    }
    .hero-section {
        padding: var(--spacing-3xl) 0;
    }
    .hero-title {
        font-size: var(--font-size-3xl);
    }
    .hero-subtitle {
        font-size: var(--font-size-base);
    }
    .hero-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .hero-buttons {
        flex-direction: column;
        align-items: center;
    }
    .section {
        padding: var(--spacing-3xl) 0;
    }
    .section-title {
        font-size: var(--font-size-3xl);
    }
    .footer-cols-4, .footer-cols-3, .footer-cols-2 {
        grid-template-columns: 1fr;
    }
    .footer-bottom {
        flex-direction: column;
        gap: var(--spacing-md);
        text-align: center;
    }
}

@media (max-width: 480px) {
    :root {
        --container-padding: 12px;
    }
    .hero-title {
        font-size: var(--font-size-2xl);
    }
    .section-title {
        font-size: var(--font-size-2xl);
    }
    .btn-lg {
        padding: 12px 24px;
        font-size: var(--font-size-base);
    }
}
