.testimonials{text-align:center;padding:110px clamp(24px,12vw,210px);background:white}
.testimonials h2{font-family:Forum,serif;font-size:clamp(48px,5.2vw,76px);line-height:.98;font-weight:400;margin:0 auto 48px}
.testimonials h2 em{color:var(--lav);font-weight:400}
.testimonial-carousel{position:relative;max-width:1050px;min-height:440px;margin:auto;padding:60px 80px 34px;background:var(--cream);border:1px solid var(--line);border-radius:32px;box-shadow:0 22px 60px rgba(2,75,115,.08);display:flex;flex-direction:column}
.testimonial-carousel .quote-mark{position:absolute;top:34px;left:44px}
.testimonial-slides{display:grid;flex:1;place-items:center}
.testimonial-slide{display:none;margin:0;animation:quote-in .5s ease}
.testimonial-slide.active{display:block}
.testimonial-slide blockquote{font-family:Forum,serif;font-size:clamp(29px,3.3vw,47px);line-height:1.18;margin:20px auto 28px;max-width:900px}
.testimonial-slide figcaption{color:var(--blue);font-weight:700;letter-spacing:.12em}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:20px}
.carousel-arrow{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--deep);font-size:20px;cursor:pointer}
.carousel-arrow:hover,.carousel-arrow:focus-visible{background:var(--deep);color:white}
.carousel-dots{display:flex;gap:9px}
.carousel-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#c9d7dc;cursor:pointer}
.carousel-dots button.active{background:var(--lav);transform:scale(1.35)}
@keyframes quote-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:560px){.testimonials{padding:80px 22px}.testimonials h2{font-size:46px}.testimonial-carousel{min-height:520px;padding:64px 24px 28px}.testimonial-carousel .quote-mark{left:22px}.testimonial-slide blockquote{font-size:27px}.carousel-controls{gap:15px}.carousel-dots{gap:7px}}
@media(prefers-reduced-motion:reduce){.testimonial-slide{animation:none}}
