/* ============================================================
   PIXEL ÉTINCELLE — MARQUEE CLIENTS
   Les logos apparaissent un par un à l'entrée dans le viewport,
   puis le bandeau se met à défiler seul en boucle infinie.
   ============================================================ */

.marquee-wrap {
  position: relative;
  margin-top: var(--space-12);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.marquee-track {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  width: max-content;
  will-change: transform;
}
.marquee-track.is-scrolling { animation: marquee-scroll 38s linear infinite; }
.marquee-wrap:hover .marquee-track.is-scrolling { animation-play-state: paused; }

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

.logo-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-full);
  background: var(--bg-elevated);
  box-shadow: var(--neu-raised-700);
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out);
}
.logo-chip.is-visible { opacity: 1; transform: translateY(0); }

.logo-chip img {
  height: 26px;
  width: auto;
  max-width: 84px;
  object-fit: contain;
  border-radius: 6px;
  background: #fff;
  padding: 3px 6px;
}

.logo-chip span {
  font-family: var(--font-title);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--text-secondary);
  white-space: nowrap;
}

.logos-below { text-align: center; margin-top: var(--space-10); }

@media (prefers-reduced-motion: reduce) {
  .marquee-track.is-scrolling { animation: none; }
  .logo-chip { opacity: 1; transform: none; transition: none; }
}
