/* ---------- Patient reviews (BRIEF 5.11): genuine Google reviews, initials only ---------- */
.reviews{background:var(--reviews-bg)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;list-style:none}
.review-grid>li{display:flex}
.review-grid>li[hidden]{display:none}
.review-more{text-align:center;margin-top:2.6rem}
.review{flex:1;margin:0;display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--card-border);border-radius:4px;
  padding:2.4rem 2.1rem 2rem}
.review .stars{color:var(--gold-display);letter-spacing:.18em;font-size:.8125rem;margin-bottom:1.2rem}
.review blockquote{margin:0;flex:1}
.review blockquote p{font-family:var(--serif);font-style:normal;font-size:1.05rem;line-height:1.75;color:var(--cream)}
.review blockquote p::before{content:"\201C"}.review blockquote p::after{content:"\201D"}
.review figcaption{margin-top:1.8rem;padding-top:1.1rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.review .nm{font-size:.8125rem;letter-spacing:.12em;color:var(--cream);font-weight:500}
.review .st{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.reviews-note{text-align:center;color:var(--muted);font-size:.8125rem;letter-spacing:.04em;margin-top:2.2rem}
@media(max-width:960px){ .review-grid{grid-template-columns:repeat(2,1fr)} .review-grid>li:last-child{grid-column:1/-1;width:calc(50% - .8rem);justify-self:center} }
@media(max-width:640px){ .review-grid{grid-template-columns:1fr;gap:1.2rem} .review-grid>li:last-child{width:auto;justify-self:stretch} .review{padding:2rem 1.6rem 1.7rem} }

/* ---------- FAQ (BRIEF 5.12): accordion, one open at a time ---------- */
.faq.pad{padding-top:clamp(2rem,3.5vw,3rem)} /* tighter above Good to Know (Laurie) */
.faq-list{max-width:820px;margin-inline:auto}
.acc{border-bottom:1px solid var(--line)}
.acc:first-child{border-top:1px solid var(--line)}
.acc h3{margin:0;font:inherit}
.acc-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;text-align:left;background:none;border:0;cursor:pointer;
  color:var(--cream);font-family:var(--serif);font-size:1.5rem;font-weight:500;line-height:1.3;padding:1.6rem 0}
.acc-q:hover{color:var(--gold-ink)} /* --gold-ink: deeper gold in light so it holds 3:1+ on the sand (Laurie) */
.acc-q:focus-visible{outline:1px solid var(--gold);outline-offset:4px}
.acc-q .ic{position:relative;width:16px;height:16px;flex:none;transition:transform .4s var(--ease)}
.acc-q .ic::before,.acc-q .ic::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:var(--gold-ink)}
.acc-q .ic::after{transform:rotate(90deg)}
.acc-q[aria-expanded="true"] .ic{transform:rotate(45deg)}
.js .acc-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.js .acc-a.open{grid-template-rows:1fr}
.js .acc-a>p{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s .5s}
.js .acc-a.open>p{visibility:visible;transition:none}
.acc-a p{color:var(--muted);font-size:1rem;line-height:1.75;max-width:62ch}
.acc-a p::after{content:"";display:block;height:1.7rem} /* spacing inside the clipped row, so a closed answer collapses fully */
@media(max-width:640px){ .acc-q{font-size:1.28rem;padding:1.3rem 0} }
@media(prefers-reduced-motion:reduce){ .acc-a,.acc-q .ic{transition:none} }
.section-head .rating{margin-top:1.2rem;display:inline-flex;align-items:center;gap:.7rem;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);font-weight:500}
.rating-stars{color:var(--gold-display);letter-spacing:.18em;font-size:.9375rem}
@media(max-width:480px){.section-head .rating{flex-direction:column;gap:.5rem;letter-spacing:.12em}}
