/* ============================================================
   HOME SUPPORTERS MARQUEE
   ============================================================ */

.supporters-marquee {
  position: relative;
  background: var(--supporters-bg, var(--clr-white));
  padding-block: var(--section-py);
  overflow: hidden;
}

.supporters-marquee__container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* Header — matches .home-*__header rhythm */
.supporters-marquee__eyebrow {
  font-family: var(--font-primary);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--clr-red);
  margin-bottom: var(--sp-2);
}

.supporters-marquee__title {
  font-family: var(--font-primary);
  font-size: var(--fs-3xl);
  font-weight: var(--fw-black);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-tight);
  color: var(--clr-dark);
  margin: 0 0 var(--sp-10);
}

/* Viewport with edge fades */
.supporters-marquee__viewport {
  position: relative;
  overflow: hidden;
}

.supporters-marquee__viewport::before,
.supporters-marquee__viewport::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 3;
  pointer-events: none;
}

.supporters-marquee__viewport::before {
  left: 0;
  background: linear-gradient(to right, var(--supporters-bg, var(--clr-white)), transparent);
}

.supporters-marquee__viewport::after {
  right: 0;
  background: linear-gradient(to left, var(--supporters-bg, var(--clr-white)), transparent);
}

.supporters-marquee__rail {
  display: flex;
  width: max-content;
  animation: supporters-marquee-scroll var(--marquee-duration, 28s) linear infinite;
  will-change: transform;
}

.supporters-marquee__track {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: var(--sp-12);
  padding-right: var(--sp-12);
}

.supporters-marquee__item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.supporters-marquee__link {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.6;
  filter: grayscale(100%);
  transition: all var(--ease-standard);
}

.supporters-marquee__link:hover {
  opacity: 1;
  filter: grayscale(0);
  transform: translateY(-2px);
}

.supporters-marquee__link--static:hover {
  transform: none;
}

.supporters-marquee__logo {
  max-height: 64px;
  max-width: 160px;
  object-fit: contain;
}

@keyframes supporters-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-25%); }
}

@media (prefers-reduced-motion: reduce) {
  .supporters-marquee__rail {
    animation-play-state: paused;
  }
}

/* Supporters responsive */
@media (max-width: 991px) {
  .supporters-marquee__track {
    gap: var(--sp-10);
    padding-right: var(--sp-10);
  }
  .supporters-marquee__logo {
    max-height: 54px;
    max-width: 140px;
  }
  .supporters-marquee__viewport::before,
  .supporters-marquee__viewport::after {
    width: 56px;
  }
}

@media (max-width: 767px) {
  .supporters-marquee__track {
    gap: var(--sp-8);
    padding-right: var(--sp-8);
  }
  .supporters-marquee__logo {
    max-height: 44px;
    max-width: 120px;
  }
  .supporters-marquee__viewport::before,
  .supporters-marquee__viewport::after {
    width: 32px;
  }
}