.testimonials {
  position: relative;
}
.testimonials__track {
  display: flex;
  gap: 1.6rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 1rem;
  cursor: grab;
  scrollbar-width: none;
}
.testimonials__track::-webkit-scrollbar { display: none; }
.testimonials__track.is-dragging { cursor: grabbing; }

.testimonial-card {
  flex: 0 0 min(480px, 86vw);
  scroll-snap-align: start;
  padding: 2.4rem;
  border-radius: var(--radius-md);
  background: var(--charcoal-800);
  border: 1px solid var(--color-border-dark);
  transition: transform 0.3s var(--ease-out);
  transform-style: preserve-3d;
  will-change: transform;
}
.testimonial-card__stars { color: var(--color-accent); margin-bottom: 1.2rem; letter-spacing: 0.15em; }
.testimonial-card__text { font-family: var(--font-display); font-size: 1.1rem; font-style: italic; line-height: 1.6; margin-bottom: 1.6rem; }
.testimonial-card__name { font-size: 0.85rem; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-on-dark-muted); }
.testimonial-card__source { font-size: 0.75rem; color: var(--text-on-dark-muted); opacity: 0.7; }

.testimonial-card__author { display: flex; align-items: center; gap: 0.9rem; }
.testimonial-card__avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: rgba(184,151,104,0.16);
  color: var(--color-accent);
  font-family: var(--font-display);
  font-size: 1.05rem;
  border: 1px solid var(--color-border-dark);
}

.testimonials__nav {
  display: flex;
  gap: 0.8rem;
  margin-top: 1.6rem;
  justify-content: center;
}
.testimonials__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--color-border-dark);
  transition: background var(--dur-fast), transform var(--dur-fast);
}
.testimonials__dot.is-active { background: var(--color-accent); transform: scale(1.3); }
