/* Logos clients : marquee premium, tuiles uniformes (surcharge site.css) */
#realisations .logos-label{margin-bottom:14px}
.marquee{--tw:150px;--th:92px;--gap:12px;--dur:46s;position:relative;overflow:hidden;margin:0 0 30px;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.marquee-track{display:flex;width:max-content;will-change:transform;animation:mq-left var(--dur) linear infinite}
.marquee[data-dir="right"] .marquee-track{animation-name:mq-right}
.marquee:hover .marquee-track,.marquee:focus-within .marquee-track{animation-play-state:paused}
.mq-set{display:flex;flex:none;gap:var(--gap);padding:0 var(--gap) 0 0;margin:0;list-style:none}
@keyframes mq-left{to{transform:translate3d(-50%,0,0)}}
@keyframes mq-right{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}

.marquee .logo-tile{position:relative;flex:none;width:var(--tw);display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--line);background:var(--surface);overflow:hidden;
  transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.marquee .logo-tile:hover{transform:translateY(-4px);border-color:rgba(34,211,238,.45);box-shadow:0 0 0 3px rgba(34,211,238,.12),0 14px 28px -14px rgba(0,0,0,.7)}
.marquee .logo-img{height:var(--th);aspect-ratio:auto;display:flex;align-items:center;justify-content:center;padding:12px;background:#0f1115}
.marquee .logo-img.lt{background:#f3f4f6}
.marquee .logo-img img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block}
.marquee .lt-name{display:block;padding:8px 8px;min-height:2.9em;display:flex;align-items:center;justify-content:center;font-size:.6875rem;line-height:1.25;text-align:center;color:var(--ink-2);border-top:1px solid var(--line);background:var(--surface)}

@media (min-width:700px){
  .marquee{--tw:200px;--th:120px;--gap:16px;--dur:50s}
  .marquee .logo-img{padding:16px 20px}
  .marquee .lt-name{font-size:.75rem}
}

/* Mouvement reduit : grille statique, sans doublons */
@media (prefers-reduced-motion:reduce){
  .marquee{overflow:visible;-webkit-mask-image:none;mask-image:none}
  .marquee-track{animation:none;width:auto;will-change:auto}
  .mq-set{flex-wrap:wrap;justify-content:center;padding:0;gap:var(--gap)}
  .mq-dup{display:none}
  .marquee .logo-tile{width:calc(50% - var(--gap)/2)}
}
@media (prefers-reduced-motion:reduce) and (min-width:700px){
  .marquee .logo-tile{width:var(--tw)}
}
