/* ═══════════════════════════════════════════════════════════════════
   BENI EDUCATION — Shared Responsive Styles
   Breakpoints: 64rem (1024px) tablet  |  40rem (640px) mobile
   ═══════════════════════════════════════════════════════════════════ */

/* ─── GLOBAL OVERFLOW LOCK (prevents white-space on zoom-out) ─── */
html, body {
    overflow-x: hidden;
}
/* Partner carousel — prevent track from widening page */
.partners { overflow: hidden; }
.partner-track { overflow: hidden; }

/* ─── TABLET (max-width: 64rem / 1024px) ─── */
@media (max-width: 64rem) {

    /* Announcement Banner */
    .announce { font-size: .7rem; padding: .4rem 1rem; }

    /* Navigation */
    nav { padding: 0 .75rem; }
    .btn-fill { padding: .4rem 1rem; font-size: .8rem; }

    /* Mega Menu — collapse to single column, hide news on tablet */
    .mega-in {
        grid-template-columns: 1fr !important;
        gap: 2rem;
        padding: 1rem 1.5rem 3rem;
    }
    .mega-link { font-size: 1.2rem; min-height: 3rem; }
    .mega-link span:first-child { font-size: 1.3rem; }
    .mega-col-news { display: none; }
    .mega-close { display: flex; }

    /* Search Overlay */
    .search-input { max-width: 100%; }
    .search-popular { max-width: 100%; }

    /* Footer — 6-col to 3-col */
    .foot-grid { grid-template-columns: 1fr 1fr 1fr !important; gap: 1.5rem !important; }

    /* Partners */
    .partner-card { min-width: 14rem; max-width: 14rem; }
    .partners-h { font-size: 1.5rem; }

    /* Build Section */
    .build-in { grid-template-columns: 1fr; gap: 2rem; }

    /* Dual CTA */
    .dual-cta-in { grid-template-columns: 1fr; gap: 1rem; }

    /* Contact */
    .contact-in { grid-template-columns: 1fr; gap: 2rem; }

    /* Newsroom Carousel */
    .nr-card { min-width: calc(50% - .8333rem); max-width: calc(50% - .8333rem); }
    .nr-header { flex-wrap: wrap; gap: 1rem; }

    /* General container padding */
    .ctn { padding: 0 1rem; }

    /* Hero banner (g-hero pages: governance, policy-cards, workspace, etc.) */
    .g-hero { padding: 5rem 1rem 0; min-height: auto; }
    .g-hero-in { grid-template-columns: 1fr; min-height: auto; padding-bottom: 2rem; gap: 2rem; }
    .g-hero-title { font-size: clamp(1.8rem, 5vw, 3rem); }
    .g-hero-bar { grid-template-columns: 1fr; padding: 1.5rem 0 2rem; }
    .g-hero-arrows { display: none; }
    .g-diagram { max-width: 20rem; margin: 0 auto; }

    /* Page section grids used on governance/workspace/etc. */
    .g-grid { grid-template-columns: 1fr; }
    .g-card-grid { grid-template-columns: 1fr 1fr; }
    .g-split { grid-template-columns: 1fr; }
    .g-split-r { grid-template-columns: 1fr; }

    /* Pricing */
    .p-cards-grid { grid-template-columns: 1fr 1fr; }
    .p-faq-grid { grid-template-columns: 1fr; }

    /* Get-started */
    .gs-contact-in { grid-template-columns: 1fr; }
    .gs-timeline-grid { grid-template-columns: 1fr 1fr; }

    /* About page */
    .a-grid { grid-template-columns: 1fr; }
    .a-stat-grid { grid-template-columns: 1fr 1fr; }

    /* Blog grid */
    .blog-grid { grid-template-columns: 1fr 1fr; }

    /* Impact */
    .impact-grid { grid-template-columns: 1fr; }

    /* Documentation */
    .docs-grid { grid-template-columns: 1fr 1fr; }

    /* See-all */
    .nr-hero { grid-template-columns: 1fr; }
    .card-grid { grid-template-columns: 1fr 1fr; }

    /* Neuro Cards */
    .section-grid { grid-template-columns: 1fr; }
    .card-list { grid-template-columns: 1fr; }

    /* Beni Explained */
    .faq-grid { grid-template-columns: 1fr; }

    /* AI Governance */
    .article-grid { grid-template-columns: 1fr; }
    .article-body { grid-template-columns: 1fr; }

    /* Certifications */
    .tiers-grid { grid-template-columns: 1fr 1fr; }
    .process-grid { grid-template-columns: 1fr; }

    /* Privacy */
    .cert-list { grid-template-columns: 1fr; }
}


/* ─── MOBILE (max-width: 40rem / 640px) ─── */
@media (max-width: 40rem) {

    /* Overflow containment for mobile */
    .carousel-text { max-width: calc(100% - 2rem); left: 1rem; right: 1rem; }
    .feat-text { max-width: calc(100% - 2rem); left: 1rem; right: auto; padding: 1rem 1.2rem; }
    .feat-nav { left: 1rem; bottom: 1rem; }
    .hero-arrow { display: none; }

    /* Announcement Banner */
    .announce { font-size: .65rem; height: auto; padding: .35rem .75rem; }
    .announce-x { width: 1.2rem; height: 1.2rem; }

    /* Navigation */
    nav { height: 3rem; padding: 0 .6rem; }
    .logo span { font-size: .85rem; }
    .logo img { height: 1.3rem; }
    .btn-fill { padding: .3rem .7rem; font-size: .7rem; }
    .nav-icon-btn { width: 2rem; height: 2rem; }
    .nav-icon-btn svg { width: .85rem; height: .85rem; }

    /* Mega Menu — full width, scrollable, navigation-focused */
    .mega { padding-top: 3.5rem; }
    .mega-in {
        grid-template-columns: 1fr !important;
        gap: 1.5rem;
        padding: .75rem 1rem 4rem;
    }
    .mega-close { top: .6rem; right: .6rem; }
    .mega-link { font-size: 1.1rem; padding: .7rem 0; min-height: 2.75rem; }
    .mega-link span:first-child { font-size: 1.1rem; }
    .mega-sm { font-size: .9rem; min-height: 2.75rem; }
    .mega-lab { font-size: .55rem; margin-bottom: .6rem; }
    .mega-col-news { display: none; }

    /* Search Overlay */
    .search-ov { padding: 0 .75rem; }
    .search-nav { height: 3rem; }
    .search-input { font-size: .9rem; padding: .7rem .9rem; }
    .search-popular { padding: 0; }
    .search-tag { font-size: .7rem; padding: .3rem .6rem; }

    /* Footer — 2-col */
    .foot-grid { grid-template-columns: 1fr 1fr !important; gap: .8rem !important; }
    .foot-lab { font-size: .65rem; margin-bottom: .3rem; }
    .foot-a { font-size: .8rem; }
    .foot-bot { flex-direction: column; gap: .5rem; text-align: center; }
    .foot-copy { font-size: .7rem; }
    footer { padding: 2.5rem 0 1.5rem; }

    /* Partners */
    .partner-card { min-width: 12rem; max-width: 12rem; padding: 1rem; }
    .partner-quote { font-size: .85rem; }
    .partners { padding: 2rem 0; }

    /* Build Section */
    .build-in { gap: 1.5rem; padding: 2rem 0; }
    .build-text h2 { font-size: 1.4rem; }

    /* Dual CTA */
    .dual-cta-in { gap: .75rem; }
    .cta-box { padding: 1.5rem; }
    .cta-box h2 { font-size: 1.2rem; }

    /* Contact */
    .contact-in { gap: 1.5rem; padding: 2rem 0; }
    .ct-h { font-size: 1.4rem; }
    .ct-lab { font-size: .6rem; }
    .ct-val { font-size: .85rem; }

    /* Newsroom Carousel — 1 card at a time on mobile */
    .nr-card { min-width: 100%; max-width: 100%; }
    .nr-h { font-size: 1.4rem; }
    .nr-sub { font-size: .85rem; }
    .nr-card-title {
        font-size: .9rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .nr-card p {
        font-size: .8rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .nr-arr { width: 2.2rem; height: 2.2rem; }
    .newsroom { padding: 3rem 1rem; }

    /* General container padding */
    .ctn { padding: 0 .75rem; }

    /* Hero banner mobile */
    .g-hero { padding: 4rem .75rem 0; }
    .g-hero-in { gap: 1.5rem; padding-bottom: 1.5rem; }
    .g-hero-title { font-size: 1.5rem; }
    .g-hero-sub { font-size: .85rem; }
    .g-hero-label { font-size: .55rem; margin-bottom: .8rem; }
    .g-hero-bar { padding: 1rem 0 1.5rem; }
    .g-hero-bar-item { padding: .8rem 1rem; font-size: .6rem; }

    /* Page section grids — final collapse */
    .g-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .g-card-grid { grid-template-columns: 1fr; }
    .g-split { gap: 1.5rem; }
    .g-split-r { gap: 1.5rem; }
    .g-section { padding: 2.5rem 0; }

    /* Pricing */
    .p-cards-grid { grid-template-columns: 1fr; gap: 1rem; }
    .p-faq-grid { gap: 1rem; }
    .p-hero-title { font-size: 1.6rem; }

    /* Get-started */
    .gs-contact-in { gap: 1.5rem; }
    .gs-timeline-grid { grid-template-columns: 1fr; }

    /* About */
    .a-grid { gap: 1.5rem; }
    .a-stat-grid { grid-template-columns: 1fr; }
    .a-hero-title { font-size: 1.6rem; }

    /* Blog */
    .blog-grid { grid-template-columns: 1fr; }

    /* Impact */
    .impact-grid { gap: 1.5rem; }

    /* Documentation */
    .docs-grid { grid-template-columns: 1fr; gap: 1rem; }

    /* Certifications */
    .tiers-grid { grid-template-columns: 1fr; }
    .process-grid { gap: 1rem; }

    /* See-all */
    .card-grid { grid-template-columns: 1fr; }
    .nr-title { font-size: 1.6rem; }

    /* Privacy */
    .section-grid { grid-template-columns: 1fr; }
    .cert-list { grid-template-columns: 1fr; }

    /* Neuro Cards */
    .card-list { gap: 1rem; }

    /* Beni Explained */
    .faq-grid { gap: 1rem; }

    /* AI Governance */
    .article-grid { gap: 1.5rem; }
    .article-body { gap: 1.5rem; }
    .article-title { font-size: 1.5rem; }
}
