/* Home logo marquee: progressive, seamless, and motion-aware. */
.home-page .page-hero { padding-bottom: 40px; }
.home-logo-marquee {
  --home-logo-height: 28px;
  --home-logo-gap: 40px;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 1160px;
  min-width: 0;
  margin-top: 40px;
}
.home-logo-marquee__viewport {
  flex: 1;
  min-width: 0;
  padding-block: 6px;
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 16px, #000 calc(100% - 16px), transparent);
  mask-image: linear-gradient(to right, transparent, #000 16px, #000 calc(100% - 16px), transparent);
}
.home-logo-marquee__track,
.home-logo-marquee__set,
.home-logo-marquee__group { display: flex; align-items: center; width: max-content; }
.home-logo-marquee__track { transform: translateX(0); }
.home-logo-marquee__set { flex: none; padding-inline: calc(var(--home-logo-gap) / 2); }
.home-logo-marquee__group { flex: none; gap: var(--home-logo-gap); }
.home-logo-marquee__item { display: flex; align-items: center; justify-content: center; flex: none; height: var(--home-logo-height); }
.home-logo-marquee__item img { display: block; width: auto; height: var(--home-logo-height); max-width: 88px; object-fit: contain; }
.home-logo-marquee__dsket {
  width: var(--home-logo-height);
  background: url('/assets/logo-dsket-light.png') 19.6% 50% / 675.676% auto no-repeat;
}
.home-logo-marquee [data-home-logo-clone] { display: none; }
.home-logo-marquee[data-home-logo-ready="true"] .home-logo-marquee__viewport { overflow: hidden; }
.home-logo-marquee[data-home-logo-ready="true"] [data-home-logo-clone] { display: flex; }
.home-logo-marquee[data-home-logo-ready="true"] .home-logo-marquee__track {
  animation: home-logo-scroll var(--home-logo-duration, 120s) linear infinite;
  animation-play-state: paused;
  will-change: transform;
}
.home-logo-marquee[data-home-logo-ready="true"][data-home-logo-running="true"] .home-logo-marquee__track { animation-play-state: running; }
.home-logo-marquee[data-home-logo-ready="true"] .home-logo-marquee__viewport:hover .home-logo-marquee__track,
.home-logo-marquee[data-home-logo-ready="true"] .home-logo-marquee__viewport:focus-within .home-logo-marquee__track { animation-play-state: paused; }
.home-logo-marquee__toggle {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--ds-text-2);
  background: transparent;
  cursor: pointer;
}
.home-logo-marquee__toggle:hover { color: var(--ds-text); background: var(--ds-bg-subtle); }
.home-logo-marquee__toggle[hidden],
.home-logo-marquee__play,
.home-logo-marquee__toggle[aria-pressed="true"] .home-logo-marquee__pause { display: none; }
.home-logo-marquee__toggle[aria-pressed="true"] .home-logo-marquee__play { display: block; }
@keyframes home-logo-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-1 * var(--home-logo-distance))); }
}
@media (max-width: 640px) {
  .home-logo-marquee { --home-logo-height: 26px; --home-logo-gap: 34px; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-logo-marquee[data-home-logo-ready="true"] .home-logo-marquee__track { animation: none; will-change: auto; }
  .home-logo-marquee[data-home-logo-ready="true"] .home-logo-marquee__viewport { overflow-x: auto; }
  .home-logo-marquee [data-home-logo-clone], .home-logo-marquee__toggle { display: none !important; }
}
