/* /reviews/ page */
.rvp { padding: calc(var(--hdr, 84px) + clamp(2rem, 6vh, 4rem)) 0 clamp(4rem, 9vw, 7rem); background: var(--paper); }
.rvp .crumbs ol { display: flex; gap: .5rem; font-size: .85rem; color: var(--mute); }
.rvp .crumbs li + li::before { content: "/"; margin-right: .5rem; color: var(--line-2); }
.rvp__head { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; margin-top: 1.6rem; }
.rvp__head .lede { margin-top: 1.4rem; }
.rvp__score { display: grid; justify-items: start; gap: .8rem; padding: clamp(1.6rem, 3vw, 2.4rem); border-radius: 22px; background: var(--ink); color: #fff; box-shadow: var(--shadow); }
.rvp__score > b { font: 700 clamp(4.5rem, 9vw, 7rem)/.82 var(--f-disp); letter-spacing: -.06em; }
.rvp__score .rs svg { width: 26px; height: 26px; }
.rvp__src { display: inline-flex; align-items: center; gap: .5rem; color: var(--on-dark-70); font-size: .92rem; }
.rvp__src .g { width: 18px; height: 18px; }
.rvp__btns { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }
.rvp__btns .btn--ghost { --fg: #fff; --hov: #fff; --hov-fg: var(--ink); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.4); }
.rvp__chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.rvp__chip { height: 40px; padding: 0 1rem; border-radius: 999px; background: #fff; box-shadow: 0 0 0 1px var(--line); font-weight: 600; font-size: .88rem; transition: background .3s, color .3s; }
.rvp__chip[aria-pressed="true"] { background: var(--ink); color: #fff; box-shadow: none; }
.rvp__grid { margin-top: 1.6rem; columns: 3 320px; column-gap: 1rem; }
.rvp__grid .rc { break-inside: avoid; margin-bottom: 1rem; transition: opacity .35s, transform .45s var(--e-out); }
.rvp__grid .rc.is-off { display: none; }
.rvp-cta { padding: clamp(4.5rem, 10vw, 7rem) 0; background: var(--ink); color: #fff; }
.rvp-cta__in { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 2rem; }
.rvp-cta__btns { display: flex; flex-wrap: wrap; gap: .6rem; }
@media (max-width: 860px) { .rvp__head { grid-template-columns: 1fr; } }
