/* Text-only hover artwork. Both colours share one baseline and never affect layout. */
.lh-link-trace-layer {
  position: fixed;
  inset: 0;
  z-index: 90;
  pointer-events: none;
  overflow: hidden;
  contain: strict;
}
.lh-link-trace-segment {
  position: absolute;
  height: 2px;
  pointer-events: none;
}
.lh-link-trace-segment > i {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: var(--lh-trace-first, #AE8B4E);
  opacity: 0;
  transform: scaleX(var(--lh-trace-dot, .01));
  transform-origin: center;
  transition: transform 220ms cubic-bezier(.22,.7,.25,1) 80ms, opacity 160ms ease 80ms;
}
.lh-link-trace-segment > i + i {
  background: var(--lh-trace-last, #0B1B33);
  transition-delay: 0ms;
}
.lh-link-trace-layer[data-active] .lh-link-trace-segment > i {
  opacity: 1;
  transform: scaleX(1);
  transition-delay: 0ms;
}
.lh-link-trace-layer[data-active] .lh-link-trace-segment > i + i {
  transition-delay: 80ms;
}
/* Applied only after the text has been measured and its replacement is ready. */
html body a.lh-link-tracing,
html body a.lh-link-tracing :where(span,strong,small,em,b,i) {
  text-decoration-line: none !important;
}
/* Replace only these two known hover indicators. Selected page markers,
   disclosure triangles, separator lines and button borders remain intact. */
html body .lh-primary > a.lh-link-tracing::after,
html body .lh-products-desktop > .lh-products-toggle.lh-link-tracing::before {
  opacity: 0 !important;
  animation: none !important;
}
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
  .lh-link-trace-layer { display: none; }
  html body a.lh-link-tracing { text-decoration-line: underline !important; }
}
@media print {
  .lh-link-trace-layer { display: none; }
  html body a.lh-link-tracing { text-decoration-line: underline !important; }
}
