/* ================================================
   TESTIMONIALS
================================================ */
#testimonials { background:var(--ink2); position:relative; overflow:hidden; }
#testimonials::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent 0%, var(--gold) 50%, transparent 100%);
}
.testi-head { text-align:center; margin-bottom:4.5rem; }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.tcard {
  background:var(--ink3); border:1px solid var(--border2);
  border-radius:16px; padding:2.8rem 2.4rem;
  transition:all .4s var(--ease); position:relative; overflow:hidden;
}
.tcard::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:0; transition:opacity .4s;
}
.tcard:hover { border-color:var(--border); transform:translateY(-8px); box-shadow:0 30px 60px rgba(0,0,0,.4); }
.tcard:hover::before { opacity:1; }
.t-stars { color:var(--gold); font-size:.95rem; letter-spacing:.15em; margin-bottom:1.4rem; }
.t-quote {
  font-family:var(--serif); font-size:1.22rem; font-weight:300;
  font-style:italic; line-height:1.75; color:var(--white); margin-bottom:2.2rem;
}
.t-author { display:flex; align-items:center; gap:1rem; }
.t-avatar {
  width:48px; height:48px; border-radius:50%; overflow:hidden; flex-shrink:0;
  border:2px solid var(--border);
}
.t-avatar img { width:100%; height:100%; object-fit:cover; }
.t-name { font-size:.88rem; font-weight:600; color:var(--white); }
.t-role { font-size:.75rem; color:var(--w40); margin-top:.2rem; }
