@import url('https://fonts.googleapis.com/css2?family=Anton&family=Monoton&family=Space+Grotesk:wght@400;500;700&display=swap');
:root{--bg:#07040a;--bg2:#120811;--panel:#170a15;--panel2:#1f0d1c;--ink:#f3e6ee;--muted:#b89aae;--line:#3a1a33;--pale:#1a0b17;--blue:#ff2e88;--amber:#ffb13b;--neon:#ff2e88;--neon2:#ff4d4d;--cyan:#3cf2ff;--glow:0 0 6px #ff2e88,0 0 18px #ff2e8899,0 0 42px #ff2e8855}
html{background:var(--bg)}
body{background:radial-gradient(1200px 600px at 80% -10%,#3b0a2a55,transparent 60%),radial-gradient(900px 500px at -10% 30%,#4a07131f,transparent 60%),var(--bg);color:var(--ink);font-family:'Space Grotesk',system-ui,sans-serif}
body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.07;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
main,header.site,footer.site,.disclosure{position:relative;z-index:1}
a{color:var(--neon)}a:hover{color:#ff7ab4}
h1,h2,h3,.section-h{font-family:Anton,Impact,sans-serif;font-weight:400;letter-spacing:.01em;text-transform:uppercase;color:#fff}
h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.95;text-shadow:0 0 2px #fff,0 0 14px #ff2e8866}
h2{font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1}
.kicker,.label{font-family:'Space Grotesk',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)!important;font-size:12px;font-weight:700;text-shadow:0 0 8px #3cf2ff88}
header.site{background:linear-gradient(#0b050d,#0b050dee);border-bottom:1px solid #ff2e8844;box-shadow:0 1px 0 #ff2e8822,0 10px 40px #ff2e8814}
header.site .brand{font-family:Monoton,cursive;font-weight:400;font-size:26px;letter-spacing:.04em;color:#ffd9ea;text-shadow:var(--glow);max-width:none;animation:buzz 7s infinite}
header.site .brand .dot{display:none}
header.site nav.main a{font-family:Anton,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:15px;color:#e9cfe0}
header.site nav.main a:hover{color:#fff;text-shadow:var(--glow);text-decoration:none}
@keyframes buzz{0%,92%,100%{opacity:1}93%{opacity:.35}94%{opacity:1}96%{opacity:.6}97%{opacity:1}}
@keyframes flicker{0%,18%,22%,25%,53%,57%,100%{opacity:1;text-shadow:var(--glow)}20%,24%,55%{opacity:.55;text-shadow:none}}
.disclosure{background:#120610;color:#c9a9bd;border-bottom:1px solid #ff2e8826;font-size:12px}
.disclosure strong{color:#fff;background:var(--neon2);padding:1px 7px;border-radius:3px;box-shadow:0 0 12px #ff4d4d88;margin-right:6px}
footer.site{background:#060307;border-top:1px solid #ff2e8826;color:var(--muted)}footer.site a{color:#e9cfe0}
.btn,a.btn{background:transparent;color:#fff!important;border:2px solid var(--neon);border-radius:4px;font-family:Anton,sans-serif;text-transform:uppercase;letter-spacing:.08em;box-shadow:var(--glow),inset 0 0 12px #ff2e8855;text-shadow:0 0 8px #ff2e88}
.btn:hover{background:#ff2e8822;text-decoration:none}
/* hero: neon sign */
.hero{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:center;padding:56px 0 40px}
.hero h1 .neon-word{display:block;color:#ffe3f0;text-shadow:0 0 4px #fff,0 0 12px #ff2e88,0 0 30px #ff2e88,0 0 60px #ff2e8899;animation:flicker 6s infinite}
.hero p{color:#dcc3d3;font-size:18px;max-width:560px}
.hero-art{background:linear-gradient(160deg,#1a0716,#0c040b);border:2px solid #ff2e8855;border-radius:14px;box-shadow:0 0 0 1px #000,0 0 40px #ff2e8822,inset 0 0 60px #ff2e8812;color:var(--ink);padding:28px;position:relative;overflow:hidden}
.hero-art:after{content:'OPEN LATE';position:absolute;right:-8px;top:14px;transform:rotate(8deg);font-family:Monoton,cursive;font-size:20px;color:#ff4d4d;text-shadow:0 0 6px #ff4d4d,0 0 20px #ff4d4d99;animation:buzz 5s infinite}
.hero-art h2{color:#fff}.flow-step{background:#ffffff08;border:1px solid #ff2e8833;color:#f3e6ee}.flow-step b{color:var(--amber)}
.phero{border-bottom:1px solid #ff2e8833;padding:44px 0 28px}.phero p{color:#dcc3d3;font-size:18px;max-width:820px}
/* city + category */
.metro-card{background:linear-gradient(160deg,#1c0718,#0d040c)!important;border:2px solid #ff2e8844;border-radius:10px;box-shadow:inset 0 0 40px #ff2e8812;transition:.2s}
.metro-card:hover{border-color:var(--neon);box-shadow:var(--glow),inset 0 0 40px #ff2e8830;transform:translateY(-3px)}
.metro-card h3{font-size:34px;color:#fff;text-shadow:0 0 10px #ff2e88aa}.metro-card span{color:var(--amber)!important;font-family:Anton,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.cat-card{background:#12070f!important;border:1px solid #ff2e8844!important;color:#f3e6ee!important;font-family:Anton,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:400}
.cat-card b{font-family:Monoton,cursive!important;font-weight:400;color:var(--neon)!important;text-shadow:var(--glow);font-size:26px!important}
.cat-card:hover{border-color:var(--neon)!important;box-shadow:var(--glow)}
.venue{background:linear-gradient(180deg,#160912,#0e050c)!important;border:1px solid #ff2e8833!important;border-left:3px solid var(--neon)!important;border-radius:8px!important}
.venue h3{font-family:Anton,sans-serif;font-size:22px!important;letter-spacing:.02em;color:#fff}
.venue p{color:#c9a9bd!important}.venue .age{background:var(--neon2)!important;box-shadow:0 0 10px #ff4d4d99;font-family:Anton,sans-serif;letter-spacing:.06em}
.venue .tag{background:#2a0f24!important;color:#f0c6de!important}.venue-features li{border-color:#ff2e8844!important;color:#f0c6de}
.venue-links a{color:var(--cyan);text-shadow:0 0 6px #3cf2ff55}.venue-check{color:#8e7285!important}
.funnel{background:linear-gradient(120deg,#2a0620,#12040f)!important;border:1px solid #ff2e8855!important;border-left:4px solid var(--neon)!important;box-shadow:inset 0 0 50px #ff2e8818}
.funnel h2{color:#fff;text-shadow:0 0 12px #ff2e8888}.funnel p{color:#e2c8d8}
.next-read{background:#10050e!important;border:1px solid #ff2e8833!important;color:var(--ink)}.next-read p{color:#dcc3d3}
.cards li{background:#12070f!important;border:1px solid #ff2e8833!important;color:var(--ink)}.cards .title{color:#fff!important;font-family:Anton,sans-serif;text-transform:uppercase;letter-spacing:.02em;font-weight:400}.cards p{color:#c9a9bd}.cards .tag{background:#2a0f24!important;color:#f0c6de!important}
.review-breadcrumb,.review-breadcrumb a{color:#a78599!important}.updated{color:#8e7285}.safety li{color:#dcc3d3}
.prose,.wide-prose{color:#e9d8e2}.prose h2,.wide-prose h2{color:#fff}
/* article pages (product-review.css) */
.product-review{--review-soft:#170a15;--review-navy:#0c040b;--review-green:#3cf2ff}
.guide-page .hero-band{background:linear-gradient(135deg,#240720,#0c040b)!important;border:1px solid #ff2e8833}
.review-section,.review-plan,.rail-card,.review-facts,.verdict-section,.review-faq details,.pick-card{background:#12070f!important;border-color:#ff2e8833!important;color:var(--ink)}
.review-section h2,.review-plan h3,.rail-card strong{color:#fff}
.prose table,.prose th,.prose td{border-color:#ff2e8833!important;color:#e9d8e2}.prose th{background:#1f0b1b!important}
.prose blockquote{background:#1a0816!important;border-left-color:var(--neon)!important;color:#e9d8e2}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-art:after{font-size:15px}header.site .brand{font-size:20px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
/* v2: seedier — marquee bulbs, ticker, neon-tube logo */
header.site .brand{font-family:Monoton,cursive!important;font-size:28px;padding:6px 14px;border:2px solid #ff2e88;border-radius:8px;box-shadow:var(--glow),inset 0 0 14px #ff2e8866;color:#ffe3f0!important}
header.site .brand:after{content:'18+';font-family:Anton,sans-serif;font-size:12px;letter-spacing:.1em;margin-left:10px;padding:2px 6px;border-radius:3px;background:#ff4d4d;color:#fff;box-shadow:0 0 10px #ff4d4d;vertical-align:middle;animation:none}
.ticker{background:#0b0409;border-top:1px solid #ffb13b33;border-bottom:1px solid #ffb13b33;overflow:hidden;white-space:nowrap;position:relative;z-index:1}
.ticker div{display:inline-block;padding:9px 0;animation:ticker 38s linear infinite;font-family:Anton,sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:14px;color:#ffcf7a;text-shadow:0 0 8px #ffb13b88}
.ticker span{margin:0 22px}.ticker i{color:#ff2e88;font-style:normal;text-shadow:var(--glow)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero-art{padding:34px!important;border:0!important;background:radial-gradient(circle at 50% 0,#2b0923,#0c040b 70%)!important}
.hero-art:before{content:'';position:absolute;inset:0;border-radius:14px;padding:7px;background:radial-gradient(circle,#ffd27a 0 3px,transparent 3.6px) 0 0/22px 22px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 4px #ffb13b) drop-shadow(0 0 10px #ffb13b88);animation:bulbs 1.2s steps(2) infinite;pointer-events:none}
@keyframes bulbs{50%{background-position:11px 11px}}
.hero-art:after{content:'OPEN LATE'!important;right:26px!important;top:auto!important;bottom:22px;transform:rotate(-4deg)!important;font-size:22px!important}
.section-h{font-size:clamp(2rem,4vw,3.2rem)!important;margin-top:56px}
.section-h:after,.phero h1:after{content:'';display:block;width:120px;height:4px;margin-top:14px;background:var(--neon);box-shadow:var(--glow);border-radius:2px}
.venue:hover{border-color:#ff2e8899!important;box-shadow:0 0 22px #ff2e8826}
.neon-h{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.neon-h .neon-icon{flex-shrink:0}
.cat-label{display:flex;align-items:center;gap:10px}
.hero-sign{margin:0 0 6px;animation:flicker 9s infinite}
.hero-sign .neon-icon{filter:drop-shadow(0 0 4px #ff2e88) drop-shadow(0 0 16px #ff2e88) drop-shadow(0 0 40px #ff2e8899)!important}
.metro-card .neon-icon{margin-bottom:2px}
.venue-map-wrap{margin:26px 0 34px}.venue-map{border:2px solid #ff2e8855;border-radius:12px;box-shadow:0 0 30px #ff2e8822;background:#0c040b;overflow:hidden}
.venue-map .leaflet-tile-pane{filter:invert(1) hue-rotate(200deg) brightness(.72) contrast(1.15) saturate(.55)}
.leaflet-container{font-family:'Space Grotesk',sans-serif}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#160912;color:#f3e6ee;border:1px solid #ff2e8866;box-shadow:0 0 18px #ff2e8844}
.leaflet-popup-content a{color:#3cf2ff}.leaflet-control-attribution{background:#0c040bcc!important;color:#b89aae!important}.leaflet-control-attribution a{color:#e9cfe0!important}
.leaflet-bar a{background:#160912!important;color:#ff2e88!important;border-color:#ff2e8844!important}
.neon-pin{filter:drop-shadow(0 0 4px currentColor)}
.map-legend{list-style:none;display:flex;flex-wrap:wrap;gap:16px;padding:0;margin:12px 0 0;font-size:13px;color:#dcc3d3}.map-legend span{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:7px;vertical-align:-1px}
