/* Selected Google reviews, one readable card at a time. */
.home-page .opinions-section{padding-block:84px;background:#f3f6ef}
.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}
.reviews-heading .eyebrow{color:var(--accent);margin-bottom:18px}
.reviews-heading h2{font-size:clamp(32px,3.6vw,48px);line-height:1.15;letter-spacing:-1.7px;max-width:640px}
.reviews-heading p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.7;margin-top:18px}
.reviews-heading .text-link{flex-shrink:0;font-size:13px;color:var(--accent);padding-block:12px}
.reviews-carousel{border:1px solid #d8e3d2;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 32px #17372405}
.reviews-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;touch-action:auto;outline-offset:-4px}
.reviews-carousel.is-ready .reviews-viewport{overflow:hidden;scroll-snap-type:none;touch-action:pan-y}
.reviews-track{display:flex;align-items:stretch;transition:transform 550ms cubic-bezier(.22,.61,.36,1)}
.review-slide{flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;padding:40px 48px 34px;display:flex;flex-direction:column}
.review-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.review-stars{display:flex;align-items:center;gap:4px;color:#926c0a}
.review-stars svg{width:18px;height:18px;fill:currentColor;stroke:none}
.review-source{display:flex;align-items:center;gap:8px;font-size:12px;color:#61705d}
.review-source img{width:20px;height:20px}
.review-slide blockquote{position:relative;margin:0 0 30px;padding:0;font-size:clamp(23px,2.5vw,34px);line-height:1.43;letter-spacing:-.65px;font-weight:400;color:#183323;max-width:950px}
.review-decoration{position:absolute;right:-24px;top:-55px;z-index:0;font-family:Georgia,serif;font-size:170px;line-height:1;color:#eff6e9;pointer-events:none}
.review-slide blockquote p{position:relative;margin:0}
.review-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.review-author{display:flex;align-items:center;gap:14px;min-width:0}
.review-avatar{display:block;width:52px;height:52px;border-radius:50%;object-fit:cover;background:#edf3e8;flex-shrink:0}
.review-name{display:block;font-size:15px;font-weight:600;line-height:1.4;color:#173524}
.review-label{display:block;font-size:11px;color:#687463;line-height:1.5;margin-top:4px}
.review-original{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px;color:#2d6235;text-decoration:underline;text-underline-offset:4px;flex-shrink:0}
.review-original svg{width:16px;height:16px}
.reviews-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e4ebdf;padding:16px 32px;background:#fcfdfb}
.reviews-controls[hidden]{display:none}
.reviews-progress{display:flex;align-items:center;gap:18px}
.reviews-count{font-size:12px;color:#5e6d58;font-variant-numeric:tabular-nums;min-width:36px}
.reviews-count strong{color:#193825;font-weight:600}
.reviews-dots{display:flex;align-items:center;gap:2px}
.reviews-dot{width:30px;height:40px;padding:0;border:0;background:transparent;display:grid;place-items:center;border-radius:6px}
.reviews-dot::after{content:'';width:6px;height:6px;border-radius:50%;background:#bbcbb5;transition:width .25s,background .25s}
.reviews-dot[aria-current="true"]::after{width:22px;border-radius:9px;background:#008622}
.reviews-buttons{display:flex;align-items:center;gap:8px}
.reviews-buttons button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #d2dfca;border-radius:50%;background:#fff;color:#183c24;transition:background .2s,border-color .2s}
.reviews-buttons button:hover{background:#edf6e7;border-color:#80a56a}
.reviews-buttons svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.reviews-toggle .play-icon{display:none}.reviews-toggle[aria-pressed="true"] .play-icon{display:block}.reviews-toggle[aria-pressed="true"] .pause-icon{display:none}
.reviews-carousel :focus-visible,.reviews-heading :focus-visible{outline:3px solid #008622;outline-offset:3px}
.reviews-note{font-size:11px!important;color:#6b7764;margin-top:16px;line-height:1.6}
.reviews-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.reviews-heading{display:block}.reviews-heading .text-link{margin-top:16px}.review-slide{padding:32px}.review-slide blockquote{font-size:28px}.review-decoration{right:0}.reviews-controls{padding-inline:24px}}
@media(max-width:540px){.home-page .opinions-section{padding-block:54px}.reviews-heading{margin-bottom:26px}.reviews-heading h2{font-size:34px;letter-spacing:-1.2px}.reviews-heading p:not(.eyebrow){font-size:14px}.reviews-carousel{border-radius:14px}.review-slide{padding:26px 22px 22px}.review-topline{margin-bottom:24px}.review-stars{gap:2px}.review-stars svg{width:16px;height:16px}.review-source{font-size:11px}.review-slide blockquote{font-size:23px;line-height:1.45;letter-spacing:-.4px;margin-bottom:26px}.review-decoration{font-size:130px;top:-30px}.review-bottom{flex-direction:column;align-items:flex-start;gap:12px}.review-avatar{width:46px;height:46px}.review-name{font-size:14px}.review-original{margin-left:60px;font-size:11px;min-height:32px}.reviews-controls{padding:12px 14px;gap:8px}.reviews-progress{gap:6px}.reviews-dots{gap:0}.reviews-dot{width:23px}.reviews-dot[aria-current="true"]::after{width:17px}.reviews-buttons{gap:5px}.reviews-buttons button{width:38px;height:38px}.reviews-count{font-size:11px;min-width:31px}.reviews-note{font-size:10px!important}}
@media(max-width:360px){.reviews-count{display:none}.reviews-heading h2{font-size:31px}.review-slide blockquote{font-size:21px}.review-slide{padding-inline:19px}.reviews-controls{padding-inline:10px}.reviews-dot{width:22px}.reviews-buttons button{width:36px;height:36px}}
@media(max-width:440px){.reviews-controls{flex-direction:column;gap:2px;padding:10px 14px 14px}.reviews-progress{gap:10px}.reviews-count{display:inline;min-width:31px}.reviews-dot{width:26px}.reviews-buttons{gap:10px}.reviews-buttons button{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.reviews-track,.reviews-dot::after,.reviews-buttons button{transition:none}}
@media print{.reviews-track{display:block;transform:none!important}.reviews-viewport{overflow:visible!important}.review-slide{break-inside:avoid;border-bottom:1px solid #ddd}.reviews-controls{display:none!important}.review-decoration{display:none}}
