.testimonials { background: #f3f5ef; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:3.5rem; background:rgba(28,45,52,.18); border:1px solid rgba(28,45,52,.18); }
.testimonial-card { min-width:0; background:#f3f5ef; padding:clamp(1.5rem,3vw,2.5rem); }
.testimonial-card .quote-mark { display:block; margin-bottom:1.25rem; color:rgba(28,45,52,.42); font-family:Georgia,serif; font-size:3.5rem; line-height:.7; }
.testimonial-card h3 { margin:0 0 1rem; font-family:Georgia,serif; font-size:clamp(1.35rem,2vw,1.75rem); font-weight:400; line-height:1.12; }
.testimonial-preview,.testimonial-full p { line-height:1.65; }
.testimonial-preview { margin:0; }
.testimonial-card details { margin-top:1.35rem; }
.testimonial-card summary { display:inline-flex; align-items:center; gap:.55rem; cursor:pointer; list-style:none; border-bottom:1px solid currentColor; padding-bottom:.2rem; font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.testimonial-card summary::-webkit-details-marker { display:none; }
.testimonial-card summary::after { content:"+"; font-size:1.1rem; line-height:1; }
.testimonial-card details[open] summary::after { content:"−"; }
.testimonial-full { padding-top:1.1rem; }
.testimonial-full p { margin:0 0 1rem; }
.testimonial-source { display:block; margin-top:1.4rem; color:rgba(28,45,52,.7); font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; }
@media (max-width:900px) { .testimonial-grid{grid-template-columns:1fr 1fr}.testimonial-card:last-child{grid-column:1/-1} }
@media (max-width:640px) { .testimonial-grid{grid-template-columns:1fr;margin-top:2.25rem}.testimonial-card{padding:1.5rem}.testimonial-card:last-child{grid-column:auto} }
