/* Homepage motion follows the existing layout, with no moving or replaced copy. */
.clean-hero .hero-service-nav { position: relative; }
.clean-hero .hero-service-nav::before {
  content: '';
  position: absolute;
  inset-block-start: -1px;
  inset-inline: 0;
  height: 2px;
  background: linear-gradient(90deg, #244de8, #00aee6);
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}
[dir=rtl] .clean-hero .hero-service-nav::before { transform-origin: right; }
.clean-hero.motion-intro .hero-service-nav::before {
  animation: oob-connect-line 1.65s cubic-bezier(.22, 1, .36, 1) .25s both;
}
@keyframes oob-connect-line {
  0% { transform: scaleX(0); opacity: 0; }
  12% { opacity: 1; }
  72% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0; }
}
.clean-hero .hero-service-nav > a,
.home-page .home-service-card,
.home-page .home-insight {
  transition: background-color .24s ease, border-color .24s ease;
}
.clean-hero .arrow,
.home-page .home-service-card .arrow,
.home-page .home-card-link .arrow,
.home-page .text-link .arrow {
  transition: transform .24s cubic-bezier(.22, 1, .36, 1);
}
@media (hover: hover) and (pointer: fine) {
  .clean-hero .hero-service-nav > a:hover { background-color: #eaf0fc; }
  .clean-hero a:hover .arrow,
  .home-page .home-insight:hover .arrow,
  .home-page .text-link:hover .arrow { transform: translate(3px, -3px); }
}
@media (prefers-reduced-motion: reduce) {
  .clean-hero.motion-intro .hero-service-nav::before { animation: none; }
  .clean-hero .hero-service-nav > a,
  .clean-hero .arrow,
  .home-page .home-service-card,
  .home-page .home-service-card .arrow,
  .home-page .home-insight,
  .home-page .home-card-link .arrow,
  .home-page .text-link .arrow { transition: none; }
}
