/* Reviews page (v2). Tokens only. */

/* ---- Head ---- */
.rv-head-grid{display:grid;gap:clamp(36px,5vw,64px);align-items:end}
@media(min-width:900px){.rv-head-grid{grid-template-columns:1.3fr .7fr}}
.page-head.rv-head h1{font-size:clamp(3.4rem,1.8rem + 7vw,8.4rem);line-height:.92;letter-spacing:-.04em;max-width:none}
.rv-lede{margin-top:1.4rem;font-size:var(--fs-lead);color:var(--text-muted);max-width:42ch}
.rv-score{padding:26px;border-radius:var(--radius-l);background:var(--card);border:1px solid var(--border);display:grid;gap:18px;justify-items:start}
[data-theme="light"] .rv-score{box-shadow:0 14px 34px -26px rgba(74,32,96,.45)}
.rv-score-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%}
.rv-score-row>div+div{border-left:1px solid var(--border);padding-left:18px}
.rv-score-num{display:block;font-family:var(--font-display);font-size:clamp(3rem,2.2rem + 2.4vw,4.4rem);line-height:.9;letter-spacing:-.03em}
.rv-score-label{display:block;margin-top:6px;font-size:var(--fs-sm);color:var(--text-muted)}
.rv-score-stars{color:var(--gold);letter-spacing:.2em;font-size:1.1rem}

/* ---- Featured review ---- */
.rv-feature{padding-block:clamp(72px,10vw,150px)}
@media(max-width:700px){.rv-feature-mark{font-size:7.5rem;top:-.42em;left:-.04em}}
.rv-feature-fig{position:relative;max-width:1100px}
.rv-feature-mark{position:absolute;left:-.08em;top:-.5em;font-family:Georgia,'Times New Roman',serif;font-size:clamp(9rem,6rem + 10vw,16rem);line-height:1;color:var(--accent-strong);opacity:.28;pointer-events:none}
.rv-feature blockquote p{position:relative;font-family:var(--font-display);font-size:clamp(2.2rem,1.2rem + 4.4vw,5.6rem);line-height:1.04;letter-spacing:-.03em;text-wrap:balance}
.rv-feature .annot{font-style:italic;color:var(--accent-text)}
.rv-feature figcaption{margin-top:clamp(28px,4vw,44px);display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;color:var(--text-muted);font-size:var(--fs-sm)}

/* ---- Filters ---- */
.rv-wall-section{padding-top:clamp(56px,7vw,96px)}
.rv-wall-head{position:sticky;top:calc(var(--nav-h) + 10px);z-index:5;padding:6px 18px 6px 6px;border-radius:30px;background:var(--nav-bg);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--border);box-shadow:0 18px 40px -30px rgba(0,0,0,.6);display:flex;align-items:center;gap:12px 24px}
@media(max-width:700px){.rv-wall-head{padding:6px}}
.rv-wall-head .review-filters{margin:0;flex:1;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px;mask-image:linear-gradient(90deg,#000 92%,transparent)}
.rv-wall-head .review-filters::-webkit-scrollbar{display:none}
@media(min-width:1180px){.rv-wall-head .review-filters{flex-wrap:wrap;mask-image:none}}
.review-filter-btn{flex-shrink:0;min-height:44px;white-space:nowrap;transition:background-color .3s,border-color .3s,color .3s,transform .4s var(--ease-settle)}
.review-filter-btn:active{transform:scale(.96)}
.rv-count{flex-shrink:0;font-size:var(--fs-xs);color:var(--text-faint);font-family:ui-monospace,Menlo,monospace;letter-spacing:.06em}
@media(max-width:700px){.rv-count{display:none}}

/* ---- Wall ---- */
.reviews-masonry{margin-top:clamp(28px,4vw,44px);column-gap:18px}
@media(min-width:1024px){.reviews-masonry{columns:3}}
.rv-card{position:relative;margin-bottom:18px;padding:26px 24px 20px;border-radius:var(--radius-l);transition:transform .6s var(--ease-settle),box-shadow .5s,border-color .4s,background-color .4s}
.rv-card::before{content:"\201C";position:absolute;right:20px;top:6px;font-family:Georgia,'Times New Roman',serif;font-size:4.2rem;line-height:1;color:var(--accent-strong);opacity:.22;pointer-events:none;transition:opacity .4s,transform .6s var(--ease-settle)}
.rv-card:hover{transform:translateY(-6px);border-color:var(--border-strong);box-shadow:var(--shadow)}
.rv-card:hover::before{opacity:.6;transform:rotate(-8deg) scale(1.1)}
.rv-card .rv-stars{font-size:.85rem}
.rv-text{font-size:clamp(1.08rem,1rem + .3vw,1.22rem);line-height:1.5;margin:.8rem 0 1.2rem;text-wrap:pretty}
.rv-footer{align-items:center}
.rv-card.rv-wide .rv-text{font-size:clamp(1.2rem,1.05rem + .5vw,1.45rem);line-height:1.42}
.rv-card.rv-accent{background:linear-gradient(160deg,var(--tint-strong),var(--card) 65%)}
.rv-card.rv-dark{background:var(--ink-bg);border-color:var(--ink-border);color:var(--ink-text);--text-muted:var(--ink-muted);--accent-text:var(--ink-accent);--border:var(--ink-border);--tint:rgba(216,182,232,.1)}
.rv-card.rv-dark .rv-text{font-style:italic}
.rv-card.hidden{display:none}
@keyframes rvIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.motion .rv-anim .rv-card:not(.hidden){animation:rvIn .55s var(--ease-out) both;animation-delay:calc(min(var(--n,0),14) * 28ms)}

/* ---- CTA ---- */
.rv-cta{margin-top:clamp(56px,8vw,100px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;padding-top:clamp(36px,5vw,56px);border-top:1px solid var(--border)}
.rv-cta h2{font-size:clamp(2.2rem,1.4rem + 3vw,4.2rem);line-height:1;letter-spacing:-.025em}
.rv-cta p{margin-top:.9rem;color:var(--text-muted);font-size:var(--fs-lead);max-width:44ch}
.page-head.rv-head{padding-bottom:clamp(64px,8vw,110px)}
.rv-feature{overflow:hidden}
.rv-feature-mark{top:-.32em}
[data-theme="dark"] .rv-card.rv-dark{background:linear-gradient(160deg,#3d1d4b,#26122f 70%);border-color:rgba(216,182,232,.28)}
@media(max-width:600px){.rv-card{padding:22px 20px 18px;margin-bottom:14px}.rv-card::before{font-size:3.4rem}}
.rv-feature .annot-svg{max-width:none}

/* ---- Phones (under 700px) ---- */
@media(max-width:699px){
  .page-head.rv-head{padding-bottom:48px}
  .rv-feature{padding-block:56px 60px}
  .rv-wall-section{padding-top:40px}
  .rv-text{margin:.6rem 0 1rem}
  .rv-cta{margin-top:48px}
}
