/* Nightshot Home V3.0 — nightlife art direction, Home only */
body{background:#050612;color:#fff}
body::before{content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(70% 55% at 15% 10%,rgba(28,93,190,.22),transparent 62%),radial-gradient(60% 48% at 84% 22%,rgba(211,31,156,.18),transparent 66%),radial-gradient(55% 50% at 48% 75%,rgba(89,52,188,.14),transparent 68%),linear-gradient(180deg,#070917 0%,#09091a 32%,#050711 72%,#05050b 100%)}
.fx{opacity:.72}.spark-field,.geo{opacity:.16!important}.grain{opacity:.08!important}
.hero{position:relative;isolation:isolate;min-height:clamp(390px,52vh,520px)!important;padding:clamp(76px,9vw,112px) 0 34px!important;overflow:hidden;background:linear-gradient(180deg,rgba(6,8,22,.16),rgba(7,8,20,.48) 68%,rgba(7,8,18,.88))!important}
.hero::before{content:"";position:absolute;inset:-12% -8% -18%;z-index:-2;background:radial-gradient(38% 62% at 18% 28%,rgba(23,122,255,.30),transparent 70%),radial-gradient(38% 58% at 82% 36%,rgba(255,34,171,.26),transparent 72%),radial-gradient(32% 52% at 58% 68%,rgba(126,59,255,.20),transparent 75%);filter:blur(6px)}
.hero::after{content:"";position:absolute;left:50%;bottom:-1px;width:min(1200px,94vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(77,148,255,.55),rgba(255,58,190,.62),transparent);box-shadow:0 0 34px rgba(141,55,255,.35)}
.hero-inner{width:min(1480px,calc(100% - clamp(32px,6vw,96px)))!important;margin:auto!important;text-align:left!important;position:relative;z-index:2}
.hero .eyebrow{letter-spacing:.22em!important;color:rgba(255,255,255,.72)!important}
.hero h1{font-size:clamp(3.2rem,8vw,8.2rem)!important;line-height:.78!important;letter-spacing:-.065em!important;margin:18px 0 20px!important;max-width:980px!important}
.hero h1 span,.hero h1 strong{display:block!important}.hero h1 strong{color:transparent!important;-webkit-text-stroke:1.5px rgba(255,255,255,.74)!important;text-shadow:0 0 32px rgba(92,121,255,.10)!important}
.hero-subtitle{font-size:clamp(.8rem,1.15vw,1rem)!important;letter-spacing:.18em!important;color:rgba(255,255,255,.82)!important;margin:0!important}
.search-shell{width:min(980px,100%)!important;margin:28px 0 0!important}.ns-filters-panel{background:linear-gradient(135deg,rgba(12,19,42,.82),rgba(25,12,39,.74))!important;border-color:rgba(150,168,255,.16)!important;box-shadow:0 22px 70px rgba(0,0,0,.24),0 0 45px rgba(66,90,255,.08)!important}
.events-section{position:relative;width:min(1540px,calc(100% - clamp(28px,5vw,80px)))!important;margin:0 auto!important;padding-top:clamp(44px,6vw,86px)!important;background:transparent!important}.events-section::before{content:"";position:absolute;inset:0 -12vw auto;height:440px;z-index:-1;background:radial-gradient(45% 80% at 15% 35%,rgba(25,97,220,.13),transparent 72%),radial-gradient(38% 72% at 90% 52%,rgba(229,34,162,.11),transparent 74%)}
.section-head h2{font-size:clamp(2.6rem,6vw,6.4rem)!important;letter-spacing:-.055em!important}.section-kicker{color:#b8c7ff!important}.section-count{border-color:rgba(255,255,255,.13)!important;background:rgba(10,12,26,.55)!important}
.event-card .event-media{box-shadow:0 32px 90px rgba(0,0,0,.46),0 0 70px rgba(75,91,255,.10)!important}.event-card.is-current .event-media{box-shadow:0 36px 100px rgba(0,0,0,.48),0 0 90px rgba(236,49,178,.12)!important}.event-info h3{letter-spacing:-.035em!important}.featured-mark,.badge-latino{box-shadow:0 0 26px rgba(255,47,183,.18)!important}
.ns-venues{width:min(1540px,calc(100% - clamp(28px,5vw,80px)))!important;margin:clamp(68px,9vw,130px) auto 0!important;padding:0!important;background:transparent!important}.ns-venues-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;margin-bottom:24px!important}.ns-section-note{margin:8px 0 0;color:rgba(255,255,255,.55);font-size:.76rem;font-weight:800;letter-spacing:.13em}.ns-venue-controls{display:flex;gap:10px}.ns-venue-arrow{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(8,11,24,.68);color:#fff;font-size:1.15rem;cursor:pointer;transition:.25s ease}.ns-venue-arrow:hover{transform:translateY(-2px);border-color:rgba(255,78,193,.48);box-shadow:0 0 28px rgba(255,46,180,.12)}
.ns-venue-rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(280px,26vw,390px);gap:clamp(14px,1.8vw,24px);overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:2px 2px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ns-venue-rail::-webkit-scrollbar{display:none}.ns-venue-card{position:relative!important;display:block!important;width:100%!important;aspect-ratio:4/5!important;min-width:0!important;padding:0!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:24px!important;overflow:hidden!important;scroll-snap-align:start;background:#0a0d1b!important;text-align:left!important;box-shadow:0 26px 70px rgba(0,0,0,.32)!important}.ns-venue-card .venue-media{position:absolute!important;inset:0!important;height:auto!important}.ns-venue-card .venue-media>img:not(.venue-logo){width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .35s ease}.ns-venue-card:hover .venue-media>img:not(.venue-logo){transform:scale(1.035)!important}.ns-venue-logo-stage{position:absolute;inset:0;display:grid;place-items:center;padding:18%;background:radial-gradient(circle at 50% 42%,rgba(90,93,255,.24),transparent 38%),radial-gradient(circle at 65% 68%,rgba(255,41,173,.16),transparent 38%),linear-gradient(145deg,#11182d,#0a0a17 62%,#170b1b)}.ns-venue-logo-stage .venue-logo{position:relative!important;width:78%!important;height:78%!important;object-fit:contain!important;filter:drop-shadow(0 12px 26px rgba(0,0,0,.45))}.ns-venue-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,6,15,.04) 30%,rgba(4,5,13,.22) 52%,rgba(4,5,13,.94) 100%)}.ns-venue-card .venue-info{position:absolute!important;left:0;right:0;bottom:0;z-index:3;padding:clamp(20px,2vw,30px)!important;background:none!important}.ns-venue-card .venue-info h3{font-size:clamp(1.45rem,2.1vw,2rem)!important;letter-spacing:-.035em!important;margin:0 0 6px!important}.ns-venue-card .venue-info p{margin:0 0 12px!important;color:rgba(255,255,255,.66)!important;font-size:.76rem!important;letter-spacing:.12em!important;text-transform:uppercase}.ns-venue-card .venue-info span{color:#fff!important;font-size:.7rem!important;letter-spacing:.12em!important;font-weight:900!important;text-transform:uppercase}.ns-venue-card:hover{border-color:rgba(120,137,255,.25)!important;box-shadow:0 34px 90px rgba(0,0,0,.38),0 0 54px rgba(223,48,177,.10)!important}
.ns-promo{position:relative!important;width:min(1540px,calc(100% - clamp(28px,5vw,80px)))!important;margin:clamp(70px,9vw,130px) auto!important;padding:clamp(34px,5vw,72px)!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:30px!important;overflow:hidden!important;background:radial-gradient(70% 150% at 0% 50%,rgba(39,109,255,.24),transparent 68%),radial-gradient(70% 150% at 100% 50%,rgba(240,39,169,.22),transparent 68%),linear-gradient(135deg,rgba(13,18,39,.92),rgba(25,10,33,.90))!important;box-shadow:0 30px 100px rgba(0,0,0,.32)!important}.ns-promo h2{font-size:clamp(2.6rem,6vw,6.8rem)!important;line-height:.82!important}.ns-promo p{font-size:clamp(.95rem,1.3vw,1.12rem)!important;color:rgba(255,255,255,.70)!important}.ns-cta{box-shadow:0 0 34px rgba(245,53,184,.18)!important}
.ns-home-portfolio{width:min(1540px,calc(100% - clamp(28px,5vw,80px)))!important;margin:0 auto clamp(80px,10vw,150px)!important;display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,90px);align-items:center}.ns-home-portfolio-copy h2{font-size:clamp(3rem,6vw,6.5rem);line-height:.85;letter-spacing:-.055em;margin:12px 0 22px}.ns-home-portfolio-copy p{max-width:520px;color:rgba(255,255,255,.72);font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.65}.ns-portfolio-link{display:inline-block;margin-top:22px;color:#fff;text-decoration:none;font-size:.74rem;font-weight:900;letter-spacing:.13em;border-bottom:1px solid rgba(255,75,192,.6);padding-bottom:7px}.ns-portfolio-preview{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:repeat(2,minmax(150px,260px));gap:12px}.ns-preview-photo{display:block;overflow:hidden;border-radius:20px;background:#0b0d19;min-height:0}.ns-preview-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.ns-preview-photo:hover img{transform:scale(1.025)}.ns-preview-photo-1{grid-row:1/3}.ns-preview-photo-4,.ns-preview-photo-5{display:none}
@media(max-width:900px){.hero{min-height:390px!important}.hero-inner{width:min(100% - 32px,900px)!important}.hero h1{font-size:clamp(3.4rem,12vw,6.2rem)!important}.events-section,.ns-venues,.ns-promo,.ns-home-portfolio{width:calc(100% - 32px)!important}.ns-venue-rail{grid-auto-columns:min(62vw,350px)}.ns-home-portfolio{grid-template-columns:1fr;gap:30px}.ns-portfolio-preview{grid-template-rows:repeat(2,minmax(180px,30vw))}}
@media(max-width:600px){body::before{background:radial-gradient(95% 42% at 10% 8%,rgba(28,93,190,.22),transparent 70%),radial-gradient(95% 40% at 95% 25%,rgba(211,31,156,.16),transparent 72%),linear-gradient(180deg,#080a18,#080817 40%,#050610 100%)}.hero{min-height:auto!important;padding:84px 0 28px!important}.hero-inner{width:calc(100% - 28px)!important}.hero h1{font-size:clamp(3rem,17vw,4.8rem)!important;line-height:.8!important;margin:14px 0 18px!important}.hero-subtitle{font-size:.7rem!important;letter-spacing:.13em!important}.search-shell{margin-top:20px!important}.events-section,.ns-venues,.ns-promo,.ns-home-portfolio{width:calc(100% - 28px)!important}.events-section{padding-top:38px!important}.section-head h2{font-size:clamp(2.8rem,14vw,4.5rem)!important}.ns-venues{margin-top:72px!important}.ns-venues-head{align-items:center!important}.ns-section-note{font-size:.65rem}.ns-venue-controls{display:none}.ns-venue-rail{grid-auto-columns:82vw;gap:14px;margin-right:-14px;padding-right:14px}.ns-venue-card{border-radius:20px!important}.ns-promo{margin:72px auto!important;padding:34px 24px!important;border-radius:24px!important}.ns-promo h2{font-size:clamp(2.7rem,14vw,4.4rem)!important}.ns-home-portfolio{margin-bottom:88px!important}.ns-home-portfolio-copy h2{font-size:clamp(3rem,15vw,4.6rem)}.ns-portfolio-preview{grid-template-columns:1.15fr .85fr;grid-template-rows:190px 150px}.ns-preview-photo-1{grid-row:1/3}.ns-preview-photo-3{grid-column:2}.ns-preview-photo-4,.ns-preview-photo-5{display:none}}
@media(prefers-reduced-motion:reduce){.ns-venue-card,.ns-venue-card img,.ns-preview-photo img,.ns-venue-arrow{transition:none!important}}

/* Nightshot V3.2 — cinematic club atmosphere */
.hero{background-image:linear-gradient(90deg,rgba(3,3,11,.64) 0%,rgba(6,3,20,.30) 46%,rgba(8,4,18,.40) 100%),linear-gradient(180deg,rgba(3,4,12,.12),rgba(4,4,12,.20) 58%,#080917 100%),var(--ns-home-hero-image)!important;background-size:cover!important;background-position:center 42%!important;min-height:clamp(470px,60vh,650px)!important;display:flex!important;align-items:center!important;padding-top:clamp(86px,9vw,126px)!important}
.hero::before{background:radial-gradient(42% 70% at 15% 35%,rgba(32,121,255,.26),transparent 70%),radial-gradient(42% 68% at 82% 34%,rgba(255,35,176,.30),transparent 72%),linear-gradient(115deg,transparent 25%,rgba(153,80,255,.09) 52%,transparent 74%)!important;mix-blend-mode:screen}
.hero-inner{max-width:1480px!important}.hero .eyebrow{color:#fff!important;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.hero h1{font-size:clamp(3.7rem,8.6vw,8.6rem)!important;text-shadow:0 9px 48px rgba(0,0,0,.40)}
.hero h1 strong{-webkit-text-stroke:1.4px rgba(255,255,255,.92)!important;text-shadow:0 0 34px rgba(255,57,194,.14)!important}
.hero-subtitle{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.55)}
.ns-filters-panel{background:linear-gradient(115deg,rgba(7,11,31,.78),rgba(24,7,32,.68))!important;border:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.events-section{padding-top:clamp(52px,7vw,98px)!important}.events-section::before{height:560px!important;background:radial-gradient(48% 86% at 4% 42%,rgba(44,102,255,.18),transparent 72%),radial-gradient(48% 82% at 98% 40%,rgba(255,35,176,.16),transparent 74%)!important}
.section-head h2,.ns-venues-head h2{color:#fff;text-shadow:0 12px 45px rgba(0,0,0,.28)}
.ns-venues{position:relative}.ns-venues::before{content:"";position:absolute;inset:-70px -10vw -90px;z-index:-1;background:radial-gradient(42% 62% at 14% 45%,rgba(39,104,255,.14),transparent 72%),radial-gradient(42% 62% at 86% 52%,rgba(255,41,175,.15),transparent 72%)}
.ns-promo{background:linear-gradient(100deg,rgba(12,19,45,.82),rgba(38,8,42,.76)),radial-gradient(circle at 16% 50%,rgba(62,120,255,.26),transparent 36%),radial-gradient(circle at 86% 46%,rgba(255,46,181,.27),transparent 38%)!important}
.ns-home-portfolio{position:relative;padding:clamp(28px,4vw,58px);border-radius:30px;overflow:hidden;background:linear-gradient(110deg,rgba(9,12,31,.86),rgba(24,8,31,.78));border:1px solid rgba(255,255,255,.09)}
.ns-home-portfolio::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(42% 90% at 0% 30%,rgba(60,119,255,.17),transparent 70%),radial-gradient(42% 90% at 100% 60%,rgba(255,45,181,.16),transparent 72%)}
.ns-home-portfolio>*{position:relative;z-index:1}
@media(max-width:600px){.hero{min-height:500px!important;padding-top:92px!important;background-position:center center!important}.hero h1{font-size:clamp(3.2rem,17vw,5rem)!important}.ns-home-portfolio{padding:22px 16px;border-radius:22px}}
