.review-carousel {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  position: relative;
  padding: 4px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.review-track {
  display: flex;
  width: max-content;
  gap: 18px;
  animation: review-scroll 52s linear infinite;
}

.review-carousel:hover .review-track,
.review-carousel:focus-within .review-track {
  animation-play-state: paused;
}

.review-slide {
  width: min(360px, 75vw);
  min-height: 260px;
  padding: 34px;
  background: var(--cream);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-top: 3px solid var(--gold);
}

.review-slide .stars {
  color: var(--gold);
  letter-spacing: 4px;
}

.review-slide blockquote {
  margin: 28px 0;
  font-family: 'Noto Serif SC', serif;
  font-size: 21px;
  line-height: 1.65;
}

.review-slide p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@keyframes review-scroll {
  to { transform: translateX(calc(-50% - 9px)); }
}

@media (prefers-reduced-motion: reduce) {
  .review-track { animation: none; }
  .review-carousel { overflow-x: auto; mask-image: none; -webkit-mask-image: none; }
}

@media (max-width: 760px) {
  .review-carousel { width: calc(100vw - 48px); overflow: clip; }
  .review-slide { min-height: 230px; padding: 26px; }
  .review-slide blockquote { font-size: 18px; }
}
