/* Service names and a floating image preview, on the light grain revealed after Work. */
.services-section{position:relative;pointer-events:auto;color:var(--ink);padding:65svh var(--gutter) clamp(200px,18vw,300px);min-height:160svh;scroll-margin-top:0;overflow:clip}.services-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap)}.services-content{grid-column:5/-1;position:relative}.services-label{display:flex;gap:10px;align-items:center;margin:0 0 36px;font-weight:400}.services-list{display:flex;flex-direction:column;align-items:flex-start;gap:20px}.service-item{display:block;position:relative;text-align:left;font-family:SuisseBPIntl,Helvetica,Arial,sans-serif;font-size:clamp(40px,6.53vw,130px);font-weight:700;line-height:.9;letter-spacing:-.045em;transition:opacity .25s;cursor:pointer}.services-list.has-active .service-item{opacity:.3}.services-list.has-active .service-item.is-active{opacity:1}.service-item:focus-visible{outline:2px solid var(--ink);outline-offset:8px}.service-preview{position:absolute;right:0;top:60px;width:15.2vw;max-width:300px;aspect-ratio:4/5;margin:0;z-index:2;pointer-events:none;opacity:0;transform:translate3d(0,var(--preview-y,0px),0);transition:opacity .2s,transform .18s ease-out,filter .2s;filter:blur(4px);overflow:hidden}.service-preview.is-visible{opacity:1;filter:blur(0)}.service-preview img{width:106%;height:106%;margin:-3%;object-fit:cover;display:block;-webkit-user-drag:none}
@media(max-width:1023px){.services-content{grid-column:2/-1}.service-item{font-size:clamp(40px,7.6vw,78px)}.service-preview{width:22vw}}
@media(max-width:639px){.services-section{padding-top:60svh;padding-bottom:140px;min-height:140svh}.services-grid{display:block}.services-label{margin-bottom:32px}.services-list{gap:18px}.service-item{font-size:clamp(32px,8.8vw,52px);letter-spacing:-.035em}.service-preview{position:relative;top:auto;right:auto;width:48%;max-width:none;margin:40px 0 0 auto;transform:none;display:none}.service-preview.is-visible{display:block}}
@media(prefers-reduced-motion:reduce){.service-item,.service-preview{transition:none}.service-preview{filter:none}}

/* Client carousel shares the service list's top edge and left grid column. */
.testimonials{grid-column:1/span 3;align-self:start;color:var(--ink)}.testimonial-progress{height:1px;background:#1a1c1c33;position:relative}.testimonial-progress>span{display:block;width:33.333%;height:1px;background:var(--ink);transition:width .35s ease}.testimonial-navigation{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.testimonial-arrows{display:flex;gap:10px}.testimonial-arrows button{width:24px;min-height:28px;font-family:SuisseBPIntl,Helvetica,Arial,sans-serif;font-size:26px;line-height:1;transition:opacity .2s}.testimonial-arrows button:hover{opacity:.5}.testimonial-arrows button:focus-visible{outline-color:var(--ink)}.testimonial-counter{color:#62635e;font-weight:400}.testimonial-slides{margin-top:32px}.testimonial-slide{margin:0;animation:testimonial-in .35s ease both}.testimonial-slide[hidden]{display:none}.testimonial-slide blockquote{margin:0 0 30px;font-family:SuisseBPIntl,Helvetica,Arial,sans-serif;font-size:clamp(16px,1.3vw,22px);font-weight:400;line-height:1.25;letter-spacing:-.02em}.testimonial-slide figcaption{display:flex;align-items:center;gap:12px;font-size:16px;line-height:1.25;letter-spacing:-.02em}.testimonial-slide figcaption img{width:44px;height:44px;flex-shrink:0;object-fit:cover;border-radius:50%;filter:grayscale(1)}.testimonial-name,.testimonial-role{display:block}.testimonial-role{color:#535550}.testimonial-slide figcaption>span{min-width:0}@keyframes testimonial-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1023px) and (min-width:640px){.services-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.services-content{grid-column:5/-1}.service-item{font-size:clamp(36px,5.7vw,60px)}.service-preview{width:18vw}.testimonial-slide figcaption{align-items:flex-start;flex-direction:column;font-size:14px}}
@media(max-width:639px){.services-grid{display:flex;flex-direction:column;gap:64px}.testimonials{width:100%;max-width:420px}.testimonial-slides{margin-top:24px}.testimonial-slide blockquote{font-size:20px}.services-content{width:100%}}
@media(prefers-reduced-motion:reduce){.testimonial-slide{animation:none}.testimonial-progress>span{transition:none}}

.testimonial-progress>span{transform-origin:left center;transition:none}
