/* Reviews (Evan picked A in reviews-lab, 2026-10-19): three real Google reviews, word for word, under Sites we built.
   Black stars on grey cards; a white Google Reviews badge with no box (Google's G and yellow stars), no review count. */
.rv { padding: clamp(64px, 8vw, 120px) 0; background: #fff; }
.rv-hd { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 48px; }
.rv-hd .ch-k { margin-bottom: 30px; font-size: 20px; color: #444; }
.rv h2 { margin: 0; font-size: clamp(40px, 4.6vw, 72px); line-height: 1; letter-spacing: -.04em; font-weight: 500; }
.rv-st { display: inline-flex; gap: 2px; color: #000; }
.rv-st svg { width: 16px; height: 16px; }
.rv-g { display: inline-flex; align-items: center; gap: 12px; padding: 10px 0; background: #fff; color: #000; text-decoration: none; }
.rv-g > svg { width: 30px; height: 30px; }
.rv-g > span:not(.rv-arr) { display: flex; flex-direction: column; gap: 3px; }
.rv-g small { font-size: 15px; line-height: 1; letter-spacing: -.01em; }
.rv-g .rv-st { color: #fbbc04; }
.rv-g .rv-st svg { flex: 1; width: auto; height: auto; max-width: 22px; aspect-ratio: 1; }   /* stars as wide as the label, so no hole before the arrow (Evan, 2026-10-20) */
/* a plain arrow, no circle, 8px from the label (Evan picked A in reviews-arrow-lab, 2026-10-20); slides right on hover */
.rv-arr { display: grid; place-items: center; margin-left: -4px; color: #000; transition: transform .5s cubic-bezier(.7, 0, .3, 1); }
.rv-arr svg { width: 16px; height: 16px; }
.rv-g:hover .rv-arr, .rv-g:focus-visible .rv-arr { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) { .rv-arr { transition: none; } }
.rv-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.rv-c { margin: 0; display: flex; flex-direction: column; gap: 18px; padding: 32px; border-radius: 26px; background: #f5f5f7; text-align: left; }
.rv-c blockquote { margin: 0; padding: 0; border: 0; font-size: 19px; line-height: 1.5; color: #000; letter-spacing: -.01em; }
/* the reviewer's Google profile photo beside the name (Evan, 2026-10-20) */
.rv-c figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; font-size: 15px; color: #6e6e73; text-align: left; }
.rv-av { flex: none; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #e5e5ea; }
.rv-who { display: flex; flex-direction: column; align-items: flex-start; }   /* name and role tight together (Evan picked A, 2026-10-20) */
.rv-who span { line-height: 1.25; }
.rv-who span:first-child { color: #000; font-size: 16px; }
@media (max-width: 860px) { .rv-grid { grid-template-columns: 1fr; } }
/* each card opens that exact review on Google (Evan, 2026-10-19) */
.rv-l { display: flex; color: inherit; text-decoration: none; border-radius: 26px; }
.rv-l .rv-c { flex: 1; transition: background .3s, transform .6s cubic-bezier(.22, 1, .36, 1); }
.rv-l:hover .rv-c { background: #ececf0; } .rv-l:active .rv-c { transform: scale(.985); }
