/* ============================================
   Site CMS — Responsive Breakpoints
   ============================================ */

/* --- Tablet: 768px - 1024px --- */
@media (max-width: 1280px) {
    .page-home .hero__grid {
        grid-template-columns: 1fr;
    }

    .page-home .hero__content {
        max-width: none;
    }

    .page-home .hero-focus {
        max-width: 760px;
    }
}

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

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

    .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));
    }

    .client-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;
    }

    .flagship-card-grid,
    .flagship-capability-grid,
    .flagship-faqs,
    .flagship-split {
        grid-template-columns: 1fr;
    }

    .how-it-works__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .how-it-works__connector {
        display: none;
    }

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

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

    .nav {
        padding: 0.5rem 0.75rem 0;
    }

    .nav__inner {
        border-radius: 24px;
        padding: 0.85rem 1rem;
    }

    /* 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;
    }

    .nav__lang {
        margin-left: 0;
        margin-top: 0.5rem;
        align-self: flex-start;
    }

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

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

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

    .hero__actions {
        flex-direction: column;
    }

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

    .hero-focus {
        padding: 1.2rem;
    }

    .hero-signal {
        margin-top: 1.6rem;
    }

    /* 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;
    }

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

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

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

    .team-card__actions,
    .profile-stat-row,
    .client-card__stats--stacked {
        flex-direction: column;
    }

    .team-card__actions a,
    .profile-link-list a {
        width: 100%;
        justify-content: center;
    }

    /* 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);
    }

    .flagship-card-grid,
    .flagship-capability-grid,
    .flagship-faqs {
        grid-template-columns: 1fr;
    }

    .blog-grid,
    .newsletter-form .form-row,
    .resource-hero {
        grid-template-columns: 1fr;
    }

    .hero__trust-grid,
    .hero__client-list,
    .hero-proof__credentials,
    .hero-proof__outcomes,
    .hero-focus__tabs,
    .hero-focus__footer,
    .resource-meta {
        gap: 0.5rem;
    }

    .hero-proof__credentials,
    .hero-proof__outcomes {
        grid-template-columns: 1fr;
    }

    .newsletter-panel {
        grid-template-columns: 1fr;
    }

    .proof-grid,
    .case-study-card__body,
    .case-study-card__metrics,
    .proof-hero,
    .case-study-detail-grid {
        grid-template-columns: 1fr;
    }

    .proof-card__actions,
    .section-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .proof-card__actions .btn,
    .section-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

/* --- Homepage Redesign: Tablet --- */
@media (max-width: 1024px) {
    .bento-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bento-card--featured {
        grid-column: span 2;
    }

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

    .explorer__sidebar {
        flex-direction: row;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 0.5rem;
        padding-bottom: 0.25rem;
    }

    .explorer__tab {
        min-width: 200px;
        flex-shrink: 0;
    }

    .explorer__pane.is-active {
        grid-template-columns: 1fr;
    }

    .explorer__visual {
        min-height: 200px;
    }

    .cta-grid {
        grid-template-columns: 1fr;
        max-width: 480px;
    }
}

/* --- Homepage Redesign: Mobile --- */
@media (max-width: 767px) {
    .bento-grid {
        grid-template-columns: 1fr;
    }

    .bento-card--featured {
        grid-column: span 1;
    }

    .explorer__tab {
        min-width: 180px;
        padding: 0.85rem 1rem;
    }

    .explorer__diagram {
        width: 200px;
        height: 200px;
    }

    .video-showcase__play-icon {
        width: 60px;
        height: 60px;
    }

    .video-showcase__play-icon svg {
        width: 22px;
        height: 22px;
    }

    .results-tabs {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        justify-content: flex-start;
    }

    .results-tab {
        white-space: nowrap;
        flex-shrink: 0;
    }

    .cta-grid {
        gap: 0.75rem;
    }

    .cta-card {
        padding: 1.75rem 1.5rem;
    }

    .hero__scroll-indicator {
        display: none;
    }

    .hero__trust-compact {
        justify-content: center;
    }

    .how-it-works__grid {
        grid-template-columns: 1fr;
    }

    .how-it-works__step {
        padding: 1.5rem 1rem;
    }

    .roi-calc {
        padding: 1.5rem;
    }

    .roi-outputs {
        grid-template-columns: 1fr;
    }

    .roi-output:first-child {
        grid-column: span 1;
    }
}

/* --- 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;
    }
}
