/* Reviews page: advertiser voices first. Shared site styles remain unchanged. */
.reviews-page .reviews-skip { position:fixed; left:1rem; top:-6rem; z-index:1000; padding:0.8rem 1.2rem; background:var(--green); color:var(--ivory); }
.reviews-page .reviews-skip:focus { top:1rem; }
.reviews-page a:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
.reviews-page .reviews-hero { background:var(--parchment); padding:calc(64px + clamp(2rem,3vw,3rem)) 0 clamp(2.5rem,5vw,4rem); border-bottom:1px solid var(--hairline-gold); }
.reviews-page .reviews-hero-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; align-items:end; }
.reviews-page .reviews-hero h1 { font-size:clamp(2.7rem,5.4vw,4.8rem); line-height:1.04; font-weight:500; letter-spacing:-0.045em; }
.reviews-page .reviews-hero-copy { max-width:31rem; padding-bottom:0.3rem; }
.reviews-page .reviews-hero-copy p { font-family:var(--font-serif); font-size:clamp(1.2rem,2vw,1.5rem); line-height:1.5; }
.reviews-page .reviews-jump { display:flex; flex-wrap:wrap; gap:0.7rem 1.8rem; margin-top:1.6rem; }
.reviews-page .reviews-jump a { display:inline-flex; align-items:center; gap:0.7rem; min-height:44px; border-bottom:1px solid var(--gold); color:var(--green); font-size:0.83rem; font-weight:600; }
.reviews-page #advertisers,.reviews-page #pga { scroll-margin-top:5rem; }
.reviews-page .reviews-advertisers { padding:clamp(2.8rem,5vw,4.5rem) 0; }
.reviews-page .reviews-section-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; }
.reviews-page .reviews-section-heading .eyebrow { margin-bottom:0.7rem; }
.reviews-page .reviews-section-heading h2 { font-size:clamp(2rem,3vw,2.8rem); font-weight:500; }
.reviews-page .reviews-section-heading p { font-size:0.88rem; color:var(--ink-soft); margin:0 0 0.1rem; line-height:1.7; }
.reviews-page .reviewer-grid { max-width:none; margin-top:2rem; gap:1.5rem; }
/* Familiar review headers, with the site's existing type and color tokens. */
.reviews-page .reviewer-card { border:1px solid rgba(42,31,13,.12); border-radius:18px; background:#fffefb; padding:clamp(1.5rem,3vw,2rem); gap:1rem; box-shadow:0 4px 18px rgba(7,72,52,.045); transition:transform 180ms ease; }
.reviews-page .review-card-top { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.reviews-page .review-person { display:flex; align-items:center; gap:.85rem; min-width:0; }
.reviews-page .review-person>div { min-width:0; }
.reviews-page .review-person .name { font-family:var(--font-sans); font-size:1rem; font-weight:600; color:var(--green); line-height:1.4; margin:0 0 .15rem; letter-spacing:0; }
.reviews-page .review-avatar { width:48px; height:48px; border-radius:50%; flex:0 0 48px; object-fit:cover; }
.reviews-page .review-avatar-initial { display:grid; place-items:center; color:#fff; font:500 1.4rem/1 var(--font-sans); }
.reviews-page .avatar-terry { background:#ad2853; }
.reviews-page .avatar-denise { background:#607d8b; }
.reviews-page .avatar-jenny { background:#795c52; }
.reviews-page .review-platform { font-size:.76rem; color:var(--ink-soft); }
.reviews-page .review-google-badge { flex:0 0 36px; width:36px; height:36px; display:grid; place-items:center; }
.reviews-page .review-google-g { width:27px; height:27px; display:block; }
.reviews-page .review-rating { display:flex; align-items:center; line-height:1; }
.reviews-page .reviewer-card .stars { gap:3px; color:var(--gold); }
.reviews-page .reviewer-card .stars svg { width:18px; height:18px; }
.reviews-page .reviewer-card blockquote { font-family:var(--font-sans); font-size:1rem; line-height:1.75; color:var(--ink); }
.reviews-page .reviewer-card blockquote::before,.reviews-page .reviewer-card blockquote::after { content:none; }
.reviews-page .reviewer-card footer { flex-direction:row; justify-content:flex-end; padding-top:.7rem; margin-top:auto; border-color:rgba(42,31,13,.1); }
.reviews-page .source-link { min-height:44px; display:inline-flex; gap:.55rem; align-items:center; padding:.35rem .8rem; border:1px solid var(--hairline); border-radius:999px; font-size:.76rem; letter-spacing:0; color:var(--green); }
.reviews-page .source-link:hover { background:var(--ivory); }
.reviews-page .review-featured { grid-column:1 / -1; border-top:3px solid var(--green); padding:clamp(1.6rem,3.5vw,2.5rem); }
.reviews-page .review-featured blockquote { font-family:var(--font-serif); font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.5; max-width:54ch; color:var(--green); }
.reviews-page .review-featured footer { margin-top:.5rem; }
/* Reuse the site's observer; content is readable even without JavaScript. */
@media(prefers-reduced-motion:no-preference) {
 .reviews-page .reviewer-card[data-reveal].is-revealed { animation:review-arrive 280ms ease-out both; }
 @keyframes review-arrive { from { opacity:.75; translate:0 6px; } to { opacity:1; translate:0 0; } }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .reviews-page .reviewer-card:hover,.reviews-page .reviewer-card:focus-within { transform:translateY(-3px); }
}
@media(prefers-reduced-motion:reduce) {
 .reviews-page .reviewer-card { animation:none; transition:none; transform:none; translate:none; }
}
.reviews-page .reviews-all { margin-top:2.3rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.reviews-page .reviews-all p { margin:0; color:var(--ink-soft); font-size:0.9rem; }
.reviews-page .reviews-text-link { display:inline-flex; gap:0.7rem; align-items:center; min-height:44px; font-size:0.9rem; font-weight:600; color:var(--green); border-bottom:1px solid var(--gold); }
.reviews-page #pga { border-top:1px solid var(--hairline-gold); }
.reviews-page #pga .endorsements-column { max-width:1000px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; }
.reviews-page #pga .endorsement-letter { border:0; padding:0 0 0 1rem; }
.reviews-page #pga .endorsement-letter blockquote { font-size:1.08rem; line-height:1.65; }
.reviews-page #pga .endorsement-letter footer { gap:0.4rem; }
.reviews-page #pga .credential { line-height:1.6; }
@media(max-width:760px) {
 .reviews-page .reviews-hero-layout { grid-template-columns:1fr; gap:1.7rem; }
 .reviews-page .reviews-hero-copy { max-width:35rem; }
 .reviews-page .reviews-hero-copy p { margin-bottom:0.5rem; }
 .reviews-page .reviews-jump { margin-top:0.5rem; }
 .reviews-page .reviews-section-heading { display:block; }
 .reviews-page .reviews-section-heading p { margin-top:1rem; }
 .reviews-page .reviewer-grid { grid-template-columns:1fr; }
 .reviews-page .reviews-all { align-items:flex-start; flex-direction:column; gap:0.5rem; }
 .reviews-page #pga .endorsements-column { grid-template-columns:1fr; gap:2.8rem; }
}
@media(max-width:380px) {
 .reviews-page .review-person { gap:.6rem; }
 .reviews-page .review-person .name { font-size:.88rem; }
 .reviews-page .review-platform { font-size:0.65rem; }
}

/* Keep the final short testimonial balanced after selecting six reviews. */
.reviews-page .review-wide { grid-column:1 / -1; }
