.page--reviews {
  background: #f3f2f0;
}

.reviews-page {
  background: #f3f2f0;
  padding: clamp(116px, 8vw, 148px) clamp(20px, 3vw, 48px) clamp(52px, 4vw, 72px);
}

.reviews-page__hero {
  max-width: 940px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(96px, 1fr) auto minmax(96px, 1fr);
  align-items: center;
  justify-items: center;
  column-gap: clamp(14px, 1.8vw, 32px);
}

.reviews-page__leaf {
  width: clamp(84px, 6vw, 118px);
  height: auto;
  pointer-events: none;
  user-select: none;
}

.reviews-page__leaf--left {
  justify-self: end;
  transform: scaleX(-1);
}

.reviews-page__leaf--right {
  justify-self: start;
}

.reviews-page__title {
  margin: 0;
  font-family: "Allura", "Above The Beyond Script", "Brush Script MT", cursive;
  font-size: clamp(56px, 4vw, 78px);
  font-weight: 400;
  line-height: 0.96;
  text-align: center;
  white-space: nowrap;
}

.reviews-page__subtitle {
  margin: clamp(20px, 1.8vw, 30px) 0 0;
  text-align: center;
  font-size: clamp(19px, 1.25vw, 23px);
  line-height: 1.35;
}

.reviews-page__google-link {
  margin: clamp(12px, 1vw, 18px) 0 0;
  text-align: center;
}

.reviews-page__google-link a {
  color: #a87658;
  text-decoration: none;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.05;
  border-bottom: 1px solid transparent;
}

.reviews-page__google-link a:hover,
.reviews-page__google-link a:focus-visible {
  border-bottom-color: #a87658;
}

.reviews-page__google-link a:focus-visible {
  outline: none;
  border-radius: 4px;
  box-shadow: var(--focus-ring, 0 0 0 3px rgba(74, 57, 45, 0.28));
}

.reviews-page__grid {
  max-width: var(--content, 1280px);
  margin: clamp(28px, 2.3vw, 40px) auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
  gap: clamp(18px, 1.7vw, 26px);
}

.reviews-page__card {
  position: relative;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  border-radius: var(--radius-md, 20px);
  background: rgba(251, 250, 248, 0.94);
  border: 1px solid rgba(16, 16, 16, 0.05);
  box-shadow: var(--shadow-soft, 0 10px 28px rgba(22, 18, 15, 0.08));
  min-height: 0;
  padding: clamp(24px, 2vw, 30px);
  text-align: center;
}

.reviews-page__card::after {
  position: absolute;
  inset: auto 24px 0;
  height: 2px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, transparent, rgba(118, 90, 70, 0.38), transparent);
  content: "";
}

.reviews-page__card-head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.reviews-page__quote-mark {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-top: 8px;
  border: 1px solid rgba(74, 57, 45, 0.13);
  border-radius: 50%;
  background: rgba(186, 167, 150, 0.18);
  color: var(--modern-brown, #765a46);
  font-family: Georgia, serif;
  font-size: 46px;
  line-height: 1;
}

.reviews-page__card-rating {
  margin: 18px 0 0;
  font-size: clamp(18px, 1vw, 21px);
  line-height: 1;
  color: #efb400;
  letter-spacing: 0.03em;
}

.reviews-page__score {
  color: #5abf66;
  letter-spacing: 0;
  margin-right: 6px;
}

.reviews-page__card-text {
  margin: 15px 0 0;
  max-width: 96%;
  font-size: clamp(16px, 0.95vw, 18px);
  line-height: 1.45;
  color: #4d4742;
}

@media (max-width: 400px) {
  .reviews-page__quote-mark {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
    padding-top: 7px;
    font-size: 40px;
  }

}

.reviews-page__card-more {
  margin-left: 0.25ch;
}

.reviews-page__more-toggle {
  margin-top: 10px;
  border: 0;
  background: transparent;
  color: #2f93e0;
  font-size: clamp(15px, 0.9vw, 17px);
  line-height: 1.2;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  cursor: pointer;
  padding: 0;
}

.reviews-page__more-toggle:hover,
.reviews-page__more-toggle:focus-visible {
  color: #1e75bc;
}

.reviews-page__more-toggle:focus-visible {
  outline: none;
  border-radius: 4px;
  box-shadow: var(--focus-ring, 0 0 0 3px rgba(74, 57, 45, 0.28));
}
