/* Each group owns its underline: local slides, cross-group stroke reveals. */
.nav-active-line{display:none}
@media(min-width:1024px){
  .navigation.nav-motion-enabled{position:relative}
  .navigation.nav-motion-enabled a.current::after{display:none}
  .nav-motion-enabled .nav-active-line{display:block;position:absolute;left:0;top:0;height:2px;border-radius:2px;pointer-events:none;opacity:0}
  .nav-active-line::before{content:"";display:block;width:100%;height:100%;border-radius:inherit;background:var(--blue);transform-origin:left center}
  .nav-motion-enabled .nav-active-line.is-active{opacity:1}
  .site-header .nav-group-stroke path{animation:none;stroke-dashoffset:0}
  .site-header .nav-group-stroke .nav-group-accent{stroke:var(--blue);stroke-width:1.4;stroke-dasharray:100;stroke-dashoffset:100;opacity:0}
  .site-header .nav-group--active .nav-group-stroke .nav-group-accent{stroke-dashoffset:0;opacity:1}
}
@media(min-width:1024px) and (prefers-reduced-motion:no-preference){
  .nav-line-ready .nav-active-line{transition:opacity .18s ease}
  .nav-line-ready .nav-active-line.is-active{transition:transform .32s cubic-bezier(.22,.7,.2,1),width .32s cubic-bezier(.22,.7,.2,1),opacity .18s ease}
  .nav-motion-enabled .nav-active-line.is-active::before{animation:nav-local-line-draw .38s cubic-bezier(.22,.7,.2,1) both}
  .site-header .nav-group-stroke .nav-group-accent{transition:stroke-dashoffset .5s cubic-bezier(.22,.7,.2,1),opacity .2s ease}
  .site-header .nav-group--active .nav-group-stroke .nav-group-accent{animation:nav-group-outline-draw .55s cubic-bezier(.22,.7,.2,1) both}
}
@keyframes nav-local-line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes nav-group-outline-draw{from{stroke-dashoffset:100;opacity:1}to{stroke-dashoffset:0;opacity:1}}
