.comment-card { border: 0; border-radius: 1.25rem; padding: 2rem; box-shadow: 0 10px 30px rgba(0,0,0,.08); backdrop-filter: blur(6px); }
.comment-quote { font-size: 2.75rem; line-height: 1; opacity: .25; }
.comment-text { font-size: 1.05rem; }
.comment-meta .name { font-weight: 600; }
.comment-meta .role { opacity: .7; font-size: .9rem; }
.carousel-control-prev, .carousel-control-next { width: 3rem; height: 3rem; top: 50%; transform: translateY(-50%); background: rgba(0,0,0,.05); border-radius: 999px; }
.carousel-indicators [data-bs-target]{ width: .7rem; height: .7rem; border-radius: 999px; }

/* Avatar styling; radius handled via class, size inline */
.comment-avatar { object-fit: cover; box-shadow: 0 2px 8px rgba(0,0,0,.08); }

/* Headline color animation when AOS triggers */
.title-color { --aos-title-initial:#1f2937; --aos-title-active:#7c3aed; color: var(--aos-title-initial); transition: color .6s ease, transform .6s ease; }
.title-color.aos-animate { color: var(--aos-title-active); }

/* Modern card effects */
.comment-card {
  position: relative;
  transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s cubic-bezier(.2,.8,.2,1), background .35s ease;
  will-change: transform;
  
  overflow: hidden;
  color: #fff;
  --ang: 0deg;
  --mx: 50%;
  --my: 50%;
  background-color: #2b4e9500;
  background-image: radial-gradient(800px 600px at var(--mx) var(--my), rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.04) 30%, rgba(255,255,255,0.0) 60%), conic-gradient(from var(--ang), rgba(14,165,233,0.18) 0%, rgba(147,51,234,0.18) 25%, rgba(14,165,233,0.18) 50%, rgba(99,102,241,0.18) 75%, rgba(14,165,233,0.18) 100%);
  background-blend-mode: screen;

}
.comment-card:hover { transform: translateY(-6px) scale(1.01); box-shadow: 0 16px 48px rgba(0,0,0,.14); }
.comment-card.bg-dark { background: rgba(17,24,39,.85); box-shadow: 0 10px 30px rgba(0,0,0,.4); }
.comment-card::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(135deg, #7c3aed, #06b6d4);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
.comment-text + div [aria-hidden="true"] { transition: transform .3s ease; }
.comment-card:hover .comment-text + div [aria-hidden="true"] { transform: translateY(-1px) scale(1.05); }

/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce) {
  .carousel, .comment-card, .title-color { animation: none !important; transition: none !important; }
}
