/* Funders scroller */
.funders { padding-top: 0; }
.funders .inner { max-width: var(--maxw); margin: 0 auto; padding: 0 1rem 2rem; }
.funders-head { display: grid; justify-items: center; gap: 0.5rem; padding: 0.75rem 0 0.5rem; text-align: center; }
.funders-head h2 { font-size: 1.25rem; font-weight: 700; letter-spacing: 0.01em; }
.funders-note { color: var(--muted); font-size: 0.95rem; }

.logo-scroller { position: relative; overflow: hidden; --gap: 2.25rem; }
.logo-scroller .scroller-inner { display: flex; align-items: center; gap: var(--gap); width: max-content; }
.logo-scroller[data-animated="true"] .scroller-inner { animation: funders-scroll var(--scroll-duration, 28s) linear infinite; }

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

.logo-scroller .logo { display: inline-flex; align-items: center; justify-content: center; padding: 0.75rem 0; opacity: 0.9; transition: opacity 120ms ease, transform 120ms ease; }
.logo-scroller .logo:hover { opacity: 1; transform: translateY(-1px); }
.logo-scroller .logo img { height: 42px; width: auto; display: block; filter: saturate(100%); }
@media (max-width: 768px) { .logo-scroller .logo img { height: 34px; } }

/* Reduced motion: disable animation but keep horizontal scroll */
@media (prefers-reduced-motion: reduce) {
  .logo-scroller[data-animated="true"] .scroller-inner { animation: none; }
  .logo-scroller { overflow-x: auto; }
}
