.partners__wrapper {
  overflow: hidden;
  padding: 1rem 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.partners__track {
  display: flex;
  width: max-content;
  animation: partners-defile 30s linear infinite;
}

/* L'espacement vit à l'intérieur du groupe, y compris après la dernière image.
   Les deux groupes font donc exactement la même largeur → -50% boucle pile. */
.partners__group {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding-right: 3rem;
}

.partners__group img {
  display: block;
  flex: 0 0 auto;
  height: 91px;
  width: auto;
}

@keyframes partners-defile {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.partners:hover .partners__track,
.partners:focus-within .partners__track {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .partners { overflow-x: auto; }
  .partners__track { animation: none; }
  .partners__group[aria-hidden="true"] { display: none; }
}
