:root{--bg:#0a0b0f;--bg2:#12141b;--line:#232633;--tx:#e9eaf0;--mut:#9a9db0;--ac:#c6ff3d}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--tx);font:16px/1.6 Inter,system-ui,sans-serif}
a{color:inherit}h1,h2,h3,.logo{font-family:'Space Grotesk',sans-serif;line-height:1.1}
.wrap{max-width:1120px;margin:auto;padding:0 24px}.narrow{max-width:760px}
.row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.nav{position:sticky;top:0;z-index:9;background:#0a0b0fcc;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:14px 0}
.logo{font-size:22px;font-weight:700;text-decoration:none}.logo span,em{color:var(--ac);font-style:normal}
nav a{margin-left:20px;text-decoration:none;color:var(--mut);font-size:14px}nav a:hover{color:var(--tx)}
.btn{display:inline-block;background:var(--ac);color:#0a0b0f!important;font-weight:600;padding:16px 28px;border-radius:999px;text-decoration:none;border:0;font-size:16px;cursor:pointer;transition:.2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #c6ff3d40}.btn.sm{padding:8px 16px;font-size:14px}
section{padding:96px 0}.alt{background:var(--bg2);border-block:1px solid var(--line)}
.hero{padding:120px 0 100px;background:radial-gradient(ellipse at 80% 0,#c6ff3d22,transparent 55%)}
h1{font-size:clamp(40px,6.5vw,76px);max-width:900px;margin:16px 0 24px}
h2{font-size:clamp(30px,4vw,44px);margin-bottom:32px}h3{font-size:20px;margin-bottom:8px}
.eyebrow{color:var(--ac);text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:600;margin-bottom:12px}
.lead{font-size:19px;color:var(--mut);max-width:720px}.muted{color:var(--mut)}.small{font-size:14px;margin-top:12px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:40px 0;max-width:820px}
.facts div{border:1px solid var(--line);border-radius:14px;padding:18px;background:#ffffff05}
.facts b{display:block;font:700 22px 'Space Grotesk'}.facts span{color:var(--mut);font-size:14px}
.facts .hot{border-color:var(--ac)}.facts .hot b{color:var(--ac)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.checks{list-style:none}.checks li{padding:14px 0 14px 34px;border-bottom:1px solid var(--line);position:relative}
.checks li:before{content:'→';position:absolute;left:0;color:var(--ac);font-weight:700}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{border:1px solid var(--line);border-radius:16px;padding:28px;background:var(--bg)}
.card i{font-style:normal;color:var(--ac);font:700 14px 'Space Grotesk';display:block;margin-bottom:18px}.card p{color:var(--mut)}
.tag{background:#ffffff12;color:var(--mut);padding:3px 10px;border-radius:999px;margin-left:8px;letter-spacing:.05em}
.days{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.days li{border-top:3px solid var(--ac);background:var(--bg2);padding:28px;border-radius:0 0 16px 16px}
.days span{color:var(--ac);font-weight:600;font-size:14px}.days p{color:var(--mut)}
.note{margin-top:32px;padding:24px;border:1px dashed var(--ac);border-radius:16px;background:#c6ff3d0a}
.tbd{color:#ffb547!important;font-style:italic}
details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:600;font-size:18px}details p{margin-top:10px;color:var(--mut)}
.cta{background:radial-gradient(ellipse at 50% 100%,#c6ff3d1c,transparent 60%)}
form{display:grid;gap:16px;margin-top:32px}label{display:grid;gap:6px;font-size:14px;color:var(--mut)}
input,textarea{background:var(--bg2);border:1px solid var(--line);color:var(--tx);padding:14px;border-radius:10px;font:inherit}input:focus,textarea:focus{outline:2px solid var(--ac)}
footer{border-top:1px solid var(--line);padding:32px 0;color:var(--mut);font-size:14px}
@media(max-width:800px){nav a:not(.btn){display:none}.facts{grid-template-columns:1fr 1fr}.two,.grid,.days{grid-template-columns:1fr}section{padding:64px 0}}
textarea{resize:vertical}
/* v2: images, modal */
img{max-width:100%;display:block}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(38px,5.2vw,64px)}
.hero .facts{grid-template-columns:1fr 1fr}
.hero-img img,.side-img img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;border:1px solid var(--line)}
.hero-img img{aspect-ratio:4/5;box-shadow:0 30px 80px #000a,0 0 0 1px #c6ff3d22}
.ctas{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.link{color:var(--ac);text-decoration:none;font-weight:600}
.mt{margin-top:16px}.mt2{margin-top:56px}.center{text-align:center}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.strip img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.strip img:nth-child(2){transform:translateY(24px)}
.bots{align-items:center;margin-bottom:8px}.bot-imgs{display:grid;grid-template-columns:1.4fr 1fr;gap:12px}
.bot-imgs img{width:100%;height:100%;object-fit:cover;border-radius:16px;border:1px solid var(--line);aspect-ratio:1}
.checks.no li:before{content:'×';color:var(--mut)}
dialog{border:0;padding:0;background:transparent;color:var(--tx);max-width:640px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:auto}
dialog::backdrop{background:#05060acc;backdrop-filter:blur(4px)}
.dlg{position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:36px;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
.dlg h2{margin-bottom:8px;font-size:30px}.dlg form{margin-top:20px}
.x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--tx);font-size:24px;cursor:pointer;line-height:1}
.x:hover,.x:focus-visible{border-color:var(--ac);outline:none}
body.lock{overflow:hidden}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr}.hero-img img{aspect-ratio:16/10}.strip{grid-template-columns:1fr 1fr}.strip img:nth-child(2){transform:none}.strip img:nth-child(3){grid-column:span 2;aspect-ratio:16/10}.dlg{padding:28px 20px}.bot-imgs{grid-template-columns:1fr 1fr}}
.strip.venue{grid-template-columns:repeat(4,1fr)}@media(max-width:800px){.strip.venue{grid-template-columns:1fr 1fr}}
.strip.venue img{aspect-ratio:4/3;transform:none}@media(max-width:800px){.strip.venue img:nth-child(3){grid-column:auto;aspect-ratio:4/3}}
#venue .strip.venue img{aspect-ratio:4/3!important;transform:none!important;height:auto}
