main a:not(.no-style),
article a:not(.no-style) {
  position: relative;
  text-decoration: none;
  color: var(--accent);
  font-weight: 600;
  transition: color var(--dur-med) var(--ease);
}

main a:not(.no-style)::after,
article a:not(.no-style)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -2px;
  width: 0;
  height: 1px;
  background: var(--accent);
  transform: translateX(-50%);
  transition: width var(--dur-med) var(--ease);
}

main a:not(.no-style):hover,
article a:not(.no-style):hover {
  color: var(--accent-2);
  text-shadow: 0 0 10px color-mix(in srgb, var(--accent) 50%, transparent);
}

main a:not(.no-style):hover::after,
article a:not(.no-style):hover::after {
  width: 100%;
}
