.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.client-card{background:#080808;color:#f5f3ed;border:1px solid #242424;border-radius:22px;overflow:hidden;min-width:0}
[data-theme=dark] .client-card{background:#141414;border-color:#343434}
.client-header{display:flex;align-items:center;gap:16px;padding:28px 30px;border-bottom:1px solid #ffffff26;min-height:132px}
.client-avatar{display:grid;place-items:center;flex:none;width:54px;height:54px;border-radius:50%;background:#272727;color:#ece9e2;font-size:17px;letter-spacing:.02em}
.client-person{min-width:0;flex:1}
.client-person h3{font:600 17px/1.35 'DM Sans',sans-serif;letter-spacing:-.02em;margin:0}
.client-person p{font-size:14px;line-height:1.4;color:#aaa8a2;margin:4px 0 6px}
.client-stars{display:block;font-size:14px;letter-spacing:3px;color:#d6a11d;line-height:1}
.client-identity{flex:none;width:90px;height:64px;object-fit:contain}
.client-identity[src*="ms-sensational/"]{transform:scale(2.45)}
.client-body{padding:30px;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:20px 24px;align-items:start}
.client-headline{font:400 clamp(29px,2.65vw,39px)/1.08 'Times New Roman',Times,serif;letter-spacing:-.04em;margin:0;overflow-wrap:break-word;grid-column:1;grid-row:1}
.client-quote{grid-column:2;grid-row:1 / span 2;margin:0;color:#bcbab4;font:400 16px/1.6 'DM Sans',sans-serif;white-space:pre-line;overflow-wrap:break-word}
.client-work-area{grid-column:1 / -1;grid-row:3;min-width:0}
.client-gallery{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:auto;border-radius:9px;touch-action:pan-x pan-y}
.client-gallery::-webkit-scrollbar{display:none}
.client-work-track{display:flex;width:max-content}
.client-work-group{display:flex;gap:12px;padding-right:12px;flex:none}
.client-work{padding:0;border:0;flex:none;height:132px;width:auto;aspect-ratio:var(--work-ratio,16/9);border-radius:8px;overflow:hidden;background:#ede9e2;cursor:inherit;transition:opacity .25s ease}
.client-work:hover{opacity:1}
.client-work img{display:block;width:100%;height:100%;object-fit:cover}
.client-gallery:focus-visible,.client-work:focus-visible,.client-gallery-controls button:focus-visible,.client-footer a:focus-visible{outline:2px solid #eadfbc;outline-offset:-3px}
.client-gallery-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px;color:#9d9b96;font-size:12px}
.client-gallery-controls{display:flex;gap:6px}
.client-gallery-controls button{width:32px;height:30px;border:1px solid #ffffff26;border-radius:50%;background:transparent;color:#eae7df;font:18px/1 'DM Sans',sans-serif;cursor:pointer}
.client-gallery-controls button:hover{background:#ffffff15}
.client-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 30px;padding:18px 0 22px;border-top:1px solid #ffffff26;color:#92908a;font-size:12px}
.client-footer a{color:#c9c6bf;text-decoration:none}
.client-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.client-footer a span{margin-left:6px}
.project-dialog.testimonial-view{width:min(1080px,calc(100% - 32px));padding:0}
.testimonial-view .project-full{width:100%;height:auto;max-height:70dvh;object-fit:contain;display:block;background:#eee9e1;margin-top:0}
.testimonial-view .project-description{padding:24px 30px}
.testimonial-view .dialog-close{position:absolute;float:none;margin:0;top:14px;right:14px;background:var(--bg);box-shadow:0 0 0 1px var(--line)}
.reviews .reviews-link{margin-top:32px}
@media(max-width:700px){.client-grid{grid-template-columns:1fr;gap:20px}.client-card{border-radius:18px}.client-header{padding:22px;gap:12px;min-height:108px}.client-avatar{width:44px;height:44px;font-size:15px}.client-person h3{font-size:16px}.client-person p{font-size:13px}.client-identity{width:62px;height:50px}.client-body{padding:24px 22px;grid-template-columns:1fr;gap:24px}.client-headline{font-size:35px;grid-column:1;grid-row:1;max-width:300px}.client-work-area{grid-column:1;grid-row:2}.client-quote{grid-column:1;grid-row:3;font-size:16px;line-height:1.6}.client-work{height:148px}.client-footer{margin-inline:22px;font-size:12px}.testimonial-view .project-description{padding:22px}.client-stars{font-size:13px}}
@media(max-width:360px){.client-header{padding:20px 18px;gap:10px}.client-identity{width:48px;height:44px}.client-body{padding:24px 18px}.client-headline{font-size:32px}.client-person h3{font-size:15px}.client-avatar{width:38px;height:38px}.client-footer{margin-inline:18px}}
@media(prefers-reduced-motion:reduce){.client-work{transition:none}}

/* Theme-aware editorial cards and native, manually scrollable loops. */
.client-card{--card-bg:#f3f3f3;--card-ink:#191919;--card-muted:#606060;--card-line:#dedede;--card-hover:#ededed;--card-hover-line:#bcbcbc;background:var(--card-bg);color:var(--card-ink);border-color:var(--card-line);display:flex;flex-direction:column;box-shadow:0 2px 5px #00000004;transition:background-color .35s ease,box-shadow .35s ease,border-color .35s ease,transform .35s ease;transform-origin:50% 0}
[data-theme=dark] .client-card{--card-bg:#171717;--card-ink:#f2f2f2;--card-muted:#bcbcbc;--card-line:#343434;--card-hover:#202020;--card-hover-line:#606060;background:var(--card-bg);border-color:var(--card-line)}
.client-header{border-bottom:0;padding-top:20px;padding-bottom:14px;min-height:112px}.client-footer{border-color:var(--card-line)}
.client-person p,.client-quote,.client-gallery-footer,.client-footer{color:var(--card-muted)}
.client-avatar{background:#e3e3e3;color:#555}
[data-theme=dark] .client-avatar{background:#2b2b2b;color:#eee}
.client-stars{color:#d6a11d}
[data-theme=dark] .client-stars{color:#f2bc42}
.client-identity{width:144px;height:64px}
:root:not([data-theme=dark]) .client-identity[src*="rival-film-co/"],:root:not([data-theme=dark]) .client-identity[src*="benaz-co/"],:root:not([data-theme=dark]) .client-identity[src*="art-by-ela-d/"],:root:not([data-theme=dark]) .client-identity[src*="emazi/"],:root:not([data-theme=dark]) .client-identity[src*="24l/"]{filter:brightness(.2)}
:root:not([data-theme=dark]) .client-identity[src*="evvara/"]{filter:brightness(.58)}
:root:not([data-theme=dark]) .client-identity[src*="ms-sensational/"]{filter:brightness(.45)}
.client-identity[src*="ms-sensational/"]{transform:scale(2.45)}
.client-body{flex:1;padding:8px 30px 26px;grid-template-rows:auto auto;align-content:start}.client-work-area{grid-column:1 / -1;grid-row:1}.client-headline{grid-column:1;grid-row:2}.client-quote{grid-column:2;grid-row:2}.client-work{height:128px}
.client-footer{margin-top:auto}
.client-footer a,.client-gallery-controls button{color:var(--card-ink)}
.client-gallery-controls button{border-color:var(--card-line);width:38px;height:38px;transition:background .2s,border-color .2s}
.client-gallery-controls button:hover{background:color-mix(in srgb,var(--card-ink) 7%,transparent);border-color:var(--card-muted)}
.client-gallery-footer,.client-footer{font-size:12px;line-height:1.5}
.client-work{opacity:.8;transition:opacity .25s ease,box-shadow .35s ease;isolation:isolate}
.client-work:hover{opacity:1}
.client-work img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.client-work:hover img{transform:scale(1.035)}
.client-rail{width:min(1920px,100vw);margin-left:50%;transform:translateX(-50%);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;padding:18px 0 26px;-webkit-mask-image:var(--slider-edge-mask);mask-image:var(--slider-edge-mask)}
.client-rail::-webkit-scrollbar,.interactive-marquee::-webkit-scrollbar{display:none}
.client-grid{display:flex;gap:24px;align-items:stretch;width:max-content;padding:0 48px}
.client-card{width:clamp(580px,46vw,680px);flex:none}
.client-headline{font-size:clamp(32px,2.65vw,39px)}
.feedback-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px}
.feedback-navigation p{font-size:14px;color:var(--muted);margin:0}
.feedback-navigation p span{margin-inline:8px}
.feedback-controls{display:flex;gap:10px;margin-right:132px}
.feedback-controls button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--bg);font-size:23px;cursor:pointer;transition:background .25s,transform .25s}
.feedback-controls button:hover{background:var(--surface);transform:translateY(-2px)}
.manual-slider{cursor:grab;scrollbar-width:none;touch-action:pan-x pan-y}
.manual-slider.is-dragging,.manual-slider.is-dragging *{cursor:grabbing!important;user-select:none!important}
.manual-slider img{-webkit-user-drag:none;user-select:none}
.manual-slider:focus-visible,.feedback-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.client-gallery:focus-visible,.client-work:focus-visible,.client-gallery-controls button:focus-visible,.client-footer a:focus-visible{outline:2px solid var(--card-ink);outline-offset:-3px}
.interactive-marquee{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
.interactive-marquee .marquee-track{animation:none!important;transform:none!important}
@media(hover:hover) and (min-width:701px){.client-card:hover{transform:translateY(-5px);background:var(--card-hover);border-color:var(--card-hover-line);box-shadow:0 14px 28px #00000012}[data-theme=dark] .client-card:hover{box-shadow:0 14px 28px #00000030}}
@media(max-width:700px){
 .client-rail{width:100%;margin:0;transform:none;overflow:visible;-webkit-mask-image:none;mask-image:none;padding:0;cursor:auto}
 .client-grid{display:grid;grid-template-columns:1fr;width:100%;gap:24px;padding:0;isolation:isolate}
 .client-card{width:100%;box-shadow:0 5px 20px #00000009;transition:box-shadow .3s,border-color .3s}
 .client-card[data-loop-copy]{display:none}
 .client-grid.stack-enabled>.client-card{position:sticky;top:var(--stack-top,104px);z-index:var(--stack-index,1);transform:translateY(var(--stack-lift,0px)) scale(var(--stack-scale,1));box-shadow:0 -8px 26px #0000000d}
 [data-theme=dark] .client-grid.stack-enabled>.client-card{box-shadow:0 -8px 26px #00000040}
 .client-header{gap:10px;padding:22px 20px 16px;min-height:118px}
 .client-identity{width:98px;height:50px}
 .client-avatar{width:40px;height:40px;font-size:14px}
 .client-person p{font-size:14px}
 .client-headline{font-size:35px}
 .feedback-navigation{display:none}
 .client-body{flex:auto;padding:8px 22px 24px;grid-template-rows:auto auto auto}.client-work-area{grid-column:1;grid-row:1}.client-headline{grid-column:1;grid-row:2}.client-quote{grid-column:1;grid-row:3}.client-work{height:148px}
 .client-footer{margin-top:0}
}
@media(max-width:360px){.client-header{padding:20px 16px;gap:8px}.client-identity{width:82px;height:44px}.client-avatar{width:34px;height:34px;font-size:12px}.client-headline{font-size:32px}}
@media(prefers-reduced-motion:reduce){.client-card,.client-work,.client-work img,.feedback-controls button{transition:none}.client-card:hover,.client-work:hover img,.feedback-controls button:hover{transform:none}.client-grid.stack-enabled>.client-card{position:relative;top:auto;transform:none}}

/* Compact review summary matching the supplied badge. */
.reviews .google-badge{flex-wrap:nowrap;justify-content:center;gap:12px;padding:12px 22px;min-height:52px;font-size:16px;line-height:1.25;margin-bottom:26px;background:var(--bg);border-color:var(--line)}
.google-review-label{white-space:nowrap}.google-review-label>span{color:var(--muted)}
.reviews .google-badge img{width:80px;height:auto;flex:none}
.google-rating{white-space:nowrap}.google-stars{color:#d6a11d;font-size:16px;letter-spacing:.5px;line-height:1;white-space:nowrap}
@media(hover:hover){.client-work:hover{opacity:1}}
@media(max-width:700px){.reviews .google-badge{gap:9px;padding:12px 14px;font-size:14px;min-height:48px;max-width:100%}.reviews .google-badge img{width:66px}.google-stars{font-size:14px;letter-spacing:.25px}.client-body{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.reviews .google-badge{gap:7px;padding:11px 10px;font-size:13px}.reviews .google-badge img{width:58px}.google-stars{font-size:13px;letter-spacing:0}}

/* Retain each artwork's aspect ratio at 60% of its previous dimensions. */
.client-work{height:76.8px;border-radius:6px}
.client-work-group{gap:8px;padding-right:8px}
@media(max-width:700px){.client-work{height:88.8px}}

/* Fractional transform motion keeps the slow team row gliding between pixels. */
.employee-window.smooth-team{overflow:hidden;touch-action:pan-y}
.employee-window.smooth-team .employee-track{transform:translate3d(var(--team-offset,0px),0,0)!important;will-change:transform}

/* Move portfolio strips on the compositor instead of writing scrollLeft each frame. */
.portfolio-row.smooth-portfolio{overflow:hidden;touch-action:pan-y}
.portfolio-row.smooth-portfolio .marquee-track{transform:translate3d(var(--team-offset,0px),0,0)!important;will-change:transform}

.client-quote.review-collapsible{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.review-expanded .client-quote.review-collapsible{display:block;overflow:visible;-webkit-line-clamp:unset}
.review-expand{grid-column:2;grid-row:3;justify-self:start;display:inline-flex;align-items:center;gap:9px;padding:3px 10px 3px 0;min-height:44px;border:0;background:none;color:var(--card-ink);font:500 13px/1.4 'DM Sans',sans-serif;cursor:pointer}
.review-expand[hidden]{display:none}.review-expand>span:first-child{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--card-line);border-radius:50%;flex:none;line-height:1;font-family:Arial,sans-serif;font-size:20px;font-weight:400;padding-bottom:2px;transition:background .2s}
.review-expand:hover>span:first-child{background:var(--card-line)}.review-expand:focus-visible{outline:2px solid var(--card-ink);outline-offset:3px}
@media(max-width:700px){.review-expand{grid-column:1;grid-row:4;margin-top:-12px}}
@media(max-width:700px){.client-card.review-expanded{position:relative!important;top:auto!important;transform:none!important}}

/* Original review-card logos: retain brand colour, with a white JAC mark on dark cards. */
:root[data-theme=dark] .client-identity-jac-cleaners{filter:brightness(0) invert(1)}
.client-identity-ucn{border-radius:8px}

/* Keep the initial mobile review selection compact; desktop retains its carousel. */
.client-card[hidden],.reviews-load-more[hidden]{display:none!important}
.reviews-load-more{display:none}
@media(max-width:700px){
 .reviews-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:28px;position:relative;z-index:20}
 .reviews-load-more,.reviews-actions .reviews-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;width:auto;max-width:100%;padding:12px 22px;margin:0;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:400 14px/1.35 'DM Sans',sans-serif;text-align:center;text-decoration:none;cursor:pointer}
 .reviews-load-more{background:var(--ink);color:var(--bg)}
 .reviews-load-more:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
}
