.testimonials { background:#f3eee7; padding:clamp(22px,3vw,32px) clamp(20px,5vw,72px); scroll-margin-top:90px; color:#28362b; }
.testimonials .section-inner { max-width:1180px; margin:0 auto; }
.reviews-heading-row { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.testimonials .eyebrow { margin:0 0 4px; color:#8a6741; }
.testimonials .reviews-title { margin:0; font:500 clamp(26px,2.7vw,34px)/1 Georgia,serif; letter-spacing:-.045em; }
.reviews-source { display:grid; grid-template-columns:auto auto; align-items:center; column-gap:8px; color:#28362b; text-decoration:none; font:500 11px/1.2 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.reviews-source strong { font:500 25px/1 Georgia,serif; letter-spacing:-.05em; }
.reviews-source span,.review-stars { color:#9b7420; letter-spacing:.12em; }
.reviews-source small { grid-column:1/-1; margin-top:5px; color:#62685f; font:500 9px/1 Arial,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.testimonials-intro { max-width:520px; margin:7px 0 12px; color:#62685f; font-size:13px; line-height:1.45; }
.reviews-viewport { overflow:hidden; margin:0 calc(-1 * clamp(20px,5vw,72px)); padding:0 clamp(20px,5vw,72px); }
.reviews-grid { display:flex; width:max-content; gap:22px; animation:reviews-marquee 95s linear infinite; }
.reviews-viewport:hover .reviews-grid { animation-play-state:paused; }
.review-card { display:flex; flex:0 0 min(235px,calc(100vw - 52px)); flex-direction:column; justify-content:space-between; min-height:64px; gap:8px; margin:0; padding:4px 0; background:transparent; border:0; }
.review-card figcaption { display:flex; align-items:center; gap:9px; order:2; }
.review-avatar { flex:0 0 22px; width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:#28362b; color:#f6ebd1; font:500 10px Georgia,serif; }
.review-author { display:grid; gap:2px; font-size:11px; font-weight:700; line-height:1.2; }
.review-author small { color:#8a6741; font:500 8px/1 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.review-stars { margin-left:auto; font-size:8px; white-space:nowrap; }
.review-card blockquote { margin:0; font:400 13px/1.3 Georgia,serif; color:#28362b; }
@keyframes reviews-marquee { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .reviews-grid { animation:none; width:auto; flex-wrap:wrap; } }
@media (max-width:800px) { .reviews-heading-row { align-items:start; flex-direction:column; gap:14px; } }
