.client-reviews{background:#fbf9f4;color:#193a2d;text-align:center;padding:76px var(--pad,24px)}
.client-reviews-heading{max-width:760px;margin:0 auto 32px}.client-reviews-heading>.section-index{color:#aa4569;margin-bottom:20px;font-size:10px;letter-spacing:.16em;font-weight:700}.client-reviews-heading h2{font-family:var(--serif,Georgia,serif);font-size:clamp(46px,5.5vw,78px);line-height:1;letter-spacing:-.035em;margin:0 0 22px}.client-reviews-heading h2 em{color:#aa4569}.client-reviews-heading>p:last-child{font-size:14px;line-height:1.8;color:#526054}
.client-reviews-track{position:relative;max-width:920px;margin:auto;display:grid;gap:20px;padding:6px 4px 20px;text-align:left}
.client-reviews-ready .client-reviews-track{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}.client-reviews-track::-webkit-scrollbar{display:none}
.client-review{box-sizing:border-box;min-width:0;margin:0;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;padding:36px 40px;background:#f3eee8;border:1px solid #193a2d12;border-radius:28px;box-shadow:0 5px 14px #193a2d08;display:flex;flex-direction:column;align-items:flex-start}
.client-review:nth-child(3n+2){background:#f3e5e4}.client-review:nth-child(3n){background:#e5eadf}
.client-review>svg{width:34px;height:34px;fill:#aa4569;stroke:none;flex-shrink:0;margin-bottom:18px}
.client-review blockquote{margin:0;max-width:100%;font-family:var(--sans,Montserrat,Arial,sans-serif);font-style:normal;font-size:clamp(16px,1.65vw,20px);line-height:1.8;letter-spacing:0;font-weight:400}
.client-review blockquote p{font:inherit;color:inherit;margin:0 0 18px;overflow-wrap:anywhere}.client-review blockquote p:last-child{margin-bottom:0}
.client-review figcaption{margin-top:auto;padding-top:24px;font-size:14px;font-weight:700;color:#193a2d}.client-review figcaption::before{content:'';display:inline-block;width:24px;height:1px;background:currentColor;margin:0 12px 4px 0}

.client-review-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:8px}.client-review-controls[hidden],.client-review-position[hidden]{display:none}
.client-review-controls>button{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid #193a2d55;border-radius:50%;background:#fbf9f4;color:#193a2d;padding:0;cursor:pointer;transition:transform .2s,background .2s}.client-review-controls>button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.client-review-controls>button:disabled{opacity:.35;cursor:default}.client-review-controls>button:hover:not(:disabled){background:#e5eadf;transform:translateY(-2px)}.client-review-controls>button:active:not(:disabled){transform:scale(.96)}
.client-review-dots{display:flex;gap:0;align-items:center;justify-content:center}.client-review-dots button{display:grid;place-items:center;width:32px;height:44px;border:0;background:none;padding:0;cursor:pointer}.client-review-dots button::after{content:'';width:8px;height:8px;background:#193a2d45;border-radius:50%}.client-review-dots button[aria-pressed=true]::after{width:20px;border-radius:8px;background:#193a2d}
.client-review-position{font-size:12px;color:#526054;letter-spacing:.06em;margin:8px 0 0}.client-reviews button:focus-visible,.client-reviews-track:focus-visible{outline:3px solid #aa4569;outline-offset:3px}
/* The supplied comparison keeps its full frame, including both dated panels. */
.hero .hero-art--comparison{transform:none;padding:0;max-width:560px;margin:auto;width:100%}.hero .hero-art--comparison .hero-photo{width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center;border-radius:28px;background:#f4f0e8}.hero .hero-art--comparison .photo-note{position:relative;inset:auto;transform:rotate(-3deg);margin:18px auto 0;display:table;max-width:95%;font-size:30px}
@media(max-width:700px){.client-reviews{padding:56px 24px}.client-reviews-heading{margin-bottom:24px}.client-reviews-heading>p:last-child{font-size:13px}.client-review{padding:26px 23px;border-radius:24px}.client-review blockquote{font-size:16px;line-height:1.75}.client-review-controls{gap:10px}.client-review-controls>button{flex-basis:44px;width:44px;height:44px}.client-review-dots button{width:24px}.client-review figcaption{padding-top:22px}.hero .hero-art--comparison{max-width:400px}.hero .hero-art--comparison .hero-photo{border-radius:24px}.hero .hero-art--comparison .photo-note{font-size:26px}}
@media(prefers-reduced-motion:reduce){.client-review-controls>button{transition:none}.client-review-controls>button:hover:not(:disabled),.client-review-controls>button:active:not(:disabled){transform:none}}

/* The new hero portrait keeps the rounded photo and caption together. */
.hero .hero-art--portrait{transform:none;padding:0;max-width:460px;margin:auto;width:100%}
.hero .hero-art--portrait .hero-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:28px;transform:none;animation:none}
.hero .hero-art--portrait .photo-note{position:relative;inset:auto;transform:rotate(-3deg);margin:18px auto 0;display:table;max-width:95%;font-size:30px}
@media(max-width:700px){.hero .hero-art--portrait{max-width:380px}.hero .hero-art--portrait .hero-photo{border-radius:24px}.hero .hero-art--portrait .photo-note{font-size:26px}}
