/* Global responsive adjustments */

@media (max-width: 1024px) {
    :root {
        --section-padding-y: 4rem;
    }

    h1 { font-size: var(--text-4xl); }
    h2 { font-size: var(--text-3xl); }
    h3 { font-size: var(--text-2xl); }

    .section__title {
        font-size: var(--text-3xl);
    }

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

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

@media (max-width: 768px) {
    :root {
        --section-padding-y: 3rem;
        --header-height: 65px;
    }

    h1 { font-size: var(--text-3xl); }
    h2 { font-size: var(--text-2xl); }
    h3 { font-size: var(--text-xl); }

    .section__title {
        font-size: var(--text-2xl);
    }

    .grid--2,
    .grid--3,
    .grid--4 {
        grid-template-columns: 1fr;
    }

    .btn {
        padding: 12px 24px;
        font-size: var(--text-sm);
    }

    .container {
        padding: 0 var(--space-sm);
    }
}

@media (max-width: 480px) {
    :root {
        --section-padding-y: 2.5rem;
    }

    .hero__cta {
        flex-direction: column;
        align-items: center;
    }

    .hero__cta .btn {
        width: 100%;
        max-width: 280px;
    }
}
