/* Each partner is a separate original PSD logo; the map remains stationary. */
.partner-marquee {
  position: absolute;
  left: 0;
  top: calc(385 * var(--u));
  width: 100%;
  display: grid;
  gap: calc(13 * var(--u));
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}
.partner-row { min-width: 0; overflow: hidden; }
.partner-track {
  display: flex;
  width: max-content;
  animation: partner-to-left var(--row-duration, 60s) linear infinite;
  animation-play-state: paused;
}
.partner-row[data-direction="right"] .partner-track { animation-name: partner-to-right; }
.partner-set {
  flex: 0 0 auto;
  display: flex;
  gap: calc(11 * var(--u));
  padding-right: calc(11 * var(--u));
}
.partner-card {
  flex: 0 0 calc(244 * var(--u));
  width: calc(244 * var(--u));
  height: calc(117 * var(--u));
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(12 * var(--u));
  background: rgba(255, 255, 255, .84);
}
.partner-logo {
  width: calc(var(--logo-width) * var(--u));
  height: calc(var(--logo-height) * var(--u));
  max-width: 76%;
  max-height: 72%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.is-partners-running .partner-track { animation-play-state: running; will-change: transform; }
@keyframes partner-to-left {
  from { transform: translate3d(calc(0px - var(--row-offset) * var(--u)), 0, 0); }
  to { transform: translate3d(calc(-50% - var(--row-offset) * var(--u)), 0, 0); }
}
@keyframes partner-to-right {
  from { transform: translate3d(calc(-50% - var(--row-offset) * var(--u)), 0, 0); }
  to { transform: translate3d(calc(0px - var(--row-offset) * var(--u)), 0, 0); }
}
@media (max-width: 767px) {
  .partners { height: 540px; }
  .partner-marquee { top: 225px; gap: 12px; mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
  .partner-set { gap: 10px; padding-right: 10px; }
  .partner-card { flex-basis: 172px; width: 172px; height: 84px; border-radius: 9px; }
  .partner-logo { width: calc(var(--logo-width) * .75px); height: calc(var(--logo-height) * .75px); }
}
@media (prefers-reduced-motion: reduce) {
  .partner-track { animation-play-state: paused !important; will-change: auto !important; }
}
