/* Crescospec Marquee Slider — infinite linear marquee for brand logos */
.csmq-icon{
  --csmq-icon-item-h: 80px;
  --csmq-icon-item-w: auto;
  --csmq-icon-gap: 24px;
  --csmq-icon-duration: 20s;
  --csmq-icon-distance: 0px;
}

/* Keep the final layout space, but do not expose an unmeasured animation. */
.csmq-icon .csmq-icon-viewport{
  width: 100%;
  overflow: hidden;
}

.csmq-icon .csmq-icon-track{
  display: flex;
  width: max-content;
  will-change: transform;
  visibility: hidden;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  contain: layout paint style;
}

/* Start only after JS has measured the real sequence width. */
.csmq-icon.is-ready .csmq-icon-track{
  visibility: visible;
}

/* Each sequence includes its trailing gap, so one exact sequence width is
   also the exact loop distance. */
.csmq-icon .csmq-icon-seq{
  display: inline-flex;
  flex: 0 0 auto;
  align-items: stretch;
  gap: var(--csmq-icon-gap);
  padding-right: var(--csmq-icon-gap);
  box-sizing: content-box;
}

.csmq-icon .csmq-icon-item{
  height: var(--csmq-icon-item-h);
  width: auto;
  min-width: var(--csmq-icon-item-w, auto);
  box-sizing: border-box;
  border: 1px solid #EAECF0;
  box-shadow: 0 2px 8px rgba(20,30,40,.04);
  border-radius: var(--item-radius, 12px);
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-decoration: none;
  background: #fff;
}

.csmq-icon .csmq-icon-img{
  height: 100%;
  max-height: 100%;
  width: auto;
  max-width: none;
  object-fit: contain;
  display: block;
}

