/* ===========================================================================
   Minerva AI Pro — responsive overrides
   Breakpoints (mobile-first):
     ≤ 720px   — phone
     ≤ 1024px  — tablet
   =========================================================================== */

/* Tablet and below */
@media (max-width: 1024px) {
    .hero__inner {
        grid-template-columns: 1fr;
        gap: var(--sp-8);
        text-align: center;
    }
    .hero__title {
        font-size: var(--fs-3xl);
    }
    .hero__subtitle {
        margin-left: auto;
        margin-right: auto;
    }
    .hero__ctas {
        justify-content: center;
    }
    .hero { padding: var(--sp-20) 0 var(--sp-16); }
    .hero-orb { filter: blur(60px); }

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

    .pricing-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin: 0 auto;
    }
    .pricing-card--featured {
        transform: none;
        order: -1;
    }
    .pricing-card--featured:hover { transform: translateY(-2px); }

    .site-footer__top .site-footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: var(--sp-6);
    }
    .footer-col--brand {
        grid-column: 1 / -1;
    }
}

/* Phone */
@media (max-width: 720px) {
    :root {
        --fs-3xl: 1.777rem;
        --fs-4xl: 2.369rem;
    }

    .nav-toggle { display: inline-flex; flex-direction: column; }

    .site-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: var(--sp-4);
        background: var(--c-mantle);
        border-bottom: 1px solid var(--c-surface0);
        box-shadow: var(--shadow-lg);
    }
    .site-nav.is-open { display: flex; }

    .primary-menu {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    .primary-menu a {
        display: block;
        padding: var(--sp-3);
        border-radius: var(--radius-md);
    }

    .site-nav__extras {
        flex-direction: column;
        align-items: stretch;
        gap: var(--sp-2);
        padding: var(--sp-3) 0 0;
        margin: var(--sp-3) 0 0;
        border-left: none;
        border-top: 1px solid var(--c-surface0);
    }
    .nav-cta { text-align: center; padding: var(--sp-3); }

.feature-grid { grid-template-columns: 1fr; }
    .feature-list { grid-template-columns: 1fr; }
    .how-grid { grid-template-columns: 1fr; }
    .who-grid { grid-template-columns: 1fr; }

    .feature-block {
        grid-template-columns: 1fr;
        gap: var(--sp-3);
    }

    .about-cols, .contact-cols {
        grid-template-columns: 1fr;
        gap: var(--sp-4);
    }

    .site-footer__top .site-footer__inner {
        grid-template-columns: 1fr;
        gap: var(--sp-6);
    }
    .footer-col--brand { grid-column: auto; }

    .site-footer__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    /* On mobile, the lang switcher is in the header (not in the
       mobile menu). The dropdown opens anchored to the button.
       The footer switcher uses its own anchor (left: 0) so the
       menu doesn't overflow the left edge of the viewport. */
    .lang-switcher__menu {
        right: 0;
        left: auto;
        min-width: 200px;
        max-width: calc(100vw - var(--sp-4));
    }
    .lang-switcher__caret { display: inline; }

    .hero { padding: var(--sp-16) 0 var(--sp-12); }
    .page-hero { padding: var(--sp-12) 0 var(--sp-6); }

    .packs-table { font-size: var(--fs-sm); }
    .packs-table th, .packs-table td { padding: var(--sp-2) var(--sp-3); }
}

/* Very narrow phones */
@media (max-width: 380px) {
    .hero__ctas .btn { width: 100%; }
    .cta-band__actions .btn { width: 100%; }
    .pricing-card .btn { width: 100%; }
}