/* Owner-supplied quotations; shared with the story-card rail language. */
.testimonials{--quote-paper:#f5f5f7;--quote-ink:#101416;--quote-muted:#535862;background:#fff;color:var(--quote-ink);font-family:STHeroInter,Inter,Arial,sans-serif;padding:112px 0;overflow:hidden}
.testimonials *{box-sizing:border-box}
.testimonials-inner{max-width:1216px;margin:auto;padding:0 48px}
.testimonials header{max-width:750px;margin-bottom:48px}
.testimonials h2{font-size:clamp(40px,4.7vw,64px);font-weight:650;line-height:1.04;letter-spacing:-.055em;text-wrap:balance;margin:0}
.testimonials header p{font-size:18px;line-height:1.55;color:var(--quote-muted);margin:24px 0 0;text-wrap:pretty;max-width:520px}
.testimonial-rail{list-style:none;display:flex;gap:24px;margin:0;padding:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.testimonial-rail::-webkit-scrollbar{display:none}
.testimonial-card{flex:0 0 calc((100% - 48px)/3);min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:32px;border-radius:26px;background:var(--quote-paper);scroll-snap-align:start;min-height:372px}
.testimonial-card blockquote{font-size:23px;font-weight:500;line-height:1.4;letter-spacing:-.025em;margin:0;text-wrap:pretty}
.testimonial-card p{font-size:15px;line-height:1.5;margin:0;color:var(--quote-muted)}
.testimonial-card cite{font-style:normal;color:var(--quote-ink);font-weight:600;display:block}
.testimonials[data-quotes="care"] .testimonial-card{flex-basis:calc((100% - 24px)/2);min-height:420px;padding:40px}
.testimonials[data-quotes="care"] .testimonial-card blockquote{font-size:23px;line-height:1.45}
.testimonials[data-quotes="care"] .testimonial-card:first-child blockquote{font-size:20px;line-height:1.5}
.testimonial-nav{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.testimonial-nav[hidden]{display:none}
.testimonial-nav button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;color:var(--quote-muted);cursor:pointer;padding:4px}
.testimonial-nav span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e9e9eb}
.testimonial-nav span:before{content:'';height:8px;width:8px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:translateX(-2px) rotate(45deg)}
.testimonial-nav [data-quote-prev] span:before{transform:translateX(2px) rotate(-135deg)}
.testimonial-nav button:disabled{opacity:.35;cursor:default}
.testimonial-nav button:focus-visible,.testimonial-rail:focus-visible{outline:3px solid #155eef;outline-offset:3px;border-radius:24px}
@media(max-width:1100px){.testimonials{padding:88px 0}.testimonials-inner{padding:0 32px}.testimonial-card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:700px){.testimonials{padding:64px 0}.testimonials-inner{padding:0}.testimonials header{padding:0 24px;margin-bottom:32px}.testimonials h2{font-size:40px}.testimonials header p{font-size:16px}.testimonial-rail{padding:0 24px;scroll-padding-inline:24px;gap:16px}.testimonial-card,.testimonials[data-quotes="care"] .testimonial-card{flex-basis:min(82vw,360px);padding:28px;min-height:390px}.testimonial-card blockquote,.testimonials[data-quotes="care"] .testimonial-card blockquote{font-size:22px}.testimonials[data-quotes="care"] .testimonial-card:first-child blockquote{font-size:18px}.testimonial-nav{padding:0 20px}}
/* Space for the 12px entrance and its blur, without adding section height.
   A translated offscreen card must not create vertical scrolling in this rail. */
.testimonial-rail{padding-block:24px;margin-block:-24px;overflow-y:hidden}
