@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600&display=swap');
:root{color-scheme:dark;--midnight:#030b18;--navy:#071a33;--cyan:#65d9ff;--white:#f4f8fc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--midnight);color:var(--white);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid white;outline-offset:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:16px;z-index:20;background:var(--cyan);color:var(--midnight);padding:14px}.skip:focus{top:16px}.hero{position:relative;isolation:isolate;width:100%;max-height:1000px;overflow:hidden}.hero-photo{display:block;width:100%;height:auto}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,11,24,.15),transparent 65%);pointer-events:none}.hero-bottom{position:absolute;inset:65% 0 0;background:linear-gradient(transparent,var(--midnight));pointer-events:none}.ticket-wrap{position:absolute;top:22%;left:8%;display:flex;align-items:center;flex-direction:column;gap:16px;z-index:2}.ticket{display:inline-flex;gap:26px;align-items:center;justify-content:center;background:var(--cyan);color:#031322;padding:19px 27px;border:1px solid #9be8ff;border-radius:12px;box-shadow:0 0 38px #31bcff50;font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(23px,2.4vw,38px);font-weight:800;text-transform:uppercase;letter-spacing:.025em;transition:background .2s,box-shadow .2s,transform .2s}.ticket:hover{background:#a1eaff;box-shadow:0 0 46px #31bcff80;transform:translateY(-3px)}.ticket span{font-family:Arial,sans-serif;font-weight:400}.ticket-caption{font-size:13px;letter-spacing:.1em;text-shadow:0 2px 6px #000}.social-section{position:relative;max-width:1260px;margin:-90px auto 0;padding:0 40px 58px;z-index:3}.section-label,.partner-label{display:flex;align-items:center;gap:24px;justify-content:center}.section-label{margin-bottom:24px}.section-label span,.partner-label span{height:1px;background:linear-gradient(90deg,transparent,#65d9ff80);flex:1;max-width:180px}.section-label span:last-child,.partner-label span:last-child{transform:rotate(180deg)}h2,.partner-label p{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.32em;color:#a8ddf2;white-space:nowrap;margin:0}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.social-card{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:22px;min-height:140px;padding:28px 24px;border:1px solid #4385a8;border-radius:16px;background:linear-gradient(120deg,#0a2441f5,#07162de8);box-shadow:inset 0 0 35px #147df50c;transition:border-color .2s,transform .2s,background .2s}.social-card:after{content:'';position:absolute;right:-30px;bottom:-70px;width:190px;height:140px;background:#147df5;opacity:.12;filter:blur(45px);z-index:-1}.social-card:hover{border-color:var(--cyan);transform:translateY(-4px);background:linear-gradient(120deg,#103557f5,#081e37e8)}.platform{width:42px;height:42px;flex-shrink:0}h3{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:30px;margin:0 0 7px;font-weight:700}.social-card p{font-size:12px;color:#c0d2e4;margin:0;line-height:1.5}.arrow{font-size:25px;margin-left:auto;color:var(--cyan)}footer{position:relative;text-align:center;padding:8px 24px 40px;background:radial-gradient(ellipse at 50% 70%,#0c294077,transparent 65%)}.partner-label{max-width:700px;margin:0 auto 4px}.partner{display:block;width:250px;height:200px;overflow:hidden;margin:0 auto}.partner img{width:250px;height:250px;object-fit:contain;display:block;margin-top:-25px}.partner-url{display:inline-block;font-size:12px;letter-spacing:.12em;color:#c9e0ec;padding:8px}.partner-url:hover{color:var(--cyan)}.copyright{font-size:11px;line-height:1.6;color:#91a5bb;margin:20px 0 0}@media(min-width:1700px){.hero-photo{margin-top:-5%}}@media(max-width:900px){.ticket-wrap{left:5%;top:18%}.ticket{padding:16px 20px}.social-section{padding:0 24px 44px;margin-top:-45px}.social-grid{gap:12px}.social-card{padding:22px 16px;gap:12px;min-height:120px}.platform{width:32px;height:32px}h3{font-size:26px}.social-card p{font-size:11px}.arrow{font-size:20px}.ticket-caption{font-size:11px}}@media(max-width:640px){.hero{overflow:visible;max-height:none}.hero-photo{width:100%;height:auto}.hero-bottom{inset:75% 0 0}.ticket-wrap{position:relative;top:auto;left:auto;margin:-10px 20px 0;padding-bottom:34px;gap:12px}.ticket{font-size:27px;padding:18px 26px;min-height:64px;width:min(100%,340px)}.ticket-caption{font-size:11px}.social-section{margin:0 auto;padding:0 22px 40px}.social-grid{grid-template-columns:1fr;gap:14px}.social-card{min-height:108px;padding:22px 25px;gap:22px}.platform{width:38px;height:38px}h3{font-size:29px}.social-card p{font-size:12px}.arrow{font-size:26px}.section-label{margin-bottom:20px;gap:15px}h2,.partner-label p{font-size:10px;letter-spacing:.22em}.partner-label{gap:16px}footer{padding-bottom:30px}.partner{width:230px;height:180px}.partner img{width:230px;height:230px}.copyright{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Atmospheric artwork and light */
body{isolation:isolate;position:relative}
body::before{content:'';position:absolute;z-index:-1;inset:45% 0 0;pointer-events:none;background-image:linear-gradient(180deg,#030b1800,#030b1840 40%,#030b18a0),url('assets/atmosphere.png');background-size:100% 100%,200% 200%;background-position:center,left top;opacity:.65;mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent)}
.ticket{position:relative;isolation:isolate;animation:ticket-glow 3.6s ease-in-out infinite;box-shadow:0 0 20px #65d9ff70,0 0 65px #147df566,inset 0 1px 0 #d8f6ff}
.ticket::before{content:'';position:absolute;inset:-14px;z-index:-1;background:#30bfff;opacity:.25;filter:blur(23px);border-radius:22px;pointer-events:none}
.ticket:hover{animation:none;box-shadow:0 0 25px #65d9ffb0,0 0 85px #147df590,inset 0 1px 0 #fff}
@keyframes ticket-glow{0%,100%{box-shadow:0 0 18px #65d9ff60,0 0 55px #147df550}50%{box-shadow:0 0 30px #65d9ffa0,0 0 85px #147df585}}
.hero-bottom::after{content:'';position:absolute;inset:30% 0 -30px;background:url('assets/atmosphere.png') left top/200% 200%;opacity:.36;mask-image:linear-gradient(transparent,#000 60%,transparent);pointer-events:none}
.social-card{background:#071a33;isolation:isolate;box-shadow:0 10px 35px #0005,inset 0 0 24px #147df51a;min-height:150px}
.social-card::before{content:'';position:absolute;inset:0;z-index:-2;background-image:url('assets/atmosphere.png');background-size:200% 200%;background-repeat:no-repeat;opacity:.85;transition:transform .6s,opacity .3s}
.tiktok::before{background-position:right top}.instagram::before{background-position:left bottom}.facebook::before{background-position:right bottom}
.social-card::after{inset:0;bottom:0;right:0;width:auto;height:auto;z-index:-1;filter:none;background:linear-gradient(90deg,#030b18eb 0%,#030b18b5 45%,#030b1826 100%);opacity:1}
.social-card:hover{background:#071a33;box-shadow:0 0 26px #147df53a;border-color:#65d9ff}
.social-card:hover::before{transform:scale(1.045);opacity:1}
.social-card h3,.social-card p{text-shadow:0 2px 7px #000}
.social-card .platform{filter:drop-shadow(0 2px 7px #0008)}
footer{isolation:isolate;background:transparent}
footer::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/atmosphere.png') left top/200% 200%;opacity:.45;mask-image:radial-gradient(ellipse at center,#000 10%,transparent 75%)}
@media(max-width:640px){body::before{inset:20% 0 0}.social-card{min-height:114px}.hero-bottom::after{opacity:.2}.ticket{animation-duration:4.5s}}
@media(prefers-reduced-motion:reduce){.ticket{animation:none}.social-card:hover::before{transform:none}}

/* Keep the social links in the initial desktop viewport. */
@media(min-width:641px){
 .hero{height:calc(100svh - 190px);min-height:420px;max-height:760px}
 .hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 44%;margin-top:0}
 .ticket-wrap{top:16%;left:8%}
 .hero-bottom{inset:76% 0 0}
 .social-section{margin-top:-74px;padding-bottom:38px}
 .section-label{margin-bottom:18px}
 .social-card{min-height:138px}
}

/* One continuous cloud layer; fade the photograph instead of joining images. */
body::before{inset:0;background-image:url('assets/atmosphere.png');background-size:200% 200%;background-position:left top;background-repeat:no-repeat;opacity:.6;-webkit-mask-image:linear-gradient(180deg,transparent 12%,#000 50%,#000 90%,transparent);mask-image:linear-gradient(180deg,transparent 12%,#000 50%,#000 90%,transparent)}
.hero-photo,.hero-shade{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 62%,transparent 100%)}
.hero-bottom{background:none}
.hero-bottom::after,footer::before{content:none}
@media(max-width:640px){body::before{inset:0}.hero-photo{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 78%,transparent 100%)}}

/* Platform-colored fog tile artwork. */
.social-card{border-color:transparent;background:linear-gradient(#030b18,#030b18) padding-box,var(--platform-border) border-box}
.tiktok{--platform-border:linear-gradient(110deg,#25f4ee,#147df5 48%,#fe2c55);--platform-glow:#fe2c5555}
.instagram{--platform-border:linear-gradient(110deg,#833ab4,#dd2a7b 55%,#fcb045);--platform-glow:#dd2a7b55}
.facebook{--platform-border:linear-gradient(110deg,#1877f2,#65d9ff);--platform-glow:#1877f266}
.social-card::before{inset:0;border-radius:15px;background-image:url('assets/social-water.png');background-size:100% 300%;opacity:1}
.tiktok::before{background-position:center top}.instagram::before{background-position:center center}.facebook::before{background-position:center bottom}
.social-card::after{background:linear-gradient(90deg,#030b1866,#030b1822 60%,transparent)}
.social-card:hover{border-color:transparent;background:linear-gradient(#030b18,#030b18) padding-box,var(--platform-border) border-box;box-shadow:0 0 25px var(--platform-glow)}
.social-card .arrow{color:#fff}.tiktok .platform{filter:drop-shadow(-2px -1px 0 #25f4ee) drop-shadow(2px 1px 0 #fe2c55)}
.instagram .platform{background:radial-gradient(circle at 25% 100%,#feda75,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5);border-radius:11px;padding:5px}
.facebook .platform{color:#1877f2;background:#fff;border-radius:50%}

/* Halloween takeover: automatically expires at midnight America/Chicago. */
.blackout-copy,.blackout-caption,.blackout-candle{display:none}
.blackout .blackout-copy,.blackout .blackout-caption{display:block}
.blackout .standard-caption{display:none}
.blackout .hero-shade{background:linear-gradient(90deg,#01060ec9, #01060e52 55%,#01060e40);-webkit-mask-image:linear-gradient(#000 65%,transparent);mask-image:linear-gradient(#000 65%,transparent)}
.blackout .hero-photo{filter:brightness(.64) saturate(1.12)}
.blackout .ticket-wrap{align-items:flex-start;top:7%;left:6%;gap:14px;width:53%;max-width:820px}
.blackout-copy{width:100%;text-shadow:0 3px 12px #000}
.blackout-eyebrow{font-size:clamp(10px,1vw,15px);letter-spacing:.22em;text-transform:uppercase;color:#39ff14;margin:0 0 10px;line-height:1.5}
.blackout-copy h2{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(46px,7.2vw,112px);font-weight:800;letter-spacing:-.025em;white-space:normal;line-height:.95;color:#65ff43;margin:0;text-shadow:0 0 20px #39ff1470;text-transform:uppercase}
.blackout-tagline{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:700;font-size:clamp(20px,2.65vw,40px);margin:12px 0 4px;line-height:1.15;color:#fff}
.blackout .ticket{color:#69ff49;border:2px solid #39ff14;border-radius:50px;background:#021200d9;font-size:clamp(23px,2.3vw,34px);padding:15px 27px;animation:blackout-glow 3.6s ease-in-out infinite}
.blackout .ticket::before{background:#39ff14;opacity:.17}
.blackout .ticket:hover{background:#123408;box-shadow:0 0 30px #39ff14a0}
.blackout .ticket-caption{padding-left:12px;color:#fff}
.blackout .blackout-candle{display:block;position:absolute;z-index:2;bottom:14%;left:5%;height:clamp(100px,15vw,190px);width:auto;filter:drop-shadow(0 0 24px #39ff1450);pointer-events:none}
@keyframes blackout-glow{0%,100%{box-shadow:0 0 15px #39ff1460,0 0 40px #39ff1430}50%{box-shadow:0 0 25px #39ff1480,0 0 60px #39ff1450}}
@media(max-width:640px){.blackout .ticket-wrap{position:relative;top:auto;left:auto;width:auto;max-width:none;margin:0 22px;padding:8px 0 30px;align-items:center;text-align:center;gap:16px}.blackout-copy h2{font-size:clamp(45px,12vw,72px)}.blackout-eyebrow{font-size:10px;letter-spacing:.13em}.blackout-tagline{font-size:25px}.blackout .ticket{width:100%;font-size:27px}.blackout .ticket-caption{padding-left:0}.blackout .blackout-candle{top:15%;bottom:auto;left:3%;height:75px}}
@media(prefers-reduced-motion:reduce){.blackout .ticket{animation:none}}

/* Match the approved Blackout Night composition. */
.blackout .hero-photo{filter:none;object-position:center center;-webkit-mask-image:linear-gradient(#000 88%,transparent 100%);mask-image:linear-gradient(#000 88%,transparent 100%)}
.blackout .hero-shade{background:none}
.blackout .blackout-candle{display:none}
.blackout .ticket-wrap{left:6.3%;top:7.8%;width:57%;max-width:1000px;gap:12px}
.blackout-copy h2{font-size:clamp(58px,8.4vw,138px);font-weight:800;letter-spacing:-.035em;line-height:.98;color:#89ff62;text-shadow:0 0 22px #39ff1470}
.blackout-eyebrow{font-size:clamp(11px,1.25vw,20px);letter-spacing:.26em;margin-bottom:8px;font-weight:600}
.blackout-tagline{font-size:clamp(23px,3vw,48px);margin:9px 0 6px}
.blackout .ticket{padding:13px 30px;font-size:clamp(25px,2.3vw,36px);letter-spacing:.07em;min-width:29vw;justify-content:space-between;background:#001400b0}
.blackout .ticket-caption{letter-spacing:.22em;padding-left:4.3vw;font-size:clamp(10px,1.15vw,17px)}
.blackout .social-section{max-width:none;width:94%;padding:0 1.2% 12px;margin:-12px auto 0}
.blackout .section-label{margin-bottom:12px}
.blackout #social-title{font-family:Georgia,serif;font-size:18px;letter-spacing:.35em;color:#fff}
.blackout .social-grid{gap:14px}
.blackout .social-card{min-height:104px;padding:18px 26px;gap:20px;border-radius:15px}
.blackout .platform{width:50px;height:50px}
.blackout .social-card h3{text-transform:uppercase;font-size:34px;margin-bottom:4px}
.blackout .social-card p{font-size:11px;letter-spacing:.12em}
.blackout footer{padding:0 20px 20px}
.blackout .partner{width:220px;height:135px}
.blackout .partner img{width:220px;height:220px;margin-top:-43px}
.blackout .partner-url{font-size:10px;letter-spacing:.25em;padding:3px}
.blackout .copyright{font-size:9px;letter-spacing:.12em;margin-top:8px}
@media(min-width:641px){.blackout .hero{height:min(74svh,46.875vw);min-height:420px;max-height:850px}}
@media(max-width:900px) and (min-width:641px){.blackout .social-card{padding:16px;gap:12px}.blackout .platform{width:34px;height:34px}.blackout .social-card h3{font-size:27px}.blackout .social-card p{font-size:9px}}
@media(max-width:640px){.blackout .hero-photo{width:100%;height:auto;min-height:220px;object-fit:cover}.blackout .ticket-wrap{left:auto;top:auto;width:auto;max-width:none;margin:0 22px;gap:16px}.blackout-copy h2{font-size:clamp(46px,12.5vw,78px)}.blackout-eyebrow{font-size:10px;letter-spacing:.13em}.blackout-tagline{font-size:25px}.blackout .ticket{width:100%;min-width:0;font-size:26px}.blackout .ticket-caption{font-size:10px;padding-left:0;letter-spacing:.13em}.blackout .social-section{width:100%;padding:0 22px 20px;margin:0 auto}.blackout #social-title{font-size:13px}.blackout .social-card{padding:20px 24px;min-height:108px}.blackout .platform{width:42px;height:42px}.blackout .social-card h3{font-size:30px}.blackout .social-card p{font-size:10px}.blackout .partner{height:145px}}

.blackout-hero{display:none}.blackout .hero-photo:not(.blackout-hero){display:none}.blackout .blackout-hero{display:block}
