.testimonials{max-width:1100px;margin:0 auto;padding:60px 24px;color:#292929}
.testimonials h2{text-align:center;font-size:34px;font-weight:300;line-height:1.4;margin:0 0 44px;letter-spacing:.02em}
.testimonials h2::after{content:"";display:block;width:44px;height:1px;background:#aaa;margin:22px auto 0}
.testimonial-track{display:block;overflow:visible}
.testimonial-card{box-sizing:border-box;padding:26px 8px 34px;border-bottom:1px solid #e4e4e4;background:transparent;break-inside:avoid;margin:0 0 20px}
.testimonial-card[hidden]{display:none}
.quote-mark{display:block;font-family:Georgia,serif;font-size:70px;font-weight:400;line-height:.85;color:#b5b5b5;margin-bottom:14px}
.testimonial-card blockquote{font-size:18px;font-weight:300;line-height:1.95;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.testimonial-card:nth-child(4n+1) blockquote{font-size:21px;font-weight:400;line-height:1.85}
.testimonial-controls{display:flex;justify-content:center;margin-top:34px}
.testimonial-controls[hidden]{display:none}
.testimonial-controls button{border:1px solid #777;border-radius:0;background:transparent;color:#292929;padding:13px 30px;min-height:48px;font:inherit;font-size:16px;cursor:pointer;transition:background .2s,color .2s}
.testimonial-controls button:hover{background:#292929;color:white}
.testimonial-controls button:focus-visible{outline:2px solid #333;outline-offset:5px}
html[data-view="testimonials"] header{background:white!important}
html[data-view="testimonials"] main{padding-top:64px;min-height:80vh}
@media(min-width:768px){.testimonials{padding:88px 48px 80px}.testimonials h2{font-size:46px;margin-bottom:62px}.testimonial-track{column-count:2;column-gap:64px}.testimonial-card{padding:24px 0 40px;margin-bottom:28px}.testimonial-card:nth-child(4n+1) blockquote{font-size:25px;line-height:1.8}.quote-mark{font-size:84px}}
@media(prefers-reduced-motion:reduce){.testimonial-controls button{transition:none}}
/* Personal thank-you notes, with a readable phone layout. */
.testimonial-track{padding:8px 4px}
.testimonial-card{background:#f7f7f5;border:1px solid #ecece8;border-radius:3px;padding:30px 26px 34px;margin-bottom:26px;box-shadow:0 5px 18px rgba(0,0,0,.045)}
.quote-mark{color:#a3a39c;font-size:64px;margin-bottom:18px}
.testimonial-card blockquote{font-size:18px;line-height:1.95}
.testimonial-card:nth-child(4n+1) blockquote{font-size:20px;line-height:1.9;font-weight:400}
@media(min-width:768px){.testimonial-track{column-gap:46px;padding:16px 12px}.testimonial-card{padding:34px 32px 40px;margin-bottom:40px;transform:rotate(-.7deg)}.testimonial-card:nth-child(even){transform:rotate(.7deg);background:#f2f2ef}.testimonial-card:nth-child(3n){transform:rotate(.25deg)}.testimonial-card:nth-child(4n+1) blockquote{font-size:23px;line-height:1.85}}
@media(max-width:767px){
 .testimonials{padding:46px 0 42px;overflow:hidden}
 .testimonials h2{font-size:32px;margin:0 24px 30px}
 .testimonial-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 24px 22px;align-items:flex-start;overscroll-behavior-x:contain}
 .testimonial-track::-webkit-scrollbar{display:none}
 .testimonial-card{flex:0 0 88%;min-width:0;scroll-snap-align:start;scroll-margin-inline-start:24px;transform:none;position:relative;background:#fff;border:1px solid #bcbcb6;border-radius:0;padding:32px 27px;margin:0;box-shadow:0 4px 12px rgba(0,0,0,.035)}
 .testimonial-card::before{content:"";position:absolute;inset:7px;border:1px solid #e5e5df;pointer-events:none}
 .quote-mark{font-size:48px;line-height:1;color:#94948b;margin:0 0 14px}
 .testimonial-card blockquote,.testimonial-card:nth-child(4n+1) blockquote{font-size:17px;font-weight:400;line-height:1.9;text-align:right}
 .testimonial-controls{margin:4px 24px 0;gap:22px;align-items:center}
 .testimonial-controls button{font-size:14px;border:0;border-bottom:1px solid #aaa;padding:10px 2px;min-height:44px}
 .testimonial-controls button:hover{background:transparent;color:#666}
 .review-count{font-size:14px;white-space:nowrap;color:#777}
 .testimonial-track:focus-visible{outline:2px solid #777;outline-offset:-2px}
}
/* Rounded review cards inspired by the supplied reference. */
.testimonials{background:#f3f1ee;max-width:1200px}
.testimonial-card{background:#fff;border:0;border-radius:22px;padding:36px 30px 38px;box-shadow:0 8px 24px rgba(55,45,35,.09);position:relative}
.quote-mark{color:#93877c;font-size:78px;margin-bottom:18px}
.testimonial-card blockquote{color:#3d3935}
.testimonial-card:nth-child(4n+1){background:#fff}
.testimonial-controls button{border-color:#a69b90;border-radius:24px;color:#51483f}
@media(min-width:768px){.testimonial-track{column-gap:34px;padding:12px 14px}.testimonial-card,.testimonial-card:nth-child(even),.testimonial-card:nth-child(3n){transform:none;margin-bottom:34px;background:#fff}.testimonial-card:nth-child(3n+2){border-radius:22px 22px 5px 22px}.testimonial-card:nth-child(3n){background:#faf9f7}.testimonial-card:nth-child(4n+1) blockquote{font-size:22px}.quote-mark{text-align:left}.testimonials{padding:70px 48px}}
@media(max-width:767px){.testimonials{padding:44px 0 38px}.testimonial-track{padding-top:14px;padding-bottom:28px;gap:18px}.testimonial-card{border:0;border-radius:22px;padding:28px 25px 34px;background:#fff;box-shadow:0 8px 20px rgba(55,45,35,.10)}.testimonial-card::before{display:none}.quote-mark{font-size:68px;text-align:left;margin-bottom:8px;color:#93877c}.testimonial-card blockquote,.testimonial-card:nth-child(4n+1) blockquote{font-size:17px;line-height:1.95}.testimonial-controls{gap:18px}.testimonial-controls button{border:1px solid #cfc6bc;border-radius:50px;background:#fff;padding:10px 18px;box-shadow:0 2px 6px rgba(55,45,35,.04)}.review-count{color:#756a61}}
@media(min-width:768px){
 .testimonials{background:transparent;max-width:1100px;padding:88px 48px 80px}
 .testimonial-track{column-gap:46px;padding:16px 12px}
 .testimonial-card{background:#f7f7f5;border:1px solid #ecece8;border-radius:3px;padding:34px 32px 40px;margin-bottom:40px;transform:rotate(-.7deg);box-shadow:0 5px 18px rgba(0,0,0,.045)}
 .testimonial-card:nth-child(even){transform:rotate(.7deg);background:#f2f2ef;border-radius:3px}
 .testimonial-card:nth-child(3n){transform:rotate(.25deg);background:#f7f7f5;border-radius:3px}
 .testimonial-card:nth-child(4n+1){background:#f7f7f5}
 .testimonial-card:nth-child(4n+1) blockquote{font-size:23px;line-height:1.85}
 .testimonial-card blockquote{color:#292929}
 .quote-mark{color:#a3a39c;font-size:64px;text-align:right;margin-bottom:18px}
 .testimonial-controls button{border:1px solid #777;border-radius:0;color:#292929}
}
@media(max-width:767px){
 .review-dots{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;max-width:300px;direction:rtl}
 .testimonial-controls .review-dots button{display:flex;align-items:center;justify-content:center;width:11px;min-height:30px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
 .testimonial-controls .review-dots button::after{content:"";display:block;width:4px;height:4px;border-radius:50%;background:#c9c3bd;transition:background .2s,transform .2s}
 .testimonial-controls .review-dots button.is-active::after{background:#756a61;transform:scale(1.6)}
}
