.testi-sect {
  background: linear-gradient(160deg, #F0F9F4 0%, #EAF5EE 40%, #F4FAF7 100%);
  padding: 88px 56px 96px;
  border-top: 1px solid #D9EFDF;
  position: relative; overflow: hidden;
}
.testi-sect::before {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 800px 500px at 50% 0%, rgba(30,160,71,.05) 0%, transparent 65%);
}
.testi-inner { max-width: 1060px; margin: 0 auto; position: relative; z-index: 1; }
.testi-header { text-align: center; margin-bottom: 56px; }
.testi-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(30,160,71,.1); border: 1px solid rgba(30,160,71,.25);
  border-radius: 100px; padding: 5px 16px;
  font-size: 10.5px; font-weight: 800; color: #166534; letter-spacing: 1px;
  text-transform: uppercase; margin-bottom: 20px;
}
.testi-title {
  font-size: clamp(28px, 3.2vw, 44px); font-weight: 900;
  color: var(--navy); line-height: 1.15; letter-spacing: -.7px; margin-bottom: 14px;
}
.testi-title em { font-style: normal; color: #1EA047; }
.testi-sub {
  font-size: 15px; color: var(--text-l); line-height: 1.75;
  max-width: 460px; margin: 0 auto;
}

/* 3-col grid */
.testi-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  margin-bottom: 48px;
}

.testi-card {
  background: white; border-radius: 20px; padding: 28px 26px 24px;
  border: 1.5px solid #E4EDF5;
  box-shadow: 0 2px 16px rgba(13,33,55,.06), 0 1px 4px rgba(13,33,55,.04);
  position: relative; overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s;
  display: flex; flex-direction: column;
}
.testi-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(30,160,71,.1), 0 4px 12px rgba(13,33,55,.06);
  border-color: rgba(30,160,71,.28);
}
/* Large quote mark */
.testi-card::before {
  content: '"';
  position: absolute; top: 10px; right: 18px;
  font-size: 90px; font-family: 'Playfair Display', serif;
  color: rgba(30,160,71,.07); line-height: 1;
  pointer-events: none;
}
.testi-stars { display: flex; gap: 2px; margin-bottom: 16px; }
.testi-stars span { color: #F59E0B; font-size: 15px; }
.testi-text {
  font-size: 14px; line-height: 1.78; color: #374151;
  flex: 1; margin-bottom: 24px; position: relative; z-index: 1;
}
.testi-text strong { color: #1EA047; font-weight: 700; }
.testi-author {
  display: flex; align-items: center; gap: 11px;
  padding-top: 18px; border-top: 1px solid #F0F4F8; margin-top: auto;
}
.testi-avatar {
  width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; font-weight: 900; color: white;
  background: linear-gradient(135deg, #1EA047, #00B894);
  border: 2px solid rgba(30,160,71,.2);
}
.testi-author-info { flex: 1; min-width: 0; }
.testi-author-name { font-size: 13px; font-weight: 800; color: var(--navy); }
.testi-author-role { font-size: 11.5px; color: var(--text-l); margin-top: 2px; line-height: 1.4; }
.testi-bank-badge {
  font-size: 10px; font-weight: 800; color: #1EA047;
  background: rgba(30,160,71,.08); border: 1px solid rgba(30,160,71,.2);
  padding: 4px 11px; border-radius: 100px; white-space: nowrap; flex-shrink: 0;
}

/* ── Testi CTA Button ── */
.testi-cta-wrap { text-align: center; }
.testi-cta-btn {
  display: inline-flex; align-items: center; gap: 12px;
  background: #0C2B1A;
  color: #CCFF33;
  border: 2px solid #CCFF33;
  border-radius: 100px;
  padding: 15px 36px;
  font-size: 15px; font-weight: 800;
  text-decoration: none;
  position: relative; overflow: hidden;
  box-shadow: 0 0 22px rgba(180,255,30,.3), 0 0 50px rgba(180,255,30,.1);
  transition: all .32s cubic-bezier(.34,1.1,.64,1);
  letter-spacing: .3px;
  font-family: 'Be Vietnam Pro', sans-serif;
}
.testi-cta-btn:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 0 32px rgba(180,255,30,.5), 0 0 70px rgba(180,255,30,.18);
  background: #0F3820;
}
.testi-cta-btn::before {
  content: '';
  position: absolute; top: 0; left: -80%; width: 50%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(204,255,51,.14), transparent);
  transform: skewX(-18deg); transition: left .65s ease;
}
.testi-cta-btn:hover::before { left: 130%; }

.testi-cta-icon {
  width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
  background: #CCFF33;
  display: flex; align-items: center; justify-content: center;
  transition: transform .32s cubic-bezier(.34,1.5,.64,1);
  animation: testi-ring 3s ease-in-out infinite;
}
.testi-cta-icon svg { display: block; }
.testi-cta-btn:hover .testi-cta-icon { transform: scale(1.1) rotate(-10deg); animation: none; }

@keyframes testi-ring {
  0%,60%,100% { transform: rotate(0); }
  65%  { transform: rotate(-12deg); }
  70%  { transform: rotate(12deg); }
  75%  { transform: rotate(-8deg); }
  80%  { transform: rotate(8deg); }
  85%  { transform: rotate(0); }
}

.testi-cta-text {
  position: relative; z-index: 1;
  color: #CCFF33; font-weight: 800; font-size: 15px;
}

/* Pulse ring */
.testi-cta-pulse {
  position: absolute; inset: -3px; border-radius: 100px;
  border: 2px solid rgba(204,255,51,.4);
  animation: testi-pulse 2.2s ease-out infinite;
  pointer-events: none;
}
@keyframes testi-pulse {
  0%  { opacity: .65; transform: scale(1); }
  100% { opacity: 0;  transform: scale(1.1); }
}
