/* Zeshan Reviews — premium rotating showcase (uses theme tokens) */
.zrv-showcase{max-width:820px;margin:0 auto;text-align:center}
.zrv-stage{position:relative;background:var(--surface,#111820);border:1px solid var(--line,#1e2a33);
	border-radius:22px;padding:56px 48px 48px;overflow:hidden}
.zrv-stage::before{content:"";position:absolute;top:-30%;left:50%;transform:translateX(-50%);
	width:420px;height:420px;border-radius:50%;
	background:radial-gradient(circle,rgba(45,212,191,.1),transparent 65%);pointer-events:none}
.zrv-quotemark{position:absolute;top:16px;left:34px;font-family:Georgia,serif;font-size:110px;line-height:1;
	color:var(--teal,#2dd4bf);opacity:.16;pointer-events:none}

.zrv-slides{position:relative;min-height:230px;z-index:1}
.zrv-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
	opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease,visibility .5s}
.zrv-slide.is-active{opacity:1;visibility:visible;transform:none;position:relative}
.zrv-stars{color:var(--teal,#2dd4bf);letter-spacing:3px;font-size:16px;margin-bottom:20px}
.zrv-quote{font-family:'Sora',sans-serif;font-size:clamp(18px,2.4vw,23px);line-height:1.55;font-weight:500;
	color:var(--ink,#e9f1f4);margin:0 0 28px;letter-spacing:-.01em;max-width:640px}
.zrv-author{display:flex;align-items:center;justify-content:center;gap:13px}
.zrv-av{width:52px;height:52px;font-size:20px}
.zrv-meta{text-align:left;display:flex;flex-direction:column}
.zrv-name{font-family:'Sora',sans-serif;font-weight:600;font-size:16px;color:var(--ink,#e9f1f4)}
.zrv-role{font-size:13px;color:var(--faint,#5e727b)}

/* Nav */
.zrv-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:30px}
.zrv-nav-btn{width:44px;height:44px;border-radius:50%;background:var(--surface,#111820);
	border:1px solid var(--line,#1e2a33);color:var(--ink,#e9f1f4);cursor:pointer;
	display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0}
.zrv-nav-btn:hover{border-color:var(--teal,#2dd4bf);color:var(--teal,#2dd4bf);transform:scale(1.06)}
.zrv-nav-btn svg{width:19px;height:19px}

.zrv-avatars{display:flex;align-items:center;gap:10px}
.zrv-avatar-btn{position:relative;width:44px;height:44px;border:0;background:none;padding:0;cursor:pointer;
	border-radius:50%;opacity:.5;transition:opacity .25s,transform .25s;filter:grayscale(.3)}
.zrv-avatar-btn:hover{opacity:.85}
.zrv-avatar-btn.is-active{opacity:1;transform:scale(1.12);filter:none}
.zrv-avatar-btn .avatar{width:44px;height:44px;font-size:17px}
.zrv-ring{position:absolute;inset:-4px;border-radius:50%;pointer-events:none}
.zrv-avatar-btn.is-active .zrv-ring{border:2px solid var(--teal,#2dd4bf)}
/* progress sweep on active avatar */
.zrv-avatar-btn.is-active .zrv-ring::after{content:"";position:absolute;inset:-2px;border-radius:50%;
	background:conic-gradient(var(--teal,#2dd4bf) var(--zrv-progress,0deg),transparent 0);
	-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));
	        mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));opacity:.85}

@media(max-width:600px){
	.zrv-stage{padding:44px 24px 34px}
	.zrv-avatars{gap:6px}
	.zrv-avatar-btn,.zrv-avatar-btn .avatar{width:38px;height:38px}
	/* keep only a few avatars visible on tiny screens */
	.zrv-avatars .zrv-avatar-btn:nth-child(n+6){display:none}
}
@media(prefers-reduced-motion:reduce){
	.zrv-slide{transition:opacity .2s}
}
