/* R4 · Faixa de clientes rolando (componente compartilhado: /marquee.css + /marquee.js).
   Marcação estática: <div class="mq" data-marquee><ul class="cmq-set">li>img…</ul></div>.
   O JS repete o conjunto (cópias aria-hidden) até cobrir 1920 px e anima a esteira.
   Sem JS ou com prefers-reduced-motion: a lista fica parada e centralizada.
   Bordas: sobreposição em degradê com a cor do fundo (--mq-bg, calculada pelo JS);
   sem mask-image na camada que anima (ver nota em styles.css .logos-viewport). */
.cmq{--mq-bg:var(--bg-0,#05070A);--mq-h:34px;--mq-gap:56px;position:relative;min-width:0;max-width:100%;overflow:hidden;flex:1 1 320px}
.cmq-track{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px var(--mq-gap)}
.cmq .cmq-set{display:flex;align-items:center;gap:0 var(--mq-gap);list-style:none;margin:0;padding:0;flex:none}
.cmq .cmq-set li{flex:none;display:flex;align-items:center;margin:0;padding:0}
.cmq .cmq-set img{display:block;height:calc(var(--mq-h) * var(--k,1));width:auto;max-width:none;opacity:.75;transition:opacity .25s var(--ease,ease),transform .25s var(--ease,ease)}
.cmq .cmq-set li:hover img,.cmq .cmq-set li:hover .cmq-name,.cmq:focus-within .cmq-set img,.cmq:focus-within .cmq-name{opacity:1;transform:translateY(-1px)}
.cmq-name{display:block;font:600 calc(var(--mq-h) * .56)/1 var(--f-display,"Sora",sans-serif);letter-spacing:.01em;color:#fff;white-space:nowrap;opacity:.75;transition:opacity .25s var(--ease,ease),transform .25s var(--ease,ease)}
.cmq[data-on] .cmq-track{flex-wrap:nowrap;justify-content:flex-start;gap:0;width:max-content;animation:cmqRun var(--mq-dur,60s) linear infinite}
.cmq[data-on] .cmq-set{padding-right:var(--mq-gap)}
.cmq[data-on]::before,.cmq[data-on]::after{content:"";position:absolute;top:0;bottom:0;width:min(12%,140px);pointer-events:none;z-index:2}
.cmq[data-on]::before{left:0;background:linear-gradient(90deg,var(--mq-bg),transparent)}
.cmq[data-on]::after{right:0;background:linear-gradient(270deg,var(--mq-bg),transparent)}
.cmq[data-on]:hover .cmq-track,.cmq[data-on]:focus-within .cmq-track,.cmq[data-paused] .cmq-track,.cmq[data-off] .cmq-track{animation-play-state:paused}
.cmq-pause{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:3;width:28px;height:28px;border-radius:999px;border:1px solid var(--line-exec,rgba(255,255,255,.08));background:var(--bg-2,#10161F);color:var(--on-dark-soft,#b9cbdd);display:grid;place-items:center;padding:0;cursor:pointer;opacity:0;transition:opacity .2s}
.cmq:hover .cmq-pause,.cmq-pause:focus-visible,.cmq[data-paused] .cmq-pause{opacity:1}
.cmq-pause:focus-visible{outline:2px solid var(--cyan,#34C3F0);outline-offset:2px}
.cmq-pause::before{content:"";width:8px;height:10px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
.cmq[data-paused] .cmq-pause::before{width:0;height:0;border-style:solid;border-width:5px 0 5px 9px;border-color:transparent transparent transparent currentColor;border-right:0;margin-left:2px}
.cmq[data-dir="rev"] .cmq-track{animation-direction:reverse}
@keyframes cmqRun{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (max-width:620px){.cmq{--mq-h:26px;--mq-gap:40px}.cmq-pause{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .cmq[data-on] .cmq-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;gap:18px var(--mq-gap)}
  .cmq[data-on] .cmq-set{padding-right:0;flex-wrap:wrap;justify-content:center;row-gap:18px}
  .cmq .cmq-set[aria-hidden="true"],.cmq-pause,.cmq[data-on]::before,.cmq[data-on]::after{display:none}
}
/* Contextos de página: a faixa ocupa a linha inteira do bloco de prova. */
.xband-in>.cmq,.px-logos-in>.cmq,.trust-logos>.cmq,.wk-logos>.cmq,.p-proof .cmq,.w25-proof .cmq{flex:1 1 100%;width:100%}
.proof-band>.cmq{margin-top:26px}
/* Faixa 2 (clientes do grupo): título próprio, logo abaixo da faixa 1, sentido oposto. */
.cmq-group{flex:1 1 100%;width:100%;min-width:0;margin-top:18px}
.cmq-group .cmq{--mq-h:30px}
.cmq-t{margin:0 0 10px;font:500 11px var(--f-mono,monospace);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-mut,#7f97ae);text-align:center}
.proof-band>.cmq-group{margin-top:22px}
@media (max-width:620px){.cmq-group .cmq{--mq-h:24px}}
/* R4d · Faixa única (clientes iSol + grupo misturados, sem título): ocupa a linha inteira. */
.cmq-one{flex:1 1 100%;width:100%}
