/* Бегущая лента логотипов вузов на главной (30.09.2026) — разметка universities/site/BrandBlock.tsx.
   Едет с первой отрисовки (CSS-анимация, без скриптов), края растворяются, при наведении — пауза. */
.brand-block__body {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.brand-marquee { overflow: hidden; margin-bottom: 50px; }
.brand-marquee:last-child { margin-bottom: 0; }
.brand-marquee__track {
  display: flex; align-items: center; width: max-content;
  animation: brand-marquee-left var(--marquee-duration, 60s) linear infinite;
  will-change: transform;
}
.brand-marquee--right .brand-marquee__track { animation-name: brand-marquee-right; }
.brand-marquee:hover .brand-marquee__track { animation-play-state: paused; }
.brand-marquee .brand-block__item { flex: none; }
.brand-block__item img { max-height: 64px; width: auto; object-fit: contain; }

/* дорожка — два одинаковых набора логотипов: сдвиг на половину = ровно один набор */
@keyframes brand-marquee-left { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes brand-marquee-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }

@media (max-width: 767px) {
  .brand-marquee { margin-bottom: 20px; }
  .brand-block__item img { max-height: 48px; }
  /* логотипы у шаблона 160 px вместо 230 — та же скорость в px/с */
  .brand-marquee__track { animation-duration: calc(var(--marquee-duration, 60s) * 160 / 230); }
}
