.review-face {
  --review-ink: #352b20;
  --review-muted: #75644e;
  --review-gold: #91691e;
  container-type: size;
  color: var(--review-ink);
  background: radial-gradient(ellipse at 20% 0%, #fffdf5 0, #f3ebdc 72%);
}
.review-tile-copy {
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: min(5cqh, 12px);
  padding: min(9cqh, 20px) min(8cqw, 22px);
  text-align: center;
}
.review-kicker {
  margin: 0;
  flex: 0 0 auto;
  color: var(--review-muted, #75644e);
  font-size: 10px;
  font-size: clamp(8px, 4.2cqw, 11px);
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.review-stars {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto;
  gap: .16em;
  color: var(--review-gold, #91691e);
  font-size: clamp(12px, 8cqw, 21px);
  line-height: 1;
}
.review-stars .is-empty { opacity: .22; }
.review-tile-quote {
  margin: 0;
  min-height: 0;
  max-width: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  overflow-wrap: anywhere;
  font-size: clamp(11px, 6.4cqw, 19px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.review-tile-by {
  margin: 0;
  max-width: 100%;
  flex: 0 0 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(9px, 4.8cqw, 13px);
  line-height: 1.35;
  font-weight: 650;
  color: var(--review-muted);
}
@container (max-height: 155px) {
  .review-tile-copy { gap: 6px; padding: 10px 13px; }
  .review-tile-copy .review-kicker { display: none; }
  .review-tile-quote { -webkit-line-clamp: 3; font-size: clamp(11px, 5.5cqw, 15px); }
  .review-tile-copy .review-stars { font-size: 14px; }
}
@container (max-height: 115px) {
  .review-tile-copy { gap: 5px; padding: 8px 12px; }
  .review-tile-quote { -webkit-line-clamp: 2; font-size: 11px; }
  .review-tile-by { font-size: 9px; }
}
.review-read {
  --review-ink: #352b20;
  --review-muted: #75644e;
  --review-gold: #91691e;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 56px 30px 36px;
  overflow-y: auto;
  overscroll-behavior: contain;
  color: var(--review-ink);
  background: #fffaf1;
  text-align: center;
}
.review-read .review-kicker { font-size: 11px; }
.review-read-title { margin: 15px 0 26px; font-size: 29px; line-height: 1.15; font-weight: 550; letter-spacing: -.045em; }
.review-read .review-stars { font-size: 24px; }
.review-read-quote { margin: 24px 0; font-size: 20px; line-height: 1.6; letter-spacing: -.02em; overflow-wrap: anywhere; }
.review-read-by { margin: 0; font-size: 14px; font-weight: 650; color: var(--review-muted); overflow-wrap: anywhere; }
.review-read-title:focus-visible { outline: 2px solid var(--review-gold); outline-offset: 5px; border-radius: 4px; }
html.is-generator .review-face,
html.is-generator .review-read {
  --review-ink: var(--dark-text, #f5eee3);
  --review-muted: var(--dark-muted, #cbbda6);
  --review-gold: #e7c68b;
  background: var(--dark-surface, #211d18);
}
