.testimonial-carousel{min-width:0}
.testimonial-carousel .testimonial-context{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 28px}
.testimonial-carousel blockquote{font-size:clamp(24px,2.4vw,32px);line-height:1.5}
.testimonial-carousel blockquote p{font:inherit;color:inherit;margin:0}
.testimonial-carousel cite{margin-top:24px;font-size:15px;line-height:1.7}
.testimonial-carousel cite strong{display:block;font-weight:600;color:var(--white)}
.testimonial-carousel cite span{display:block;font-size:13px;color:var(--muted);margin-top:3px}
.testimonial-slide+.testimonial-slide{margin-top:40px}
.testimonial-carousel.is-ready .testimonial-viewport{display:grid}
.testimonial-carousel.is-ready .testimonial-slide{grid-area:1/1;margin:0;visibility:hidden;pointer-events:none}
.testimonial-carousel.is-ready .testimonial-slide.is-active{visibility:visible;pointer-events:auto;animation:testimonial-reveal .45s ease-out}
.testimonial-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #304938;margin-top:28px;padding-top:20px}
.testimonial-controls[hidden]{display:none}
.testimonial-browse{display:flex;align-items:center;gap:16px}
.testimonial-controls button{border:1px solid #415849;background:transparent;color:#d6e3d9;border-radius:999px;padding:10px 16px;min-height:44px;font:500 13px/1.4 'DM Sans',Arial,sans-serif;cursor:pointer}
.testimonial-controls button:hover{background:#18291f;border-color:var(--green);color:#fff}
.testimonial-controls button:focus-visible{outline:2px solid var(--purple);outline-offset:4px}
#testimonial-counter{color:var(--muted);font-size:12px;min-width:34px;text-align:center;font-variant-numeric:tabular-nums}
#testimonial-playback{border-color:transparent;color:#c9a5df;padding-inline:10px}
@keyframes testimonial-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.testimonial-carousel blockquote{font-size:24px}.testimonial-carousel .testimonial-context{font-size:12px;margin-bottom:64px}.testimonial-controls{gap:10px}.testimonial-browse{gap:10px}.testimonial-controls button{padding:10px 13px}.testimonial-carousel cite{font-size:14px}}
@media(prefers-reduced-motion:reduce){.testimonial-carousel.is-ready .testimonial-slide.is-active{animation:none}}

.testimonial-carousel cite{display:block;font-style:normal}
.testimonial-carousel blockquote{margin:0}
.testimonial-carousel .testimonial-context{color:var(--purple);font-weight:700;letter-spacing:1.2px}

/* On phones, give the label its own row and align the quote mark with the quote. */
@media (max-width:600px) {
  .testimonial { align-items:start; row-gap:40px; }
  .testimonial-carousel { display:contents; }
  .testimonial-carousel .testimonial-context { grid-column:2; grid-row:1; margin:0; }
  .testimonial > .quote-mark { grid-column:1; grid-row:2; margin-top:0; }
  .testimonial-viewport { grid-column:2; grid-row:2; min-width:0; }
  .testimonial-controls { grid-column:2; grid-row:3; margin-top:0; }
}
