/* Provider tile in the hero: photos glide through the pill while the name,
   title and rating move in step. Four providers, 5s each, 20s loop; each
   hand-over takes 0.8s. The last slide repeats the first so the loop
   restarts without a jump. */
@keyframes team-slide-x {
  0%, 21% { transform: translate3d(0, 0, 0); }
  25%, 46% { transform: translate3d(-20%, 0, 0); }
  50%, 71% { transform: translate3d(-40%, 0, 0); }
  75%, 96% { transform: translate3d(-60%, 0, 0); }
  100% { transform: translate3d(-80%, 0, 0); }
}

@keyframes team-slide-y {
  0%, 21% { transform: translate3d(0, 0, 0); }
  25%, 46% { transform: translate3d(0, -20%, 0); }
  50%, 71% { transform: translate3d(0, -40%, 0); }
  75%, 96% { transform: translate3d(0, -60%, 0); }
  100% { transform: translate3d(0, -80%, 0); }
}

@keyframes team-dot {
  0%, 21% { opacity: 1; }
  25%, 96% { opacity: .45; }
  100% { opacity: 1; }
}

.team-track,
.team-info-track,
.team-dot {
  animation-duration: 20s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(.5, 0, .2, 1);
}
.team-track { animation-name: team-slide-x; will-change: transform; }
.team-info-track { animation-name: team-slide-y; will-change: transform; }
.team-dot { animation-name: team-dot; }
.team-dot.is-2 { animation-delay: -15s; }
.team-dot.is-3 { animation-delay: -10s; }
.team-dot.is-4 { animation-delay: -5s; }

.quick-link.dr-profile:hover .team-track,
.quick-link.dr-profile:hover .team-info-track,
.quick-link.dr-profile:hover .team-dot { animation-play-state: paused; }

/* Service cards: on hover the photo eases in and the link arrow nudges right. */
.ent-feature:hover .card-img,
.specialty-card:hover .card-img,
.ent-feature:focus-visible .card-img,
.specialty-card:focus-visible .card-img { transform: scale(1.06); }

.ent-feature:hover .card-link,
.specialty-card:hover .card-link,
.ent-feature:focus-visible .card-link,
.specialty-card:focus-visible .card-link { padding-right: 30px; }

@media (prefers-reduced-motion: reduce) {
  .team-track, .team-info-track, .team-dot { animation: none; }
  .ent-feature, .specialty-card, .card-img { transition: none; }
}
