/* Shared navigation: persistent active state and an expanding hover underline. */
.site-header .desktop-nav > a:not([href$="/panel/"]),
.site-header .desktop-nav > .services-menu > summary {
  position:relative;
  padding-block:12px;
  border-radius:3px;
  transition:color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.site-header .desktop-nav > a:not([href$="/panel/"])::before,
.site-header .desktop-nav > .services-menu > summary::before {
  content:"";
  position:absolute;
  bottom:3px;
  left:0;
  right:0;
  height:3px;
  border-radius:3px;
  background:#ff8426;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform 240ms cubic-bezier(.22,1,.36,1);
}
.site-header .desktop-nav > a:not([href$="/panel/"]):is(:hover,:focus-visible,[aria-current]),
.site-header .desktop-nav > .services-menu:is([open],:has([aria-current])) > summary,
.site-header .desktop-nav > .services-menu > summary:is(:hover,:focus-visible) {
  color:#ae4800;
}
.site-header .desktop-nav > a:not([href$="/panel/"])[aria-current],
.site-header .desktop-nav > .services-menu:has([aria-current]) > summary {
  background:#fff0e3;
  box-shadow:0 0 0 7px #fff0e3;
}
.site-header .desktop-nav > a:not([href$="/panel/"]):is(:hover,:focus-visible,[aria-current])::before,
.site-header .desktop-nav > .services-menu:is([open],:has([aria-current])) > summary::before,
.site-header .desktop-nav > .services-menu > summary:is(:hover,:focus-visible)::before {
  transform:scaleX(1);
}
.site-header .services-menu > summary::after { transition:transform 200ms ease; }
.site-header .services-dropdown a {
  border-radius:4px;
  transition:background-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.site-header .services-dropdown a:is(:hover,:focus-visible,[aria-current]) {
  background:#fff0e3;
  color:#ae4800;
  box-shadow:inset 3px 0 #ff8426;
}
.site-header :is(.desktop-nav,.mobile-nav) :is(a,summary):focus-visible {
  outline:2px solid #ae4800;
  outline-offset:5px;
}
.site-header .mobile-nav > a:not(.button):not([href$="/panel/"])[aria-current],
.site-header .mobile-nav > .services-menu:has([aria-current]) > summary {
  color:#ae4800;
  background:#fff0e3;
  box-shadow:inset 3px 0 #ff8426;
  padding-left:14px;
  border-radius:4px;
}
@media (prefers-reduced-motion:reduce) {
  .site-header :is(a,summary),
  .site-header .desktop-nav > a::before,
  .site-header .desktop-nav > .services-menu > summary::before,
  .site-header .services-menu > summary::after { transition:none !important; }
}
