.site-nav { min-inline-size: 0; max-inline-size: 100%; }
.site-nav__list { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); list-style: none; margin: 0; padding: 0; }
/* WordPress supplies these descendant classes; submenus remain visible without JS. */
.site-nav .sub-menu { list-style: none; padding-inline-start: var(--space-4); }
.site-nav .menu-item { min-inline-size: 0; }
.site-nav a { display: inline-flex; align-items: center; min-block-size: var(--nav-link-min-size, var(--control-min-size)); min-inline-size: var(--control-min-size); }
.site-nav__link {
    display: flex;
    align-items: center;
    min-block-size: var(--nav-link-min-size, var(--control-min-size));
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-pill);
    color: var(--color-text);
    font-size: var(--fs-body);
    font-weight: 400;
    line-height: var(--line-height-control);
    text-decoration: none;
    transition: background-color var(--dur-fast) var(--ease-standard);
}
.site-nav__link:not(.site-nav__link--inactive):hover { background: var(--color-interaction); }
.site-nav--compact .site-nav__list { justify-content: center; flex-wrap: nowrap; gap: 0; }
.site-nav--compact .menu-item { flex: none; }
.site-nav--compact .site-nav__link { min-block-size: 2.5rem; padding-block: var(--space-1); white-space: nowrap; }
.site-nav__dropdown-toggle { border: 0; background: transparent; font-family: inherit; cursor: pointer; text-align: start; }
.site-nav__dropdown-toggle::after { content: ''; inline-size: 0.375rem; block-size: 0.375rem; margin-inline-start: var(--space-2); border-inline-end: 1px solid currentColor; border-block-end: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform var(--dur-fast) var(--ease-standard); }
.site-nav__dropdown-toggle[aria-expanded="true"]::after { transform: rotate(225deg); }
.site-nav--compact .menu-item-has-children { position: relative; }
.site-nav--compact .sub-menu { position: absolute; inset-block-start: calc(100% + var(--space-2)); inset-inline-start: 0; inline-size: max-content; max-inline-size: min(22rem, 80vw); margin: 0; padding: var(--space-2); border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: var(--shadow-overlay); }
.site-nav--compact .sub-menu .site-nav__link { white-space: normal; border-radius: var(--radius-control); }
.site-nav .sub-menu[hidden] { display: none; }
.site-nav .sub-menu .site-nav__link { display: flex; inline-size: 100%; }
/* Fullscreen variant remains independent of the header's positioning. */
.site-nav--expanded .site-nav__list { display: grid; gap: var(--space-4); }
.site-nav--expanded .site-nav__link {
    padding: 0.625rem;
    inline-size: fit-content;
    max-inline-size: 100%;
    border-radius: var(--radius-control);
    font-family: var(--font-heading);
    font-size: clamp(var(--fs-card-title-max), 2.4vw, var(--fs-kicker-max));
    font-weight: 600;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--color-breadcrumb-muted);
    transition: color var(--dur-fast) var(--ease-standard);
}
.site-nav--expanded .site-nav__link:not(.site-nav__link--inactive):hover { color: var(--color-text); background: transparent; }
.site-nav--expanded .site-nav__dropdown-toggle::after { inline-size: 0.5rem; block-size: 0.5rem; margin-inline-start: var(--space-4); }
.site-nav--expanded .sub-menu { display: grid; gap: var(--space-1); margin: var(--space-2) 0 0; }
.site-nav--expanded .sub-menu .site-nav__link { font-size: var(--fs-body); font-weight: 400; line-height: var(--line-height-control); text-transform: none; color: var(--color-case-description); }

.site-nav--footer .site-nav__list { display: block; }
.site-nav--footer .site-nav__link { padding: var(--space-1) 0; color: var(--color-inverse-muted); border-radius: 0; }
.site-nav--footer .site-nav__link:not(.site-nav__link--inactive):hover { color: var(--color-on-accent); background: transparent; text-decoration: underline; }
@media (min-width: 75rem) {
    .site-nav--footer .site-nav__link { min-block-size: 2.5rem; }
}
