/* Original owner-supplied PNGs, scaled by primary lettering and centred by visible artwork. */
.aist-client-logos {
  --logo-text-height: 22px;
  --logo-gap: 64px;
  --marquee-duration: 95s;
  background: #fff;
  border-bottom: 1px solid #edf0f1;
  padding-block: 60px;
}
.aist-client-logos > .site-shell { min-width: 0; }
.aist-client-logos .dsc-logo-strip__viewport:focus-visible { outline: 2px solid #607b9d; outline-offset: 4px; }
.aist-client-logos .dsc-logo-strip__viewport {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 20px, #000 calc(100% - 20px), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 20px, #000 calc(100% - 20px), transparent);
}
.aist-client-logos .dsc-logo-strip__track { width: max-content; display: flex; }
.aist-client-logos .dsc-logo-strip__list {
  display: flex;
  align-items: center;
  gap: var(--logo-gap);
  margin: 0;
  padding: 0 var(--logo-gap) 0 0;
  list-style: none;
  flex: none;
}
.aist-client-logos .dsc-logo-strip__list[aria-hidden] { display: none; }
.aist-client-logos.is-ready .dsc-logo-strip__list[aria-hidden] { display: flex; }
.aist-client-logos .dsc-logo-strip__item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}
.aist-client-logos__artwork {
  position: relative;
  display: block;
  flex: none;
  width: calc(var(--logo-text-height) * var(--logo-ratio) + 4px);
  height: calc(var(--logo-text-height) * var(--logo-art-height) + 4px);
  overflow: hidden;
}
.aist-client-logos .aist-client-logos__artwork img {
  position: absolute;
  display: block;
  width: calc(var(--logo-text-height) * var(--image-width));
  height: calc(var(--logo-text-height) * var(--image-height));
  left: calc(var(--logo-text-height) * var(--image-left) + 2px);
  top: calc(var(--logo-text-height) * var(--image-top) + 2px);
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  filter: none;
}
.aist-client-logos.is-ready .dsc-logo-strip__track {
  animation: aist-client-marquee var(--marquee-duration) linear infinite;
}
.aist-client-logos.is-paused .dsc-logo-strip__track,
.aist-client-logos .dsc-logo-strip__viewport:hover .dsc-logo-strip__track,
.aist-client-logos .dsc-logo-strip__viewport:focus-within .dsc-logo-strip__track { animation-play-state: paused; }
@keyframes aist-client-marquee { to { transform: translateX(-50%); } }
@media (max-width: 600px) {
  .aist-client-logos { --logo-text-height: 18.7px; --logo-gap: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .aist-client-logos.is-ready .dsc-logo-strip__track { animation: none; }
  .aist-client-logos.is-ready .dsc-logo-strip__list[aria-hidden] { display: none; }
}
