.testimonials { max-width: 76rem; margin: 0 auto; padding: 0 2rem clamp(5rem, 10vw, 10rem); }
.testimonials > h2 { margin: 0 0 3rem; padding: 0; font-size: clamp(1.75rem, 7vw, 3rem); overflow-wrap: normal; }
.testimonials-viewport { overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 25%, #000 75%, transparent); }
.testimonials-track { display: flex; align-items: stretch; }
.testimonial { display: flex; flex: 0 0 50%; min-width: 0; margin: 0; padding: .75rem; text-align: left; opacity: .35; transition: opacity .7s; }
.testimonial.is-current { opacity: 1; }
.testimonial blockquote { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; width: 100%; margin: 0; font-family: Georgia, 'Times New Roman', serif; font-size: 1.125rem; font-weight: 400; padding: 1.5rem; font-style: italic; line-height: 1.5; overflow-wrap: anywhere; }
.testimonials.is-ready .testimonials-track { transition: transform .7s ease-in-out; }
/* The clone-to-original jump must reset opacity along with position. */
.testimonials .testimonials-track.is-resetting,
.testimonials .testimonials-track.is-resetting .testimonial { transition: none; }
.testimonials-controls { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 1rem; margin: 2rem 2rem 0; }
.testimonials-controls[hidden] { display: none; }
.testimonials-controls button { min-width: 44px; min-height: 44px; padding: .5rem .75rem; border: 1px solid rgb(255 255 255 / 25%); cursor: pointer; }
.testimonials-controls button:hover { border-color: #fff; }
.testimonials button:focus-visible, .testimonials-viewport:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.testimonials:not(.is-ready) .testimonials-viewport { overflow-x: auto; mask-image: none; }
.testimonials:not(.is-ready) .testimonial { opacity: 1; }
.testimonials.is-single .testimonials-track { justify-content: center; }
@media (max-width: 767px) {
    .testimonials-viewport { mask-image: none; }
    .testimonial { flex-basis: 100%; padding: 1rem 0; }
    .testimonial blockquote { font-size: 1rem; padding: 1rem .25rem; }
    .testimonials-controls { margin-inline: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .testimonials.is-ready .testimonials-track, .testimonial { transition: none; }
}

.testimonial-quote-mark { display: block; font-family: Georgia, serif; font-size: 4rem; font-style: normal; line-height: .75; margin-bottom: .5rem; opacity: .6; }

/* Align the section divider with the content below. */
.testimonials { position: relative; }
.testimonials::before {
    content: "";
    position: absolute;
    top: 0;
    left: 2rem;
    right: 2rem;
    height: 1px;
    background: rgb(255 255 255 / 25%);
}
