/* Google reviews: homepage carousel links + testimonials page */
.review-card-link{display:block;border-radius:6px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.review-card-link:hover,.review-card-link:focus-visible{transform:translateY(-2px);box-shadow:0 10px 31px #0798ff17}
.review-card-link:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.review .review-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.review .review-link:hover .r-more,.review .review-link:focus-visible .r-more{text-decoration:underline}
.review .r-more{margin-top:auto;padding-top:.6rem;color:var(--green);font-weight:500;font-size:.9rem}
.gr-home-cta{justify-content:center;margin:1.5rem auto 0;max-width:none!important}
.gr-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding:1.25rem 1.5rem;background:var(--paper);border:1px solid var(--rule);border-radius:6px}
.gr-score{display:flex;align-items:center;gap:.9rem}
.gr-num{font:400 2.75rem/1 var(--serif);color:var(--navy)}
.gr-score .stars{display:block;color:#f5b301;font-size:1.25rem;letter-spacing:.1em;margin:0}
.gr-count{display:block;color:var(--stone);font-size:.95rem}
.gr-cta{margin-top:0}
.gr-lede{margin:1.75rem 0 0}
.gr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1rem;align-items:start;margin-top:1.75rem}
.gr-card{margin:0;padding:1.15rem 1.25rem;background:#fff;border:1px solid var(--rule);border-radius:6px;scroll-margin-top:7rem}
.gr-card:target{border-color:var(--green);box-shadow:0 0 0 3px #07864a26}
.gr-head{display:flex;align-items:center;gap:.7rem}
.gr-avatar{flex:none;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--navy);color:#fff;font:500 1rem var(--font)}
.gr-name{display:block;line-height:1.25}
.gr-meta{display:block;color:var(--stone);font-size:.82rem}
.gr-g{margin-left:auto;font:700 1.1rem/1 var(--font);color:#4285f4}
.gr-card .stars{color:#f5b301;margin:.7rem 0 .4rem;letter-spacing:.08em}
.gr-card blockquote{margin:0}
.gr-card blockquote p{margin:0 0 .6rem;line-height:1.6}
.gr-more summary{cursor:pointer;color:var(--green);font-weight:500;list-style:none}
.gr-more summary::-webkit-details-marker{display:none}
.gr-more[open] summary{display:none}
.gr-card:has(.gr-more[open]) .gr-short{display:none}
.gr-bottom{margin-top:2rem}
.gr-note{margin-top:1.25rem;color:var(--stone);font-size:.8rem}
@media (prefers-reduced-motion:reduce){.review-card-link{transition:none}}
.gr-section{padding-top:clamp(1.5rem,3vw,2.25rem)}
