.testimonials-section{background:#fbfaf8;padding:66px 0 51px;overflow:hidden}
.testimonials-heading{text-align:center;padding:0 20px;margin:0 auto 27px}
.testimonials-heading .section-kicker{display:block;margin-bottom:7px}
.testimonials-heading h2{font-size:clamp(34px,4vw,46px)}
.testimonials-heading>p{margin-top:10px}
.testimonials-window{position:relative;overflow:hidden;padding:5px max(22px,calc((100vw - 1120px)/2)) 12px;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.testimonials-window:before,.testimonials-window:after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:max(22px,calc((100vw - 1200px)/2));pointer-events:none}
.testimonials-window:before{left:0;background:linear-gradient(90deg,#fbfaf8,transparent)}
.testimonials-window:after{right:0;background:linear-gradient(270deg,#fbfaf8,transparent)}
.testimonials-track{display:flex;gap:18px;width:max-content;will-change:transform;transition:none}.testimonials-track.is-stepping{transition:transform .55s cubic-bezier(.22,.7,.2,1)}
.review-card{appearance:none;display:flex;flex-direction:column;align-items:stretch;flex:0 0 345px;width:345px;min-height:248px;padding:21px 22px 19px;background:#fff;border:1px solid #eeece8;border-radius:14px;box-shadow:0 6px 20px rgba(28,23,16,.045);text-align:left;color:#292929;cursor:pointer;transition:transform .2s,box-shadow .2s}
.review-card:hover{transform:translateY(-3px);box-shadow:0 11px 25px rgba(28,23,16,.09)}
.review-person{display:flex;align-items:center;gap:12px;min-width:0}
.review-avatar{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:50%;background:#eee}
.review-initial{display:grid;place-items:center;background:#21823a;color:#fff;font:500 22px/1 Arial,sans-serif}
.review-identity{display:flex;flex-direction:column;gap:5px;min-width:0}
.review-name{font:600 14px/1.3 Arial,sans-serif;color:#242424}
.review-location{display:flex;align-items:center;gap:6px;color:#777;font:400 12px/1.3 Arial,sans-serif}
.review-flag{font-size:13px;line-height:1}
.review-rating{display:flex;align-items:center;gap:8px;margin:17px 0 11px}
.review-stars{font:600 16px/1 Arial,sans-serif;letter-spacing:1px;color:#c5a572;white-space:nowrap}
.review-score{font:600 12px/1 Arial,sans-serif;color:#333}
.review-date{padding-left:8px;border-left:1px solid #dedbd5;color:#85817b;font:400 11px/1 Arial,sans-serif}
.review-excerpt{font:400 13px/1.6 Arial,sans-serif;color:#686868;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.review-read{font:600 11px/1.3 Arial,sans-serif;color:#8a6938;margin-top:auto;padding-top:13px}
.testimonials-section:not(.has-multiple-reviews) .testimonials-track{width:100%;justify-content:center;transform:none!important}
.testimonials-section:not(.has-multiple-reviews) .review-card{flex-basis:min(760px,100%);width:min(760px,100%);min-height:220px}
.testimonials-section:not(.has-multiple-reviews) .testimonials-controls{display:none}
.testimonials-controls{display:flex;justify-content:center;gap:10px;margin-top:13px}
.testimonials-controls button{appearance:none;width:38px;height:38px;border:1px solid #ded8ce;border-radius:50%;background:#fff;color:#4e473b;font-size:22px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.testimonials-controls button:hover{background:#1a1a1a;color:#fff}
.testimonials-hint{text-align:center;color:#96928b;font:400 11px/1.5 Arial,sans-serif;margin:10px 0 0}

.review-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center}.review-modal.is-open{display:flex}
.review-modal{position:fixed;z-index:10000;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.94);padding:30px;color:#fff}
.artwork-viewer.is-open,.review-modal.is-open{display:flex}
.artwork-viewer figure{margin:0;max-width:min(86vw,1100px);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:12px}
.artwork-viewer figure img{display:block;max-width:100%;max-height:80vh;object-fit:contain}
.artwork-viewer>button,.review-modal-close{appearance:none;border:0;background:transparent;color:#fff;font:300 36px/1 Arial,sans-serif;cursor:pointer}
.viewer-close{position:absolute;top:22px;right:27px}.viewer-prev,.viewer-next{position:absolute;top:50%;transform:translateY(-50%);font-size:52px!important;padding:12px}.viewer-prev{left:18px}.viewer-next{right:18px}
.review-modal{z-index:10001;background:rgba(0,0,0,.68);padding:20px}
.review-modal-card{position:relative;width:min(100%,560px);max-height:min(84vh,760px);overflow:auto;background:#fff;color:#262626;border-radius:16px;padding:36px;box-shadow:0 20px 70px rgba(0,0,0,.25)}
.review-modal-close{position:absolute;right:14px;top:11px;color:#555;font-size:30px}
#reviewModalContent .review-person{padding-right:25px}
#reviewModalContent .review-avatar{width:58px;height:58px;flex-basis:58px}
#reviewModalContent .review-initial{font-size:25px}
#reviewModalContent .review-name{font-size:16px}
#reviewModalContent .review-location{font-size:13px}
#reviewModalContent .review-rating{margin:21px 0 16px}
#reviewModalContent .review-stars{font-size:19px}
#reviewModalContent .review-date{font-size:12px}
#reviewModalContent .review-full-text{font:400 15px/1.75 Arial,sans-serif;color:#686868;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.review-modal-artwork{margin:24px 0 0;padding-top:18px;border-top:1px solid #eeeae4}
.review-modal-artwork img{display:block;width:100%;max-height:310px;object-fit:contain;background:#fff}
body.modal-open{overflow:hidden}

/* Keep the shared review section consistent within the homepage styles. */
#testimonialsSection{width:100vw;max-width:none;margin-left:calc(50% - 50vw);background:#fbfaf8!important;padding:66px 0 51px!important;color:#292929!important;box-sizing:border-box}
#testimonialsSection,#testimonialsSection *,.review-modal,.review-modal *{box-sizing:border-box}
#testimonialsSection .section-kicker{display:block;font:500 10px/1.5 Arial,sans-serif;letter-spacing:.2em;color:#98794d;margin:0 0 7px}
#testimonialsSection h2{font:400 clamp(34px,4vw,46px)/1.1 Georgia,serif!important;letter-spacing:-.035em!important;color:#171717!important;margin:0!important}
#testimonialsSection .review-card{margin:0;letter-spacing:normal;text-transform:none}
#testimonialsSection .review-card:focus-visible,#testimonialsSection .testimonials-controls button:focus-visible,.review-modal-close:focus-visible{outline:2px solid #b59462;outline-offset:3px}
@media(max-width:760px){#testimonialsSection{padding:49px 0 40px!important}.testimonials-heading{margin-bottom:20px}.testimonials-window{padding:4px 18px 10px}.testimonials-window:before,.testimonials-window:after{width:18px}.testimonials-track{gap:12px;transition-duration:.5s}.review-card{flex-basis:min(82vw,345px);width:min(82vw,345px);min-height:226px;padding:18px 17px}.review-excerpt{font-size:12px}.review-modal-card{padding:28px 24px}.review-modal{padding:18px}}
@media(prefers-reduced-motion:reduce){.review-card{transition:none}}
