.testimonials{background:#fff;color:#071d35;padding:96px 24px;scroll-margin-top:18px;overflow:hidden;overflow:clip}
.testimonials-inner{max-width:1180px;margin:auto}
.testimonials-heading{text-align:center}
.testimonials-eyebrow{margin:0 0 18px;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#004c97}
.testimonials h2{font-size:46px;line-height:1.13;letter-spacing:-1.4px;margin:0}
.testimonials-heading>p:last-child{margin:26px auto 0;font-size:18px;line-height:1.7;color:#58718e}
.testimonials-carousel{margin-top:44px}
.testimonials-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px;align-items:stretch}
.testimonial-main{position:relative;display:grid;min-width:0;border-radius:24px;color:#fff;background:radial-gradient(circle at 100% 0,#ffffff08 75px,transparent 76px),linear-gradient(120deg,#0863a7,#07839d);box-shadow:0 24px 42px #143d5b25;overflow:hidden}
.testimonial-quote{position:absolute;top:22px;left:36px;font-size:78px;line-height:1;font-weight:700;color:#78d6e8;pointer-events:none}
.testimonial-panel{position:relative;grid-area:1/1;display:flex;flex-direction:column;min-width:0;min-height:366px;padding:42px 36px 32px}
/* Reserve the largest slide's natural height; hidden slides have no focusable controls.
   aria-hidden also explicitly removes them from the accessibility tree. */
.testimonial-panel[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
.testimonial-badge{align-self:flex-end;border:1px solid #83c8df88;border-radius:20px;padding:6px 12px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;background:#ffffff0a}
.testimonial-copy{margin:48px 0 28px}
.testimonial-copy h3{font-size:28px;line-height:1.28;margin:0;letter-spacing:-.2px}
.testimonial-copy>p{font-size:15px;line-height:1.6;margin:14px 0 0;color:#e0f0f7}
.testimonial-author{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:24px;border-top:1px solid #ffffff25}
.testimonial-avatar{flex-shrink:0;width:43px;height:43px;border-radius:50%;background:linear-gradient(130deg,#fff,#c8eaf4)}
.testimonial-author p{font-size:16px;font-weight:700;line-height:1.3;margin:0}
.testimonial-author span:not(.testimonial-avatar){font-size:11px;color:#d2e9f3}
.testimonial-previews{display:flex;flex-direction:column;gap:18px;min-width:0}
.testimonial-preview{white-space:normal;overflow-wrap:break-word;flex:1;min-width:0;min-height:190px;display:block;width:100%;padding:28px;border:1px solid #dce7ef;border-radius:22px;background:linear-gradient(130deg,#fbfdfe,#f2f8fb);color:#071d35;text-align:left;box-shadow:0 16px 30px #143d5b08;transition:border-color 250ms,box-shadow 250ms}
.testimonial-preview:disabled{cursor:default;opacity:1}
.testimonial-preview-label{display:block;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#007997;font-weight:700;margin-bottom:16px}
.testimonial-preview-title{display:block;font-size:18px;line-height:1.35;font-weight:700}
.testimonial-preview-text{display:block;margin-top:10px;color:#58718e;font-size:12px;line-height:1.5}
.testimonial-preview-text:empty{display:none}
.testimonial-preview:focus-visible{outline:3px solid #004c97;outline-offset:4px;border-color:#007997}
.testimonial-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:20px}
.testimonial-controls button{min-height:44px;border:0;background:transparent;color:#004c97}
.testimonial-arrow{width:44px;font-size:22px;border-radius:50%}.testimonial-dots{display:flex;align-items:center}
.testimonial-dot{display:flex;align-items:center;justify-content:center;width:36px;padding:0}.testimonial-dot span{display:block;width:7px;height:7px;border-radius:5px;background:#a6bdce;transition:background-color 250ms}
.testimonial-dot[aria-current="true"] span{width:26px;background:#004c97}
.testimonial-play{font-size:12px;font-weight:700;padding:8px 12px;border-radius:6px}
.testimonial-controls button:focus-visible{outline:3px solid #004c97;outline-offset:2px}
@media(hover:hover) and (pointer:fine){.testimonial-preview:not(:disabled):hover{border-color:#80b5ce;box-shadow:0 15px 30px #143d5b15}.testimonial-controls button:hover{background:#edf5fa}}
@keyframes testimonial-left{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
@keyframes testimonial-right{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes testimonial-change{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@keyframes testimonial-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.js .testimonials-enter .testimonial-main{animation:testimonial-left 650ms var(--ease) backwards}
.js .testimonials-enter .testimonial-previews{animation:testimonial-right 650ms var(--ease) backwards}
.js .testimonial-switch{animation:testimonial-change 350ms var(--ease) backwards}
@media(max-width:1100px){.testimonials h2{font-size:38px}.testimonial-panel{padding:34px 28px 28px}.testimonial-copy h3{font-size:24px}.testimonial-preview{padding:24px}.testimonial-preview-title{font-size:16px}}
@media(max-width:900px){.testimonials-layout{grid-template-columns:1fr;max-width:650px;margin:auto}.testimonial-previews{flex-direction:row}.testimonial-panel{min-height:340px}.testimonials-heading>p:last-child{font-size:16px}.testimonials-heading br{display:none}}
@media(max-width:599px){.testimonials{padding:56px 20px}.testimonials h2{font-size:30px;letter-spacing:-.8px}.testimonials-eyebrow{font-size:11px;letter-spacing:1.5px}.testimonials-heading>p:last-child{font-size:15px;margin-top:20px}.testimonials-carousel{margin-top:32px}.testimonial-panel{padding:28px 24px;min-height:390px}.testimonial-quote{left:24px;top:20px;font-size:62px}.testimonial-badge{font-size:8px;padding:5px 8px}.testimonial-copy{margin:44px 0 24px}.testimonial-copy h3{font-size:23px}.testimonial-copy>p{font-size:14px}.testimonial-author p{font-size:14px}.testimonial-previews{flex-direction:column}.testimonial-preview{padding:24px;min-height:210px}.testimonial-preview-title{font-size:17px}.testimonial-preview-text{font-size:13px}.js .testimonials-enter .testimonial-main,.js .testimonials-enter .testimonial-previews{animation-name:testimonial-up}}
@media(prefers-reduced-motion:reduce){.testimonials *{animation:none!important;transition:none!important}}
.testimonial-main{touch-action:pan-y pinch-zoom}
