/* Un único tratamiento: los logos ya son siluetas del color del texto (#f3eee8, tools/normalize_logos.py) y solo cambia su opacidad. Altura óptica: calc(--logo-base * --scale), con 40 px de base (32 en móvil) y --scale de 0,875 a 1,4 en config.json. */
.clients-section{--logo-base:40px;--logo-gap:48px;position:relative;isolation:isolate;border:0;background:transparent;padding:27px 32px 21px;overflow:hidden}
.clients-section::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,#3425408c,transparent 78%);-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-composite:intersect}
.clients-heading{margin-bottom:15px}
.clients-heading .eyebrow{color:#a88bc8;margin-bottom:7px}
.clients-heading h2{font-size:36px;line-height:1.1;letter-spacing:-.8px;color:#e4dbea}
.clients-window{overflow:hidden;position:relative;border-radius:4px}
.clients-window:focus-visible{outline-offset:-2px}
.clients-track{display:flex;width:100%;align-items:center}
.clients-group{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--logo-gap);list-style:none;padding:0;margin:0;width:100%}
.client-logo{display:flex;align-items:center;justify-content:center;flex:0 0 auto;height:104px;list-style:none;color:var(--ink);opacity:.72;transition:opacity .35s}
.client-logo:hover,.clients-window:focus-visible .client-logo{opacity:1}
.client-logo img{width:auto;max-width:none;height:calc(var(--logo-base) * var(--scale,1))}
.client-logo-text{font:600 calc(var(--logo-base) * var(--scale,1) * .66)/1 var(--sans);letter-spacing:-.02em;white-space:nowrap}
.clients-copy{display:none}
.clients-enhanced:not(.clients-static) .clients-track{width:max-content;animation:clients-scroll var(--clients-duration,22s) linear infinite;will-change:transform}
.clients-enhanced:not(.clients-static) .clients-group{flex-wrap:nowrap;flex:none;width:auto;justify-content:flex-start;padding-right:var(--logo-gap)}
.clients-enhanced:not(.clients-static) .clients-copy{display:flex}
.clients-enhanced:not(.clients-static) .clients-window{-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
/* La tira se para con el cursor o el foco encima; con «reducir movimiento» no se mueve (abajo). */
.clients-window:hover .clients-track,.clients-window:focus-within .clients-track{animation-play-state:paused!important}
@keyframes clients-scroll{to{transform:translateX(-50%)}}
@media(max-width:900px){.clients-section{--logo-gap:40px;padding:25px 27px 18px}.clients-heading h2{font-size:33px}}
@media(max-width:650px){.clients-section{--logo-base:32px;--logo-gap:32px;padding:22px 19px 15px}.clients-heading{margin-bottom:14px}.clients-heading h2{font-size:30px;letter-spacing:-.6px}.client-logo{height:88px}.clients-enhanced:not(.clients-static) .clients-window{-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}}
@media(max-width:360px){.clients-heading h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.clients-track{animation:none!important;transform:none!important}.clients-enhanced:not(.clients-static) .clients-group{flex-wrap:wrap;width:100%;justify-content:center;padding:0}.clients-enhanced:not(.clients-static) .clients-track{width:100%;will-change:auto}.clients-copy{display:none!important}.clients-enhanced:not(.clients-static) .clients-window{-webkit-mask-image:none;mask-image:none}.client-logo{transition:none}}
/* Alto contraste de Windows: la tira conserva su fondo oscuro y los logos claros, que si no se perderían sobre un fondo de sistema blanco. */
@media(forced-colors:active){.clients-window{forced-color-adjust:none;background:#111014}}
