#testimonials {
  position: relative;
  min-height: 0;
  padding: clamp(36px, 5vw, 80px) 24px 32px;
  background: #f9e6d8;
  color: #4b164d;
}
#testimonials > h2 {
  margin: 0 0 32px;
  font: 800 clamp(30px, 5.5vw, 76px)/1.1 Arial, sans-serif;
  text-align: center;
  text-transform: uppercase;
}
#testimonials .testimonial-slider {
  position: relative; top: auto; left: auto;
  width: 100%; max-width: 1000px; height: auto;
  margin: 0 auto; overflow: visible;
}
/* Overlapping grid items reserve the tallest quote's natural height. */
#testimonials .testimonial-track { display: grid; height: auto; }
#testimonials .testimonial-slide {
  position: static; grid-area: 1 / 1; display: flex;
  flex-direction: column; justify-content: center; gap: 0;
  min-width: 0; margin: 0; padding: 0;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: none; transition: none;
}
#testimonials .testimonial-slide.is-active {
  display: flex; opacity: 1; visibility: visible; pointer-events: auto;
}
#testimonials blockquote {
  max-width: 900px; margin: 0 auto;
  text-align: left;
  font: 400 clamp(16px, 1.35vw, 21px)/1.65 Arial, sans-serif;
}
#testimonials blockquote p { margin: 0 0 1em; }
#testimonials figcaption { margin: 24px 0 28px; text-align: center; font: 700 18px/1.4 Arial, sans-serif; }
#testimonials .testimonial-dots {
  position: static; display: flex; justify-content: center; align-items: center;
  gap: 0; min-height: 44px; margin: 0 48px;
}
#testimonials .testimonial-dots button {
  display: grid; place-items: center; flex: 0 1 36px;
  width: 36px; height: 44px; background: transparent; border-radius: 4px;
}
#testimonials .testimonial-dots button::before {
  content: ''; width: 10px; height: 10px; border-radius: 50%; background: #c78e81;
}
#testimonials .testimonial-dots button.is-active::before { background: #4b164d; }
#testimonials .testimonial-control {
  top: auto; bottom: 32px; display: grid; place-content: center;
  width: 44px; height: 44px; background: #fff; border-radius: 6px;
  box-shadow: 0 4px 14px rgba(76,22,77,.12);
}
#testimonials .testimonial-control.previous { left: max(24px, calc(50% - 220px)); }
#testimonials .testimonial-control.next { left: auto; right: max(24px, calc(50% - 220px)); }
#testimonials .testimonial-control::before {
  content: ''; width: 10px; height: 10px;
  border-top: 3px solid #a20a35; border-right: 3px solid #a20a35;
}
#testimonials .testimonial-control.previous::before { transform: rotate(-135deg); }
#testimonials .testimonial-control.next::before { transform: rotate(45deg); }
@media (max-width: 480px) {
  #testimonials { padding-left: 20px; padding-right: 20px; }
  #testimonials > h2 { margin-bottom: 24px; }
  #testimonials .testimonial-control.previous { left: 16px; }
  #testimonials .testimonial-control.next { right: 16px; }
  #testimonials .testimonial-dots { margin: 0 42px; }
}
