.clients-section{position:relative;background:#000;padding:60px 0 100px;min-height:420px;overflow:hidden}.clients-section .background-heading{margin-bottom:-80px}.clients-subtitle,.clients-description{width:min(90%,850px);margin:12px auto 0;text-align:center;color:#aaa}.clients-slider{position:relative;width:min(90vw,1100px);margin:60px auto 0;padding:0 48px}.clients-slider-viewport{overflow:hidden}.clients-slider-track{display:flex;align-items:stretch;transition-property:transform;transition-timing-function:ease;will-change:transform}.client-item{display:flex;align-items:center;justify-content:center;min-width:0;padding:15px;text-align:center;transition:transform .3s ease,filter .3s ease,box-shadow .3s ease}.client-item a{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:#fff;text-decoration:none}.client-item img{display:block;width:100%;height:var(--clients-logo-height,150px);max-width:220px;object-fit:contain}.client-name{display:block;margin-top:12px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em}.clients-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;background:transparent;color:#fff;font-size:44px;line-height:1;cursor:pointer}.clients-prev{left:0}.clients-next{right:0}.clients-dots{display:flex;justify-content:center;gap:8px;margin-top:24px}.clients-dots button{width:9px;height:9px;padding:0;border:1px solid #fff;border-radius:50%;background:transparent;cursor:pointer}.clients-dots button.is-active{background:#fff}.clients-collection{display:grid;grid-template-columns:repeat(var(--clients-grid-desktop,4),minmax(0,1fr));gap:var(--clients-gap,30px);width:min(90vw,1100px);margin:60px auto 0}.client-card{background:#111;border:1px solid #252525;min-height:250px;flex-direction:column}.client-card-content{padding:0 18px 20px}.client-card-content p{color:#aaa}.client-industry{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.clients-grayscale .client-item img{filter:grayscale(1)}.clients-grayscale.clients-colour-hover .client-item:hover img{filter:grayscale(0)}.clients-hover-scale .client-item:hover{transform:scale(1.04)}.clients-hover-lift .client-item:hover{transform:translateY(-8px)}.clients-hover-glow .client-item:hover{box-shadow:0 0 28px rgba(255,255,255,.18)}
@media(max-width:991px){.clients-collection{grid-template-columns:repeat(var(--clients-grid-tablet,3),minmax(0,1fr))}}
@media(max-width:767px){.clients-section{padding-bottom:70px}.clients-slider{width:94vw;padding:0 28px}.clients-collection{grid-template-columns:repeat(var(--clients-grid-mobile,2),minmax(0,1fr));width:92vw}.client-item img{max-width:170px}.clients-arrow{font-size:34px}}


/* Module 4.1: flexible client grid sizing */
.clients-collection .client-item{width:var(--clients-grid-item-width,100%);min-height:var(--clients-grid-item-height,180px);padding:var(--clients-grid-padding,20px);justify-self:var(--clients-grid-align,center);align-self:stretch}
.clients-collection .client-item a{align-items:var(--clients-grid-align,center)}
.clients-collection .client-item img{width:var(--clients-grid-image-width,100%);height:var(--clients-grid-image-height,140px);max-width:none}
.clients-aspect-square .clients-collection .client-item{aspect-ratio:1/1;min-height:0}
.clients-aspect-landscape .clients-collection .client-item{aspect-ratio:4/3;min-height:0}
.clients-aspect-portrait .clients-collection .client-item{aspect-ratio:3/4;min-height:0}
@media(max-width:767px){.clients-collection .client-item{width:100%;min-height:min(var(--clients-grid-item-height,180px),320px)}.clients-collection .client-item img{max-width:100%}}
