/* Three continuous rows; equal duplicate groups make each loop seamless. */
.review-marquee { --review-gap: 1.1rem; min-width: 0; width: 100%; pointer-events: none; }
.review-marquee__rows { display: grid; gap: var(--review-gap); }
.review-marquee__row { min-width: 0; overflow: hidden; }
.review-marquee__track { display: flex; width: max-content; animation: review-loop var(--review-duration) linear infinite; }
.review-marquee__track--right { animation-direction: reverse; }
.review-marquee__group {
  display: flex;
  gap: var(--review-gap);
  flex: 0 0 auto;
  padding: 0 var(--review-gap) 0 0;
  margin: 0;
  list-style: none;
}
.review-marquee .review-card {
  flex: 0 0 clamp(280px, 30vw, 380px);
  width: clamp(280px, 30vw, 380px);
  padding: 1.35rem 1.5rem;
  align-items: flex-start;
}
.review-marquee__quote {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  height: 7.5em;
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.02rem;
  line-height: 1.5;
  color: var(--charcoal);
  quotes: "\201C" "\201D";
}
.review-marquee__quote::before { content: open-quote; }
.review-marquee__quote::after { content: close-quote; }
.review-marquee .review-by { margin: auto 0 0; }
.review-mobile { display: none; margin: 0; padding: 0; list-style: none; }
@media (max-width: 880px) {
  .has-mobile-rotation .review-marquee__rows { display: none; }
  .has-mobile-rotation .review-mobile {
    display: block;
    padding-inline: clamp(1.25rem, 5vw, 2.5rem);
  }
  .review-marquee .review-mobile .review-card { width: 100%; min-height: 265px; border-radius: 0; }
  .review-mobile .review-card[hidden] { display: none; }
}
@media (max-width: 650px) {
  .ceiling-landing .has-mobile-rotation .review-mobile { padding-inline: 1rem; }
}
@keyframes review-loop {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .review-marquee__track { animation: none; transform: none; }
  .review-marquee__group--copy { display: none; }
}
