.site-header .nav-links > a:not(.button) {
  position: relative;
  padding-block: 6px;
  color: #587077;
  text-decoration: none;
  transition: color .2s ease, transform .2s ease;
}

.site-header .nav-links > a:not(.button)::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, #159da4, #42c5b4);
  box-shadow: 0 0 10px rgba(21, 157, 164, .28);
  content: "";
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .24s cubic-bezier(.2, .8, .2, 1);
}

.site-header .nav-links > a:not(.button):hover,
.site-header .nav-links > a:not(.button):focus-visible {
  color: #0d818a;
  transform: translateY(-1px);
}

.site-header .nav-links > a:not(.button):hover::after,
.site-header .nav-links > a:not(.button):focus-visible::after {
  transform: scaleX(1);
}

/* Sign-in stays understated, with a crisp teal underline on interaction. */
.site-header a.sign-in {
  position: relative;
  padding-block: 6px;
  color: #587077;
  text-decoration: none;
  transition: color 180ms ease, transform 180ms ease;
}

.site-header a.sign-in::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #159da4, #42c5b4);
  box-shadow: 0 0 10px rgb(21 157 164 / 28%);
  content: "";
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 220ms ease;
}

.site-header a.sign-in:hover,
.site-header a.sign-in:focus-visible {
  color: #0d818a;
  transform: translateY(-1px);
}

.site-header a.sign-in:hover::after,
.site-header a.sign-in:focus-visible::after {
  transform: scaleX(1);
}

/* Primary CTA: subtle lift, richer teal, and a restrained light sweep. */
.site-header a.button-small {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 16%);
  background: linear-gradient(115deg, #0b5360, #0d747d 58%, #159da4);
  box-shadow: 0 6px 15px rgb(11 103 112 / 18%);
  transition: transform 200ms ease, box-shadow 200ms ease, filter 200ms ease;
}

.site-header a.button-small::before {
  position: absolute;
  z-index: -1;
  top: -30%;
  bottom: -30%;
  left: -75%;
  width: 42%;
  background: linear-gradient(100deg, transparent, rgb(255 255 255 / 24%), transparent);
  content: "";
  pointer-events: none;
  transform: skewX(-20deg);
  transition: left 500ms ease;
}

.site-header a.button-small:hover,
.site-header a.button-small:focus-visible {
  filter: saturate(1.12);
  box-shadow: 0 11px 24px rgb(11 103 112 / 28%);
  transform: translateY(-2px);
}

.site-header a.button-small:hover::before,
.site-header a.button-small:focus-visible::before {
  left: 140%;
}

.site-header a.button-small:active {
  transform: translateY(0) scale(.985);
}

.site-header a.sign-in:focus-visible,
.site-header a.button-small:focus-visible {
  outline: 2px solid rgb(21 157 164 / 45%);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .site-header a.sign-in,
  .site-header a.sign-in::after,
  .site-header a.button-small,
  .site-header a.button-small::before {
    transition-duration: 0.01ms;
  }
}

.site-header .nav-links > a:not(.button):focus-visible {
  border-radius: 3px;
  outline: 2px solid rgba(21, 157, 164, .32);
  outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
  .site-header .nav-links > a:not(.button),
  .site-header .nav-links > a:not(.button)::after { transition: none; }
}
