/* Native disclosures share the existing navigation and popover design tokens. */
.site-header .header-inner { gap: 16px; }
.site-header .main-nav { gap: 16px; }
.main-nav > .firms-menu { align-self: stretch; }
.firms-menu-toggle { display: flex; align-items: center; gap: 5px; height: 100%; color: var(--muted); font-size: 13px; font-weight: 550; cursor: pointer; white-space: nowrap; }
.firms-menu-toggle > .icon { width: 14px; height: 14px; }
.firms-menu[open] > summary > .icon { transform: rotate(180deg); }
.firms-menu-toggle:hover,.firms-menu.active > summary { color: var(--ink); }
.firms-menu-toggle:focus-visible { outline: 2px solid var(--link); outline-offset: 3px; }
.main-nav > .firms-menu.active > summary { box-shadow: inset 0 -3px var(--yellow); }
.firms-menu-panel { left: 0; right: auto; min-width: 250px; }
.firms-menu-panel [aria-current=location] { background: var(--info-soft); color: var(--link); }
.mobile-menu > nav { max-height: calc(100dvh - 90px); overflow-y: auto; }
.mobile-menu .firms-menu { display: block; }
.mobile-menu .firms-menu-toggle { padding: 10px; justify-content: space-between; font-size: inherit; color: var(--ink); }
.mobile-menu .firms-menu.active > summary { background: var(--info-soft); color: var(--link); border-radius: 4px; }
.mobile-menu .firms-menu-panel { position: static; min-width: 0; margin-left: 10px; padding: 0 0 0 8px; border: 0; border-left: 2px solid var(--line); border-radius: 0; box-shadow: none; }
@media (max-width: 1279px) { .site-header .brand-tagline { display: none; } }
@media (max-width: 1100px) { .site-header .main-nav { display: none; } .site-header .mobile-menu { display: block; } }
@media (max-width: 767px) { .site-header .header-inner { gap: 12px; } }
