/* Gemeinsamer Stil der Unterseiten (Impressum, Datenschutz, Cookies, AGB) – W209.
   Automatisch aus index.html gezogen (Grundlagen, Kopfzeile, Menü, Knöpfe, Schilder, Bühne, Fußzeile),
   damit die Unterseiten genau wie die Startseite aussehen. Bei Änderungen an Kopf/Fuß der Startseite neu erzeugen. */
@font-face{font-family:"Geist";font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/geist.woff2") format("woff2")}
:root{--navy:#040814; --navy-2:#071027; --navy-3:#0B1A45; --blue:#1A79FF; --blue-hover:#0E63E6;
  --blue-soft:#E5EEFF; --blue-line:#C2D8FF; --cyan:#3FD8F0; --signal:#F2FF00;
  --ink:#0B0F19; --text:#3A3D46; --muted:#6B6F7A; --muted-dark:#9AA3B8;
  --paper:#FFFFFF; --karte:#F9FAFD; --line:#E6E7EB; --white:#fff;
  
  --a-ink:#1B1B1A; --a-g1:#3A3A37; --a-g2:#5C5C57; --a-g4:#8C8C86; --a-g5:#9A9A94;
  --a-line:#E9E9E5; --a-line2:#E4E4DF; --a-fein:#EDEDE7; --a-chip:#EFEFEA; --a-paper:#F3F3F3;
  --ok:#16A34A; --ok-ink:#15803D; --ok-soft:#DCFCE7; --warn:#D9970B; --warn-ink:#92660B; --warn-soft:#FEF3C7;
  --r-kachel:20px; --r:8px; --r-s:6px;
  --abstand:clamp(72px,9vw,140px); 
  --r-knopf:8px; 
  --pad:clamp(20px,6.5vw,120px);
  --dark:var(--navy); --yellow:var(--signal); --muted-foot:var(--muted-dark);}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Geist",Inter,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);
  font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p{margin:0}
.wrap{width:100%;max-width:calc(1440px + 2 * var(--pad));margin:0 auto;padding:0 var(--pad)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.h-section{font-size:clamp(34px,4.3vw,66px);line-height:1.06;font-weight:400;letter-spacing:-.025em}
.h-card{font-size:clamp(28px,2.9vw,46px);line-height:1.1;font-weight:400;letter-spacing:-.02em}
.lead{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--text)}
.pill{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:var(--r-knopf);
  font-size:13px;font-weight:500;letter-spacing:.01em;background:var(--white);color:var(--ink);border:1px solid var(--line)}
.pill .punkt{width:7px;height:7px;border-radius:50%;background:var(--blue)}
.pill--dunkel{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.pill--dunkel .punkt{background:var(--signal);box-shadow:0 0 10px rgba(242,255,0,.7)}
.pill--blau{background:var(--blue);border-color:var(--blue);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 8px 0 22px;border-radius:var(--r-knopf);
  font-family:inherit;font-size:15px;font-weight:500;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s,transform .2s}
.btn .pf{width:32px;height:32px;border-radius:calc(var(--r-knopf) - 3px);display:grid;place-items:center;flex:none;transition:transform .25s}
.btn .pf svg{width:13px;height:13px}
.btn:hover .pf{transform:translateX(2px)}
.btn--weiss{background:#fff;color:var(--ink)}
.btn--weiss .pf{background:var(--blue);color:#fff}
.btn--blau{background:var(--blue);color:#fff}
.btn--blau:hover{background:var(--blue-hover)}
.btn--blau .pf{background:#fff;color:var(--blue)}
.btn--schwarz{background:#101010;color:#fff}
.btn--schwarz .pf{background:var(--blue);color:#fff}
.btn--dunkel{background:#101010;color:#fff}
.btn--dunkel:hover{background:#2A2A2A}
.btn--dunkel .pf{background:#fff;color:#101010}
.btn--glas{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:0 22px}
.btn--rand{background:transparent;color:var(--ink);border:1px solid #D3D5DB;padding:0 22px}
.btn--rand:hover{border-color:var(--ink)}
.btn--klein{height:42px;font-size:14px}
.btn-reihe{display:flex;flex-wrap:wrap;gap:12px}
.riffel{position:absolute;inset:0;pointer-events:none;
  background:
   repeating-linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.16) 7px,rgba(255,255,255,0) 15px,rgba(0,0,0,.28) 24px,rgba(255,255,255,0) 30px),
   linear-gradient(90deg,var(--cyan) 0%,#1A79FF 14%,#0A2E9E 28%,rgba(0,0,0,0) 44%,rgba(0,0,0,0) 56%,#0A2E9E 72%,#1A79FF 86%,var(--cyan) 100%)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important}}
.header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,backdrop-filter .3s,box-shadow .3s}
.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;
  max-width:calc(1440px + 2 * var(--pad));margin:0 auto;padding:0 var(--pad)}
.header-logo{height:22px;width:auto}
.header-nav{display:flex;gap:4px;padding:5px;border-radius:var(--r-knopf);background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header-nav a{color:#fff;text-decoration:none;font-size:14px;font-weight:500;padding:9px 18px;border-radius:calc(var(--r-knopf) - 3px);transition:background .2s}
.header-nav a:hover{background:rgba(255,255,255,.12)}
.header .btn{height:42px;font-size:14px}
.header-nav{transition:background .3s,box-shadow .3s}
.header.glas .header-nav,.header.fest .header-nav{background:rgba(7,14,40,.86);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 12px 30px -12px rgba(4,8,20,.45);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.logo-dunkel{display:none}
.header.fest .logo-hell{display:none}
.header.fest .logo-dunkel{display:block}
.header.fest .header-inner>.btn{box-shadow:0 8px 24px -10px rgba(4,8,20,.35),0 0 0 1px rgba(4,8,20,.08)}
.header.glas .burger,.header.fest .burger,.header.offen .burger{background:rgba(7,14,40,.86);border-color:transparent;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header.offen .menue{margin:0 12px;border-radius:12px;background:rgba(7,14,40,.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.burger{display:none;width:44px;height:44px;border-radius:var(--r-knopf);border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);cursor:pointer;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:1.5px;background:#fff;transition:transform .25s,top .25s}
.burger span:first-child{top:18px}
.burger span:last-child{top:25px}
.header.offen .burger span:first-child{top:21.5px;transform:rotate(45deg)}
.header.offen .burger span:last-child{top:21.5px;transform:rotate(-45deg)}
.menue{padding:8px var(--pad) 26px;display:flex;flex-direction:column;gap:4px}
.menue[hidden]{display:none}
.menue a:not(.btn){color:#fff;text-decoration:none;font-size:20px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.menue .btn{margin-top:16px;align-self:flex-start}
.hero{position:relative;min-height:clamp(720px,100svh,1040px);background:var(--navy);color:#fff;overflow:hidden;display:flex;align-items:center;isolation:isolate}
.hero .riffel{inset:0 -2%;opacity:.95;-webkit-mask-image:linear-gradient(to top,#000 0%,#000 35%,rgba(0,0,0,.35) 70%,transparent 100%);mask-image:linear-gradient(to top,#000 0%,#000 35%,rgba(0,0,0,.35) 70%,transparent 100%)}
.hero::after{content:"";position:absolute;left:50%;bottom:-30%;width:90%;height:80%;transform:translateX(-50%);z-index:-1;
  background:radial-gradient(closest-side,rgba(26,121,255,.55),rgba(26,121,255,0));filter:blur(20px)}
.hero-inner{position:relative;z-index:1;width:100%;text-align:center;padding:140px var(--pad) 120px;display:flex;flex-direction:column;align-items:center}
.hero .pill{margin-bottom:30px}
.hero h1{max-width:1100px}
.hero-sub{margin-top:28px;max-width:640px;font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:rgba(255,255,255,.78)}
.hero .btn-reihe{margin-top:40px;justify-content:center}
.footer{background:var(--navy);color:#fff;padding:clamp(64px,7vw,110px) 0 36px;position:relative;overflow:hidden}
.footer-inner{max-width:calc(1440px + 2 * var(--pad));margin:0 auto;padding:0 var(--pad);position:relative}
.footer-cols{display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:48px}
.footer h4{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-dark);margin-bottom:18px}
.footer-text{font-size:15px;color:rgba(255,255,255,.72);max-width:380px;margin-bottom:22px}
.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:15px;color:rgba(255,255,255,.8)}
.footer-contact a{text-decoration:none}
.footer-contact a:hover{color:#fff;text-decoration:underline}
.sprache{position:relative;display:inline-block}
.lang{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 16px;border-radius:var(--r-knopf);border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-family:inherit;font-size:15px;cursor:pointer}
.lang .arr{display:inline-flex}
.sprache-liste{position:absolute;left:0;bottom:calc(100% + 8px);min-width:200px;background:#0F1730;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:6px}
.sprache-liste[hidden]{display:none}
.sprache-liste button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;height:42px;padding:0 12px;border:0;background:none;color:#fff;font-family:inherit;font-size:15px;border-radius:8px;cursor:pointer}
.sprache-liste button[disabled]{color:rgba(255,255,255,.4);cursor:default}
.aw-marke{font-size:12.5px;padding:2px 8px;border-radius:var(--r-s);background:rgba(255,255,255,.1)}
.footer-logo{width:100%;height:auto;margin:clamp(56px,7vw,100px) 0 28px;opacity:.95}
.footer-rule{height:1px;background:rgba(255,255,255,.12)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:22px;font-size:13px;color:var(--muted-dark)}
.footer-bottom nav{display:flex;gap:22px;flex-wrap:wrap}
.footer-bottom a{text-decoration:none}
.footer-bottom a:hover{color:#fff}
@media (max-width:1100px){.header-nav,.header-inner>.btn{display:none}
.burger{display:block}
.footer-cols{grid-template-columns:1fr 1fr}
.footer-cols .col-kontakt{grid-column:1/-1}
.h-section br,.hero-sub br{display:none}}
@media (max-width:760px){body{font-size:17px}
.footer-cols,.footer-contact{grid-template-columns:1fr}}
.footer-logo{width:clamp(180px,22vw,320px)!important}
.hero{margin:20px 20px 0;border-radius:12px}
.footer{margin:0 20px 20px;border-radius:12px}
@media (max-width:760px){.hero{margin-left:10px;margin-right:10px}
.hero{margin-top:10px}
.footer{margin:0 10px 10px}}
.header{top:28px;transition:top .35s ease,background .3s,box-shadow .3s}
.header.fest{top:10px}
@media (max-width:760px){.header{top:14px}
.header.fest{top:6px}}
.footer{background:#0A0A0B}
.footer-rule{background:rgba(255,255,255,.1)}
.footer h4,.footer-bottom{color:#8E9099}
.sprache-liste{background:#17181B}
.header-inner{position:relative;isolation:isolate}
.header-inner::before{content:"";position:absolute;inset:10px calc(var(--pad) - 16px);z-index:-1;border-radius:12px;opacity:0;transition:opacity .35s ease;
  background:rgba(255,255,255,.72);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);
  box-shadow:0 0 0 1px rgba(11,15,25,.06),0 14px 34px -16px rgba(11,15,25,.28)}
.header.fest .header-inner::before{opacity:1}
.header.fest .header-inner>.btn{box-shadow:0 0 0 1px rgba(11,15,25,.08)}
.header.fest .header-inner>.btn--weiss{background:#101010;color:#fff;box-shadow:none}
.header.fest .header-inner>.btn--weiss .pf{background:#fff;color:#101010}
@media (max-width:760px){.header-inner::before{inset:12px 8px}}
.header::after{content:"";position:fixed;left:0;right:0;top:0;height:52px;z-index:-1;background:#fff;opacity:0;pointer-events:none;transition:opacity .35s ease}
.header.fest::after{opacity:1}
@media (max-width:760px){.header::after{height:48px}}
.header-inner{max-width:none;padding:0 clamp(40px,4.4vw,72px)}
.header-inner::before{inset:10px calc(clamp(40px,4.4vw,72px) - 16px)}
.hero-sub{max-width:940px}
@media (max-width:760px){.header-inner{padding:0 24px}
.header-inner::before{inset:12px 8px}}
.header.fest .header-nav{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.header.fest .header-nav a{color:#0B0F19}
.header.fest .header-nav a:hover{background:rgba(11,15,25,.06)}
.hero{margin-bottom:var(--abstand)}
.kopf-links{display:flex;align-items:center;gap:18px}
@media (max-width:760px){.kopf-links{gap:12px}}
:root{--fs-h2:clamp(34px,4.3vw,66px);--fs-h3:clamp(23px,1.95vw,28px);--fs-lead:clamp(17px,1.35vw,20px);--fs-text:16px;--fs-klein:13px}
.h-section{font-size:var(--fs-h2);line-height:1.06;letter-spacing:-.025em}
.lead{font-size:var(--fs-lead);line-height:1.55}
.btn{font-size:15px}
.pill{font-size:var(--fs-klein)}
.btn--klein:has(.pf),.header .btn:has(.pf){padding-right:6px}
.btn--klein .pf,.header .btn .pf{width:30px;height:30px}
