/* Mobile navigation presentation; existing Bootstrap controls and links are retained. */
@media (max-width:991px) {
    #navbarScroll.custom-nav {
        --mobile-menu-width:min(82vw,340px);
        position:fixed; inset:0; width:100%; height:100vh; height:100dvh;
        margin:0; background:rgba(0,25,45,.22); backdrop-filter:blur(3px);
        overflow:hidden; z-index:1050;
    }
    #navbarScroll.custom-nav > .navbar-nav.navbar-nav-scroll {
        position:absolute; inset:0 auto 0 0; width:var(--mobile-menu-width);
        max-width:none; height:100%; max-height:100%; margin:0 !important;
        padding:16px 20px 32px; padding-bottom:max(32px,env(safe-area-inset-bottom));
        display:flex; flex-direction:column; align-items:stretch; gap:0;
        background:#fff; box-shadow:8px 0 28px #00376414; list-style:none;
        overflow-y:auto; overflow-x:hidden;
    }
    /* Override Bootstrap's vertical collapse animation for this mobile drawer. */
    #navbarScroll.custom-nav.collapsing { height:100vh !important; height:100dvh !important; transition:none !important; }
    #navbarScroll.custom-nav.collapsing > .navbar-nav { visibility:hidden; }
    #navbarScroll.custom-nav.show:not(.mobile-nav-closing) > .navbar-nav { animation:mobileDrawerEnter 220ms ease-out both; }
    #navbarScroll.custom-nav.mobile-nav-closing > .navbar-nav { animation:mobileDrawerExit 220ms ease-in both; }
    #navbarScroll .mobile-menu-brand { padding:0 0 20px; margin-bottom:8px; border-bottom:1px solid #edf1f5; flex-shrink:0; }
    #navbarScroll .mobile-menu-brand img { width:100%; max-width:180px; height:58px; object-fit:contain; object-position:left center; }
    #navbarScroll.custom-nav .navbar-nav .nav-item {
        width:100%; height:auto; padding:0; display:block; border:0;
    }
    #navbarScroll.custom-nav .navbar-nav .nav-item.active::after { display:none; }
    #navbarScroll.custom-nav .navbar-nav .nav-item > .nav-link {
        width:100%; display:flex; justify-content:space-between; align-items:center;
        min-height:48px; padding:12px 10px; text-align:left; font-size:15px;
        font-weight:400; line-height:1.5; color:#0E3C61; white-space:normal;
    }
    #navbarScroll.custom-nav .navbar-nav .nav-item > .nav-link.dropdown-toggle { font-weight:400; }
    #navbarScroll.custom-nav .navbar-nav .nav-item > .nav-link.active {
        color:#0E3C61; background:#eef7ff !important; border-radius:6px; font-weight:600;
    }
    #navbarScroll .nav-link.dropdown-toggle::after {
        width:9px; height:9px; border:solid currentColor; border-width:0 1.5px 1.5px 0;
        transform:rotate(-45deg); margin:0 2px 0 12px; flex-shrink:0;
        transition:transform .24s ease;
    }
    #navbarScroll .nav-link[aria-expanded="true"]::after,
    #navbarScroll .nav-link:has(+ .dropdown-menu.default)::after { transform:rotate(45deg); }
    #navbarScroll.custom-nav .navbar-nav .nav-item .dropdown-menu {
        position:static !important; transform:none !important; width:100%; min-width:0;
        margin:0 0 12px; padding:0 10px 4px 18px; border:0; border-radius:0;
        background:transparent; box-shadow:none; transition:none; opacity:1;
    }
    #navbarScroll.custom-nav .navbar-nav .nav-item .dropdown-menu li .dropdown-item {
        display:flex; justify-content:flex-start; align-items:baseline; gap:10px;
        width:100%; padding:9px 4px; font-size:13px; font-weight:400; line-height:1.5;
        text-align:left; white-space:normal; color:#0E3C61 !important;
    }
    #navbarScroll .dropdown-item:not(.title)::before { content:'•'; color:#718396; flex-shrink:0; }
    #navbarScroll.custom-nav .dropdown-item::after { display:none !important; }
    #navbarScroll.custom-nav .navbar-nav .nav-item .dropdown-menu li .dropdown-item.title {
        padding-top:14px; font-size:11px; font-weight:600; color:#687b8d !important; letter-spacing:.35px; cursor:default;
    }
    #navbarScroll.custom-nav .navbar-nav .nav-item .dropdown-menu li a.dropdown-item.mobile-nav-link-selected {
        background:#eef7ff !important; color:#0E3C61 !important; border-radius:4px; font-weight:600;
        text-decoration:none !important; box-shadow:none;
    }
    #navbarScroll.custom-nav .navbar-nav .nav-item .dropdown-menu li a.dropdown-item:hover,
    #navbarScroll.custom-nav .navbar-nav .nav-item .dropdown-menu li a.dropdown-item:focus-visible {
        background:#eef7ff !important; color:#0E3C61 !important; border-radius:4px;
    }
    #navbarScroll.custom-nav .navbar-nav .nav-item a:focus-visible {
        outline:2px solid #478ec8 !important; outline-offset:2px !important;
    }
    @keyframes mobileDrawerEnter { from { transform:translateX(-100%); } to { transform:translateX(0); } }
    @keyframes mobileDrawerExit { from { transform:translateX(0); } to { transform:translateX(-100%); } }
}
@media (max-width:991px) and (prefers-reduced-motion:reduce) {
    #navbarScroll.custom-nav, #navbarScroll.custom-nav .navbar-nav.navbar-nav-scroll { animation:none !important; transition:none !important; }
}
