/* "Who's there" lineup strip (event page). Uses the house tokens, so it follows every theme. */
.lineup{margin:0 0 48px}
.lu-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.lu-head h2{font-size:clamp(24px,2.6vw,32px);font-weight:800;letter-spacing:-.02em}.t-editorial .lu-head h2{font-weight:400}
.lu-kind{font:700 10.5px/1 var(--f-body);letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;border-radius:3px;background:var(--hot);color:#fff}
.lu-kind.reg{background:transparent;color:var(--fg);border:1px solid var(--line)}
.lu-note{color:var(--muted);font-size:14.5px;margin-top:8px;max-width:68ch}
.lu-g{margin-top:22px}
.lu-gh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.lu-gh h3{font:600 11.5px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}
.lu-gh h3 span{color:var(--fg);background:var(--line);border-radius:99px;padding:3px 8px;letter-spacing:0}
.lu-more{font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:99px;padding:6px 12px;white-space:nowrap}.lu-more:hover{border-color:var(--fg)}
.lu-strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 8px;scrollbar-width:thin}
.lu-it{flex:0 0 212px;scroll-snap-align:start;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--card);overflow:hidden;transition:border-color .2s,transform .2s var(--ease)}
a.lu-it:hover{border-color:color-mix(in srgb,var(--fg) 45%,transparent);transform:translateY(-2px)}
.lu-it.lu-x{display:none}
.lu-g.open .lu-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow:visible}.lu-g.open .lu-it.lu-x{display:flex}
.lu-av{position:relative;display:block;aspect-ratio:16/10;background:#f4f2ee;overflow:hidden}
.lu-av img{width:100%;height:100%;object-fit:cover}.lu-av img.fit{object-fit:contain;padding:14px 18px;background:#fff}
.lu-ini{position:absolute;inset:0;display:grid;place-items:center;font:800 34px/1 var(--f-display);letter-spacing:.02em;color:#fff;background:radial-gradient(120% 90% at 20% 10%,color-mix(in srgb,var(--c) 75%,#fff),var(--c) 55%,color-mix(in srgb,var(--c) 70%,#000))}
.lu-date{position:absolute;top:8px;left:8px;font:700 10px/1 var(--f-body);font-style:normal;letter-spacing:.1em;text-transform:uppercase;background:var(--hot);color:#fff;padding:5px 7px;border-radius:3px}
.lu-tx{display:flex;flex-direction:column;gap:4px;padding:12px 13px 12px;flex:1}
.lu-tx b{font:700 15px/1.25 var(--f-display)}
.lu-line{font-size:13.5px;line-height:1.45;color:color-mix(in srgb,var(--fg) 82%,transparent)}
.lu-where{font-size:12px;color:var(--muted)}
.lu-so{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-size:12.5px;font-weight:600;color:var(--fg);min-width:0}
.lu-so svg{width:15px;height:15px;flex:none}.lu-so span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
a.lu-it:hover .lu-so span{text-decoration:underline;text-underline-offset:3px}
.lu-foot{font-size:12.5px;color:var(--muted);margin-top:10px;line-height:1.5}.lu-foot a{text-decoration:underline;text-underline-offset:2px}
@media (max-width:760px){.lu-it{flex-basis:58vw;max-width:230px}.lu-g.open .lu-strip{grid-template-columns:1fr 1fr}.lu-tx b{font-size:14px}.lu-line{font-size:12.5px}}
