/* Real Google review cards, native scrolling, and controllable motion. */
.about-testimonials { background: var(--navy-50); }
.about-review-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 40px; }
.about-page .about-testimonials h2 { max-width: 700px; }
.review-viewport { width: 100%; max-width: none; margin: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
.review-viewport::-webkit-scrollbar { display: none; }
.review-track { display: flex; gap: 24px; width: max-content; min-width: 100%; padding: 8px 0 18px; margin: 0; list-style: none; }
.review-card { flex: 1 0 360px; width: 360px; display: flex; flex-direction: column; min-height: 280px; padding: 28px; border: 1px solid var(--navy-100); border-radius: 18px; background: var(--white); box-shadow: 0 4px 12px rgb(14 29 43 / .035); }
.review-card-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; }
.review-author { font: 500 .9375rem/1.4 var(--font-sans); color: var(--navy-900); }
.review-stars { color: var(--gold-600); white-space: nowrap; font-size: .8125rem; letter-spacing: 2px; }
.review-card blockquote { border: 0; padding: 0; margin: 0 0 22px; }
.about-page .review-card p { font: 400 1.375rem/1.4 var(--font-serif-display); color: var(--navy-700); }
.review-source { align-self: flex-start; display: inline-flex; min-height: 44px; align-items: center; gap: 12px; margin-top: auto; color: var(--text-muted); font: 400 .8125rem/1.4 var(--font-sans); text-underline-offset: 4px; }
.review-source::after { content: "↗"; font-size: 1rem; }
.review-viewport:focus-visible, .review-source:focus-visible { outline: 2px solid var(--gold-600); outline-offset: 4px; }
@media (max-width: 700px) {
 .about-review-heading { flex-direction: column; align-items: flex-start; gap: 24px; margin-bottom: 28px; }
 .review-track { gap: 18px; }
 .review-card { flex-basis: min(320px,calc(100vw - 56px)); width: min(320px,calc(100vw - 56px)); min-height: 290px; padding: 24px; }
 .review-card-header { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 18px; }
 .about-page .review-card p { font-size: 1.25rem; }
}

.review-loop .review-card { flex-grow: 0; }
