.voices .section-head { margin-bottom: 25px; }
.voice-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.voice-swipe-note { color: var(--muted); font-size: .8125rem; }
.voice-navigation { display: flex; align-items: center; gap: 12px; }
.voice-counter { min-width: 68px; text-align: center; font-size: .8125rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.voice-arrow { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #d2c8de; border-radius: 50%; background: transparent; color: var(--purple); cursor: pointer; }
.voice-arrow svg { width: 20px; height: 20px; }
.voice-arrow:hover:not(:disabled) { background: #e8e1ef; }
.voice-arrow:active:not(:disabled) { background: #dfd5e9; }
.voice-arrow:disabled { opacity: .3; cursor: default; }
.voice-arrow:focus-visible, .voice-track:focus-visible { outline: 2px solid var(--purple); outline-offset: 5px; }
.voices .voice-grid { display: flex; flex-direction: row; position: relative; align-items: flex-start; gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: thin; scrollbar-color: #c6b8d5 transparent; padding-bottom: 18px; }
.voice-track::-webkit-scrollbar { height: 4px; }
.voice-track::-webkit-scrollbar-thumb { background: #c6b8d5; border-radius: 4px; }
.voice-track::-webkit-scrollbar-track { background: transparent; }
.voice-track .voice { flex: 0 0 calc((100% - 40px) / 3); min-width: 0; width: auto; scroll-snap-align: start; }
.voice-track .voice-full { overflow-wrap: anywhere; }
.voice-note { margin-top: 16px; }

@media (max-width: 1000px) and (min-width: 761px) {
  .voices .voice-grid { gap: 18px; }
  .voice-track .voice { flex-basis: calc((100% - 18px) / 2); }
}
@media (max-width: 760px) {
  .voices .section-head { margin-bottom: 19px; }
  .voice-toolbar { gap: 8px; margin-bottom: 21px; }
  .voice-swipe-note { font-size: .75rem; max-width: 135px; }
  .voice-navigation { gap: 8px; }
  .voice-counter { font-size: .75rem; min-width: 42px; }
  .voices .voice-grid { width: calc(100% + 20px); margin-right: -20px; gap: 14px; }
  .voice-track .voice { flex-basis: calc(100% - 44px); padding: 24px 22px; }
  .voice-track::after { content: ""; flex: 0 0 30px; }
  .voice-track blockquote { font-size: clamp(1rem, 4.2vw, 1.0625rem); }
  .voice-track .voice-person { gap: 13px; }
  .voice-track .voice-person img { width: 64px; height: 64px; }
  .voice-track .voice-person p { font-size: .8125rem; }
}
@media (max-width: 360px) {
  .voices .voice-grid { width: calc(100% + 16px); margin-right: -16px; }
}
@media (prefers-reduced-motion: reduce) {
  .voices .voice-grid { scroll-behavior: auto; }
}
