/* FRACAD verified student reviews — public page and homepage summary. Brand: ink #0a0d12, gold #e9b44c, cream #f7f2e8, Syne + Manrope. */
.rv-page{background:var(--ink,#0a0d12)}
.rv-hero{position:relative;isolation:isolate;overflow:hidden;padding:clamp(120px,14vw,170px) 0 clamp(64px,8vw,96px);text-align:center}
.rv-hero:before{content:"";position:absolute;inset:-30% -10% auto;height:120%;z-index:-1;background:radial-gradient(60% 55% at 50% 20%,rgba(233,180,76,.22),transparent 70%),radial-gradient(40% 40% at 85% 70%,rgba(233,180,76,.08),transparent 70%)}
.rv-hero h1{font-family:var(--ser,"Syne",sans-serif);font-size:clamp(40px,6vw,72px);line-height:1.02;letter-spacing:-.025em;color:#fff;margin:0 auto;max-width:14ch}
.rv-hero .eyebrow{justify-content:center}
.rv-hero .lead{margin:22px auto 0;color:#c9d2db;max-width:600px}
.rv-body{background:var(--cream,#f7f2e8);color:#18202a;padding:clamp(40px,6vw,80px) 0 clamp(70px,9vw,120px);border-radius:32px 32px 0 0}
.rv-grid{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.rv-summary{position:sticky;top:96px}
.rv-score{background:#fff;border-radius:28px;padding:34px 32px 30px;box-shadow:0 1px 2px rgba(24,32,42,.04),0 24px 60px -24px rgba(24,32,42,.18);border:1px solid rgba(164,110,18,.12)}
.rv-score-kicker{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:#a46e12;font-weight:700;margin:0 0 10px}
.rv-score-num{font-family:var(--ser,"Syne",sans-serif);font-size:84px;line-height:.95;font-weight:700;letter-spacing:-.04em;color:#0a0d12;margin:0 0 12px}
.rv-score-num.rv-score-few{font-size:64px}
.rv-score-of{font-size:26px;color:#8a929c;letter-spacing:0;margin-left:6px;font-weight:600}
.rv-score-sub{margin:12px 0 0;color:#4b5662;font-size:15px}
.rv-score-note{margin:14px 0 0;color:#6b7480;font-size:14px;line-height:1.5}
.rv-stars{display:block;overflow:visible}
.rv-stars .off path{fill:#e8e2d4}
.rv-stars .on path{fill:#e9b44c}
.rv-dist{list-style:none;margin:26px 0 0;padding:22px 0 0;border-top:1px solid #f0ebe0;display:grid;gap:11px}
.rv-dist li{display:grid;grid-template-columns:54px 1fr 40px;gap:12px;align-items:center;font-size:14px;color:#4b5662}
.rv-dist-bar{width:100%;height:8px;display:block}
.rv-dist-bar .track{fill:#f1ece1}.rv-dist-bar .fill{fill:#e9b44c}
.rv-dist-pct{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#18202a}
.rv-prog{margin-top:22px;padding-top:18px;border-top:1px solid #f0ebe0;display:grid;gap:8px}
.rv-prog-row{display:flex;justify-content:space-between;font-size:14px}
.rv-prog-name{color:#4b5662}.rv-prog-val{font-weight:700;color:#18202a}
.rv-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.rv-chips{display:flex;gap:8px;flex-wrap:wrap}
.rv-chip{font:600 14.5px/1 var(--sans,"Manrope",sans-serif);padding:12px 18px;min-height:44px;border-radius:999px;border:1px solid #e3dccb;background:#fff;color:#18202a;cursor:pointer;transition:background .2s,border-color .2s,transform .2s var(--ease,ease)}
.rv-chip:hover{border-color:#c9a35a;transform:translateY(-1px)}
.rv-chip[aria-checked=true]{background:#0a0d12;border-color:#0a0d12;color:#fff}
.rv-chip:focus-visible,.rv-more:focus-visible,.rv-read:focus-visible,.rv-sort select:focus-visible{outline:3px solid #e9b44c;outline-offset:2px}
.rv-sort{display:flex;align-items:center;gap:10px;font-size:14px;color:#4b5662}
.rv-sort select{font:600 14.5px var(--sans,"Manrope",sans-serif);padding:11px 38px 11px 14px;min-height:44px;border-radius:12px;border:1px solid #e3dccb;background:#fff;color:#18202a}
.rv-count{font-size:14px;color:#6b7480;margin:6px 0 18px}
.rv-list{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.rv-card{background:#fff;border-radius:24px;padding:28px 30px 26px;box-shadow:0 1px 2px rgba(24,32,42,.04),0 14px 40px -26px rgba(24,32,42,.22);border:1px solid #f0ebe0;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease,ease),transform .5s var(--ease,ease)}
.rv-card.in{opacity:1;transform:none}
.rv-card-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rv-word{font-weight:700;font-size:14px;color:#18202a}
.rv-date{margin-left:auto;font-size:13.5px;color:#8a929c}
.rv-title{font-family:var(--ser,"Syne",sans-serif);font-size:22px;line-height:1.25;letter-spacing:-.01em;color:#0a0d12;margin:16px 0 8px}
.rv-text{color:#36404c;font-size:16.5px;line-height:1.7;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.rv-text.clamp{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rv-read{background:none;border:0;padding:8px 0;margin-top:4px;font:700 14px var(--sans,sans-serif);color:#a46e12;cursor:pointer}
.rv-who{display:flex;align-items:center;gap:14px;margin-top:20px;padding-top:18px;border-top:1px solid #f4efe5}
.rv-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:700 15px var(--ser,sans-serif);color:#0a0d12;background:linear-gradient(135deg,#f6d58e,#e9b44c);flex:none}
.rv-who-meta{display:grid;gap:4px}
.rv-name{font-weight:700;color:#18202a}
.rv-who-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.rv-badge{display:inline-flex;gap:5px;align-items:center;font-size:12.5px;font-weight:700;color:#14663f;background:#e7f6ee;border-radius:999px;padding:4px 10px 4px 7px}
.rv-badge .seal{fill:#1f9d61}.rv-badge .tick{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rv-prog-chip{font-size:12.5px;font-weight:700;color:#7a520c;background:#fbf1d9;border-radius:999px;padding:4px 10px}
.rv-reply{margin-top:18px;background:#faf7f0;border-radius:16px;padding:16px 18px;border-left:3px solid #e9b44c}
.rv-reply-head{margin:0 0 6px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#a46e12}
.rv-reply-text{margin:0;color:#36404c;font-size:15.5px;line-height:1.65;white-space:pre-line}
.rv-more-wrap{text-align:center;margin-top:26px}
.rv-more{font:700 15px var(--sans,sans-serif);padding:15px 26px;min-height:48px;border-radius:999px;border:1px solid #0a0d12;background:transparent;color:#0a0d12;cursor:pointer;transition:background .2s,color .2s}
.rv-more:hover{background:#0a0d12;color:#fff}
.rv-how{margin-top:34px;background:transparent;border-top:1px solid #e6dfcf;padding-top:18px;color:#4b5662;font-size:15px}
.rv-how summary{cursor:pointer;font-weight:700;color:#18202a;min-height:44px;display:flex;align-items:center}
.rv-how ul{padding-left:20px}
.rv-how a{color:#a46e12}
.rv-off{display:grid;place-items:center;padding:20px 0}
.rv-off-card{background:#fff;border-radius:28px;padding:48px clamp(24px,5vw,64px);text-align:center;max-width:620px;box-shadow:0 24px 60px -30px rgba(24,32,42,.25)}
.rv-off-card h2{font-family:var(--ser,"Syne",sans-serif);font-size:clamp(26px,3vw,34px);color:#0a0d12;margin:16px 0 10px}
.rv-off-card p{color:#4b5662}
.rv-off-stars{display:flex;justify-content:center;gap:6px;font-size:30px;color:#e9b44c}
.rv-off-stars span{animation:rvTwinkle 2.4s ease-in-out infinite}
.rv-off-stars span:nth-child(2){animation-delay:.15s}.rv-off-stars span:nth-child(3){animation-delay:.3s}.rv-off-stars span:nth-child(4){animation-delay:.45s}.rv-off-stars span:nth-child(5){animation-delay:.6s}
@keyframes rvTwinkle{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}
.rv-btn{display:inline-flex;align-items:center;min-height:48px;margin-top:14px;padding:0 24px;border-radius:999px;background:#0a0d12;color:#fff;font-weight:700;text-decoration:none}
.rv-skel{height:16px;border-radius:8px;margin:12px 0;background:linear-gradient(90deg,#efe9dc,#f8f4ec,#efe9dc);background-size:200% 100%;animation:rvShimmer 1.4s linear infinite}
.rv-skel-big{height:92px;border-radius:20px}
@keyframes rvShimmer{to{background-position:-200% 0}}
.rv-noscript{text-align:center;color:#4b5662}
/* Homepage summary (shown only when the owner enables it and the minimum count is met). */
.rv-home{display:flex;width:fit-content;max-width:92vw;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:18px auto 0;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(233,180,76,.35);color:#f3f5f7;text-decoration:none;font-size:15px}
.rv-home b{color:#f6d58e;font-family:var(--ser,sans-serif)}
.rv-home .rv-stars .off path{fill:rgba(255,255,255,.18)}
@media (max-width:900px){.rv-grid{grid-template-columns:1fr}.rv-summary{position:static}}
@media (max-width:560px){.rv-score{padding:26px 22px;border-radius:24px}.rv-score-num{font-size:68px}.rv-card{padding:22px 20px;border-radius:20px}.rv-title{font-size:19.5px}.rv-text{font-size:16px}.rv-tools{align-items:stretch}.rv-chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -4vw;padding:2px 4vw 6px;scrollbar-width:none}.rv-chip{white-space:nowrap}.rv-sort{width:100%}.rv-sort select{flex:1}.rv-date{margin-left:0;flex-basis:100%;order:3}.rv-body{border-radius:24px 24px 0 0}}
@media (prefers-reduced-motion:reduce){.rv-card,.rv-chip{transition:none}.rv-card{opacity:1;transform:none}.rv-off-stars span,.rv-skel{animation:none}}
.rv-home[hidden],.rv-off[hidden],.rv-grid[hidden],.rv-more[hidden]{display:none}
.rv-grid>*{min-width:0}
@media (max-width:900px){.rv-grid{grid-template-columns:minmax(0,1fr)}}
