.testimonials-section{background:var(--color-warm-white);border-top:var(--border-soft)}
.testimonials-section h2{max-width:760px;text-wrap:balance}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.testimonial{display:flex;flex-direction:column;min-width:0;margin:0;padding-top:28px;border-top:1px solid var(--color-sand)}
.testimonial blockquote{margin:0 0 28px;font-family:var(--font-body);font-size:1.0625rem;line-height:1.75}
.testimonial blockquote p{margin:0}
.testimonial figcaption{display:grid;gap:2px;margin-top:auto;color:var(--color-cacao);font-size:.9375rem;line-height:1.6}
.testimonial figcaption strong{font-weight:700}
@media(max-width:980px){.testimonials-grid{grid-template-columns:1fr;gap:32px}.testimonial{max-width:75ch}.testimonial blockquote{margin-bottom:20px}}
.testimonials-carousel{--testimonials-gap:40px}
.is-carousel .testimonials-grid{position:relative;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--testimonials-gap))/1.5);gap:var(--testimonials-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:12px;cursor:grab}
.is-carousel .testimonials-grid::-webkit-scrollbar{display:none}
.is-carousel .testimonials-grid.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.is-carousel .testimonial{max-width:none;scroll-snap-align:start;scroll-snap-stop:always;padding-top:8px;padding-right:16px;border-top:0}
.is-carousel .testimonial blockquote{max-width:65ch}
.testimonials-progress{position:relative;display:block;width:100%;height:44px;margin:0 0 12px;padding:20px 0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}
.testimonials-progress[hidden]{display:none}
.testimonials-progress::before,.testimonials-progress-fill{position:absolute;top:20px;right:0;left:0;height:3px}
.testimonials-progress::before{background:var(--color-sand);content:""}
.testimonials-progress-fill{background:var(--color-terracotta);transform:scaleX(var(--review-progress,.333333));transform-origin:left;transition:transform .45s var(--ease-out)}
.testimonials-progress:disabled{cursor:default}
.testimonials-position{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.testimonials-carousel :focus-visible{outline:2px solid var(--color-cacao);outline-offset:-2px}
@media(max-width:767px){.is-carousel .testimonials-grid{grid-auto-columns:100%}}
@media(max-width:620px){.testimonials-carousel{--testimonials-gap:20px}.is-carousel .testimonial{padding-right:0}}
@media(prefers-reduced-motion:reduce){.testimonials-progress-fill{transition:none}}
