.pp-testimonials {
  --pp-testimonial-ink: #1a2630;
  --pp-testimonial-muted: #5a6872;
  --pp-testimonial-line: #e4ddce;
  --pp-testimonial-paper: #fffdf9;
  --pp-testimonial-gold: #8a5c00;
}

.pp-testimonials__inner {
  width: min(100%, 1140px);
  margin-inline: auto;
}

.pp-testimonials__heading {
  margin-bottom: .55rem;
}

.pp-testimonials__intro {
  max-width: 670px;
  margin: 0;
  color: var(--pp-testimonial-muted);
  line-height: 1.65;
}

.pp-testimonials__grid {
  display: grid;
  align-items: stretch;
  gap: 1rem;
  margin-top: 1.5rem;
}

.pp-testimonials__grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pp-testimonials__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.pp-testimonials__card {
  min-width: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  padding: 1.35rem 1.4rem;
  border: 1px solid var(--pp-testimonial-line);
  border-radius: 12px;
  background: var(--pp-testimonial-paper);
  color: var(--pp-testimonial-ink);
  box-shadow: 0 5px 18px rgba(26, 38, 48, .045);
}

.pp-testimonials__stars {
  display: flex;
  gap: .14em;
  margin-bottom: .75rem;
  color: var(--pp-testimonial-gold);
  font-size: .9rem;
  line-height: 1;
  letter-spacing: .02em;
}

.pp-testimonials__quote {
  flex: 1 0 auto;
  margin: 0 0 1.3rem;
  color: var(--pp-testimonial-ink);
  font-size: .94rem;
  line-height: 1.65;
}

.pp-testimonials__attribution {
  display: flex;
  flex-direction: column;
  gap: .12rem;
  margin-top: auto;
  padding-top: .85rem;
  border-top: 1px solid rgba(26, 38, 48, .09);
}

.pp-testimonials__attribution strong {
  font-size: .87rem;
  line-height: 1.35;
  font-weight: 700;
}

.pp-testimonials__attribution span {
  color: var(--pp-testimonial-muted);
  font-size: .78rem;
  line-height: 1.45;
}

.pp-testimonials--primary {
  padding: 3.5rem 0;
  background: #f5f2ed;
  border-block: 1px solid var(--pp-testimonial-line);
}

.pp-testimonials--primary .pp-testimonials__card { min-height: 220px; }
.pp-testimonials--secondary { padding: 3rem 0 3.5rem; }
.pp-testimonials--secondary .pp-testimonials__card { background: #fbf9f5; }

.pp-testimonials--landing {
  margin: 2rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid rgba(26, 38, 48, .1);
}

.pp-testimonials--landing .pp-testimonials__inner { max-width: 740px; }
.pp-testimonials--landing .pp-testimonials__heading { font-size: clamp(1.4rem, 3vw, 1.75rem); }
.pp-testimonials--landing .pp-testimonials__grid { gap: .85rem; margin-top: 1rem; }
.pp-testimonials--landing .pp-testimonials__card { padding: 1.15rem 1.2rem; }

.pp-testimonials--compact {
  width: min(100%, 600px);
  margin: 1rem auto 0;
}

.pp-testimonials__card--compact {
  min-height: 0;
  padding: .9rem 1.1rem;
  border-color: rgba(26, 38, 48, .1);
  border-radius: 12px;
  background: rgba(255, 253, 249, .86);
  box-shadow: none;
}

.pp-testimonials__card--compact .pp-testimonials__stars {
  margin-bottom: .35rem;
  font-size: .78rem;
}

.pp-testimonials__card--compact .pp-testimonials__quote {
  margin-bottom: .5rem;
  font-size: .84rem;
  line-height: 1.5;
}

.pp-testimonials__card--compact .pp-testimonials__attribution {
  display: block;
  padding-top: 0;
  border: 0;
  font-size: .76rem;
}

.pp-testimonials__card--compact .pp-testimonials__attribution strong { font-size: .78rem; }
.pp-testimonials__card--compact .pp-testimonials__attribution span { font-size: .74rem; }

.pp-testimonials--featured {
  max-width: 700px;
  margin: 1.4rem auto 0;
}

.pp-testimonials__card--featured {
  min-height: 0;
  padding: clamp(1.35rem, 3vw, 2rem);
  border-radius: 16px;
  background: #fbf9f5;
}

.pp-testimonials__card--featured .pp-testimonials__stars { font-size: 1rem; margin-bottom: 1rem; }
.pp-testimonials__card--featured .pp-testimonials__quote {
  margin-bottom: 1.35rem;
  font-size: clamp(1.05rem, 2.1vw, 1.25rem);
  line-height: 1.6;
}
.pp-testimonials__card--featured .pp-testimonials__attribution strong { font-size: .95rem; }

@media (max-width: 767px) {
  .pp-testimonials__grid--three,
  .pp-testimonials__grid--two { grid-template-columns: minmax(0, 1fr); }
  .pp-testimonials--primary { padding: 2.5rem 0; }
  .pp-testimonials--primary .pp-testimonials__card { min-height: 0; }
  .pp-testimonials--secondary { padding: 2.5rem 0; }
  .pp-testimonials--landing { margin-top: 1.5rem; padding-top: 1.2rem; }
  .pp-testimonials--landing .pp-testimonials__grid { margin-top: .8rem; gap: .7rem; }
  .pp-testimonials--compact { margin-top: .75rem; }
}
