.testi{padding:80px 0;background:var(--dark-bg);overflow:hidden}
.testi .sec-title{color:var(--txt-light)}
.stars{color:#fbbf24;font-size:1rem;margin-bottom:4px}
.stars-txt{font-size:.85rem;color:var(--txt-muted);margin-bottom:32px}
.cmp-link-a{color:var(--accent);font-weight:600;font-size:.85rem;text-decoration:none;letter-spacing:1px}
.marquee-wrap{overflow:hidden;position:relative;width:100%}
.marquee-wrap::before,.marquee-wrap::after{content:'';position:absolute;top:0;width:80px;height:100%;z-index:2;pointer-events:none}
.marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--dark-bg),transparent)}
.marquee-wrap::after{right:0;background:linear-gradient(270deg,var(--dark-bg),transparent)}
.marquee-track{display:flex;gap:20px;width:max-content}
.marquee-left{animation:scrollLeft 40s linear infinite}
.marquee-right{animation:scrollRight 45s linear infinite}
@keyframes scrollLeft{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes scrollRight{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
.t-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px;width:380px;flex-shrink:0;transition:all .3s}
.t-card:hover{border-color:rgba(30,177,180,.3);background:rgba(255,255,255,.06)}
.t-stars{color:#fbbf24;font-size:.8rem;margin-bottom:10px}
.t-text{font-size:.88rem;line-height:1.7;color:var(--txt-muted);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.t-read-more{background:none;border:none;color:var(--accent);font-size:.8rem;font-weight:600;cursor:pointer;padding:0;margin-bottom:16px;display:block;font-family:inherit}
.t-read-more:hover{opacity:.75}
.t-author{display:flex;align-items:center;gap:10px}
.t-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--blue));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.8rem;flex-shrink:0}
.t-name{font-weight:600;font-size:.85rem;color:var(--txt-light)}
.t-role{font-size:.75rem;color:var(--txt-muted)}
.t-card{cursor:pointer}

/* ── REVIEW MODAL ─────────────────────────────────────────────── */
.rm-overlay{position:fixed;inset:0;background:rgba(10,15,30,.7);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}
.rm-overlay.rm-open{opacity:1;pointer-events:all}
.rm-box{background:#fff;border-radius:20px;padding:32px;max-width:560px;width:100%;position:relative;max-height:90vh;overflow-y:auto;transform:translateY(12px);transition:transform .25s}
.rm-overlay.rm-open .rm-box{transform:translateY(0)}
.rm-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.6rem;cursor:pointer;color:#94a3b8;line-height:1;padding:4px 8px;border-radius:8px;transition:color .2s}
.rm-close:hover{color:#1a2540}
.rm-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.rm-av{width:48px;height:48px;border-radius:50%;color:#fff;font-weight:700;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Space Grotesk',sans-serif}
.rm-meta{flex:1}
.rm-name{font-weight:700;color:#1a2540;font-size:1rem}
.rm-date{font-size:.82rem;color:#94a3b8}
.rm-stars{color:#fbbf24;font-size:1.15rem;margin-bottom:16px;letter-spacing:2px}
.rm-text{font-size:.95rem;color:#475569;line-height:1.85;margin:0}
.rm-source{font-size:.78rem;color:#94a3b8;margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9}
