/* Scoped to the client review page so the approved site design stays intact. */
.testimonials-page main {
  background:
    radial-gradient(ellipse at 8% 2%,rgba(224,211,185,.15),transparent 38%),
    radial-gradient(ellipse at 98% 9%,rgba(239,231,220,.4),transparent 35%),
    #f8f5ef;
  color:var(--ink);
}
.review-hero { padding:clamp(60px,8vw,110px) 24px clamp(56px,7vw,92px); text-align:center; }
.review-hero .eyebrow { margin:0 0 28px; color:#725a2e; }
.review-hero h1 { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px 28px; margin:0; font:400 clamp(68px,9vw,132px)/1.06 var(--serif); letter-spacing:-.045em; }
.review-hero-stars { color:#806329; font-size:clamp(24px,3.6vw,48px); letter-spacing:.06em; }
.review-hero-label { margin:22px 0 0; font:400 clamp(23px,3vw,38px)/1.25 var(--serif); letter-spacing:.11em; }
.review-hero-line { margin:26px 0 0; font-size:11px; letter-spacing:.2em; }
.reviews-section { width:calc(100% - 2 * clamp(24px,5vw,80px)); max-width:1400px; margin:0 auto; padding-bottom:48px; }
.reviews-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px 26px; margin-bottom:24px; }
.reviews-heading h2 { margin:0; font:400 17px/1.5 var(--serif); letter-spacing:.14em; text-transform:uppercase; }
.reviews-all-link { display:inline-flex; align-items:center; gap:18px; min-height:44px; color:#725a2e; font-size:11px; letter-spacing:.15em; text-transform:uppercase; text-underline-offset:6px; text-decoration:none; }
.reviews-all-link:hover { text-decoration:underline; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:20px; }
.review-card { min-width:0; margin:0; padding:25px 24px 22px; border:1px solid #ded6c9; border-radius:3px; background:rgba(255,253,248,.36); scroll-margin-top:32px; }
.review-card-featured { align-self:stretch; padding:28px 26px 24px; border-color:#cfc0a8; background:rgba(255,253,248,.65); display:flex; flex-direction:column; }
.review-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 12px; margin-bottom:18px; }
.review-meta time { color:#48433b; font-size:11px; line-height:1.5; letter-spacing:.04em; }
.review-stars { color:#806329; font-size:17px; line-height:1.2; letter-spacing:.02em; white-space:nowrap; }
.review-card h3 { margin:0 0 12px; font:400 24px/1.2 var(--serif); letter-spacing:-.025em; }
.review-card blockquote { margin:0; font:400 15px/1.65 var(--sans); overflow-wrap:anywhere; }
.review-card blockquote p { margin:0; }
.review-card figcaption { display:flex; flex-wrap:wrap; gap:5px 12px; align-items:baseline; margin-top:24px; padding-top:16px; border-top:1px solid #ded6c9; font-size:12px; line-height:1.5; }
.review-card-featured figcaption { margin-top:auto; padding-top:18px; }
.review-card-featured blockquote { margin-bottom:28px; }
.review-author { color:#302a22; }
.review-card details { margin-top:8px; }
.review-card summary { display:flex; align-items:center; gap:10px; width:fit-content; min-height:44px; cursor:pointer; list-style:none; color:#725a2e; font-size:12px; }
.review-card summary::-webkit-details-marker { display:none; }
.review-card summary::after { content:'+'; font-size:18px; }
.review-card details[open] summary::after { content:'−'; }
.review-card details p { margin-top:4px; }
.review-collection { padding-top:36px; padding-bottom:80px; border-top:1px solid #ded6c9; }
.review-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.testimonials-page :is(.reviews-all-link,.review-card summary):focus-visible { outline:2px solid #806329; outline-offset:5px; }
@media(max-width:1000px) {
  .reviews-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .featured-reviews .reviews-grid { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  .reviews-grid { grid-template-columns:1fr; gap:16px; }
  .review-hero { padding:56px 20px 48px; }
  .review-hero h1 { gap:10px 20px; }
  .review-hero-label { font-size:23px; letter-spacing:.06em; }
  .review-hero-line { font-size:10px; letter-spacing:.12em; }
  .review-card,.review-card-featured { padding:24px 22px; }
  .reviews-heading { align-items:flex-start; gap:8px; }
  .reviews-heading h2 { font-size:15px; }
  .review-collection { padding-top:28px; padding-bottom:48px; }
}
