/* Reference: stationary leading arrow; the entire label translates as one unit.
 * Only fine-pointer hover receives movement. Existing --ease-out is reused.
 */
.hm-label{display:inline-block;pointer-events:none;transform:translateX(0)}
.hm-arrow{display:none;pointer-events:none}
.hm-title{position:relative}
.site-header nav a>.hm-label{font-size:inherit;color:inherit;vertical-align:baseline;margin:0}

@media (hover:hover) and (pointer:fine) {
  .hm-title{padding-inline-start:1.4em;padding-inline-end:1.45em}
  .hm-title>.hm-arrow{display:block;position:absolute;inset-inline-start:0;top:0;font-size:.72em;line-height:inherit;color:var(--acid,currentColor);transform:translateY(.15em)}
  .hm-title>.hm-label{transition:transform 200ms var(--ease-out,cubic-bezier(.23,1,.32,1))}
  .hm-title:hover>.hm-label{transform:translateX(1.4em);transition-duration:260ms}
  .hm-inline>.hm-label{transition:transform 160ms var(--ease-out,cubic-bezier(.23,1,.32,1))}
  .site-header nav a.hm-inline:hover>.hm-label,footer>a.hm-inline:hover>.hm-label{transform:translateX(4px)}
  .hero-reel-link:hover>.hm-inline>.hm-label,.round-link:hover>.hm-inline>.hm-label{transform:translateX(10px);transition-duration:200ms}
  #contact-slot.hm-inline:hover>.hm-label,.certificate-trigger.hm-inline:hover>.hm-label{transform:translateX(6px)}
  /* Keyboard feedback stays immediate, using the site's existing focus ring. */
  .hm-inline:focus-visible>.hm-label,.project-open:focus-visible .hm-label,.lab-card:focus-visible .hm-label,.hero-reel-link:focus-visible .hm-label,.round-link:focus-visible .hm-label{transform:none!important;transition:none!important}
}

/* Respect the site-wide pause button as well as system preference. */
.motion-paused .hm-label{transform:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce) {
  .hm-label{transform:none!important;transition:none!important}
}
