.review-flow-section{padding:42px 20px;margin:32px 0;background:#f3f8f3;border:1px solid #dce9df;border-radius:12px}
.review-flow-inner{max-width:860px;margin:0 auto}
.review-flow-kicker{margin:0 0 6px;text-align:center;color:#9a6513;font-size:13px;font-weight:900;letter-spacing:.1em}
.review-flow-heading{margin:0 0 10px;text-align:center;color:#155c35;font-size:clamp(23px,4vw,32px);line-height:1.35}
.review-flow-lead{max-width:680px;margin:0 auto 24px;text-align:center;color:#536159;font-size:14px;line-height:1.75}
.review-flow-carousel{position:relative;overflow:hidden}
.review-flow-track{--review-gap:16px;display:flex;gap:var(--review-gap);min-height:218px;will-change:transform;transition:transform .45s ease}
.review-flow-card{flex:0 0 calc((100% - (var(--review-visible, 3) - 1) * var(--review-gap)) / var(--review-visible, 3));display:flex;flex-direction:column;justify-content:center;padding:28px 28px;border:1px solid #c7ddcd;border-radius:8px;background:#fff;box-shadow:0 10px 26px rgba(11,53,37,.08);opacity:1;pointer-events:auto;transform:none}
.review-flow-card.is-active{box-shadow:0 12px 28px rgba(11,53,37,.12)}
.review-flow-stars{margin:0 0 10px;color:#c28620;font-size:20px;letter-spacing:.12em;line-height:1}
.review-flow-quote{margin:0;color:#155c35;font-size:clamp(17px,2.2vw,22px);font-weight:800;line-height:1.65;text-wrap:balance}
.review-flow-quote--empty{font-size:16px;color:#536159}
.review-flow-meta{margin:14px 0 0;color:#68766d;font-size:12px;line-height:1.6}
.review-flow-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:16px}
.review-flow-control{width:44px;height:44px;border:1px solid #b9d3c2;border-radius:50%;background:#fff;color:#155c35;font-size:22px;font-weight:bold;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 3px 10px rgba(21,92,53,.08);transition:background .2s,color .2s,transform .2s}
.review-flow-control:hover,.review-flow-control:focus-visible{background:#155c35;color:#fff;transform:translateY(-1px)}
.review-flow-control:focus-visible,.review-flow-dot:focus-visible{outline:3px solid rgba(21,92,53,.3);outline-offset:3px}
.review-flow-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:0 4px;max-width:180px}
.review-flow-dot{width:12px;height:12px;padding:0;border:1px solid #699b78;border-radius:50%;background:#fff;cursor:pointer}
.review-flow-dot.is-active{background:#155c35;box-shadow:0 0 0 3px rgba(21,92,53,.12)}
.review-flow-pause{width:auto;padding:0 14px;border-radius:22px;font-size:12px}
.review-flow-source{margin:12px 0 0;text-align:center;color:#68766d;font-size:11px;line-height:1.6}
@media(max-width:640px){
  .review-flow-section{padding:34px 14px;margin:26px 0}
  .review-flow-track{--review-gap:12px;min-height:230px}
  .review-flow-card{padding:24px 20px;min-height:230px;flex-basis:100%}
  .review-flow-quote{font-size:17px}
  .review-flow-controls{gap:7px}
  .review-flow-dots{display:grid;grid-template-columns:repeat(4,12px);width:max-content;max-width:none;gap:6px}
  .review-flow-pause{padding:0 10px}
}
@media(min-width:641px) and (max-width:960px){.review-flow-card{padding-left:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){.review-flow-track{transition:none}}
