@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-Medium.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-ExtraBold.ttf") format("truetype");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-ExtraBoldItalic.ttf") format("truetype");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-Black.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"Montserrat";src:url("assets/fonts/Montserrat-BlackItalic.ttf") format("truetype");font-weight:900;font-style:italic;font-display:swap}
:root{--pink:#f00062;--blue:#062d61;--night:#020b16;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:#fff;font-family:"Montserrat",Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}header{height:84px;display:flex;align-items:center;gap:35px;padding:10px 5vw;background:#020914;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff10}header img{width:205px;display:block;filter:drop-shadow(0 0 8px rgba(255,255,255,.16))}nav{margin-left:auto;display:flex;gap:28px;text-transform:uppercase;font-size:13px;font-weight:700}.ticket,.cta{background:var(--pink);padding:16px 24px;border-radius:7px;font-weight:900;text-transform:uppercase;box-shadow:0 0 30px #f0006244}.hero{height:min(760px,calc(100vh - 84px));min-height:600px;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('assets/img/hero-ki.png') center/cover no-repeat;transform:scale(1.02)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#020914 0%,#020914e8 28%,#02091470 53%,#02091412 76%),linear-gradient(0deg,#020b16aa,transparent 40%)}.copy{position:relative;z-index:2;padding:9vh 6vw;max-width:720px}.eyebrow{font-size:15px;letter-spacing:.2em;font-weight:900;color:#ff4c92;text-transform:uppercase}.copy h1{font-size:clamp(64px,8.5vw,132px);line-height:.76;margin:22px 0 30px;font-weight:900;letter-spacing:-.055em;font-style:italic}.copy h1 span{display:block;color:#fff}.copy h1{color:var(--pink)}.date{font-size:clamp(48px,5vw,80px);font-weight:900;line-height:1}.copy h2{font-size:clamp(22px,2.3vw,36px);letter-spacing:.08em;margin:7px 0 18px}.copy>p:not(.eyebrow){font-size:20px;max-width:500px}.copy .cta{display:inline-block;margin-top:18px}.ai{position:absolute;right:18px;bottom:14px;z-index:3;font-size:11px;opacity:.72}.cards{display:grid;grid-template-columns:repeat(3,1fr);max-width:1400px;margin:auto;border-bottom:1px solid #f0006255}.cards article{min-height:235px;padding:70px 30px;text-align:center;background:radial-gradient(circle at top,#f0006223,transparent 58%);border-right:1px solid #ffffff12}.cards b{display:block;font-size:28px;color:var(--pink);font-style:italic}.cards span{display:block;margin-top:14px;text-transform:uppercase;font-size:13px;letter-spacing:.08em}.facts{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);padding:35px 4vw;border-bottom:1px solid #f0006255}.facts div{text-align:center}.facts small{display:block;color:#ff4c92;font-weight:900;letter-spacing:.12em;margin-bottom:8px}.facts strong{font-size:20px}.about{max-width:1300px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;padding:100px 6vw}.about h2,.location h2,.tickets h2{font-size:clamp(42px,6vw,82px);margin:8px 0}.about p{font-size:18px;line-height:1.7;color:#dbe3ec}.slogan{font-size:clamp(48px,6vw,90px);font-weight:900;line-height:.86;transform:rotate(-3deg);align-self:center}.slogan i{color:var(--pink)}.location,.tickets{text-align:center;padding:90px 20px;background:radial-gradient(circle at center,#0b3760 0,#020b16 62%)}.location p,.tickets p{color:#cbd7e4}.tickets{background:linear-gradient(135deg,#07182d,#26001b)}.tickets .cta{display:inline-block;margin-top:20px}footer{min-height:180px;padding:38px 5vw;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #ffffff14}footer img{width:240px;filter:drop-shadow(0 0 10px rgba(255,255,255,.14))}footer div{font-size:13px;letter-spacing:.1em}@media(max-width:800px){header{height:70px;padding:8px 18px}header img{width:155px}nav{display:none}.ticket{margin-left:auto;padding:12px;font-size:11px}.hero{height:720px;min-height:0}.hero-bg{background-position:63% center}.shade{background:linear-gradient(0deg,#020914 5%,#02091499 60%,#02091440),linear-gradient(90deg,#020914d9 0%,transparent 100%)}.copy{padding:55px 24px}.copy h1{font-size:64px;margin-top:15px}.copy>p:not(.eyebrow){font-size:16px;max-width:320px}.cards,.facts,.about{grid-template-columns:1fr}.cards article{min-height:150px;padding:45px 20px;border-right:0;border-bottom:1px solid #ffffff12}.facts{gap:28px}.about{padding:70px 24px}.slogan{margin-top:20px}footer{flex-direction:column;text-align:center}footer img{width:210px}}

/* Legal pages */
.legal-page{background:#020b16}.legal-main{min-height:70vh;background:radial-gradient(circle at 85% 5%,#f0006222,transparent 28%),radial-gradient(circle at 10% 25%,#0b376055,transparent 32%),#020b16}.legal-hero{max-width:1180px;margin:auto;padding:90px 5vw 45px;border-bottom:1px solid #f0006245}.legal-hero h1{font-size:clamp(54px,8vw,108px);font-style:italic;letter-spacing:-.05em;line-height:.9;margin:12px 0 16px}.legal-hero h1 span{color:var(--pink)}.legal-hero>p:last-child{font-size:18px;color:#cbd7e4}.legal-card{max-width:1080px;margin:0 auto;padding:55px 5vw 100px}.legal-card h2{font-size:28px;margin:42px 0 12px;color:#fff}.legal-card h2:first-of-type{margin-top:10px}.legal-card h3{font-size:18px;color:#ff4c92;margin:30px 0 8px}.legal-card p{color:#cbd7e4;line-height:1.75;font-size:16px}.legal-card strong{color:#fff}.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.legal-note{padding:18px 22px;border:1px solid #f0006255;border-left:4px solid var(--pink);background:#f000620d;color:#dbe3ec;line-height:1.55;margin-bottom:38px;border-radius:5px}.legal-page footer a:hover,.legal-card a{color:#ff4c92}@media(max-width:800px){.legal-hero{padding:65px 24px 35px}.legal-card{padding:38px 24px 70px}.legal-grid{grid-template-columns:1fr;gap:0}.legal-card h2{font-size:24px}}

/* v1.3 Impressum */
.legal-contact-list{display:grid;gap:18px;margin:18px 0 28px}.legal-contact-person{padding:18px 20px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}.legal-contact-person strong{display:block;margin-bottom:7px}.legal-card a{color:#ff0878;text-decoration:none}.legal-card a:hover{text-decoration:underline}.legal-section{margin-top:32px}.legal-section h2{margin-bottom:12px}.legal-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.legal-columns>div{padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.025)}@media(max-width:700px){.legal-columns{grid-template-columns:1fr}}

/* v1.5 – eigenständige Mobile-Optimierung */
@media (max-width: 600px){
  body{overflow-x:hidden}
  header{height:64px;padding:7px 14px;background:rgba(2,9,20,.96);backdrop-filter:blur(12px)}
  header img{width:138px;max-height:50px;object-fit:contain}
  header .ticket{padding:10px 12px;border-radius:6px;font-size:10px;white-space:nowrap;box-shadow:0 0 20px #f0006233}
  .hero{height:auto;min-height:calc(100svh - 64px);display:flex;align-items:flex-end;padding-top:310px}
  .hero-bg{background-position:68% 20%;transform:none}
  .shade{background:linear-gradient(0deg,#020b16 0%,#020b16 18%,rgba(2,9,20,.80) 48%,rgba(2,9,20,.12) 78%),linear-gradient(90deg,rgba(2,9,20,.72),transparent 75%)}
  .copy{width:100%;padding:28px 20px 44px}
  .eyebrow{font-size:11px;letter-spacing:.16em}
  .copy h1{font-size:clamp(50px,16vw,72px);line-height:.78;margin:12px 0 22px;letter-spacing:-.05em}
  .date{font-size:clamp(38px,12vw,54px)}
  .copy h2{font-size:18px;line-height:1.2;margin:6px 0 13px;letter-spacing:.05em}
  .copy>p:not(.eyebrow){font-size:15px;line-height:1.45;margin:0;max-width:290px}
  .copy .cta{width:100%;text-align:center;margin-top:20px;padding:15px 18px}
  .ai{right:10px;bottom:8px;font-size:9px;opacity:.6}
  .cards{display:block}
  .cards article{min-height:0;padding:31px 20px}
  .cards b{font-size:23px}.cards span{font-size:11px;line-height:1.5;margin-top:8px}
  .facts{padding:30px 20px;gap:22px}.facts small{font-size:10px}.facts strong{font-size:18px}
  .about{display:block;padding:58px 20px 64px}.about h2{font-size:43px;line-height:.92}.about p{font-size:16px;line-height:1.65}
  .slogan{font-size:49px;line-height:.84;margin:52px 4px 4px;transform:rotate(-2deg)}
  .location,.tickets{padding:65px 20px}.location h2,.tickets h2{font-size:42px;line-height:.94}.location p,.tickets p{font-size:15px;line-height:1.55}
  .tickets .cta{display:block;width:100%;max-width:340px;margin:22px auto 0;padding:16px}
  footer{min-height:0;padding:34px 20px 40px;gap:18px}footer img{width:180px}footer div{font-size:11px;line-height:1.6}
  .legal-hero{padding:48px 20px 30px}.legal-hero h1{font-size:48px}.legal-hero>p:last-child{font-size:15px;line-height:1.5}
  .legal-card{padding:30px 20px 58px}.legal-card h2{font-size:22px;margin-top:34px}.legal-card h3{font-size:16px}.legal-card p{font-size:15px;line-height:1.65}
  .legal-contact-person,.legal-columns>div{padding:16px;border-radius:10px}
}

/* Cookiebot consent gate: Seite bleibt bis zur Auswahl im Banner milchig im Hintergrund. */
html.cookie-consent-pending body > header,
html.cookie-consent-pending body > main,
html.cookie-consent-pending body > footer {
  filter: blur(7px);
  opacity: .38;
  pointer-events: none;
  user-select: none;
}
html.cookie-consent-pending body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  background: rgba(245,247,250,.48);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  pointer-events: none;
}
/* Cookiebot selbst liegt oberhalb der Milchglas-Ebene und bleibt bedienbar. */
#CybotCookiebotDialog,
#CybotCookiebotDialogBodyUnderlay {
  z-index: 2147483646 !important;
}

.presale-notice{display:table;margin:24px auto 0;padding:12px 20px;border:1px solid rgba(255,255,255,.28);border-radius:7px;background:rgba(255,255,255,.08);color:#fff;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 0 22px rgba(255,255,255,.06)}
@media(max-width:800px){.presale-notice{display:block;width:100%;max-width:340px;padding:12px 14px;font-size:11px;line-height:1.35}}

/* Montserrat Feinabstimmung: kompaktere Typografie wie im ursprünglichen Layout */
body{font-size:15px}
.copy h1{font-size:clamp(56px,7.4vw,112px)}
.date{font-size:clamp(42px,4.4vw,68px)}
.copy h2{font-size:clamp(20px,2vw,30px)}
.copy>p:not(.eyebrow){font-size:17px;line-height:1.55}
.cards b{font-size:24px}.cards span{font-size:12px}
.facts strong{font-size:18px}
.about h2,.location h2,.tickets h2{font-size:clamp(38px,5vw,68px)}
.about p{font-size:16px}
.slogan{font-size:clamp(42px,5vw,72px)}
.legal-hero h1{font-size:clamp(46px,6.5vw,86px)}
.legal-hero>p:last-child{font-size:16px}
.legal-card h2{font-size:25px}.legal-card h3{font-size:17px}.legal-card p{font-size:15px}
@media(max-width:800px){
  .copy h1{font-size:clamp(44px,13vw,58px)}
  .date{font-size:clamp(34px,10vw,46px)}
  .copy h2{font-size:16px}
  .copy>p:not(.eyebrow){font-size:14px}
  .about h2{font-size:36px}.about p{font-size:15px}
  .slogan{font-size:41px}
  .location h2,.tickets h2{font-size:36px}
  .legal-hero h1{font-size:40px}
  .legal-card h2{font-size:20px}.legal-card p{font-size:14px}
}

/* Hero-Titel etwas größer – übrige Typografie bleibt kompakt */
.copy h1{font-size:clamp(64px,8.2vw,124px)}
@media(max-width:800px){
  .copy h1{font-size:clamp(50px,15vw,66px)}
}

/* Mobile: WEIBER FASCHING + Datum/Ort/Textblock etwas weiter nach oben */
@media (max-width:600px){
  .copy{
    transform:translateY(-58px);
    padding-bottom:0;
  }
  .ai{bottom:66px}
}

/* Mobile: KI-Kennzeichnung unabhängig vom hochgesetzten Textblock
   wieder unten rechts am Hero-Bild positionieren */
@media (max-width:600px){
  .ai{
    bottom:14px !important;
    right:18px !important;
    left:auto !important;
    transform:none !important;
    z-index:4;
  }
}
