.guest-reviews { background: var(--bg); padding: 34px 24px 66px; color: var(--ink); }
.guest-reviews-inner { max-width: 1160px; margin: auto; text-align: center; }
.guest-reviews-heading .ending-lotus { display: block; margin: 0 auto 16px; width: 58px; height: auto; }
.guest-reviews-heading h2 { font-size: clamp(32px, 3.4vw, 46px); }
.guest-reviews-heading > p { margin-top: 15px; color: var(--gold); font-size: 16px; }
.guest-reviews-heading a { text-decoration: none; }
.guest-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 44px 0 22px; row-gap: 40px; }
.guest-review { margin: 0; padding: 0 32px; border: 0; display: flex; flex-direction: column; min-width: 0; }
.guest-review:nth-child(3n + 2) { border-left: 1px solid var(--line); border-right: 1px solid var(--line); }
.guest-review-stars { color: var(--gold); letter-spacing: 4px; font-size: 21px; line-height: 1; margin-bottom: 24px; }
.guest-review blockquote { margin: 0 0 26px; padding: 16px 0 0; text-align: left; font: 22px/1.46 var(--serif); position: relative; flex: 1; }
.guest-review blockquote p::after { content: '”'; color: var(--gold); }
.guest-review blockquote::before { content: '“'; color: var(--gold); position: absolute; font-size: 42px; line-height: 1; left: -18px; top: -5px; }
.guest-review figcaption { font-size: 14px; line-height: 1.5; }
.guest-review-name { display: block; min-height: 42px; }
.guest-review figcaption a { display: inline-block; padding: 7px 0; }
.guest-review figcaption a span, .guest-reviews-all span { margin-left: 9px; }
.guest-reviews.is-enhanced .guest-reviews-grid { row-gap: 0; }
.guest-reviews.is-enhanced .guest-review { grid-row: 1; grid-column: var(--review-column); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .45s ease, visibility .45s; }
.guest-reviews.is-enhanced .guest-review.is-current { opacity: 1; visibility: visible; pointer-events: auto; }
.guest-reviews-controls { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 22px 0 24px; }
.guest-reviews-controls button { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: var(--gold); border-radius: 50%; flex-shrink: 0; }
.guest-reviews-controls button:hover { color: var(--ink); background: rgba(199,170,112,.08); }
.guest-reviews-controls svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.3; }
.guest-reviews-rotation svg { width: 28px; height: 28px; border: 1px solid currentColor; border-radius: 50%; padding: 2px; }
.guest-reviews-rotation .review-play-icon { display: none; }
.guest-reviews-rotation.is-paused .review-pause-icon { display: none; }
.guest-reviews-rotation.is-paused .review-play-icon { display: block; }
.guest-reviews-dots { display: flex; }
.guest-reviews-dots button { width: 28px; }
.guest-reviews-dots button::before { content: ''; width: 7px; height: 7px; border: 1px solid currentColor; border-radius: 50%; }
.guest-reviews-dots button[aria-current="true"]::before { background: currentColor; }
.guest-reviews-count { display: none; }
.guest-reviews-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.guest-reviews-all { display: inline-block; padding: 10px 0; font-size: 15px; }
@media (max-width: 760px) {
  .guest-reviews { padding: 26px 24px 44px; }
  .guest-reviews-heading h2 { font-size: clamp(28px, 7.7vw, 36px); }
  .guest-reviews-heading > p { font-size: 14px; }
  .guest-reviews-grid { grid-template-columns: minmax(0, 1fr); max-width: 440px; margin: 38px auto 18px; }
  .guest-review, .guest-review:nth-child(3n + 2) { padding: 0 22px; border: 0; }
  .guest-review blockquote { font-size: 21px; line-height: 1.5; margin-bottom: 25px; }
  .guest-review-name { min-height: 42px; }
  .guest-reviews-controls { gap: 16px; margin: 12px 0 20px; }
  .guest-reviews-dots { display: none; }
  .guest-reviews-count { display: inline; min-width: 52px; color: var(--gold); font-size: 13px; font-variant-numeric: tabular-nums; }
}
@media (prefers-reduced-motion: reduce) {
  .guest-reviews.is-enhanced .guest-review { transition: none; }
}
