.reviews {
  padding: 0 0 90px;
}

.reviews__viewport {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.reviews__track {
  display: flex;
  width: max-content;
  gap: 20px;
  padding: 4px 0 12px;
  animation: reviews-scroll 50s linear infinite;
}

.reviews__viewport:hover .reviews__track {
  animation-play-state: paused;
}

@keyframes reviews-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.review-card {
  flex: 0 0 auto;
  width: 320px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.review-card__stars {
  width: 88px;
  height: 16px;
  flex: 0 0 auto;
}

.review-card p {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--text);
  white-space: pre-line;
}

@media (prefers-reduced-motion: reduce) {
  .reviews__track {
    animation: none;
  }
}
