/* Match the reference arrow: its three strokes trace themselves on hover. */
.arrow-icon line{stroke-dasharray:25px;stroke-dashoffset:50px;transition:stroke-dashoffset 1s cubic-bezier(.61,1,.88,1)}
:is(a,button):is(:hover,:focus-visible) .arrow-icon line{stroke-dashoffset:0}

/* The circular hero CTA uses the same draw-on motion. */
.round-cta .round-cta-arrow,.round-cta:hover .round-cta-arrow,.round-cta:focus-visible .round-cta-arrow{transform:none}
.round-cta-arrow path{stroke-dasharray:42px;stroke-dashoffset:84px;transition:stroke-dashoffset 1s cubic-bezier(.61,1,.88,1)}
.round-cta:is(:hover,:focus-visible) .round-cta-arrow path{stroke-dashoffset:0}

/* Navigation and carousel controls stay fixed. */
.hero-nav .hero-arrow,.hero-nav:is(:hover,:focus-visible) .hero-arrow{transform:none;transition:none}
.hero-nav.prev .hero-arrow,.hero-nav.prev:is(:hover,:focus-visible) .hero-arrow{transform:rotate(180deg)}
.inner-carousel-controls .arrow-glyph,.inner-carousel-controls button:is(:hover,:focus-visible) .arrow-glyph{transform:none;transition:none}
.nav-chevron{transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.nav-item:is(:hover,:focus-within) .nav-chevron{transform:rotate(180deg)}
.btn:is(:hover,:focus-visible){transform:none}

@media(prefers-reduced-motion:reduce){
  .arrow-icon line,.round-cta-arrow path,.inner-service-arrow line,.nav-chevron{transition:none}
  .inner-service-media img{transition:none}
  .nav-item:is(:hover,:focus-within) .nav-chevron{transform:none}
}
