/* Prevent a touch-generated hover state from freezing the logo strip. */
.logo-group { flex: 0 0 auto; }
.logo-group .client-card { flex-shrink: 0; }
.marquee-controls { padding: 12px 5%; background: var(--paper); }
.marquee-controls[hidden] { display: none; }
.marquee-controls button { padding: 10px 18px; min-height: 44px; border: 1px solid var(--ink); border-radius: 30px; background: transparent; font-size: 11px; font-weight: 800; }
@media (prefers-reduced-motion: reduce) {
  /* An explicit, reversible choice enables only these two animations. */
  .marquees-enabled .today-marquee-track { width: max-content; animation: today-run 38s linear infinite !important; will-change: transform; }
  .marquees-enabled .today-marquee-group { flex-wrap: nowrap; gap: 0; padding: 0; width: auto; }
  .marquees-enabled .today-marquee-group span { white-space: nowrap; padding-right: clamp(90px,9vw,160px); }
  .marquees-enabled .today-marquee-group + .today-marquee-group { display: flex; }
  .marquees-enabled .logo-track { width: max-content; overflow: visible; animation: logos-flow 38s linear infinite !important; }
  .marquees-enabled .logo-group { gap: 48px; padding: 0 48px 0 0; }
  .marquees-enabled .logo-group + .logo-group { display: flex; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 900px) {
  .marquees-enabled .logo-group { gap: 24px; padding-right: 24px; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 600px) {
  .marquees-enabled .today-marquee-group span { padding-right: 80px; }
}
