.reviews {
  padding: 120px 0;
  background: var(--paper);
}

.reviews-intro {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 90px;
  align-items: end;
}

.reviews h2 {
  margin: 28px 0 0;
  font: 500 clamp(38px, 4.7vw, 64px) / 1.05 'Playfair Display', serif;
  letter-spacing: -.025em;
}

.reviews h2 em {
  color: var(--gold);
  font-weight: 500;
}

.reviews-intro > p {
  margin: 0 0 6px;
  color: var(--muted);
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 70px;
  background: #d8d3c9;
  border: 1px solid #d8d3c9;
}

.review-card {
  min-height: 385px;
  padding: 38px 34px;
  display: flex;
  flex-direction: column;
  background: #f8f5ee;
}

.review-card.featured {
  background: #e8e1d4;
}

.stars {
  color: #a98246;
  font-size: 14px;
  letter-spacing: .25em;
}

.review-card blockquote {
  margin: 34px 0;
  color: #26322d;
  font: 500 21px / 1.65 'Playfair Display', serif;
}

.review-card footer {
  margin-top: auto;
  padding: 22px 0 0;
  border-top: 1px solid #d4cec2;
  background: transparent;
  color: var(--ink);
}

.review-card footer strong,
.review-card footer span {
  display: block;
}

.review-card footer strong {
  font-size: 14px;
}

.review-card footer span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}

.sample-note {
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 12px;
  text-align: right;
}

@media (max-width: 980px) {
  .review-grid { grid-template-columns: 1fr; }
  .review-card { min-height: auto; }
}

@media (max-width: 820px) {
  .reviews { padding: 80px 0; }
  .reviews-intro { grid-template-columns: 1fr; gap: 28px; }
  .review-grid { margin-top: 48px; }
  .sample-note { text-align: left; }
}

.review-card {
  padding: 0;
}

.review-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.review-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px 34px 34px;
}
