*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#fafafa;color:#0f0f12;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.mono{font-family:JetBrains Mono,ui-monospace,monospace}header.top{position:sticky;top:36px;z-index:50;background:#fff;border-bottom:1px solid #e8e8eb;padding:1rem 1.5rem;display:flex;align-items:center;gap:2rem}header.top .brand{font-weight:800;letter-spacing:-.02em;font-size:1.2rem}header.top nav{display:flex;gap:1.5rem;font-size:.9rem}header.top nav a{color:#555}header.top nav a:hover{color:#7c3aed}header.top .right{margin-left:auto;display:flex;gap:.75rem;align-items:center}header.top .btn{padding:.5rem 1rem;background:#0f0f12;color:#fff;border-radius:4px;font-size:.85rem;font-weight:600}header.top .btn:hover{background:#7c3aed}.ticker{background:#0f0f12;color:#fff;overflow:hidden;white-space:nowrap;padding:.6rem 0;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.05em}.ticker-track{display:inline-flex;gap:3rem;animation:tick 50s linear infinite}.ticker .live{color:#34d399;margin-right:.5rem}.ticker .dot{color:#555;margin:0 .5rem}@keyframes tick{0%{transform:translate(0)}to{transform:translate(-50%)}}.hero{padding:4rem 1.5rem 3rem;max-width:1280px;margin:0 auto}.hero .label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#7c3aed;margin-bottom:1rem}.hero h1{font-size:clamp(2.5rem,6vw,5rem);letter-spacing:-.025em;line-height:1.02;margin:0 0 1.5rem;font-weight:800;max-width:22ch}.hero h1 em{font-style:normal;color:#7c3aed}.hero p{font-size:1.15rem;color:#555;max-width:56ch;margin:0}.filters{max-width:1280px;margin:0 auto;padding:1rem 1.5rem;display:flex;gap:.5rem;flex-wrap:wrap;border-top:1px solid #e8e8eb;border-bottom:1px solid #e8e8eb}.chip{padding:.4rem 1rem;border:1px solid #d8d8db;border-radius:999px;font-size:.85rem;cursor:pointer;background:#fff;transition:all .15s}.chip:hover{border-color:#0f0f12}.chip.active{background:#0f0f12;color:#fff;border-color:#0f0f12}.listings{max-width:1280px;margin:0 auto;padding:2rem 1.5rem 4rem}.listings h2{display:flex;align-items:baseline;gap:1rem;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;letter-spacing:-.015em}.listings h2 .count{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#888;font-weight:400}.row{display:grid;grid-template-columns:70px 1fr 1.2fr .8fr 90px 110px;align-items:center;gap:1rem;padding:1rem;border:1px solid #e8e8eb;background:#fff;margin-bottom:6px;border-radius:6px;transition:all .15s}.row:hover{border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed14}.row .date{text-align:center}.row .date .day{font-family:JetBrains Mono,monospace;font-size:11px;color:#888;letter-spacing:.1em}.row .date .num{font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.row .artist{display:flex;gap:.75rem;align-items:center}.row .artist img{width:44px;height:44px;border-radius:4px;-o-object-fit:cover;object-fit:cover;flex-shrink:0}.row .artist .ph{width:44px;height:44px;border-radius:4px;background:#ddd;flex-shrink:0}.row .artist .nm{font-weight:600}.row .artist .gn{font-size:12px;color:#888}.row .venue .v{font-weight:600}.row .venue .c{font-size:12px;color:#888}.row .gen{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.05em;color:#555;text-transform:uppercase}.row .status{font-size:11px;font-family:JetBrains Mono,monospace;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem;border-radius:4px;text-align:center}.row .status.on-sale{background:#dcfce7;color:#065f46}.row .status.few{background:#fef3c7;color:#92400e}.row .status.sold-out{background:#fee2e2;color:#991b1b}.row .cta{text-align:right}.row .cta a{font-size:12px;font-weight:600;color:#7c3aed}@media(max-width:760px){.row{grid-template-columns:60px 1fr;gap:.75rem}.row .venue,.row .gen,.row .status,.row .cta{grid-column:2}.row .gen,.row .status{display:inline-block;margin-right:.5rem}}.roster{background:#fff;border-top:1px solid #e8e8eb;border-bottom:1px solid #e8e8eb;padding:3rem 1.5rem}.roster-inner{max-width:1280px;margin:0 auto}.roster h2{display:flex;align-items:baseline;gap:1rem;font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;letter-spacing:-.015em}.roster h2 .count{font-family:JetBrains Mono,monospace;font-size:.8rem;color:#888;font-weight:400}.roster-row{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem}.av{flex-shrink:0;width:110px;text-align:center}.av img,.av .ph{width:110px;height:110px;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#ddd;transition:transform .2s}.av:hover img{transform:scale(1.05)}.av .nm{font-size:.8rem;font-weight:600;margin-top:.5rem}.av .gn{font-size:11px;color:#888}.promoter-cta{background:linear-gradient(135deg,#7c3aed,#4c1d95);color:#fff;padding:5rem 1.5rem}.promoter-cta-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}@media(min-width:800px){.promoter-cta-inner{grid-template-columns:2fr 1fr;gap:4rem}}.promoter-cta h2{font-size:clamp(2rem,4vw,3rem);margin:0 0 1rem;letter-spacing:-.02em;line-height:1.05}.promoter-cta p{color:#fffc;margin:0;max-width:50ch}.promoter-cta .btn-row{display:flex;gap:.75rem;flex-wrap:wrap}.promoter-cta a{display:inline-block;padding:.85rem 1.5rem;background:#fff;color:#4c1d95;border-radius:6px;font-weight:600}.promoter-cta a.alt{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}footer{max-width:1280px;margin:0 auto;padding:2rem 1.5rem;color:#888;font-size:.85rem;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
