.reviews-section {
  margin-top: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--line);
}

.reviews-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.google-rating {
  display: flex;
  align-items: center;
  gap: 18px;
}

.google-rating strong {
  color: var(--cream);
  font: 500 70px/1 var(--font-display);
  letter-spacing: -.04em;
}

.rating-meta {
  display: grid;
  gap: 5px;
}

.rating-stars,
.review-stars {
  display: block;
  color: #d8b9ce;
  line-height: 0;
}

.stars-svg {
  display: block;
  width: 90px;
  height: 16px;
}

.review-stars .stars-svg {
  width: 66px;
  height: 12px;
}

.google-label,
.review-cta,
.review-slot figcaption a {
  color: var(--muted);
  font: 500 11px/1.4 var(--font-sans);
  text-decoration: none;
}

.google-label:hover,
.review-cta:hover,
.review-slot figcaption a:hover {
  color: var(--cream);
  text-decoration: underline;
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 26px;
}

.review-slot {
  display: flex;
  flex-direction: column;
  min-height: 178px;
  margin: 0;
  padding: 24px 24px 10px;
  border: 1px solid transparent;
  border-radius: 18px;
  background: linear-gradient(135deg, #2d2333, #221b29) padding-box,
    linear-gradient(135deg, #ecd7ed70, #ad8fb01c 36%, #e0c6f251 75%, #ad8fb024) border-box;
  box-shadow: inset 0 1px 0 #ffffff09;
}

.review-slot[hidden] {
  display: none;
}

.review-slot:not([hidden]) {
  animation: none !important;
}

.review-slot blockquote {
  margin: 24px 0 16px;
  color: var(--cream);
  font: 400 29px/1.12 var(--font-display);
  text-wrap: balance;
}

.review-slot figcaption {
  margin-top: auto;
}

.reviews-footer {
  display: flex;
  justify-content: flex-start;
  margin-top: 12px;
}

.review-cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.review-cta[aria-disabled='true'] {
  cursor: not-allowed;
  opacity: .6;
  text-decoration: none;
}

.review-cta:focus-visible,
.google-label:focus-visible,
.review-slot figcaption a:focus-visible {
  outline: 2px solid #edc0d1;
  outline-offset: 4px;
}

@media (max-width: 650px) {
  .reviews-section {
    margin-top: 23px;
    padding-bottom: 24px;
  }

  .google-rating {
    gap: 14px;
  }

  .google-rating strong {
    font-size: 60px;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 18px;
  }

  .review-slot {
    min-height: 142px;
  }
}
