.testimonials { padding: 5rem 0; background: var(--noir-950); color: var(--gold-100); }
.testimonials > header { padding: 0 max(1.25rem, calc((100vw - 1180px) / 2)) 2rem; }
.testimonials h2 { max-width: 16ch; margin: .5rem 0; font-size: clamp(2rem, 5vw, 3.75rem); line-height: 1.05; }
.testimonials__viewport { overflow: hidden; cursor: grab; touch-action: pan-y; }
.testimonials__viewport:active { cursor: grabbing; }
.testimonials__track { display: flex; gap: 1rem; width: max-content; padding-inline: 1.25rem; will-change: transform; }
.testimonial { position: relative; display: grid; grid-template-columns: 82px 1fr; gap: 1rem; width: min(82vw, 470px); padding: 1.25rem; border-radius: var(--radius-md); background: var(--noir-800); color: var(--gold-100); overflow: visible; }
.testimonial::before { content: "\201C"; position: absolute; top: -.5rem; right: 1rem; z-index: 0; font-family: "Fraunces", serif; font-size: 5rem; color: rgba(196, 155, 90, .16); pointer-events: none; }
.testimonial img { position: relative; z-index: 1; width: 82px; height: 82px; border-radius: 50%; object-fit: cover; border: 2px solid var(--gold-400); }
.testimonial blockquote { position: relative; z-index: 1; margin: 0 0 1rem; line-height: 1.55; }
.testimonial strong, .testimonial span { position: relative; z-index: 1; display: block; }
.testimonial span { margin-top: .25rem; color: var(--gold-400); font-size: .8rem; }
@media (max-width: 768px) { .testimonials { padding-block: 4rem; } .testimonial { grid-template-columns: 58px 1fr; } .testimonial img { width: 58px; height: 58px; } }
@media (prefers-reduced-motion: reduce) { .testimonials__viewport { overflow-x: auto; } .testimonials__track { transform: none !important; will-change: auto; } }
