.reviews-section{padding:36px 0;background:var(--paper);border-bottom:1px solid var(--line);overflow:hidden}
.reviews-window{overflow-x:auto;width:100%;scroll-snap-type:x proximity}
.reviews-track{display:flex;width:max-content}
.reviews-group{display:flex;gap:24px;padding:0 12px;flex-shrink:0}
.review-card{width:360px;flex-shrink:0;padding:16px 24px;background:transparent;border:0;border-radius:0;display:flex;flex-direction:column;align-items:center;text-align:center;scroll-snap-align:center}
.review-stars{color:#596d44;font-size:24px;letter-spacing:4px;line-height:1;margin-bottom:20px}
.review-byline{font-size:19px;line-height:1.4;letter-spacing:-.015em;font-weight:600;margin:0 0 12px;text-wrap:balance}
.review-title a{position:relative;display:inline-block;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.review-title a::before{content:"";position:absolute;inset:-2px}
.review-title a:hover{color:#596d44}
.review-title a:focus-visible{outline:2px solid #596d44;outline-offset:4px;border-radius:2px}
.review-author{font-size:14px;font-weight:500;white-space:nowrap;letter-spacing:0}
.review-card blockquote{margin:0;max-width:36ch}
.review-card blockquote p{font-size:14px;line-height:1.65;color:#59624f;margin:0;text-wrap:pretty}
.reviews-section[data-reviews-ready=true] .reviews-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.reviews-section[data-reviews-ready=true] .reviews-track{animation:review-glide 78s linear infinite}
.reviews-section[data-reviews-visible=false] .reviews-track,.reviews-section:has(.review-title a:hover) .reviews-track,.reviews-section:has(.review-title a:focus-visible) .reviews-track,.paused .reviews-track{animation-play-state:paused}
@keyframes review-glide{to{transform:translateX(-50%)}}
@media(max-width:700px){.reviews-section{padding:24px 0}.review-card{width:min(320px,86vw);padding:12px 16px}.reviews-group{gap:16px;padding:0 8px}.review-stars{font-size:22px}.reviews-section[data-reviews-ready=true] .reviews-window{mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent)}}
@media(prefers-reduced-motion:reduce){.reviews-section[data-reviews-ready=true] .reviews-window{overflow-x:auto;mask-image:none}.reviews-section[data-reviews-ready=true] .reviews-track{animation:none}.reviews-group[aria-hidden=true]{display:none}.reviews-group{padding:0 5vw;gap:16px}}
.review-read-more{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:10px;padding:6px 2px;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);font-size:14px;font-weight:600}
.review-read-more:focus-visible{outline:2px solid #596d44;outline-offset:4px}
.reviews-section:hover .reviews-track,.reviews-section:focus-within .reviews-track,.reviews-section[data-review-open=true] .reviews-track{animation-play-state:paused}
body.review-open{overflow:hidden}
.review-dialog{width:min(660px,calc(100% - 32px));max-height:calc(100svh - 40px);margin:auto;padding:64px 36px 32px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--ink);overscroll-behavior:contain}
.review-dialog::backdrop{background:#18201580;backdrop-filter:blur(6px)}
.review-dialog-close{position:absolute;top:12px;right:16px;min-height:44px;padding:8px 12px;border:0;background:transparent;font-size:14px;display:flex;align-items:center;gap:16px}
.review-dialog .review-stars{margin-bottom:14px}
.review-dialog h2{font-size:28px;line-height:1.2;letter-spacing:-.03em;margin:0 0 24px}
.review-dialog-text{margin:0}
.review-dialog-text p{font-size:16px;line-height:1.7;margin:0 0 20px;color:var(--muted)}
.review-dialog-text p:last-child{margin-bottom:0}
@media(max-width:700px){.review-dialog{padding:64px 24px 28px}.review-dialog-text p{font-size:15px}}
