.review-hero {
  max-width: 980px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.review-hero-copy { min-width: 0; }
.review-hero-copy > p:not(.eyebrow):not(.review-date) {
  max-width: 570px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}
.review-product-image {
  min-width: 0;
  margin: 0;
  padding: 18px;
  background: #fffefa;
  border: 1px solid var(--line);
}
.review-product-image img {
  display: block;
  width: 100%;
  height: auto;
}
.review-product-image figcaption {
  margin-top: 12px;
  color: #526258;
  font-size: 11px;
  line-height: 1.5;
  text-align: center;
}
.review-cta-summary { margin-top: 38px; }
.review-cta .review-cta-link {
  max-width: 100%;
  border: 1px solid #a9b8aa;
  background: #dce4da;
  color: #344e42;
  font-family: var(--sans);
  line-height: 1.4;
  text-align: center;
  white-space: normal;
  cursor: pointer;
  opacity: 1;
}
@media (max-width: 780px) {
  .review-hero { grid-template-columns: minmax(0, 1.3fr) minmax(180px, .7fr); gap: 24px; }
  .review-hero h1 { font-size: clamp(36px, 5.5vw, 48px); }
  .review-product-image { padding: 12px; }
}
@media (max-width: 620px) {
  .review-hero { grid-template-columns: 1fr; gap: 22px; }
  .review-hero h1 { font-size: clamp(37px, 10vw, 48px); }
  .review-product-image { width: min(100%, 300px); justify-self: center; }
  .review-cta .review-cta-link { display: block; width: 100%; }
}
