/* Reference: Ashley home-1 reviews. Geometry and type are preserved; accent is LimeLabs green. */
.client-voices { background:#f2f2f2; color:rgba(0,0,0,.5); padding:120px 0; overflow:hidden; font-size:16px; font-weight:300; line-height:1.5; text-align:center; }
.client-voices .voices-container { width:100%; max-width:1200px; padding:0 30px; }
.client-voices h2 { color:#000; font-size:68px; font-weight:500; line-height:1.2; letter-spacing:normal; margin:0 0 60px; max-width:none; }
.client-voices .voice-thin { font-weight:100; }
.voice-selectors { display:flex; justify-content:center; margin:0 0 60px; }
.voice-selectors .voice-selector { display:block; flex-shrink:0; width:110px; height:110px; padding:10px; margin:0!important; border:0; border-radius:50%; background:transparent; opacity:1; transition:.4s cubic-bezier(0,0,.3642,1)!important; }
.voice-selectors .voice-selector:nth-child(2n) { margin-top:30px!important; }
.voice-selector img,.voice-avatar-fallback { display:block; width:90px; height:90px; object-fit:cover; object-position:top; border-radius:50%; }
.voice-avatar-fallback { display:grid; place-items:center; color:var(--ink); background:#dce2d1; font-size:28px; }
.voice-selectors .voice-selector:hover { box-shadow:inset 0 0 0 4px #fff; }
.voice-selectors .voice-selector[aria-pressed=true] { box-shadow:inset 0 0 0 4px var(--lime); }
.voices-stage { position:relative; display:flex; justify-content:center; margin:0 -15px; }
.voices-column { width:66.66666667%; min-width:0; padding:0 15px; }
.voice-quote-icon { display:block; margin:0 auto 15px; width:40px; height:40px; }
.voice-quote-icon path { fill:var(--lime); }
.voices-navigation { display:flex; justify-content:space-between; position:absolute; top:160px; left:0; width:100%; padding:0 15px; }
.voice-arrow { position:relative; z-index:2; display:block; width:40px; height:40px; padding:10px; border:0; border-radius:50%; background:#e5e5e5; color:#000; transition:.4s cubic-bezier(0,0,.3642,1); }
.voice-arrow::after { content:''; position:absolute; inset:-4px; }
.voice-nav-icon { display:block; width:20px; height:20px; fill:currentColor; }
.voice-prev { transform:rotate(180deg); }
.voice-arrow:hover { transform:scale(1.15); }
.voice-prev:hover { transform:rotate(180deg) scale(1.15); }
.voice-arrow:disabled { opacity:.1; cursor:not-allowed; }
.voice-arrow.swiper-button-lock { display:none; }
.voices-slider { overflow:hidden; }
.voices-slider:not(.swiper-initialized) .voices-slides { display:block; }
.voices-slider:not(.swiper-initialized) .voice-slide + .voice-slide { margin-top:60px; }
.voice-frame { margin:0; }
.voice-frame figcaption strong { display:block; color:#000; font-size:20px; font-weight:500; line-height:30px; margin:0 0 10px; }
.voice-frame figcaption span { display:block; font-size:12px; font-weight:500; line-height:24px; letter-spacing:2px; text-transform:uppercase; margin:0 0 30px; }
.voice-frame blockquote { font-size:22px; font-weight:300; line-height:1.8; margin:0; min-height:158.4px; }
.voice-frame blockquote p { margin:0; }
.voice-legacy { font-size:12px; color:#666; line-height:1.5; margin:20px 0 0; }
.client-logos { background:#f2f2f2; }
@media(min-width:1200px) and (max-width:1399px) { .client-voices .voices-container { max-width:1000px; } }
@media(max-width:1200px) { .client-voices h2 { font-size:56px; } }
@media(max-width:992px) {
  .client-voices { padding:90px 0; }
  .client-voices h2 { font-size:44px; }
  .voice-selectors { flex-wrap:wrap; }
  .voice-selectors .voice-selector { width:90px; height:90px; }
  .voice-selectors .voice-selector:nth-child(2n) { margin-top:0!important; }
  .voice-selector img,.voice-avatar-fallback { width:70px; height:70px; }
  .voices-column { width:100%; }
  .voices-navigation { top:0; }
}
@media(max-width:768px) {
  .client-voices { font-size:15px; }
  .client-voices h2 { font-size:36px; }
  .client-voices h2 br { display:none; }
  .voice-frame figcaption strong { font-size:18px; line-height:27px; }
  .voice-frame blockquote { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
  .client-voices .swiper-slide,.client-voices .voice-frame,.client-voices .voice-selector,.client-voices .voice-arrow { transition-duration:0ms!important; }
  .client-voices .voice-frame { transform:none!important; }
}
.client-logos { padding:20px 0 100px; overflow:hidden; }
.logos-heading { display:flex; align-items:center; justify-content:center; gap:24px; border-top:1px solid #cfd6c5; padding-top:35px; }
.logos-heading .eyebrow { margin:0; justify-content:center; text-align:center; }
.logo-window { overflow:hidden; margin:25px 0; mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.logo-track { display:flex; width:max-content; min-width:200%; animation:logo-drift var(--logo-duration,36s) linear infinite; animation-play-state:paused; }
.logo-group { display:flex; align-items:center; justify-content:space-around; flex:1 0 auto; }
.client-logo { display:flex; align-items:center; justify-content:center; gap:13px; width:220px; height:116px; padding:20px 24px; flex-shrink:0; font-size:27px; font-weight:500; letter-spacing:-.05em; color:#4d5844; }
.client-logo img { max-width:100%; max-height:64px; width:auto; height:auto; object-fit:contain; }
.logo-symbol { display:block; width:28px; height:28px; flex-shrink:0; border:5px solid currentColor; transform:rotate(-20deg); }
.logo-symbol-1 { border-radius:50%; border-width:8px; }
.logo-symbol-2 { transform:rotate(45deg); border-width:7px; }
.logo-symbol-3 { border-radius:50% 0 50% 0; background:currentColor; }
.logo-symbol-4 { border-width:0 7px; transform:skew(-18deg); }
.logo-symbol-5 { border-radius:50%; border-style:dotted; }
.is-running .logo-track { animation-play-state:running; }
.client-logos:hover .logo-track,.client-logos:focus-within .logo-track { animation-play-state:paused; }
@keyframes logo-drift { to { transform:translateX(-50%); } }
.client-voices [hidden],.client-logos [hidden] { display:none!important; }
@media(max-width:650px) {
  .logos-heading { align-items:center; }
  .client-logos { padding-bottom:60px; }
  .client-logo { width:185px; font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
  .logo-track { animation:none; flex-wrap:wrap; width:100%; min-width:0; }
  .logo-group { flex-wrap:wrap; width:100%; min-width:0; }
  .logo-group[aria-hidden] { display:none; }
  .logo-window { mask-image:none; }
  .client-logo { width:50%; font-size:22px; padding-inline:10px; }
  .logo-symbol { width:23px; height:23px; }
}
