.voices { padding: var(--section-pad) 0; background: var(--c-white); overflow: hidden; }
.voices__title { text-align: center; margin-bottom: clamp(36px, 5vw, 56px); }
.carousel { position: relative; max-width: calc(var(--content-max) + 80px); margin: 0 auto; padding: 0 clamp(20px, 4vw, 40px); }
.carousel__track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 8px; }
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__card {
  flex: 0 0 clamp(300px, 38vw, 400px); scroll-snap-align: start;
  background: var(--c-off-white); border: 1px solid var(--c-card-light-border); border-radius: var(--card-radius);
  padding: clamp(24px, 3vw, 36px); display: flex; flex-direction: column; gap: 16px;
}
.carousel__path { font-size: 13px; font-weight: var(--fw-medium); color: var(--c-steel); padding-bottom: 12px; border-bottom: 1px solid var(--c-card-light-border); }
.carousel__quote { font-size: 15px; line-height: 1.85; color: var(--c-text-on-light); flex: 1; }
.carousel__name { font-size: 13px; color: var(--c-text-on-light-sub); }
.carousel__arrows { display: flex; justify-content: center; gap: 12px; margin-top: 28px; }
.carousel__arrow {
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--c-card-light-border);
  display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--c-text-on-light);
  transition: background var(--duration-fast) ease, border-color var(--duration-fast) ease;
}
.carousel__arrow:hover { background: var(--c-light-gray); border-color: var(--c-steel-light); }
.carousel__dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
.carousel__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-card-light-border); transition: background var(--duration-fast) ease, transform var(--duration-fast) ease; }
.carousel__dot.is-active { background: var(--c-steel); transform: scale(1.25); }
