/* ==========================================================================
   Client logo band on the service pages v2 ("Companies we've done SEO for") - template-parts/client-logos.php,
   inc/client-logos.php. Same look and motion as the industry pages' band (experts-v2.css "Client logo band"):
   navy strip, centred white heading, white logos at equal visual height, slow continuous marquee (10+ logos,
   ~3.2 s per logo), paused on hover/focus, no scrollbar, static swipeable row under reduced motion.
   Nothing is hidden on load (no reveal classes).
   ========================================================================== */
.cl-band {
  padding: 56px 0 60px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: var(--ss-navy-deep);
  overflow: hidden;
}

.sv2 .cl-band .ex2-logos-h {
  margin: 0 0 32px;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -.005em;
  text-align: center;
}

.cl-band .ex2-logos-viewport {
  position: relative;
}

.cl-band .ex2-logos-track {
  display: flex;
  width: max-content;
}

.cl-band .ex2-logos-list {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cl-band .ex2-logo {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  height: 64px;
  margin: 0;
  padding: 0 34px;
}

.cl-band .ex2-logo span {
  display: flex;
  align-items: center;
  height: 100%;
}

.sv2 .cl-band .ex2-logo img {
  width: auto;
  max-width: 168px;
  height: var(--h, 40px);
  object-fit: contain;
  opacity: .86;
  filter: brightness(0) invert(1); /* pure-white silhouette (some case logos are grey or tinted) */
}

/* marquee */
.cl-band.ex2-logos--marquee .ex2-logos-viewport {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.cl-band.ex2-logos--marquee .ex2-logos-track {
  animation: cl-logos-scroll var(--ex2-logos-dur, 60s) linear infinite;
}

.cl-band.ex2-logos--marquee .ex2-logos-viewport:hover .ex2-logos-track,
.cl-band.ex2-logos--marquee .ex2-logos-viewport:focus-within .ex2-logos-track {
  animation-play-state: paused;
}

@keyframes cl-logos-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* static row (fewer than 10) */
.cl-band.ex2-logos--static .ex2-logos-track {
  width: auto;
  justify-content: center;
}

.cl-band.ex2-logos--static .ex2-logos-list {
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 18px;
}

@media (max-width: 767.98px) {
  .cl-band {
    padding: 40px 0 44px;
  }

  .sv2 .cl-band .ex2-logos-h {
    margin-bottom: 22px;
    padding: 0 8px;
    font-size: 20px;
  }

  .cl-band .ex2-logo {
    height: 52px;
    padding: 0 22px;
  }

  .sv2 .cl-band .ex2-logo img {
    max-width: 128px;
    height: calc(var(--h, 40px) * .8);
  }

  .cl-band.ex2-logos--static .ex2-logos-viewport {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .cl-band.ex2-logos--static .ex2-logos-viewport::-webkit-scrollbar {
    display: none;
  }

  .cl-band.ex2-logos--static .ex2-logos-track {
    width: max-content;
    justify-content: flex-start;
  }

  .cl-band.ex2-logos--static .ex2-logos-list {
    flex-wrap: nowrap;
    padding: 0 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cl-band.ex2-logos--marquee .ex2-logos-track {
    animation: none;
  }

  .cl-band.ex2-logos--marquee .ex2-logos-viewport {
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .cl-band.ex2-logos--marquee .ex2-logos-viewport::-webkit-scrollbar {
    display: none;
  }

  .cl-band.ex2-logos--marquee .ex2-logos-list[aria-hidden="true"] {
    display: none;
  }
}
