/* Client feedback — shared palette, typography and quilt-inspired stitching. */
.client-reviews{padding-block:68px;background:#f3efe6;border-bottom:1px solid #ddd8ca}
.client-reviews-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.45fr);align-items:center;gap:72px}
.client-reviews-intro .eyebrow{color:#805a29;margin-bottom:16px}
.client-reviews-intro h2{font-size:clamp(2.8rem,3.65vw,3.8rem);line-height:1.08}
.client-reviews-intro h2 em{color:var(--teal);font-weight:400}
.client-reviews-intro>p:last-child{max-width:290px;margin-top:20px;color:var(--muted);font-size:15px;line-height:1.7}
.client-review{position:relative;min-width:0;margin:0;padding:39px 43px 35px;background:var(--paper);border:1px solid #d8d0bf;box-shadow:0 8px 26px #243c3b05}
.client-review::before{content:"";position:absolute;inset:9px;border:1px dashed #d7c9ae;pointer-events:none}
.client-review-mark{display:block;height:40px;color:var(--gold);font:82px/.9 var(--serif);user-select:none}
.client-review-project{position:relative;font:600 10px/1.6 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:#805a29;margin-top:11px}
.client-review blockquote{position:relative;margin:17px 0 26px}
.client-review blockquote p{font:clamp(1.85rem,2.5vw,2.6rem)/1.25 var(--serif);letter-spacing:-.015em;text-wrap:pretty}
.client-review figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:13px;color:var(--muted);font:500 12px/1.6 var(--sans)}
.client-review-source{color:var(--teal);margin-left:auto;font:500 11px/1.6 var(--sans);text-decoration:underline;text-underline-offset:3px}
.client-review-source:focus-visible{outline:2px solid var(--teal);outline-offset:4px}
.client-review-thread{display:block;flex:0 0 28px;border-top:1px solid #b9965c}
.client-reviews-carousel{min-width:0}
.client-reviews-slides{display:grid;gap:18px}
.is-ready .client-reviews-slides{gap:0}
.is-ready .client-review{grid-area:1/1;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .45s ease;display:flex;flex-direction:column;justify-content:center}
.is-ready .client-review.is-active{visibility:visible;opacity:1;pointer-events:auto}
.client-review-body{min-width:0}
.client-review--photo,.is-ready .client-review--photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);grid-template-rows:1fr auto;align-items:center;column-gap:20px;row-gap:0}
.client-review--photo .client-review-body{grid-column:1;grid-row:1;align-self:end}
.client-review--photo figcaption{grid-column:1;grid-row:2;align-self:start;padding-bottom:25px}
.client-review-photo{grid-column:2;grid-row:1/3;width:100%;max-width:210px;justify-self:end;align-self:center;text-decoration:none;color:var(--teal)}
.client-review-photo img{display:block;width:100%;height:auto;object-fit:contain;border:1px solid #d8d0bf}
.client-review-photo>span{display:block;margin-top:9px;font:500 11px/1.5 var(--sans);text-align:center;text-decoration:underline;text-underline-offset:3px}
.client-review-photo:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
.client-review--photo-long,.is-ready .client-review--photo-long{display:block}
.client-review--photo-long .client-review-photo{float:right;width:40%;margin:7px 0 16px 22px}
.client-review--photo-long blockquote p{font-size:clamp(1.35rem,1.85vw,1.6rem);line-height:1.4;text-wrap:wrap}
.client-review--photo-long figcaption{clear:both;padding-bottom:0}
.client-reviews-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}
.client-reviews-controls[hidden]{display:none}
.client-reviews-navigation,.client-reviews-dots{display:flex;align-items:center;gap:2px}
.client-reviews-navigation{max-width:100%}
.client-reviews-dots{min-width:0;flex-wrap:wrap;justify-content:center}
.client-reviews-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--teal);cursor:pointer}
.client-reviews-controls button:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:3px}
.client-reviews-arrow{font:24px/1 var(--sans)}
.client-reviews-controls .client-reviews-arrow{border:1px solid #c7c6b7;border-radius:50%}
.client-reviews-arrow:hover{background:#e5e5d9}
.client-reviews-dot span{width:7px;height:7px;border-radius:50%;background:#9b9b8b;transition:width .25s ease,background .25s ease}
.client-reviews-dot[aria-current] span{width:23px;border-radius:10px;background:var(--teal)}
.client-reviews-controls .client-reviews-dot{min-width:32px}
.client-reviews-controls .client-reviews-play{padding:0 8px;font:500 12px/1.3 var(--sans);text-decoration:underline;text-underline-offset:4px}
.client-reviews-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:900px){.client-reviews-layout{gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.client-review{padding:33px 29px}.client-reviews-intro h2{font-size:2.9rem}.client-reviews-controls .client-reviews-dot{min-width:24px}}
@media(max-width:650px){.client-reviews{padding-block:42px}.client-reviews-layout{grid-template-columns:1fr;gap:27px}.client-reviews-intro h2{font-size:2.9rem}.client-reviews-intro>p:last-child{max-width:330px;margin-top:15px}.client-review{padding:30px 27px 28px}.client-review blockquote p{font-size:2rem;line-height:1.25}.client-review figcaption{font-size:11px}.client-review-project{font-size:9px}}
@media(max-width:430px){.client-review blockquote p{font-size:1.7rem}.client-reviews-controls{flex-wrap:wrap;justify-content:center;gap:4px}.client-reviews-navigation{justify-content:center;width:100%;gap:0}.client-reviews-dots{flex:1;justify-content:space-evenly;gap:0}.client-reviews-controls .client-reviews-dot{min-width:24px;flex:1}.client-reviews-controls .client-reviews-play{min-width:110px}.client-review--photo{padding-inline:22px;column-gap:16px}.client-review--photo figcaption{padding-bottom:15px}}
@media(max-width:430px){.client-review--photo-long .client-review-photo{margin-left:16px}.client-review--photo-long blockquote p{font-size:1.35rem;line-height:1.4}.client-review--photo-long figcaption{padding-bottom:0}.client-reviews-controls .client-reviews-arrow{min-width:36px}}
@media(max-width:650px){.client-reviews-dots{display:grid;grid-template-columns:repeat(7,minmax(24px,1fr));flex:1}}
@media(prefers-reduced-motion:reduce){.is-ready .client-review,.client-reviews-dot span{transition:none}}
