:root{--black:#060606;--dark:#0d0d0d;--red:#ff1d1d;--red2:#9d0000;--white:#f5f1ea;--muted:#a9a09a;--line:rgba(245,241,234,.16);--card:rgba(245,241,234,.055);--radius:28px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;background:var(--black);color:var(--white);overflow-x:hidden}a{color:inherit;text-decoration:none}.grain{position:fixed;inset:0;pointer-events:none;z-index:-2;opacity:.22;background-image:radial-gradient(rgba(255,255,255,.35) .8px,transparent .8px);background-size:18px 18px;animation:grain 10s steps(10) infinite}.grain:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(255,29,29,.13),transparent 32%,rgba(255,255,255,.035) 48%,transparent 70%)}@keyframes grain{to{transform:translate(-18px,18px)}}.cursor-glow{position:fixed;left:50%;top:50%;width:420px;height:420px;background:radial-gradient(circle,rgba(255,29,29,.17),transparent 62%);transform:translate(-50%,-50%);filter:blur(20px);z-index:-1;pointer-events:none}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(18px,5vw,72px);background:linear-gradient(to bottom,rgba(6,6,6,.92),rgba(6,6,6,.58),transparent);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.12em}.brand img{width:42px;height:42px;object-fit:contain}.nav{display:flex;gap:26px;align-items:center}.nav a{font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);transition:.25s}.nav a:hover,.nav .active{color:var(--white)}.nav-cta{color:var(--white)!important;background:var(--red);padding:12px 16px;transform:skew(-8deg);box-shadow:6px 6px 0 #fff}.burger{display:none;background:none;border:0;width:42px;height:36px;position:relative}.burger span{display:block;height:3px;background:#fff;margin:8px 0}.full-screen{min-height:100vh}.hero{position:relative;display:grid;place-items:center;text-align:center;padding:140px 20px 70px;overflow:hidden}.poster-bg{position:absolute;inset:0;display:grid;place-items:center;opacity:.12;transform:rotate(-6deg);font-family:"Bebas Neue";font-size:clamp(4rem,18vw,18rem);line-height:.72;color:transparent;-webkit-text-stroke:2px var(--white);z-index:-1}.poster-bg span{display:block}.hero-content{max-width:960px}.kicker,.label{display:inline-flex;text-transform:uppercase;letter-spacing:.22em;font-weight:900;font-size:.72rem;color:#fff;background:var(--red);padding:9px 14px;transform:skew(-8deg);box-shadow:5px 5px 0 rgba(255,255,255,.85);margin-bottom:24px}h1,h2{font-family:"Bebas Neue",Impact,sans-serif;text-transform:uppercase;letter-spacing:.02em}.hero h1{font-size:clamp(6rem,18vw,15rem);line-height:.75;text-shadow:10px 10px 0 rgba(255,29,29,.72),-2px -2px 0 #fff}.hero h2{font-size:clamp(2.7rem,7vw,6.4rem);color:var(--red);line-height:.9}.hero-line{font-size:clamp(1.35rem,3vw,2.5rem);font-weight:900;text-transform:uppercase;margin-top:26px}.hero-sub{color:var(--muted);font-size:1.1rem;margin-top:12px}.hero-sub strong{color:#fff}.hero-actions{margin-top:34px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:16px 22px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;transition:.25s;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.16);transform:translateX(-110%) skew(-25deg);transition:.35s}.btn:hover:before{transform:translateX(110%) skew(-25deg)}.btn-primary{background:var(--red);color:#fff;border-color:var(--red);box-shadow:8px 8px 0 #fff}.btn-primary:hover{transform:translate(-3px,-3px);box-shadow:12px 12px 0 #fff}.btn-ghost{background:rgba(255,255,255,.06)}.disabled{opacity:.65;pointer-events:none}.scroll-mark{position:absolute;bottom:30px;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);writing-mode:vertical-rl}.quick-info{margin:-50px auto 70px;width:min(1100px,92%);display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative;z-index:2}.quick-info article,.brut-card,.ticket-card,.info-list article,.faq-list details,.cta-box,.statement-card{background:linear-gradient(135deg,rgba(255,255,255,.085),rgba(255,255,255,.025));border:1px solid var(--line);backdrop-filter:blur(14px);box-shadow:0 30px 80px rgba(0,0,0,.4)}.quick-info article{padding:22px;transform:skew(-4deg)}small{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.68rem}.quick-info strong{display:block;margin-top:8px;font-size:1.08rem}.section{padding:110px clamp(20px,7vw,96px)}.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.section-copy h2,.section-heading h2,.venue-title h2,.cta-box h2,.page-hero h1{font-size:clamp(4rem,10vw,9rem);line-height:.82}.section-copy p:not(.label),.section-heading p:not(.label),.venue-title p,.cta-box p,.page-hero p{color:var(--muted);line-height:1.8;max-width:650px}.statement-card{min-height:440px;padding:32px;display:flex;flex-direction:column;justify-content:center;gap:12px;position:relative;overflow:hidden}.statement-card:after{content:"";position:absolute;inset:auto -20px 40px -20px;height:110px;background:var(--red);transform:rotate(-9deg);opacity:.85}.statement-card span{font-family:"Bebas Neue";font-size:clamp(3rem,6vw,6rem);line-height:.82;z-index:1;text-shadow:4px 4px 0 #000}.section-heading{text-align:center;margin-bottom:34px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.brut-card{padding:30px;min-height:280px;position:relative}.brut-card span{color:var(--red);font-weight:900;font-size:1.1rem}.brut-card h3{font-size:2rem;margin:26px 0 14px;text-transform:uppercase}.brut-card p{color:var(--muted);line-height:1.7}.venue-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:center}.venue-title address{font-style:normal;color:#fff;margin:20px 0 24px;font-weight:900}.map-frame{border:1px solid var(--line);padding:10px;background:#111;box-shadow:12px 12px 0 var(--red)}.map-frame iframe{display:block;width:100%;height:430px;border:0;filter:grayscale(1) contrast(1.2)}.map-frame .btn{margin-top:20px}.cta-box{max-width:1000px;margin:auto;text-align:center;padding:clamp(28px,6vw,68px);position:relative;overflow:hidden}.cta-box:before{content:"NEXTWAVE";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-8deg);font-family:"Bebas Neue";font-size:15vw;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.12);z-index:-1}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px auto;max-width:720px}.countdown div{border:1px solid var(--line);background:#0a0a0a;padding:18px 10px}.countdown strong{display:block;font-family:"Bebas Neue";font-size:clamp(2.6rem,6vw,5rem);line-height:.9;color:var(--red)}.countdown small{display:block;margin-top:8px}.page-main{padding-top:120px;min-height:80vh}.page-hero{padding:70px clamp(20px,7vw,96px) 30px}.page-hero h1{max-width:900px}.ticket-panel{padding:30px clamp(20px,7vw,96px) 100px;display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center}.mega{max-width:none}.ticket-card{padding:34px;position:relative}.ticket-card h2{font-size:4rem;line-height:.86}.ticket-card p{color:var(--muted);line-height:1.7}.price{margin:24px 0;font-size:1.1rem}.stamp{position:absolute;right:24px;top:24px;border:2px solid var(--red);color:var(--red);font-weight:900;padding:8px 10px;transform:rotate(8deg)}.info-layout{padding:30px clamp(20px,7vw,96px) 100px;display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.info-list{display:grid;gap:12px}.info-list article{padding:22px}.info-list strong{display:block;margin-top:8px;font-size:1.2rem}.faq-list{padding:30px clamp(20px,7vw,96px) 100px;display:grid;gap:14px;max-width:980px}.faq-list details{padding:24px}.faq-list summary{cursor:pointer;font-weight:900;text-transform:uppercase;font-size:1.1rem}.faq-list p{color:var(--muted);margin-top:14px;line-height:1.75}.faq-list a{color:var(--red);font-weight:900}.footer{border-top:1px solid var(--line);padding:28px clamp(20px,6vw,72px);display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.footer strong,.footer a{color:#fff}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;inset:0;opacity:.5}.glitch:before{color:var(--red);transform:translate(3px,-2px);clip-path:polygon(0 0,100% 0,100% 35%,0 35%);animation:glitch 2.6s infinite}.glitch:after{color:#fff;transform:translate(-3px,2px);clip-path:polygon(0 60%,100% 60%,100% 100%,0 100%);animation:glitch 2.1s infinite reverse}@keyframes glitch{0%,90%,100%{transform:translate(0)}92%{transform:translate(8px,-4px)}94%{transform:translate(-8px,4px)}}.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.burger{display:block}.nav{position:absolute;top:75px;left:16px;right:16px;display:grid;background:rgba(8,8,8,.96);border:1px solid var(--line);padding:22px;opacity:0;pointer-events:none;transform:translateY(-10px);transition:.25s}.nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}.hero{padding-top:115px}.hero h1{text-shadow:6px 6px 0 rgba(255,29,29,.72),-1px -1px 0 #fff}.quick-info{grid-template-columns:1fr 1fr;margin-top:-20px}.split,.venue-section,.ticket-panel,.info-layout{grid-template-columns:1fr}.cards-grid{grid-template-columns:1fr}.countdown{grid-template-columns:1fr 1fr}.map-frame iframe{height:320px}.footer{justify-content:center;text-align:center}.section{padding:80px 20px}.page-hero{padding:50px 20px 20px}.ticket-panel,.info-layout,.faq-list{padding-left:20px;padding-right:20px}}@media(max-width:520px){.quick-info{grid-template-columns:1fr}.hero-actions{display:grid}.btn-primary{box-shadow:5px 5px 0 #fff}.section-copy h2,.section-heading h2,.venue-title h2,.cta-box h2,.page-hero h1{font-size:4rem}.ticket-card h2{font-size:3rem}.poster-bg{font-size:5rem}}



/* Safe mobile, accessibility and Instagram in-app browser improvements */
html {
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

body {
  min-height: 100vh;
  min-height: var(--app-height, 100vh);
  -webkit-font-smoothing: antialiased;
}

.full-screen,
.ticket-lock-page {
  min-height: 100vh;
  min-height: 100dvh;
  min-height: var(--app-height, 100vh);
}

.site-header {
  padding-top: max(18px, env(safe-area-inset-top));
  padding-left: max(clamp(18px, 5vw, 72px), env(safe-area-inset-left));
  padding-right: max(clamp(18px, 5vw, 72px), env(safe-area-inset-right));
}

.footer,
.hero,
.ticket-lock-page {
  padding-left: max(20px, env(safe-area-inset-left));
  padding-right: max(20px, env(safe-area-inset-right));
}

.btn,
.burger,
.nav a,
.insta-button,
summary {
  -webkit-tap-highlight-color: rgba(255, 29, 29, .22);
}

.btn,
.nav a,
.insta-button {
  min-height: 44px;
}

button,
a,
summary,
iframe {
  touch-action: manipulation;
}

:focus-visible {
  outline: 3px solid var(--red, #ff1d1d);
  outline-offset: 4px;
}

.burger {
  cursor: pointer;
}

.map-frame iframe,
.eventfrog-box iframe {
  max-width: 100%;
  border: 0;
}

.eventfrog-box {
  width: min(100%, 980px);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid var(--line, rgba(245,241,234,.16));
  background: rgba(0,0,0,.32);
}

.eventfrog-box iframe {
  display: block;
  min-height: 560px;
}

@media (max-width: 900px) {
  .nav {
    max-height: calc(100dvh - 96px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 520px) {
  .hero,
  .ticket-lock-hero {
    padding-bottom: max(42px, env(safe-area-inset-bottom));
  }

  .hero-actions .btn,
  .ticket-lock-hero .btn {
    width: 100%;
  }

  .eventfrog-box iframe {
    min-height: 620px;
  }
}

@media (hover: none) and (pointer: coarse) {
  .cursor-glow {
    display: none;
  }

  .btn:hover,
  .btn-primary:hover {
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
