/* v2 (Oct 2026): neon-night theme. Loaded last; overrides tokens and the home + event page layouts. */
@font-face{font-family:"Bricolage Grotesque";src:url(/fonts/bricolage-grotesque-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{
  --paper:#140F1C; --paper-2:#1D1628; --paper-3:#282036; --line:#2E2540; --line-2:#43385A;
  --ink:#F6F1FA; --ink-2:#C9BFD6; --ink-3:#958AA8;
  --accent:#FF4F9A; --accent-2:#FF7FB6; --cyan:#3DE0FF;
  --display:"Bricolage Grotesque","Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --mono:var(--body);
  --r-card:18px;
}
body{background:var(--paper)}
h1,h2,h3{font-family:var(--display);font-weight:750;letter-spacing:-.02em;font-variation-settings:normal}
/* calmer labels: sentence case sans, no tracked caps */
.eyebrow,.pill,.chip,.crumbs,.summary .k,.ecard .when,.night .nh .d,.ph .stamp,.hero .stamp{text-transform:none;letter-spacing:0;font-family:var(--body)}
.logo .word{font-family:var(--display);font-weight:800;letter-spacing:-.02em}
.btn{border-radius:999px}
.btn.big{font-size:17px;padding:15px 28px;font-weight:700;background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 28px rgba(255,79,154,.35)}
.btn.big:hover{background:var(--accent-2);border-color:var(--accent-2)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.tag{display:inline-block;font-size:13px;font-weight:700;padding:5px 11px;border-radius:999px;background:rgba(20,15,28,.82);color:var(--ink)}
.tag.now{background:var(--accent);color:#fff}

/* ---------- home ---------- */
.home2{padding:28px 16px 80px}
.feat{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:44px;align-items:center}
.feat-poster{display:block;border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/5;background:var(--paper-2);box-shadow:0 30px 80px -30px rgba(255,79,154,.45)}
.feat-poster img{width:100%;height:100%;object-fit:cover;display:block}
.feat-when{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--ink-2);font-size:16px;margin:0 0 14px}
.feat h1{font-size:clamp(44px,7vw,92px);line-height:.92;letter-spacing:-.035em}
.feat h1 a{color:inherit;text-decoration:none}
.feat-sub{font-size:19px;color:var(--ink-2);margin:16px 0 0;max-width:40ch}
.feat-where{margin:20px 0 0;font-size:17px;font-weight:600}
.feat-where small{display:block;font-weight:400;color:var(--ink-3);font-size:14px;margin-top:2px}
.feat-hl,.ev2-hl{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.feat-hl li,.ev2-hl li{border:1px solid var(--line-2);border-radius:999px;padding:6px 13px;font-size:14px;color:var(--ink)}
.feat-buy,.ev2-cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}
.feat-price,.ev2-cta span{color:var(--ink-2);font-size:15px}
.feat-price b,.ev2-cta b{color:var(--cyan);font-size:20px}
.feat-state,.ev2-state{font-weight:700;font-size:18px;color:var(--ink-3)}
.h2-sec{margin-top:64px}
.h2-sec h2{font-size:30px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.h2-sec h2 span{font-family:var(--body);font-weight:400;font-size:15px;color:var(--ink-3);letter-spacing:0}
.h2-none{color:var(--ink-2);margin:12px 0 0;font-size:16px}
.h2-none a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.h2-empty{padding:60px 0 10px}.h2-empty h1{font-size:clamp(36px,6vw,64px)}.h2-empty p{color:var(--ink-2)}
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px;margin-top:20px}
.pcard{display:block;color:inherit;text-decoration:none}
.pcard-pic{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--paper-2)}
.pcard-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.pcard:hover .pcard-pic img{transform:scale(1.03)}
.pcard-pic .tag{position:absolute;left:10px;top:10px}
.pcard h3{font-size:21px;margin-top:12px}
.pcard p{margin:4px 0 0;color:var(--ink-2);font-size:14px}
.pcard .pcard-price{color:var(--cyan);font-weight:700}
.h2-foot{margin-top:72px;color:var(--ink-3);font-size:14px}
.h2-foot a{color:var(--ink-2)}
@media (max-width:760px){
  .feat{grid-template-columns:1fr;gap:22px}
  .feat-poster{max-width:440px}
  .btn.big{flex:1 1 auto;text-align:center}
}

/* ---------- event page ---------- */
.wrap.detail.ev2{padding:24px 16px 72px}
.ev2-hero{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:48px;align-items:start}
.ev2-poster{border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/5;background:var(--paper-2);box-shadow:0 30px 80px -30px rgba(255,79,154,.45);position:sticky;top:84px}
.ev2-poster img,.ev2-poster video{width:100%;height:100%;object-fit:cover;display:block}
.ev2-kicker{color:var(--accent);font-weight:700;font-size:15px;margin:6px 0 10px}
.ev2-info h1{font-size:clamp(40px,6vw,80px);line-height:.94;letter-spacing:-.035em}
.ev2-sub{font-size:19px;color:var(--ink-2);margin:14px 0 0;max-width:42ch}
.ev2-facts{margin:26px 0 0;display:grid;gap:14px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ev2-facts div{display:grid;grid-template-columns:72px 1fr;gap:12px}
.ev2-facts dt{color:var(--ink-3);font-size:14px;padding-top:2px}
.ev2-facts dd{margin:0;font-size:18px;font-weight:600}
.ev2-facts small{display:block;font-weight:400;font-size:14px;color:var(--ink-2);margin-top:3px}
.ev2-sec{margin-top:64px;max-width:820px}
.ev2-sec h2{font-size:30px;margin-bottom:16px}
.ev2-sec .prose p{font-size:17.5px;line-height:1.65;color:var(--ink);max-width:62ch}
.ev2-sec .gallery{grid-template-columns:repeat(3,1fr);gap:10px}
.ev2-sec .gallery img{border-radius:10px;aspect-ratio:1;object-fit:cover;width:100%}
.ev2-tickets{max-width:none}
.ev2-tickets #buy{background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--r-card);padding:24px;max-width:760px;box-shadow:0 0 0 1px rgba(255,79,154,.08),0 20px 60px -40px rgba(255,79,154,.6)}
.ev2-tickets .buybtn{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}
@media (max-width:820px){
  .ev2-hero{grid-template-columns:1fr;gap:24px}
  .ev2-poster{position:static;max-width:460px}
  .ev2-sec{margin-top:48px}
  .ev2-sec .gallery{grid-template-columns:repeat(2,1fr)}
  .ev2-tickets #buy{padding:18px}
}
@media (prefers-reduced-motion:reduce){.pcard-pic img{transition:none}}
.ev2 .prose p:first-child::first-letter{all:unset}
.ev2 .ttiers .fee,.ev2 .ttiers small{letter-spacing:0;text-transform:none}
.ev2-sec .gallery video{border-radius:10px;aspect-ratio:1;object-fit:cover;width:100%;display:block;background:var(--paper-2)}
.ev2-save{display:inline-block;margin-top:12px;font-size:14px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.ev2-hero>div:first-child{position:sticky;top:84px;align-self:start}
.ev2-poster{position:static}
@media (max-width:820px){.ev2-hero>div:first-child{position:static}}

/* Free-entry sign-up through the WeChat mini-app */
.mini{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-top:14px}
.mini-qr{margin:0;padding:10px;background:#fff;border-radius:12px;text-align:center;flex:0 0 auto}
.mini-qr img,.mini-qr svg{display:block;width:160px;height:160px;object-fit:contain}
.mini-qr figcaption{font-size:12px;color:#140F1C;margin-top:6px;font-weight:600}
.mini-steps{margin:0;padding-left:20px;flex:1 1 240px;line-height:1.6}
.mini-steps li{margin:2px 0}
.mini .fine{flex-basis:100%}
@media (max-width:480px){.mini-qr{margin:0 auto}}

/* Club pages: photo grid + how-to-find-the-door map */
.club-gal img{border-radius:10px;aspect-ratio:1;object-fit:cover;width:100%}
.find-it{margin:18px 0 0;max-width:420px}
.find-it img{border-radius:12px;width:100%;height:auto}
.find-it figcaption{font-size:13px;color:var(--ink-2,#bbb);margin-top:8px;line-height:1.5}
