/* ============================================
   EXOS SYSTEMS — Responsive Breakpoints
   ============================================ */

/* --- Tablet: 768px - 1024px --- */
@media (max-width: 1024px) {
    .hero {
        min-height: auto;
        padding: calc(var(--nav-height) + 3rem) 0 3rem;
    }

    .hero__visual {
        display: none;
    }

    .hero__title {
        font-size: clamp(2rem, 5vw, 2.75rem);
    }

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

    .spotlight__visual {
        order: -1;
    }

    .spotlight__diagram {
        max-width: 300px;
        margin: 0 auto;
    }

    .stats-bar__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .stats-bar__item:nth-child(2)::after {
        display: none;
    }

    .services-grid {
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }

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

    .footer__col--brand {
        grid-column: span 2;
    }

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

    .eaas-callout {
        grid-template-columns: 1fr;
    }

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

    .event-recap__highlights {
        grid-template-columns: 1fr;
    }
}

/* --- Mobile: < 768px --- */
@media (max-width: 767px) {
    :root {
        --section-pad: clamp(3rem, 6vw, 4rem);
        --nav-height: 64px;
    }

    /* Nav Mobile */
    .nav__toggle {
        display: flex;
    }

    .nav__menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 280px;
        height: 100vh;
        background: rgba(6, 13, 26, 0.97);
        backdrop-filter: blur(24px);
        -webkit-backdrop-filter: blur(24px);
        flex-direction: column;
        align-items: flex-start;
        padding: calc(var(--nav-height) + 1.5rem) 1.5rem 1.5rem;
        gap: 0.25rem;
        transition: right 0.35s var(--ease-out);
        border-left: 1px solid var(--border);
        z-index: 5;
    }

    .nav__menu.active {
        right: 0;
    }

    .nav__link {
        font-size: 1rem;
        padding: 0.75rem 0.5rem;
        width: 100%;
    }

    .nav__login {
        margin-left: 0;
        margin-top: 0.75rem;
        width: 100%;
        justify-content: center;
    }

    /* Hero */
    .hero {
        padding-top: calc(var(--nav-height) + 2rem);
        padding-bottom: 2rem;
    }

    .hero__title {
        font-size: clamp(1.75rem, 6vw, 2.25rem);
    }

    .hero__actions {
        flex-direction: column;
    }

    .hero__actions .btn {
        width: 100%;
        justify-content: center;
    }

    /* Stats */
    .stats-bar__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .stats-bar__item::after {
        display: none !important;
    }

    .stats-bar__value {
        font-size: 1.75rem;
    }

    /* Services */
    .services-grid {
        grid-template-columns: 1fr;
    }

    /* Testimonials */
    .testimonials-grid {
        grid-template-columns: 1fr;
    }

    /* Team */
    .team-grid {
        grid-template-columns: 1fr;
    }

    /* Footer */
    .footer__grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .footer__col--brand {
        grid-column: span 1;
    }

    .footer__bottom {
        flex-direction: column;
        text-align: center;
    }

    /* Page Hero */
    .page-hero {
        padding-top: calc(var(--nav-height) + 2rem);
    }

    .page-hero__title {
        font-size: clamp(1.5rem, 5vw, 2rem);
    }

    /* Form */
    .form-row {
        grid-template-columns: 1fr;
    }

    /* Client Strip */
    .client-strip {
        gap: 1rem;
    }

    .client-logo {
        font-size: 0.95rem;
        padding: 0.75rem 1rem;
    }

    /* Certs */
    .certs-strip {
        gap: 0.75rem;
    }

    .cert-badge {
        padding: 0.6rem 0.9rem;
    }

    .cert-badge__text {
        font-size: 0.68rem;
    }

    /* Locations */
    .locations-grid {
        grid-template-columns: 1fr;
    }

    /* Login */
    .login-card {
        padding: 1.5rem;
    }

    /* Event Recap */
    .event-recap {
        padding: 1.5rem;
    }

    .event-recap__header {
        flex-direction: column;
    }

    .event-recap__meta {
        flex-direction: column;
        gap: 0.5rem;
    }

    /* Section headers */
    .section__title {
        font-size: clamp(1.5rem, 4vw, 2rem);
    }
}

/* --- Small Mobile: < 400px --- */
@media (max-width: 399px) {
    .stats-bar__grid {
        grid-template-columns: 1fr;
    }

    .hero__badge {
        font-size: 0.6rem;
    }

    .nav__logo-sub {
        display: none;
    }
}