/* ===== Customer reviews and student testimonies (v10) ===== */
.rvs-wrap{display:block;position:relative}
.rvs-summary{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(24px,5vw,70px);align-items:center;background:#141418;border:1px solid rgba(242,237,228,.14);padding:clamp(24px,4vw,44px);margin-top:30px}
.rvs-score b{display:block;font:400 clamp(4rem,9vw,6.5rem)/.9 Anton,Impact,sans-serif;font-variant-numeric:tabular-nums}
.rvs-score span{display:block;color:#9A968E;font-size:.9rem;margin-top:8px}
.rvs-stars{display:inline-flex;gap:3px;font-size:1.05rem;letter-spacing:.12em;color:rgba(242,237,228,.2)}
.rvs-stars i{font-style:normal}
.rvs-stars i.on{color:#FF5A1F}
.rvs-bars{display:grid;gap:12px}
.rvs-bar{display:grid;grid-template-columns:40px 1fr 40px;gap:14px;align-items:center;font-size:.85rem;color:#9A968E}
.rvs-bar em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums}
.rvs-meter{height:8px;background:rgba(242,237,228,.08);border-radius:999px;position:relative;overflow:hidden}
.rvs-meter i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#FF5A1F,#FFB48C);border-radius:999px;transition:width 1.4s cubic-bezier(.2,.7,.1,1)}
.rvs-filters{display:flex;flex-wrap:wrap;gap:8px;margin:34px 0 0}
.rvs-filters button,.tst-filters button{min-height:40px;padding:0 16px;background:none;border:1px solid rgba(242,237,228,.14);color:#F2EDE4;cursor:pointer;font:500 .72rem/1 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:background .3s,color .3s,border-color .3s}
.rvs-filters button:hover,.tst-filters button:hover{border-color:#FF5A1F}
.rvs-filters button[aria-pressed="true"],.tst-filters button[aria-pressed="true"]{background:#FF5A1F;border-color:#FF5A1F;color:#0A0A0C}
.rvs-stage{position:relative;margin-top:26px;background:linear-gradient(160deg,#17171C,#0E0E12);border:1px solid rgba(242,237,228,.14);padding:clamp(28px,5vw,60px) clamp(24px,5vw,60px) clamp(90px,9vw,110px);overflow:hidden;isolation:isolate;outline:none}
.rvs-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 90% 0%,rgba(255,90,31,.14),transparent 45%),radial-gradient(circle at 0% 100%,rgba(31,224,196,.06),transparent 40%);pointer-events:none}
.rvs-stage:focus-visible{box-shadow:0 0 0 2px #FF5A1F}
.rvs-slides{display:grid;position:relative;z-index:1;min-height:260px}
.rvs-slide{grid-area:1/1;margin:0;display:grid;align-content:center;gap:clamp(18px,2.6vw,28px);max-width:880px;opacity:0;visibility:hidden;transform:translateX(50px);transition:opacity .8s cubic-bezier(.2,.7,.1,1),transform .9s cubic-bezier(.2,.7,.1,1),visibility .8s}
.rvs-slide.active{opacity:1;visibility:visible;transform:none}
.rvs-slide.from-left.active{transform:none}
.rvs-slide.back{transform:translateX(-50px)}
.rvs-text{margin:0;font:400 clamp(1.45rem,2.9vw,2.3rem)/1.3 Anton,Impact,sans-serif;text-transform:uppercase;color:#F2EDE4}
.rvs-slide.active .rvs-text{animation:rvsIn 1s cubic-bezier(.2,.7,.1,1) both}
.rvs-person{display:flex;align-items:center;gap:14px;margin-top:6px}
.rvs-person b{display:block;font-weight:600;font-size:1rem}
.rvs-person small{color:#9A968E;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.rvs-slide.active .rvs-avatar{animation:rvsPop .7s cubic-bezier(.2,.7,.1,1) .15s both}
.rvs-avatar,.tst-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#0A0A0C;font:400 1rem Anton,Impact,sans-serif;letter-spacing:.04em;flex:0 0 auto}
.rvs-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(242,237,228,.06);z-index:2}
.rvs-progress i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#FF5A1F,#1FE0C4)}
.rvs-controls{position:absolute;left:clamp(24px,5vw,60px);right:clamp(24px,5vw,60px);bottom:clamp(16px,2.4vw,26px);display:flex;align-items:center;gap:16px;z-index:2;flex-wrap:wrap}
.rvs-arrow{width:50px;height:50px;display:grid;place-items:center;background:none;border:1px solid rgba(242,237,228,.14);color:#F2EDE4;font-size:1.25rem;cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s}
.rvs-arrow:hover{background:#FF5A1F;border-color:#FF5A1F;color:#0A0A0C;transform:translateY(-2px)}
.rvs-count{font:400 1.9rem/1 Anton,Impact,sans-serif;min-width:96px;text-align:center;font-variant-numeric:tabular-nums}
.rvs-count span{color:#9A968E;font-size:1rem}
.rvs-pause{margin-left:auto;min-height:44px;padding:0 18px;background:none;border:1px solid rgba(242,237,228,.14);color:#F2EDE4;cursor:pointer;font:600 .7rem/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:border-color .3s}
.rvs-pause:hover{border-color:#FF5A1F}
.rvs-none{color:#9A968E;padding:50px 0;text-align:center}
.tst-wrap{display:block}
.tst-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.tst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;align-items:stretch}
.tst-card{position:relative;background:#141418;border:1px solid rgba(242,237,228,.14);padding:28px;display:flex;flex-direction:column;gap:16px;overflow:hidden;animation:tstIn .8s cubic-bezier(.2,.7,.1,1) both;transition:transform .5s cubic-bezier(.2,.7,.1,1),border-color .4s,box-shadow .4s}
.tst-card:hover{transform:translateY(-6px);border-color:rgba(255,90,31,.5);box-shadow:0 22px 50px rgba(0,0,0,.45)}
.tst-quote{font:400 4.5rem/.6 Anton,Impact,sans-serif;color:#FF5A1F;height:26px}
.tst-card p{margin:0;color:rgba(242,237,228,.9);line-height:1.6;flex:1}
.tst-card footer{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid rgba(242,237,228,.14)}
.tst-card footer b{display:block;font-weight:600;font-size:.92rem}
.tst-card footer small{color:#9A968E;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.tst-empty{border:1px dashed rgba(242,237,228,.14);padding:40px 24px;text-align:center;color:#9A968E;display:grid;gap:18px;justify-items:center}
@keyframes rvsIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rvsPop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes tstIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (max-width:820px){.rvs-summary{grid-template-columns:1fr}}
@media (max-width:640px){.rvs-pause{margin-left:0;width:100%;order:5}.rvs-count{order:-1;min-width:0}.rvs-stage{padding-bottom:150px}.rvs-controls{justify-content:space-between}}
@media (prefers-reduced-motion:reduce){.rvs-slide,.rvs-slide.active .rvs-text,.rvs-slide.active .rvs-avatar,.tst-card{animation:none!important;transition:none!important}}
