.testimonials-hero {
  grid-template-columns: minmax(0, 1fr);
}

.testimonials-hero .service-hero__copy {
  max-width: 52rem;
}

.testimonials-score {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.4rem 0.9rem;
  margin-top: 1.6rem;
}

.testimonials-score[hidden] {
  display: none;
}

.testimonials-score__number {
  font-size: clamp(2.6rem, 4vw, 3.4rem);
  font-weight: 700;
  line-height: 1;
}

.testimonials-score__stars {
  color: var(--lime);
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  letter-spacing: 0.14em;
}

.testimonials-score__count {
  color: var(--on-ink);
  font-size: 1.05rem;
  font-weight: 600;
}

.testimonials-wall {
  display: grid;
  width: min(100% - 3rem, 80rem);
  margin-inline: auto;
  padding: clamp(3rem, 6vw, 5rem) 0;
  grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.testimonials-wall[hidden] {
  display: none;
}

.review-card {
  display: grid;
  align-content: start;
  gap: 0.85rem;
  padding: clamp(1.4rem, 2.4vw, 1.9rem);
  border-radius: 0.9rem;
  background: var(--white);
  color: var(--ink);
}

.review-card__stars {
  color: var(--ink);
  font-size: 1.05rem;
  letter-spacing: 0.16em;
}

.review-card__text {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.55;
  white-space: pre-line;
}

.review-card__meta {
  color: var(--muted-ink);
  font-size: 0.92rem;
  font-weight: 600;
}

.testimonials-fallback {
  width: min(100% - 3rem, 80rem);
  margin-inline: auto;
  padding: clamp(2.5rem, 5vw, 4rem) 0;
  color: var(--muted-ink);
  font-size: 1.05rem;
}

.testimonials-fallback[hidden] {
  display: none;
}

.testimonials-body .service-close {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
}
