.cms-menu-branches { list-style: none; padding: 0; margin: 0; }
.cms-nav-group > button { border: 0; background: none; font: inherit; text-transform: uppercase; }
.main-nav .nav-link { text-transform: uppercase; }
.cms-nav-dropdown { min-width: 280px; max-width: min(520px, 90vw); padding: 20px; }
.cms-menu-desktop { display: grid; gap: 8px; }
.cms-menu-desktop .cms-menu-branches { margin: 4px 0 12px 12px; }
.cms-menu-desktop a { display: block; padding: 8px; color: var(--primary-color, #083850); text-decoration: none; border-radius: 4px; white-space: normal; }
.cms-menu-desktop a:hover, .cms-menu-desktop a:focus-visible { background: #edf5f6; }
.cms-menu-heading { display: block; font-weight: 600; padding: 6px 0; }
.cms-menu-mobile { padding-left: 16px; }
.mobile-nav-list summary { padding: 14px 20px; cursor: pointer; color: #083850; }
.mobile-nav-list details .cms-menu-mobile a { padding-left: 24px; }
.cms-menu-footer { padding-left: 16px; }
footer .cms-menu-heading { color: white; }
.cms-nav-dropdown a.active { font-weight: 700; }
@media (min-width: 992px) {
    .main-nav .navbar-nav { flex-wrap: wrap; }
    .cms-nav-group .cms-nav-dropdown { max-height: 65vh; overflow-y: auto; }
}
