/* === Testimonials (from scratch) === */
:root{--onyx:#0b0f17;--text-hi:rgba(255,255,255,.92);--text-med:rgba(255,255,255,.62)}
/* Section wrapper */
[data-section="testimonials"], #testimonials, .testimonials{display:flex;justify-content:center;padding:4rem 1rem}
.t-container{max-width:780px;width:100%;margin:0 auto}
/* Heading */
.t-h{color:var(--text-hi);font-weight:700;letter-spacing:-.01em;text-transform:uppercase;font-size:clamp(1.25rem,2vw,1.5rem);margin:0 0 .5rem}
.t-sub{color:var(--text-med);font-size:clamp(.9rem,1.2vw,1rem);margin:0 0 1.25rem}
/* Rotator */
.t-rotator{position:relative;min-height:220px}
.t-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease, visibility .6s ease}
.t-slide[aria-current="true"]{opacity:1;visibility:visible}
/* Card */
.t-card{border-radius:20px;padding:2rem;background:rgba(255,255,255,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 40px rgba(0,0,0,.45);outline:1px solid rgba(255,255,255,.12)}
/* Header row */
.t-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.t-meta{min-width:0}
.t-author{color:var(--text-hi);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-company{color:var(--text-med);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-logo{display:inline-block;height:36px;max-height:40px;width:auto;object-fit:contain;opacity:.95}
.t-quote{color:var(--text-hi);font-size:1.05rem;line-height:1.6}
/* Dots */
.t-dots{display:flex;gap:8px;justify-content:center;margin-top:14px}
.t-dot{width:22px;height:6px;border-radius:999px;border:0;background:rgba(255,255,255,.22);cursor:pointer}
.t-dot[aria-current="true"]{background:rgba(255,255,255,.82)}
