/* Framed navigation links, with clear hover, keyboard and current-section states. */
.desktop-nav{gap:8px;align-items:center}
.desktop-nav a,.mobile-nav a{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:46px;padding:10px 16px;white-space:nowrap;line-height:1.45;
  border:1px solid #8da5b52e;border-radius:10px;color:#e3ebf1;
  background:linear-gradient(145deg,#172635a6,#0a152173);
  box-shadow:inset 0 1px 0 #ffffff05;
  transition:color .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.desktop-nav a:after,.mobile-nav a:after{
  content:'';position:absolute;inset-inline:16px;bottom:4px;height:2px;
  border-radius:2px;background:#4de5be;opacity:0;transform:scaleX(.45);
  transition:opacity .2s ease,transform .2s ease;
}
@media(hover:hover){
  .desktop-nav a:hover,.mobile-nav a:hover{
    color:#c9ffef;border-color:#51dbb78c;background-color:#153a38;
    box-shadow:0 5px 20px #0003,inset 0 0 15px #42eab90a;transform:translateY(-2px);
  }
  .desktop-nav a:hover:after,.mobile-nav a:hover:after{opacity:.6;transform:scaleX(1)}
}
.desktop-nav a[aria-current="location"],.mobile-nav a[aria-current="location"]{
  color:#bdffe9;border-color:#4de5be9e;background:linear-gradient(145deg,#18413c,#0b2729);
  box-shadow:inset 0 1px 0 #a4ffe31f,0 0 20px #32dab40a;
}
.desktop-nav a[aria-current="location"]:after,.mobile-nav a[aria-current="location"]:after{opacity:1;transform:scaleX(1)}
.desktop-nav a:focus-visible,.mobile-nav a:focus-visible{outline:2px solid #74f5d1;outline-offset:4px}
.desktop-nav a:active,.mobile-nav a:active{transform:translateY(0) scale(.98);background-color:#24554a}
.header-inner{gap:clamp(12px,1.8vw,28px)}
.header-cta{white-space:nowrap;flex-shrink:0}
.site-header .nav-label-compact{display:none}
@media(min-width:801px) and (max-width:1100px){
  .desktop-nav{gap:6px;font-size:14px}
  .desktop-nav a{padding:10px 10px;min-height:44px;border-radius:8px}
  .desktop-nav a:after{inset-inline:10px}
  .header-cta{padding-inline:12px;font-size:14px;gap:9px}
}
@media(min-width:801px) and (max-width:880px){
  .desktop-nav a{padding-inline:8px}
  .header-inner{gap:12px}
  .header-inner .brand{gap:8px;font-size:21px}
}
@media(max-width:800px){
  .mobile-nav.is-open{gap:9px;padding:16px 20px 20px}
  .mobile-nav a{justify-content:flex-start;min-height:48px;padding-inline:16px}
  .mobile-nav a:after{inset-inline-end:auto;inset-inline-start:16px;width:28px}
}
@media(prefers-reduced-motion:reduce){
  .desktop-nav a,.desktop-nav a:after,.mobile-nav a,.mobile-nav a:after{transition:none;transform:none}
}
