.hero h1 {
  max-width: 12.5ch;
  font-size: clamp(2.8rem, 5.8vw, 5.8rem);
}

@media (max-width: 640px) {
  .hero h1 {
    font-size: clamp(2.7rem, 10.8vw, 3.95rem);
  }
}

.reviews {
  display: grid;
  grid-template-columns: minmax(240px, .7fr) 2fr;
  gap: clamp(36px, 8vw, 130px);
  align-items: center;
  padding: clamp(58px, 8vw, 110px) clamp(20px, 9vw, 145px);
  background: #e7ddcd;
}
.review-summary h2 { margin: 0 0 22px; font-size: clamp(2.1rem, 3.8vw, 4rem); }
.review-score { display: flex; align-items: baseline; gap: 10px; color: #092b4a; }
.review-score strong { font: 2.8rem/1 "Libre Baskerville", Georgia, serif; }
.review-score > div { display: grid; gap: 3px; }
.review-score .stars { color: #aa7821; letter-spacing: .12em; font-size: 1.2rem; }
.review-score small { color: #617084; font-size: .76rem; }
.review-link { display: inline-flex; gap: 12px; margin-top: 22px; color: #092b4a; font-size: .74rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.review-link span { color: #155ec8; font-size: 1.15rem; line-height: .8; }
.review-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.review-list figure { margin: 0; padding-top: 18px; border-top: 1px solid #b9aa92; }
.review-list figure::before { content: "★★★★★"; display: block; margin-bottom: 13px; color: #aa7821; font-size: .78rem; letter-spacing: .12em; }
.review-list blockquote { margin: 0 0 18px; font: 700 1.14rem/1.45 "Libre Baskerville", Georgia, serif; }
.review-list figcaption { color: #617084; font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 900px) { .reviews { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .reviews { padding: 52px 20px; } .review-list { grid-template-columns: 1fr; gap: 26px; } }
.map-link { display: inline-block; margin: 5px 0; color: #fff; font-weight: 700; }
