/*
 * GKS — Partner logo marquee (homepage + commercial)
 * Standalone file so deploys are not blocked by Netlify immutable cache on /css/v3.css
 * (see netlify.toml Cache-Control for /css/*).
 */
body.v3 .home-partners__marquee,
.commercial-partners .home-partners__marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
}

body.v3 .home-partners__track,
.commercial-partners .home-partners__track {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 4rem;
  width: max-content;
  max-width: none;
  align-items: center;
}

@keyframes home-partners-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

/* CSS-only marquee: previous JS set animation:none then sometimes never applied translate (halfWidth 0). */
@media (prefers-reduced-motion: no-preference) {
  body.v3 .home-partners__track,
  .commercial-partners .home-partners__track {
    animation-name: home-partners-scroll !important;
    animation-duration: 36s !important;
    animation-timing-function: linear !important;
    animation-iteration-count: infinite !important;
    animation-fill-mode: none !important;
  }

  body.v3 .home-partners__marquee:hover .home-partners__track,
  .commercial-partners .home-partners__marquee:hover .home-partners__track {
    animation-play-state: paused !important;
  }
}

/* Reduced motion: horizontal scroll strip instead of marquee */

@media (prefers-reduced-motion: reduce) {
  body.v3 .home-partners__marquee,
  .commercial-partners .home-partners__marquee {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    mask-image: none;
    -webkit-mask-image: none;
  }
  body.v3 .home-partners__track,
  .commercial-partners .home-partners__track {
    animation: none !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    width: max-content !important;
    padding-inline: 0.75rem;
  }
}

body.v3 .home-partners__logo,
.commercial-partners .home-partners__logo {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 96px;
  padding: 0 1rem;
  transition: transform var(--dur-fast, 180ms) var(--ease-premium, cubic-bezier(0.22, 0.61, 0.36, 1));
}

body.v3 .home-partners__logo img,
.commercial-partners .home-partners__logo img {
  max-height: 100%;
  max-width: 260px;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
  transition:
    transform var(--dur-base, 260ms) var(--ease-premium, cubic-bezier(0.22, 0.61, 0.36, 1));
}

body.v3 .home-partners__logo:hover,
.commercial-partners .home-partners__logo:hover {
  transform: translateY(-3px);
}

body.v3 .home-partners__logo:hover img,
.commercial-partners .home-partners__logo:hover img {
  transform: scale(1.06);
}

