.sponsors-section {
  padding-block: 85px;
  overflow: hidden;
  border-block: 1px solid #e5ebf2;
  background: linear-gradient(180deg, #fff 0%, #f6f9fd 100%);
}
.sponsors-heading { text-align: center; margin-bottom: 42px; }
.sponsors-heading h2 { color: #173f8b; }
.sponsors-heading > p:last-child { max-width: 650px; margin: 14px auto 0; color: var(--muted); }
.sponsor-marquee {
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.sponsor-track {
  display: flex;
  width: max-content;
  animation: sponsor-scroll 30s linear infinite;
  will-change: transform;
}
.sponsor-set { display: flex; align-items: center; gap: 28px; padding-right: 28px; }
.sponsor-logo {
  width: 220px;
  height: 125px;
  flex: 0 0 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  border: 1px solid #e0e7ef;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 36px #173f8b10;
  transition: transform .25s, box-shadow .25s;
}
.sponsor-logo:hover { transform: translateY(-5px); box-shadow: 0 18px 42px #173f8b20; }
.sponsor-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sponsor-marquee:hover .sponsor-track { animation-play-state: paused; }
@keyframes sponsor-scroll { from { transform: translateX(0); } to { transform: translateX(var(--sponsor-shift, -50%)); } }
@media (max-width: 576px) {
  .sponsors-section { padding-block: 65px; }
  .sponsor-logo { width: 170px; height: 100px; flex-basis: 170px; padding: 13px; }
  .sponsor-set { gap: 16px; padding-right: 16px; }
  .sponsor-track { animation-duration: 22s; }
}
@media (prefers-reduced-motion: reduce) { .sponsor-track { animation-play-state: paused; } }
