/* Original partner marks, in a full-width film strip. The complete grid is the
 * baseline; only a successfully built motion context turns it into a ribbon. */
[data-lux="partners"] {
  position:relative; z-index:0; box-sizing:border-box;
  padding:clamp(80px, 8vw, 140px) 0 clamp(88px, 9vw, 156px);
  color:var(--lux-cream, #f2ede4); background:var(--lux-ground, #181714);
}
[data-partners] .partners-band-header {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  margin:0 var(--lux-edge, 5vw) clamp(34px, 4.2vw, 68px);
}
[data-partners] .partners-band-header h2 {
  margin:0; font:inherit; font-size:clamp(38px, 4.8vw, 76px);
  line-height:1; letter-spacing:-.055em; font-weight:400;
}
[data-partners] .partners-window {
  overflow:hidden;
  border-block:1px solid color-mix(in srgb, currentColor 15%, transparent);
  padding-block:clamp(28px, 4.4vw, 76px);
}
[data-partners] .partners-film { width:100%; }
[data-partners] .partners-group {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:24px; margin:0; padding:0 var(--lux-edge, 5vw); list-style:none;
}
[data-partners] .partners-mark {
  display:flex; align-items:center; justify-content:center; min-width:0;
  height:clamp(108px, 10vw, 160px); margin:0; padding:0;
}
[data-partners] .partners-mark img {
  display:block; width:auto; max-width:100%; height:auto; max-height:100%;
  object-fit:contain; filter:invert(1); opacity:.88;
  user-select:none; -webkit-user-drag:none;
}
[data-partners] [data-partner-copy] { display:none; }
[data-partners] .partners-pause {
  display:none; flex:0 0 44px; align-items:center; justify-content:center;
  width:44px; height:44px; padding:0; border:1px solid color-mix(in srgb, currentColor 28%, transparent);
  border-radius:50%; background:transparent; color:inherit; cursor:pointer;
}
[data-partners] .partners-pause:hover { background:color-mix(in srgb, currentColor 8%, transparent); }
[data-partners] .partners-pause:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
[data-partners] .partners-pause svg { width:14px; height:14px; fill:currentColor; }
[data-partners] .partners-play-icon,
[data-partners] .partners-pause[aria-pressed="true"] .partners-pause-icon { display:none; }
[data-partners] .partners-pause[aria-pressed="true"] .partners-play-icon { display:block; }
[data-partners][data-partners-live] .partners-pause { display:flex; }
[data-partners][data-partners-live] .partners-window {
  mask-image:linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
}
[data-partners][data-partners-live] .partners-film { display:flex; width:max-content; will-change:transform; }
[data-partners][data-partners-live] .partners-group { display:flex; flex:none; gap:0; padding:0; }
[data-partners][data-partners-live] .partners-mark {
  position:relative; flex:0 0 clamp(280px, 31vw, 480px); width:clamp(280px, 31vw, 480px);
  box-sizing:border-box; padding-inline:clamp(32px, 4vw, 70px);
}
/* Tiny points of light give the long strip a rhythm without boxing in the marks. */
[data-partners][data-partners-live] .partners-mark::after {
  content:""; position:absolute; right:-3px; top:calc(50% - 3px); width:6px; height:6px;
  background:var(--lux-taupe, #a49a87); transform:rotate(45deg); opacity:.55;
}
@media (max-width:700px) {
  [data-lux="partners"] { padding:72px 0 88px; }
  [data-partners] .partners-band-header { margin-inline:24px; }
  [data-partners] .partners-band-header h2 { font-size:40px; }
  [data-partners] .partners-group { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px 24px; padding-inline:24px; }
  [data-partners] .partners-mark { height:88px; }
  [data-partners][data-partners-live] .partners-mark { flex-basis:270px; width:270px; height:120px; padding-inline:32px; }
}
/* Stop immediately, including the brief interval before the JS context reverts. */
@media (prefers-reduced-motion:reduce) {
  [data-partners] .partners-film { transform:none !important; }
}
