/* v25 member reviews: coming soon state, review form, approved cards */
.rvs{padding:110px 0;text-align:center}
.rvs .wrap{display:flex;flex-direction:column;align-items:center}
.rvs-soon{font:900 italic clamp(58px,12vw,168px)/.86 var(--disp,system-ui);text-transform:uppercase;margin:14px 0 22px;color:transparent;-webkit-text-stroke:2px var(--tx);letter-spacing:-.01em}
.rvs-soon em{color:transparent;-webkit-text-stroke:2px var(--c);font-style:italic}
.rvs-line{max-width:52ch;margin:0 auto 28px;font-size:17px}
.rvs.has-reviews .rvs-soon{color:var(--tx);-webkit-text-stroke:0;font-size:clamp(40px,6vw,72px)}
.rvs.has-reviews .rvs-soon em{color:var(--c);-webkit-text-stroke:0}
.rvs-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;width:100%;margin:0 0 28px;text-align:left}
.rvs-card{background:var(--bg2);border:1px solid var(--ln);border-radius:18px;padding:20px}
.rvs-card h3{font-size:18px;margin:10px 0 6px}.rvs-card p{color:var(--tx2,var(--mu));margin:0 0 12px}
.rvs-card small{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
.rvs-stars{display:flex;gap:2px;color:var(--c)}.rvs-stars svg{width:18px;height:18px}
.rvs-stars svg path{fill:currentColor}.rvs-stars svg.off path{fill:none;stroke:currentColor;stroke-width:1.6;opacity:.5}
.rv-modal .x-card{max-width:560px;text-align:left;max-height:calc(100vh - 36px);overflow:auto;position:relative}
.rv-modal h2{font-size:30px;margin:6px 0 4px}
.rv-x{position:absolute;right:12px;top:10px;width:40px;height:40px;border-radius:50%;border:0;background:none;color:var(--mu);font-size:24px;cursor:pointer}
.rv-x:hover{color:var(--tx)}
.rv-form{display:grid;gap:14px;margin-top:14px}
.rv-form label,.rv-form legend{font:600 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mu)}
.rv-form input[type=text],.rv-form textarea,.rv-form select{display:block;width:100%;margin-top:6px;padding:12px 14px;border-radius:12px;border:1px solid var(--ln);background:var(--bg3,var(--bg2));color:var(--tx);font:15px Inter,system-ui,sans-serif;text-transform:none;letter-spacing:0}
.rv-form textarea{min-height:120px;resize:vertical}
.rv-form fieldset{border:0;padding:0;margin:0}
.rv-rate{display:flex;gap:4px;margin-top:6px}
.rv-rate input{position:absolute;opacity:0;width:1px;height:1px}
.rv-rate label{cursor:pointer;color:var(--mu);padding:2px;border-radius:8px;letter-spacing:0}
.rv-rate svg{width:34px;height:34px;display:block}.rv-rate svg path{fill:none;stroke:currentColor;stroke-width:1.6}
.rv-rate label.on{color:var(--c)}.rv-rate label.on svg path{fill:currentColor}
.rv-rate input:focus-visible+label{outline:2px solid var(--c);outline-offset:2px}
.rv-count{font:500 11px var(--mono);color:var(--mu);text-align:right;margin-top:4px;letter-spacing:.08em}
.rv-consent{display:flex!important;gap:10px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font:14px/1.45 Inter,system-ui,sans-serif!important;color:var(--tx)!important}
.rv-consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--c);flex:none}
.rv-msg{min-height:20px;font-size:14px}.rv-msg.err{color:var(--err,#e5484d)}.rv-msg.ok{color:var(--ok,#2fbf71)}
@media (max-width:600px){.rvs{padding:80px 0}.rvs-soon{-webkit-text-stroke-width:1.5px}}
