/* Logo carousel - shared across pages */
.logo-carousel {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 28px 0;
  cursor: grab;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
  user-select: none;
}
.logo-carousel.is-dragging { cursor: grabbing; }
.logo-track {
  display: flex;
  gap: 56px;
  align-items: center;
  width: max-content;
  animation: logo-scroll 32s linear infinite;
  will-change: transform;
}
.logo-carousel:hover .logo-track,
.logo-carousel.is-dragging .logo-track,
.logo-carousel.is-paused .logo-track { animation-play-state: paused; }
.logo-carousel.is-dragging .logo-track { animation: none; }
.logo-track img {
  height: 88px;
  width: auto;
  max-width: none;
  flex-shrink: 0;
  object-fit: contain;
  pointer-events: none;
  -webkit-user-drag: none;
}
.logo-track img[src*="crpo"] { height: 56px; }
@keyframes logo-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (max-width: 767px) {
  .logo-track { gap: 40px; }
  .logo-track img { height: 64px; }
  .logo-track img[src*="crpo"] { height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .logo-track { animation: none; }
}
