/* Client logo strip, copied from the aisolv.io homepage (showcase.css) so it looks and moves the same. */
.trusted { --pad: clamp(24px,4.5vw,90px); --sans: Geist,Arial,sans-serif; --logo-cell: 180px; --logo-duration: 108s; display: flex; align-items: center; gap: 16px; background: #101c27; padding: 18px var(--pad) 18px 0; border-bottom: 1px solid #ffffff1f; overflow: hidden; }
.logos-toggle { width: 27px; height: 27px; flex-shrink: 0; background: transparent; color: #d5dfe8; border: 1px solid #ffffff55; border-radius: 50% !important; font-size: 10px; cursor: pointer; }
.logos-toggle:hover { color: #fff; border-color: #fff; }
.logo-marquee { flex: 1; min-width: 0; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.logo-track { display: flex; width: max-content; animation: brands-right var(--logo-duration) linear infinite; }
.logo-group { display: flex; align-items: center; list-style: none; padding: 0; margin: 0; flex-shrink: 0; width: calc(var(--logo-count) * var(--logo-cell)); }
.logo-group li { display: flex; align-items: center; justify-content: center; flex: 0 0 var(--logo-cell); min-width: 0; height: 58px; padding: 0 22px; }
.logo-group img { object-fit: contain; width: auto; height: auto; max-height: 34px; max-width: min(100%, 136px); filter: grayscale(1); opacity: .78; }
.logo-group img.logo-blue { filter: none; opacity: .88; }
.logo-group .logo-4knines { max-width: 118px; max-height: 31px; filter: grayscale(1) brightness(1.35); opacity: .8; }
.logo-mark { display: flex; align-items: center; justify-content: center; gap: 9px; max-width: 100%; }
.logo-mark img { max-width: 33px; max-height: 36px; }
.logo-label { color: #c7d3de; font: 400 14px/1.2 var(--sans); letter-spacing: -.025em; text-align: center; }
.logo-mark .logo-label { font-size: 13px; text-align: left; }
.logo-group li:hover img { opacity: 1; }
.trusted:is(:hover, :focus-within) .logo-track, .trusted.logos-paused .logo-track { animation-play-state: paused; }
@keyframes brands-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (max-width: 520px) {
  .trusted { --logo-cell: 155px; --logo-duration: 112s; gap: 12px; padding: 14px var(--pad) 14px 0; }
  .logo-group li { height: 46px; padding: 0 19px; }
  .logo-group img { max-height: 30px; }
  .logo-label, .logo-mark .logo-label { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .trusted { padding-right: 0; }
  .logo-marquee { mask-image: none; -webkit-mask-image: none; }
  .logo-track { width: 100%; animation: none; transform: none; }
  .logo-group { width: 100%; flex-wrap: wrap; justify-content: center; gap: 20px 0; padding: 0 20px; }
  .logo-group li { flex: 0 0 25%; padding: 0 12px; }
  .logo-group[aria-hidden='true'], .logos-toggle { display: none; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 520px) { .logo-group li { flex-basis: 50%; } }
