.testimonials .testimonial-grid {
  align-items: stretch;
}

.testimonials .testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  background: #ffffff;
  border-radius: 20px;
  padding: 32px 28px 30px;
  box-shadow: 0 12px 30px rgba(5, 82, 42, 0.07);
  border: 1px solid #3A9D68;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.testimonials .testimonial-card::before {
  position: absolute;
  top: 18px;
  right: 24px;
  color: color-mix(in srgb, var(--accent-color), transparent 72%);
  content: "\201C";
  font-family: Georgia, serif;
  font-size: 3.8rem;
  line-height: 1;
  pointer-events: none;
}

.testimonials .testimonial-card:hover {
  transform: translateY(-4px);
  border-color: var(--accent-color);
  box-shadow: 0 20px 42px rgba(5, 82, 42, 0.12);
}

.testimonials .testimonial-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent-color), white 91%);
  border: 1px solid color-mix(in srgb, var(--accent-color), white 55%);
  margin-bottom: 1.25rem;
}

.testimonials .testimonial-card h3 {
  margin: 0 0 1rem;
  color: var(--heading-color);
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
}

.testimonials .testimonial-card p {
  margin: 0 0 0.6rem;
  color: color-mix(in srgb, var(--default-color), transparent 18%);
  line-height: 1.75;
  font-size: 0.95rem;
}

@media (max-width: 575px) {
  .testimonials .testimonial-card {
    padding: 26px 20px 24px;
  }
}
