/* Zanzawe-only mobile navigation and hero layout fixes. Loaded after the
   shared navbar stylesheet so these page-specific rules take precedence. */
@media (max-width: 950px) {
    header.navbar {
        position: sticky;
        top: 0;
        z-index: 12000;
    }

    header.navbar nav#mobileMenu {
        position: fixed !important;
        top: 0 !important;
        right: -100% !important;
        left: auto !important;
        inset: 0 -100% 0 auto !important;
        display: flex !important;
        width: min(320px, 88vw) !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        box-sizing: border-box !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        padding: 82px 22px 24px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        background: #0f6d3c !important;
        box-shadow: -12px 0 32px rgba(0, 0, 0, .24) !important;
        transform: translateX(0);
        visibility: visible;
        pointer-events: none;
        transition: right .28s ease;
        z-index: 12001 !important;
    }

    header.navbar nav#mobileMenu.active,
    header.navbar nav#mobileMenu.show-menu {
        right: 0 !important;
        pointer-events: auto;
    }

    header.navbar .menu-toggle {
        position: relative;
        z-index: 12002;
        padding: 6px 10px;
        background: #fff;
    }

    header.navbar nav#mobileMenu > a,
    header.navbar nav#mobileMenu > .dropdown > a {
        display: block !important;
        width: 100% !important;
        padding: 11px 8px !important;
        color: #fff !important;
        font-size: 16px;
        line-height: 1.4;
        text-align: left !important;
        white-space: normal;
    }

    header.navbar nav#mobileMenu > .dropdown {
        width: 100% !important;
        flex: 0 0 auto !important;
    }

    header.navbar nav#mobileMenu > .dropdown > .dropdown-menu {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 6px !important;
        padding: 4px 8px !important;
        background: rgba(255, 255, 255, .1) !important;
        border-radius: 8px;
        box-shadow: none !important;
    }

    header.navbar nav#mobileMenu > .dropdown:not(.open) > .dropdown-menu:not(.show-dropdown) {
        display: none !important;
    }

    header.navbar nav#mobileMenu > .dropdown.open > .dropdown-menu,
    header.navbar nav#mobileMenu > .dropdown > .dropdown-menu.show-dropdown {
        display: block !important;
    }

    header.navbar nav#mobileMenu .dropdown-menu a {
        display: block !important;
        padding: 9px 10px !important;
        color: #fff !important;
        text-align: left !important;
    }

    header.navbar nav#mobileMenu .mobile-nav-logo {
        display: block !important;
        width: 100%;
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px solid rgba(255, 255, 255, .28);
        text-align: center;
    }

    header.navbar nav#mobileMenu .mobile-nav-logo img {
        display: block;
        width: 110px;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    .institute-hero {
        min-height: auto;
        padding: clamp(105px, 24vw, 150px) 18px 64px !important;
    }

    .hero-content-box {
        width: 100%;
        max-width: 680px;
    }

    .hero-badge {
        max-width: 100%;
        line-height: 1.4;
        white-space: normal;
    }

    .hero-buttons {
        width: 100%;
        gap: 12px;
    }

    .hero-btn { max-width: 100%; }

    .hero-stats {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .hero-stat { min-width: 0; }
    .hero-stat h3 { font-size: clamp(23px, 6vw, 32px); }
}

@media (max-width: 480px) {
    .institute-hero { padding: 108px 15px 52px !important; }
    .hero-content-box { padding-inline: 0; }
    .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hero-stat { padding: 16px 10px; }
    .hero-stat span { font-size: 13px; line-height: 1.35; }
    .hero-buttons { flex-direction: column; }
    .hero-btn { width: 100%; }
}
