:root {
  --bg:#000; --panel:#09090d; --text:#f7f7f7; --muted:#b7b7c0;
  --pink:#f21aa5; --purple:#8b48e8; --cyan:#14d8d4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit}
.wrap{width:calc(100% - 36px);max-width:1080px;margin:auto}
nav{position:sticky;top:0;z-index:10;background:rgba(0,0,0,.94);backdrop-filter:blur(12px);border-bottom:3px solid;border-image:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan)) 1}
.nav-inner{display:flex;justify-content:space-between;align-items:center;min-height:88px;padding:9px 0}
.nav-logo{display:block;width:68px;height:68px;flex:0 0 auto}
.nav-logo picture,.nav-logo img{display:block;width:100%;height:100%}
.nav-logo img{object-fit:contain}
.links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:24px;font-size:.92rem}.links a{text-decoration:none;color:#ddd}.links a:hover,.links a:focus{color:var(--cyan)}
.hero{display:grid;place-items:center;text-align:center;padding:20px 0 72px}
.hero-art-frame{width:min(900px,100%);aspect-ratio:2/1;overflow:hidden;margin:0 auto 14px}
.hero-art{display:block;width:100%;height:100%;object-fit:contain}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--cyan);font-weight:800;font-size:.8rem}
h1{font-size:clamp(2.6rem,8vw,5.7rem);line-height:.92;margin:.25em 0;font-weight:950;letter-spacing:-.045em}
.gradient{background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan));-webkit-background-clip:text;color:transparent}
.lead{max-width:650px;margin:18px auto;color:var(--muted);font-size:1.12rem}
.btn{display:inline-block;margin-top:18px;padding:14px 22px;border-radius:8px;background:linear-gradient(90deg,var(--pink),var(--purple),var(--cyan));color:#050505;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}
section{padding:78px 0;border-top:1px solid #18181e}
h2{font-size:clamp(2rem,5vw,3.4rem);margin:0 0 14px;letter-spacing:-.035em}
.events-list{display:grid;gap:22px;margin-top:28px}
.event{background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(120deg,var(--pink),var(--purple),var(--cyan)) border-box;border:1px solid transparent;border-radius:18px;padding:28px}
.event-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.event h3{font-size:2rem;margin:5px 0}.event p{margin:5px 0;color:#c8c8cf}
.event .venue{color:#fff;font-weight:800}
.event-provider{margin-bottom:8px;color:var(--pink);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.event-action{min-width:210px;text-align:center}
.date{font-weight:900;color:var(--cyan);text-transform:uppercase;letter-spacing:.08em}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.pill{background:#0d0d11;border:1px solid #23232a;border-radius:14px;padding:22px;text-align:center}
.pill strong{display:block;font-size:1.1rem;margin-bottom:6px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}
.placeholder{aspect-ratio:4/3;border-radius:12px;background:linear-gradient(135deg,#191921,#0c0c0f);display:grid;place-items:center;color:#696974;border:1px solid #22222a}
footer{padding:50px 0;text-align:center;color:#8e8e98;border-top:1px solid #18181e}
footer a{margin:0 8px}
.align-left{margin-left:0}
.social-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media(max-width:700px){
  .wrap{width:calc(100% - 28px)}
  .nav-inner{min-height:82px}.nav-logo{width:54px;height:54px}
  .links{min-width:0;flex-wrap:nowrap;gap:10px;font-size:.88rem;white-space:nowrap}
  .hero{padding:14px 0 56px}.hero-art-frame{width:100%;aspect-ratio:1.7/1;margin-bottom:10px}
  .hero .eyebrow{max-width:100%;font-size:.68rem;letter-spacing:.1em}
  .hero h1{max-width:100%;font-size:2rem;letter-spacing:-.055em}
  .hero .lead{max-width:100%;font-size:1rem}
  .event-grid{grid-template-columns:1fr}.three,.gallery{grid-template-columns:1fr}
  .event-action{text-align:left}.event-action .btn{width:100%;text-align:center}
  .social-actions .btn{flex:1 1 145px;text-align:center}
  section{padding:58px 0}.event{padding:22px}
}
