/* The client reviews page (pages/reviews.py): A the wall, B the record. Only on that page. */
.p .rq-st{display:inline-flex;gap:3px;line-height:0}
.p .rq-st .cc-star{width:16px;height:16px}
.p .rq-who{display:flex;align-items:center;gap:12px;margin-top:20px}
.p .rq-who .av{display:grid;flex:none;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);font-size:13px;font-weight:700;color:#fff}
.p .rq-who .nm{display:grid;gap:2px;min-width:0}
.p .rq-who b{font-size:14.5px;font-weight:600;overflow-wrap:anywhere}
.p .rq-who small{font-size:13px;color:var(--cc-mute)}
.p .rq-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.p .rq-tag{display:inline-block;padding:5px 11px;border:1px solid var(--cc-line);border-radius:500px;font-size:12px;color:var(--cc-soft)}
.p .rq-back{border-color:rgba(23,255,197,.35);color:var(--cc-mint)}
.p .rq-hstars{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:14px;color:var(--cc-mute)}
.p .rq-hstars .cc-star{width:18px;height:18px}
.p .rq-src{margin-top:40px;max-width:640px;font-size:14px;line-height:1.6;color:var(--cc-mute)}
.p .rq-src a{color:#fff;text-decoration:underline;text-decoration-color:rgba(23,255,197,.6);text-underline-offset:3px}
.p .rq-cta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 48px;padding:clamp(32px,5vw,64px);border:1px solid var(--cc-line);border-radius:28px;background:radial-gradient(ellipse 60% 80% at 85% 20%,rgba(23,255,197,.08),transparent 70%),var(--cc-lift)}
.p .rq-cta .p-h2{max-width:14ch}
.p .rq-cta .p-intro{margin-top:16px;max-width:46ch}

/* A: the wall */
.p.pg-reviews .pg-hero{padding-bottom:clamp(24px,3vw,40px)}
.p.pg-reviews #all{padding-top:clamp(24px,3vw,40px)}
.p .rq-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--cc-line);border-radius:24px;overflow:hidden;background:var(--cc-line)}
.p .rq-nums li{display:grid;align-content:end;gap:8px;min-height:150px;padding:26px 28px;background:var(--cc-bg)}
.p .rq-nums b{display:flex;align-items:center;gap:8px;font-size:clamp(40px,4.4vw,64px);font-weight:600;line-height:1;letter-spacing:-.04em}
.p .rq-nums b .cc-star{width:.55em;height:.55em}
.p .rq-nums li>span{font-size:14px;line-height:1.4;color:var(--cc-mute)}
.p .rq-nums li:first-child{background:radial-gradient(ellipse 80% 90% at 0% 100%,rgba(23,255,197,.12),transparent 70%),var(--cc-bg)}
@media (max-width:700px){.p .rq-nums li{min-height:112px;padding:20px}}
.p .rq-wall{columns:3;column-gap:20px;margin:36px 0 0;padding:0;list-style:none}
.p .rq-card{break-inside:avoid;margin:0 0 20px;padding:26px 26px 22px;border:1px solid var(--cc-line);border-radius:22px;background:var(--cc-lift);transition:border-color .25s}
.p .rq-card:hover{border-color:rgba(23,255,197,.24)}
.p .rq-card blockquote{margin:0}
.p .rq-card p{margin-top:0;font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.86)}
.p .rq-card.big{background:linear-gradient(180deg,rgba(23,255,197,.07),rgba(23,255,197,.015)),var(--cc-lift);border-color:rgba(23,255,197,.22)}
.p .rq-card.big p{font-size:clamp(18px,1.5vw,21px);line-height:1.5;letter-spacing:-.01em;color:#fff}
.p .rq-wall:not(.is-open):not(.is-filtered) .rq-later{display:none}
.p .rq-more{display:flex;justify-content:center;margin-top:16px}
.p .rq-more small{margin-left:6px;opacity:.6;font-size:12.5px}  /* the live theme sizes a bare small at 11.25px */
.p .rq-wall.is-open+.rq-more,.p .rq-wall.is-filtered+.rq-more{display:none}
@media (max-width:1099.98px){.p .rq-wall{columns:2}}
@media (max-width:700px){.p .rq-wall{columns:1}.p .rq-card{padding:22px 20px 20px}}

/* B: the record */
.p .rb-stage{position:relative;padding:72px clamp(24px,3vw,40px) 28px;border:1px solid var(--cc-line);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}
.p .rb-mark{position:absolute;left:clamp(22px,3vw,38px);top:18px;font-size:96px;font-weight:600;line-height:.8;color:var(--cc-mint);opacity:.5;pointer-events:none}
.p .rb-stage>.rq-st{position:absolute;right:clamp(24px,3vw,40px);top:30px}
.p .rb-qs{display:grid}
.p .rb-q{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}.p figure.rb-q{margin:0 !important}
.p .rb-q.on{opacity:1;visibility:visible;transition:opacity .45s}
.p .rb-q blockquote{margin:0}
.p .rb-q p{font-size:clamp(18px,1.45vw,21px);line-height:1.55;letter-spacing:-.01em;color:#fff}
.p .rb-dots{display:flex;gap:6px;margin-top:26px;padding-top:20px;border-top:1px solid var(--cc-line)}
.p .rb-dot{position:relative;flex:1;height:24px;padding:0;border:0;background:none;cursor:pointer}
.p .rb-dot i{position:absolute;left:0;right:0;top:11px;height:2px;border-radius:2px;background:rgba(255,255,255,.14);overflow:hidden}
.p .rb-dot i:after{content:"";position:absolute;inset:0;background:var(--cc-mint);transform:scaleX(0);transform-origin:left}
.p .rb-dot.done i:after{transform:scaleX(1)}
.p .rb-dot.on i:after{animation:rb-fill var(--rb-t,7s) linear forwards}
.p .rb-stage.is-paused .rb-dot.on i:after{animation-play-state:paused}
@keyframes rb-fill{to{transform:scaleX(1)}}
.p .rb-where{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.p .rb-bars{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.p .rb-bars li{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr) 3.2em;align-items:center;gap:16px;font-size:15px}
.p .rb-bars .nm{color:var(--cc-soft)}
.p .rb-bars b{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.p .rb-bars .bar{height:8px;border-radius:8px;background:rgba(255,255,255,.06);overflow:hidden}
.p .rb-bars .bar i{display:block;height:100%;width:calc(var(--w)*100%);min-width:6px;border-radius:8px;background:linear-gradient(90deg,var(--cc-green),var(--cc-mint))}
.p .rb-bars .rest .bar i{background:rgba(255,255,255,.28)}
.p .rb-layout{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.p .rb-index{position:sticky;top:calc(var(--cc-header-h) + 24px)}
.p .rb-index ol{display:grid;gap:2px;margin:14px 0 0;padding:0;list-style:none}
.p .rb-index a,.p .rb-index .no{display:grid;grid-template-columns:3.2em minmax(0,1fr) 2.2em;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;color:var(--cc-soft);transition:background .25s,color .25s}
.p .rb-index .no{opacity:.5}
.p .rb-index small{text-align:right;font-variant-numeric:tabular-nums}
.p .rb-index .yb{height:6px;border-radius:6px;background:rgba(255,255,255,.06);overflow:hidden}
.p .rb-index .yb i{display:block;height:100%;width:calc(var(--w)*100%);min-width:4px;border-radius:6px;background:rgba(255,255,255,.3);transition:background .25s}
.p .rb-index a.on .yb i,.p .rb-index a:hover .yb i{background:linear-gradient(90deg,var(--cc-green),var(--cc-mint))}
.p .rb-index a b{font-size:17px;font-weight:600}
.p .rb-index a small{font-size:13px;color:var(--cc-mute)}
.p .rb-index a:hover{background:rgba(255,255,255,.04);color:#fff}
.p .rb-index a.on{background:var(--cc-mint-08);color:#fff}
.p .rb-index a.on small{color:var(--cc-mint)}
.p .rb-index .rq-src{margin-top:24px;font-size:13px}
.p .rb-year{scroll-margin-top:calc(var(--cc-header-h) + 24px)}
.p .rb-year+.rb-year{margin-top:clamp(40px,5vw,72px)}
.p .rb-yh{font-size:clamp(44px,6vw,88px);font-weight:600;line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.4)}
.p .rb-list{margin:8px 0 0;padding:0;list-style:none}
.p .rb-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,220px);gap:20px 40px;align-items:start;padding:30px 0;border-bottom:1px solid var(--cc-line)}
.p .rb-meta .rq-who{margin-top:2px}
.p .rb-row p{max-width:68ch;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:rgba(255,255,255,.88)}
@media (max-width:1099.98px){.p .rb-where{grid-template-columns:minmax(0,1fr);gap:32px}}
@media (max-width:860px){
  .p .rb-layout{grid-template-columns:minmax(0,1fr)}
  .p .rb-index{position:sticky;top:calc(var(--cc-header-h) + 8px);z-index:3;margin:0 calc(var(--cc-gutter)*-1);padding:8px var(--cc-gutter);background:var(--cc-bg);border-bottom:1px solid var(--cc-line)}
  .p .rb-index>.cx-t,.p .rb-index .rq-src{display:none}
  .p .rb-index ol{display:flex;gap:6px;margin:0;overflow-x:auto;scrollbar-width:none}
  .p .rb-index ol::-webkit-scrollbar{display:none}
  .p .rb-index a,.p .rb-index .no{display:flex;flex:none;padding:8px 12px;gap:8px}
  .p .rb-index .yb{display:none}
  .p .rb-row{grid-template-columns:minmax(0,1fr);gap:16px}
  .p .rb-index a b{font-size:15px}
  .p .rb-bars li{grid-template-columns:minmax(0,8.5em) minmax(0,1fr) 2.6em;gap:10px;font-size:14px}
}
/* touch: every control at least 44px (lesson: touch targets) */
@media (pointer:coarse){.p .rb-dot{height:44px}.p .rb-dot i{top:21px}.p .rb-index a{min-height:44px;align-items:center}}
@media (prefers-reduced-motion:reduce){.p .rb-q,.p .rb-q.on{transition:none}.p .rb-dot.on i:after{animation:none;transform:scaleX(1)}}
