/* ============================================
   partners.css — Infinite logo marquee
   ============================================ */

.partners {
  padding: 48px 0;
  overflow: hidden;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--bg-secondary);
}

.partners__label {
  text-align: center;
  font-size: var(--text-sm);
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 32px;
}

/* Outer mask — fades edges */
.partners__track-wrapper {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent,
    black 12%,
    black 88%,
    transparent
  );
  mask-image: linear-gradient(
    to right,
    transparent,
    black 12%,
    black 88%,
    transparent
  );
}

/* Scrolling track — contains logos twice */
.partners__track {
  display: flex;
  width: max-content;
  align-items: center;
  gap: 56px;
  animation: partners-scroll 32s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .partners__track {
    animation: none;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
  }
}

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

/* Individual logo item */
.partners__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  opacity: 0.45;
  transition: opacity 0.2s ease;
}

.partners__item:hover {
  opacity: 0.85;
}

.partners__item img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.partners__item-name {
  font-size: var(--text-xs);
  color: var(--text-muted);
  font-weight: 500;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
