.client-reviews[hidden], .client-reviews [hidden] { display: none !important; }
.client-reviews.section {
  display: grid;
  grid-template-columns: minmax(230px, .34fr) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  padding-block: 0 !important;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f7f7;
  color: #171717;
}
.client-reviews-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  padding: clamp(26px, 4vw, 44px);
  border-right: 1px solid #dedede;
}
.client-reviews-intro .eyebrow { margin: 0; color: #626262; }
.client-reviews .client-reviews-intro h2 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(1.65rem, 2.5vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: 0;
}
.client-reviews .client-reviews-intro .text-link {
  margin-top: 8px;
  padding-block: 6px;
  font-size: .875rem;
  font-weight: 700;
}
.client-review-stage {
  display: grid;
  justify-items: start;
  align-content: center;
  min-height: 210px;
  padding: clamp(28px, 4vw, 48px) clamp(26px, 5vw, 64px) 20px;
  text-align: left;
}
.client-review-stars { color: #ac7300; font-size: 1.125rem; line-height: 1.5; letter-spacing: 0; }
.client-review-stage blockquote { flex-direction: column; gap: 6px; }
.client-review-stage blockquote::before {
  content: "\201C";
  display: block;
  height: 26px;
  color: #c7c7c7;
  font-family: Georgia, serif;
  font-size: 40px;
  line-height: 1;
  font-weight: 400;
}
.client-review-stage blockquote,
.client-review-rating-only {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  max-width: 52ch;
  min-height: 62px;
  margin: 8px 0 14px;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  text-wrap: balance;
  overflow-wrap: anywhere;
  white-space: pre-line;
}
.client-review-attribution {
  display: grid;
  grid-template-columns: 42px auto;
  align-items: center;
  gap: 2px 12px;
  text-align: left;
}
.client-review-avatar {
  grid-column: 1;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid #171717;
  border-radius: 50%;
  background: #171717;
  color: #fff;
  font-size: .8125rem;
  font-weight: 650;
}
.client-review-attribution strong { grid-column: 2; align-self: end; font-size: .9375rem; font-weight: 650; }
.client-review-attribution > span:last-child { grid-column: 2; align-self: start; color: #737373; font-size: .8125rem; }
.client-review-controls { display: flex; justify-content: flex-end; align-items: center; gap: 10px; padding: 0 clamp(26px, 5vw, 64px) 24px; }
.client-review-count { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.client-review-indicators { order: 2; display: flex; flex-wrap: wrap; justify-content: center; max-width: 264px; }
.client-review-controls button {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #171717;
  border-radius: 50%;
  color: #fff;
  background: #171717;
  cursor: pointer;
}
.client-review-controls [data-review-previous] { order: 1; }
.client-review-controls [data-review-next] { order: 3; }
.client-reviews .client-review-indicators button {
  position: relative;
  border-color: transparent;
  background: #fff;
  color: #171717;
  border-radius: 4px;
}
.client-review-indicators button::after {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: #c7c7c7;
  transition: width .18s ease, background-color .18s ease;
}
.client-review-indicators button[aria-pressed="true"]::after { width: 24px; background: #171717; }
.client-review-indicators button:hover::after { background: #171717; }
@media (prefers-reduced-motion: reduce) {
  .client-review-indicators button::after { transition: none; }
}
.client-reviews .client-review-controls button svg { width: 17px; height: 17px; stroke: currentColor; fill: none; }
.client-review-controls button:disabled { background: #fff; color: #a3a3a3; border-color: #e4e4e4; cursor: default; box-shadow: none; }
.client-review-controls button:focus-visible { outline: 2px solid #171717; outline-offset: 4px; }
@media (max-width: 600px) {
  .client-reviews.section { grid-template-columns: 1fr; gap: 0; padding-block: 0 !important; }
  .client-reviews-intro { gap: 6px; padding: 24px 20px 20px; border-right: 0; border-bottom: 1px solid #dedede; }
  .client-reviews .client-reviews-intro h2 { font-size: 1.5rem; }
  .client-reviews .client-reviews-intro .text-link { padding-block: 6px; }
  .client-review-stage { padding: 24px 20px 12px; min-height: 180px; }
  .client-review-stage blockquote,
  .client-review-rating-only { font-size: 1.125rem; min-height: 72px; margin-block: 8px 12px; }
  .client-review-controls { justify-content: flex-start; padding: 0 20px 20px; margin-top: 0; }
}
