/* Logo Marquee - isolated styles */
.logo-marquee-section {
  padding: 90px 0;
}
/* Use existing container and header styles from .logo-carousel-section */
/* Viewport */
.lm-viewport {
  position: relative;
  overflow: hidden;
}
/* Track */
.lm-track {
  display: flex;
  flex-wrap: nowrap; 
  align-items: stretch;
  gap: 16px;
  will-change: transform;
}
/* Card */
.lm-card {
  flex: 0 0 auto;
  width: clamp(140px, 16vw, 220px);
  height: clamp(84px, 9vw, 120px);
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06), 0 1px 3px rgba(0,0,0,0.05);
  overflow: hidden;
  padding: 0;
}
.lm-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.95);
}
/* Controls */
.lm-controls {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
}
.lm-btn {
  appearance: none;
  border: none;
  background: #fff;
  color: #111;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.lm-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
.lm-btn:active { transform: translateY(0); }
/* Pause state */
.lm-viewport.is-paused .lm-track { animation-play-state: paused; }
/* Responsive spacing */
@media (max-width: 1024px) {
  .logo-marquee-section { padding: 48px 0; }
  .lm-track { gap: 14px; }
}
@media (max-width: 640px) {
  .lm-track { gap: 12px; }
}

/* Pointer styles for dragging */
.lm-viewport { cursor: grab; }
.lm-viewport:active { cursor: grabbing; } 