/* =========================================================================
   Soouo · "Indexed and Supported By" — rotating scholarly-platform strip.
   Spacious surface band, monochrome text wordmarks (grayscale by default,
   the theme's accent gradient on hover/focus), seamless infinite marquee.
   ========================================================================= */
.soouo-partners {
  padding: 56px 0;
  background: var(--soouo-surface);
  border-top: 1px solid var(--soouo-border);
  border-bottom: 1px solid var(--soouo-border);
}
.soouo-partners__head { text-align: center; margin-bottom: 32px; }
.soouo-partners__head h2 { margin: .2em 0 .35em; }
.soouo-partners__subtitle { color: var(--soouo-text-3); margin: 0 auto; max-width: 40rem; font-size: var(--soouo-fs-base, 1rem); }

/* Track viewport: content past the edges is clipped, not scrollable. */
.soouo-partners__marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.soouo-partners__track { display: flex; width: max-content; }
.soouo-partners__list {
  display: flex;
  align-items: center;
  gap: clamp(36px, 6vw, 72px);
  list-style: none;
  margin: 0;
  padding: 4px clamp(18px, 3vw, 36px);
  flex: none;
}
.soouo-partners__track[data-soouo-marquee-playing] {
  animation: soouoPartnersMarquee 34s linear infinite;
  animation-play-state: running;
}
.soouo-partners__marquee:hover .soouo-partners__track[data-soouo-marquee-playing],
.soouo-partners__marquee:focus-within .soouo-partners__track[data-soouo-marquee-playing] {
  animation-play-state: paused;
}
@keyframes soouoPartnersMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.soouo-partners__logo {
  display: inline-flex;
  align-items: center;
  height: 40px;
  font-family: var(--soouo-font-heading);
  font-size: clamp(17px, 1.6vw, 21px);
  font-weight: 700;
  letter-spacing: .01em;
  color: var(--soouo-text-3);
  filter: grayscale(1);
  opacity: .72;
  text-decoration: none;
  white-space: nowrap;
  transition: color .25s var(--soouo-ease), opacity .25s var(--soouo-ease), filter .25s var(--soouo-ease), transform .25s var(--soouo-ease);
}
.soouo-partners__logo:hover,
.soouo-partners__logo:focus-visible {
  filter: none;
  opacity: 1;
  text-decoration: none;
  transform: translateY(calc(-2px * var(--soouo-motion, 1)));
  background: var(--soouo-grad-accent);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
:root[data-theme="dark"] .soouo-partners__logo { color: var(--soouo-text-3); }

/* No JS / reduced motion: wrap into a static row instead of a moving one. */
.soouo-partners__track:not([data-soouo-marquee-playing]) {
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
}
.soouo-partners__track:not([data-soouo-marquee-playing]) .soouo-partners__list {
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
@media (prefers-reduced-motion: reduce) {
  .soouo-partners__track[data-soouo-marquee-playing] { animation: none; }
}

@media (max-width: 640px) {
  .soouo-partners { padding: 40px 0; }
  .soouo-partners__list { gap: 30px; }
  .soouo-partners__logo { height: 32px; font-size: 15px; }
}
