.testimonials{position:relative;overflow:hidden;background:#fff}
.testimonials::before,.testimonials::after{content:"";position:absolute;border:1px dashed rgba(23,45,116,.2);border-radius:50%;pointer-events:none}
.testimonials::before{width:620px;height:620px;right:-370px;top:-310px}
.testimonials::after{width:460px;height:460px;left:-330px;bottom:-280px}
.testimonial-heading{text-align:center}
.testimonial-heading h2{margin-bottom:16px;color:var(--primary-deep)}
.testimonial-heading h2 span{color:var(--secondary);font-style:italic}
.testimonial-heading>p:last-child{color:var(--muted)}
.testimonial-shell{position:relative;margin-top:54px;padding:0 72px 34px;border:1px solid #dce4ef;border-radius:34px;background:linear-gradient(115deg,#edf3f9 0%,#fff 48%,#f4f8fc 100%);box-shadow:0 25px 70px rgba(17,42,93,.09)}
.testimonial-track{position:relative;min-height:340px}
.testimonial-slide{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:48px 90px 20px;text-align:center;opacity:0;visibility:hidden;transform:translateX(30px);transition:opacity .5s ease,transform .5s ease,visibility .5s}
.testimonial-slide.is-active{position:relative;opacity:1;visibility:visible;transform:none}
.quote-mark{position:absolute;left:10px;top:2px;color:rgba(23,45,116,.08);font-family:Georgia,serif;font-size:13rem;line-height:1}
.stars{position:relative;margin-bottom:23px;color:var(--accent);font-size:1.35rem;letter-spacing:.18em}
.testimonial-slide blockquote{position:relative;max-width:850px;margin:0;color:var(--primary-deep);font-family:var(--heading);font-size:clamp(1rem,2vw,1.25rem);font-weight:600;line-height:1.75}
.testimonial-author{margin:24px 0 0;color:var(--primary);font-family:Georgia,serif;font-size:1.55rem;font-style:italic;font-weight:700}
.testimonial-company{margin:2px 0 0;color:var(--muted);font-size:.73rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.testimonial-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:22px}
.testimonial-controls>button{width:44px;height:44px;border:1px solid #d4deec;border-radius:50%;background:#fff;color:var(--primary);font-size:1.3rem;cursor:pointer;transition:.2s}
.testimonial-controls>button:hover{border-color:var(--secondary);background:var(--secondary);color:var(--primary-deep)}
.testimonial-dots{display:flex;gap:8px}
.testimonial-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#bdc9db;cursor:pointer;transition:.2s}
.testimonial-dots button.is-active{width:24px;border-radius:9px;background:var(--secondary)}
@media(max-width:680px){.testimonial-shell{margin-top:35px;padding:0 18px 25px;border-radius:24px}.testimonial-track{min-height:420px}.testimonial-slide{padding:45px 12px 15px}.quote-mark{left:0;font-size:9rem}.testimonial-slide blockquote{font-size:1rem;line-height:1.65}}
