/* Responsive — Deportivo Israelita */

@media (max-width: 980px) {
    .cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .plans-grid {
        grid-template-columns: 1fr;
        max-width: 32rem;
    }
}

@media (max-width: 900px) {
    .nav-toggle {
        display: inline-flex;
    }

    .site-nav > .btn {
        display: none;
    }

    .brand,
    .nav-toggle {
        position: relative;
        z-index: 92;
    }

    .nav-menu {
        position: fixed;
        inset: 0;
        z-index: 91;
        display: grid;
        align-content: center;
        justify-items: center;
        gap: 1.75rem;
        background: var(--white);
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
        transition:
            opacity 250ms var(--ease),
            visibility 250ms var(--ease);
    }

    .nav-menu.is-open {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    .nav-menu a {
        font-size: 1.3rem;
    }

    .hero {
        min-height: 72vh;
    }

    .hero__content {
        padding: 7rem 0 4rem;
    }

    .hero--page {
        min-height: 46vh;
    }

    .hero--page .hero__content {
        padding: 7rem 0 3.5rem;
    }

    .section {
        padding: 4rem 0;
    }

    .split,
    .split--reverse {
        grid-template-columns: 1fr;
        gap: 2.25rem;
    }

    .split__media img {
        height: min(48vh, 24rem);
    }

    .reveal-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .reveal-frame {
        height: min(54vh, 30rem);
    }

    .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
    }
}

@media (max-width: 640px) {
    .container {
        width: min(100% - 2rem, var(--container-max));
    }

    .hero {
        min-height: 78vh;
    }

    .hero__actions {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    .btn {
        width: 100%;
    }

    .split__content .btn,
    .reveal-copy .btn {
        width: auto;
    }

    .cards-grid {
        grid-template-columns: 1fr;
    }

    .trust-grid {
        grid-template-columns: 1fr;
    }

    .check-list {
        grid-template-columns: 1fr;
    }

    .form-card {
        padding: 1.6rem 1.25rem;
    }

    .map-frame {
        aspect-ratio: 4 / 3;
    }

    .wa-float {
        width: 3rem;
        height: 3rem;
        right: 1rem;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .cta-banner {
        padding: 4rem 0;
    }

    .cta-banner__actions {
        flex-direction: column;
        width: 100%;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 0.4rem;
    }
}
