.reviews-section:not([hidden]) { display:block; padding-bottom:30px; }
.reviews-intro h2 { font-size:clamp(42px,5.5vw,76px); line-height:1.06; max-width:760px; margin:20px 0 50px; }
.reviews-intro .eyebrow { margin-top:18px; }
.review-stars { color:#A77425; letter-spacing:2px; font-size:17px; line-height:1.3; }
.review-stars-large { font-size:37px; letter-spacing:5px; }
.reviews-slider { position:relative; }
.review-carousel { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding:2px 2px 20px; margin-top:0; scrollbar-width:thin; scrollbar-color:#C8AD85 transparent; align-items:flex-start; }
.review-card { flex:0 0 calc((100% - 44px)/3.25); min-width:295px; min-height:365px; border:1px solid #DACDBB; border-radius:30px; padding:30px; background:#F2E8D8; display:flex; flex-direction:column; scroll-snap-align:start; }
.review-card:nth-child(3n+2) { background:#E8E3DF; }
.review-card:nth-child(3n) { background:#FFF; }
.review-person { display:flex; gap:13px; position:relative; align-items:center; min-height:56px; padding-right:12px; }
.review-person img,.review-initials { width:56px; height:56px; object-fit:cover; border-radius:50%; flex-shrink:0; border:2px solid #FFF; }
.review-initials { display:grid; place-items:center; background:#D8C6A9; }
.review-person h3 { font-size:13px; font-weight:650; letter-spacing:0; line-height:1.45; margin:0 0 4px; }
.review-quote { position:absolute; right:-12px; top:-16px; font-size:76px; font-family:Georgia,serif; color:#B7976845; line-height:1; pointer-events:none; }
.review-card blockquote { margin:28px 0 20px; color:#584A40; font-size:14px; line-height:1.8; }
.review-card blockquote p { font-size:inherit; line-height:inherit; margin:0 0 12px; white-space:normal; }
.review-card blockquote.is-collapsed { display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; }
.review-expand { align-self:flex-start; margin:-8px 0 20px; color:#70512D; font-size:12px; text-decoration:underline; text-underline-offset:4px; min-height:44px; background:transparent; border:0; padding:0; }
.review-source { display:flex; align-items:center; gap:9px; margin-top:auto; padding-top:16px; font-size:9px; line-height:1.5; color:#64594F; }
.google-word { font-family:Arial,sans-serif; font-size:15px; font-weight:600; letter-spacing:-.8px; white-space:nowrap; }
.google-word span:nth-child(1),.google-word span:nth-child(4) { color:#4285F4; }
.google-word span:nth-child(2),.google-word span:nth-child(6) { color:#EA4335; }
.google-word span:nth-child(3) { color:#B87E00; }
.google-word span:nth-child(5) { color:#258A40; }
.review-arrow { position:absolute; top:45%; z-index:2; width:48px; height:48px; border:1px solid #857C72; border-radius:50%; display:grid; place-items:center; background:#70685F; color:#FFF; box-shadow:0 5px 20px #584A4018; }
.review-arrow:disabled { opacity:.4; cursor:default; }
.review-prev { left:-24px; }
.review-prev .icon { transform:rotate(180deg); }
.review-next { right:-24px; }
.review-footnote { font-size:11px; line-height:1.7; color:#706158; margin-top:16px; }
@media(max-width:800px) { .review-card { flex-basis:75%; min-width:270px; padding:25px; } .review-arrow { width:44px; height:44px; } .review-prev { left:-12px; } .review-next { right:-12px; } }
@media(max-width:540px) { .review-card { flex-basis:88%; min-width:0; } .review-person h3 { font-size:12px; } .review-person img { width:48px; height:48px; } .review-stars-large { font-size:30px; } .reviews-intro h2 { margin-bottom:34px; } .review-arrow { top:auto; bottom:-48px; } .review-prev { left:auto; right:54px; } .review-next { right:0; } .review-footnote { padding-top:47px; } }

.review-card { min-height:420px; height:420px; }
.review-card:has(.review-expand[aria-expanded="true"]) { height:auto; }
.review-source { padding:16px 0 0; border:0; border-radius:0; background:transparent; }
.google-word { display:inline-block; margin:0; flex-shrink:0; }
@media(max-width:540px) { .reviews-section { padding-bottom:90px; } }

.reviews-section { background:#FFFFFF; padding-bottom:70px; margin-top:80px; border-radius:48px; }
@media(max-width:540px) { .reviews-section { padding-bottom:100px; border-radius:30px; } }
