/* Shared navigation behavior across the homepage, services and locations. */
.nav-dropdown:not(.open) > ul { display: none; }
.nav-dropdown.open > ul { display: block; }
.nav-dropdown > ul { max-height: 70vh; overflow-y: auto; }
.nav-dropdown button:focus-visible,
.nav-dropdown a:focus-visible,
.mobile-nav :focus-visible { outline: 2px solid #1ca8e8; outline-offset: 4px; }
body.nav-menu-open { overflow: hidden; }
.mobile-nav {
    z-index: 2000;
    overflow-y: auto;
    overscroll-behavior: contain;
    justify-content: flex-start;
    padding: 80px 24px 40px;
    gap: 22px;
}
.mobile-nav > * { flex-shrink: 0; }
.mobile-nav .nav-cta { display: inline-flex; }
.mobile-nav summary::after { content: ' ▾'; }
.mobile-nav details[open] summary::after { content: ' ▴'; }
.brand-set { min-width: 0; justify-content: flex-start; flex-shrink: 0; gap: 18px; padding: 0 9px; }
.brand-set img { flex-shrink: 0; }
.breadcrumbs { padding: 18px 0; color: #08245f; background: #fff; font-size: .88rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 auto; padding: 0; }
.breadcrumbs li + li::before { content: '/'; margin-right: 8px; color: #667085; }
.service-areas { margin-top: 40px; }
@media (max-width: 760px) {
    .brand-set { gap: 12px; padding: 0 6px; }
}
@media (prefers-reduced-motion: reduce) {
    .brand-track { width: 100%; animation: none; }
    .brand-set { min-width: 0; width: 100%; flex-wrap: wrap; row-gap: 24px; }
    .brand-set[aria-hidden="true"] { display: none; }
    .brand-repeat { display: none; }
}

.area-directory .content-grid { margin-top: 28px; }
.area-directory h3 { font-size: 1.35rem; color: #08245f; margin: 0; }
.area-services { display: grid; gap: 12px; padding-left: 20px; line-height: 1.5; }
.area-services a { color: #0a2d77; }
