/* Client section: existing Entasiz palette, typography and Bootstrap grid. */
.client-section {
  background: var(--bg);
  overflow: hidden;
}
.client-heading > div {
  max-width: 850px;
}
.client-pause {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 14px;
  border: 1px solid var(--stroke);
  border-radius: var(--r12);
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
.client-pause:hover {
  color: var(--text);
  border-color: var(--muted);
}
.client-pause:focus-visible,
.client-marquee:focus-visible,
.client-logo:focus-visible,
.client-review-link:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 4px;
}
.client-marquee {
  overflow: hidden;
  padding: 24px 0;
}
.client-track {
  display: flex;
  width: max-content;
  animation: entasiz-clients-scroll 55s linear infinite;
}
.client-group {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-right: 24px;
  flex-shrink: 0;
}
.client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 260px;
  height: 122px;
  flex: 0 0 260px;
  border-radius: var(--r12);
  overflow: hidden;
}
.client-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.client-marquee:hover .client-track,
.client-marquee:focus-within .client-track,
.client-marquee.is-paused .client-track {
  animation-play-state: paused;
}
.client-mobile-hint {
  display: none;
}
.client-reviews {
  margin-top: var(--s6);
}
.client-review {
  padding: 28px;
  border: 1px solid var(--stroke);
  border-radius: var(--r16);
  background: transparent;
}
.client-stars {
  display: flex;
  gap: 4px;
  color: #ffb300;
  font-size: 14px;
}
.client-review-source {
  color: var(--muted);
  font-size: 12px;
}
.client-review blockquote {
  line-height: 1.8;
  font-size: 15px;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.client-review-person {
  border-top: 1px solid var(--stroke);
}
.client-review-link {
  color: var(--text);
  font-size: 13px;
  text-decoration: none;
}
.client-review-link:hover {
  color: #8eb6ff;
}
@keyframes entasiz-clients-scroll {
  to {
    transform: translateX(-50%);
  }
}
@media (max-width: 767.98px) {
  .client-section {
    padding: var(--s5) 0;
  }
  .client-section .section-title {
    font-size: clamp(28px, 7vw, 40px);
  }
  .client-marquee {
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--muted) transparent;
  }
  .client-track {
    animation: none;
  }
  .client-group[aria-hidden],
  .client-repeat,
  .client-pause {
    display: none;
  }
  .client-group {
    gap: 20px;
    padding-right: 0;
  }
  .client-logo {
    width: 220px;
    height: 104px;
    flex-basis: 220px;
  }
  .client-mobile-hint {
    display: block;
  }
  .client-reviews {
    margin-top: var(--s5);
  }
  .client-review {
    padding: 24px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .client-track {
    animation: none;
  }
  .client-marquee {
    overflow-x: auto;
  }
  .client-group[aria-hidden],
  .client-repeat,
  .client-pause {
    display: none;
  }
  .client-mobile-hint {
    display: block;
  }
}
