@font-face{font-family:"Montserrat";src:url("https://static.wixstatic.com/ufonts/8aaa1f_11321e6ad93c4cc6b4f4f79bf7a3fbaa/file.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("https://static.wixstatic.com/ufonts/a3cba6_c021b7579f9c42349a9651d69977985a/file.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("https://static.wixstatic.com/ufonts/a3cba6_48ad5a718953462e945216628af4134a/file.woff2") format("woff2");font-weight:500;font-display:swap}
:root{
  --ink:#0A0A0C;--panel:#141416;--panel-2:#1B1B1E;--line:#2A2A2F;
  --red:#E31D3C;--red-deep:#9E0F27;--white:#F4F4F2;--mute:#9B9BA3;--soft:#c9c9cf;
  --display:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1240px;--gut:max(20px,env(safe-area-inset-left,0px));
  --ease:cubic-bezier(.2,.8,.2,1);--hd:76px;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{background:var(--ink);scroll-padding-top:90px;overflow-x:clip}
body{margin:0;background:var(--ink);color:var(--white);font-family:var(--display);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:clip}
body.lock{overflow:hidden}
img,video{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
h1,h2,h3,h4{font-family:var(--display);line-height:1.04;margin:0;text-wrap:balance;letter-spacing:-.02em}
.red{color:var(--red)}
.skip{position:fixed;left:12px;top:-60px;z-index:300;background:var(--red);color:#fff;padding:10px 16px;border-radius:999px;text-decoration:none;font-weight:700}
.skip:focus{top:12px}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--red);box-shadow:0 0 10px var(--red)}
.eyebrow.w{color:#fff}.eyebrow.w::before{background:#fff;box-shadow:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-weight:800;font-size:14.5px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:17px 26px;border-radius:999px;transition:transform .25s,box-shadow .25s,background .25s,color .25s;position:relative;overflow:hidden;cursor:pointer;border:0;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 40px -10px rgba(227,29,60,.7)}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 16px 50px -8px rgba(227,29,60,.95)}
.btn-red::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn-red:hover::after{transform:translateX(120%)}
.btn-ghost{color:var(--white);box-shadow:inset 0 0 0 1.5px var(--line);background:rgba(10,10,12,.35)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--red)}
.btn-ink{background:var(--ink);color:#fff;box-shadow:0 14px 40px -12px rgba(0,0,0,.7)}
.btn-ink:hover{transform:translateY(-2px)}
.link{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--white);display:inline-flex;align-items:center;gap:10px}
.link i{display:inline-block;width:28px;height:2px;background:var(--red);box-shadow:0 0 8px var(--red);transition:width .35s var(--ease)}
.link:hover i{width:46px}

/* ============ Kopfzeile ============ */
.hd{position:fixed;inset:0 0 auto;z-index:100;padding-top:env(safe-area-inset-top,0px);transition:background .35s,border-color .35s,transform .45s var(--ease)}
.hd::before{content:"";position:absolute;inset:0;background:rgba(10,10,12,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;transition:opacity .35s;border-bottom:1px solid rgba(255,255,255,.06)}
.hd.solid::before{opacity:1}
.hd.hide{transform:translateY(-110%)}
.hd .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--hd)}
.hd-logo{display:block;position:relative;z-index:2}
.hd-logo img{height:34px;width:auto}
.hd-right{display:flex;align-items:center;gap:14px;position:relative;z-index:2}
.charge{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--mute);margin-right:6px}
.batt{width:42px;height:19px;border:1.5px solid #6b6b73;border-radius:4px;padding:2px;position:relative}
.batt::after{content:"";position:absolute;right:-5px;top:5px;width:3px;height:6px;background:#6b6b73;border-radius:0 2px 2px 0}
.batt i{display:block;height:100%;width:0;background:var(--red);border-radius:2px;box-shadow:0 0 8px var(--red)}
.hd .btn{padding:12px 20px;font-size:12.5px}
.mbtn{display:inline-flex;align-items:center;gap:12px;height:46px;padding:0 10px 0 20px;border-radius:999px;border:0;background:var(--white);color:var(--ink);font-family:var(--display);font-weight:800;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,transform .3s}
.mbtn:hover{transform:translateY(-1px)}
.mbtn .bars{position:relative;width:28px;height:28px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.mbtn .bars i{position:absolute;left:8px;right:8px;height:2px;background:#fff;border-radius:2px;transition:transform .45s var(--ease),top .45s var(--ease),background .3s}
.mbtn .bars i:first-child{top:10px}
.mbtn .bars i:last-child{top:16px}
.mbtn .lbl{position:relative;overflow:hidden;height:16px;line-height:16px;display:block}
.mbtn .lbl span{display:block;transition:transform .45s var(--ease)}
.menu-open .mbtn{background:var(--red);color:#fff}
.menu-open .mbtn .bars{background:#fff}
.menu-open .mbtn .bars i{background:var(--red);top:13px}
.menu-open .mbtn .bars i:first-child{transform:rotate(45deg)}
.menu-open .mbtn .bars i:last-child{transform:rotate(-45deg)}
.menu-open .mbtn .lbl span{transform:translateY(-100%)}
.menu-open .hd::before{opacity:0}
@media (max-width:760px){.charge,.hd .btn{display:none}.hd-logo img{height:28px}:root{--hd:66px}}

/* ============ Overlay-Menü ============ */
.mn{position:fixed;inset:0;z-index:90;background:var(--ink);clip-path:circle(0 at var(--mx,92%) var(--my,40px));visibility:hidden;transition:clip-path .8s var(--ease),visibility 0s .8s;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.menu-open .mn{clip-path:circle(150% at var(--mx,92%) var(--my,40px));visibility:visible;transition:clip-path .9s var(--ease),visibility 0s}
.mn::before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
.mn-bolt{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.mn-inner{position:relative;z-index:1;min-height:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-template-rows:1fr auto;gap:28px clamp(28px,5vw,80px);padding:calc(var(--hd) + 34px + env(safe-area-inset-top,0px)) var(--gut) 30px;max-width:var(--wrap);margin:0 auto}
.mn-list{list-style:none;margin:0;padding:0;align-self:center;counter-reset:mn}
.mn-list li{overflow:hidden;border-bottom:1px solid rgba(255,255,255,.07)}
.mn-list a{display:flex;align-items:center;gap:22px;padding:10px 0 12px;text-decoration:none;position:relative;transform:translateY(110%);transition:transform .8s var(--ease)}
.menu-open .mn-list a{transform:none;transition-delay:calc(.12s + var(--i) * .055s)}
.mn-list .no{font-family:var(--mono);font-size:12px;color:var(--mute);letter-spacing:.1em;width:28px;flex:none;padding-top:.6em;align-self:flex-start}
.mn-list .t{font-weight:900;font-size:clamp(30px,3.9vw,58px);line-height:1;text-transform:uppercase;letter-spacing:-.025em;position:relative;color:transparent;-webkit-text-stroke:0;background:linear-gradient(90deg,var(--white) 0 50%,rgba(244,244,242,.2) 50% 100%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;transition:background-position .55s var(--ease),-webkit-text-stroke-color .3s}
.mn-list a:hover .t,.mn-list a:focus-visible .t{background-position:0 0}
.mn-list a.cur .t{background-image:linear-gradient(90deg,var(--red) 0 50%,rgba(227,29,60,.55) 50% 100%)}
.mn-list .tag{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--red);color:#fff;white-space:nowrap;align-self:center}
.mn-list .arr{margin-left:auto;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex:none;opacity:0;transform:translateX(-14px) rotate(-45deg);transition:all .4s var(--ease)}
.mn-list .tag+.arr{margin-left:14px}
.mn-list .arr svg{width:18px;height:18px}
.mn-list a:hover .arr{opacity:1;transform:none;border-color:var(--red);background:var(--red)}
.mn-list a::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:linear-gradient(90deg,transparent,var(--red) 40%,#fff 50%,var(--red) 60%,transparent);background-size:40% 100%;background-repeat:no-repeat;background-position:-50% 0;opacity:0;filter:drop-shadow(0 0 6px var(--red))}
.mn-list a:hover::after{opacity:1;animation:zap .7s var(--ease) forwards}
@keyframes zap{to{background-position:160% 0}}
.mn-side{align-self:center;position:relative;opacity:0;transform:translateY(30px);transition:opacity .7s .35s,transform .9s .35s var(--ease)}
.menu-open .mn-side{opacity:1;transform:none}
.mn-prev{position:relative;aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:var(--panel);box-shadow:0 40px 100px -30px rgba(0,0,0,.95)}
.mn-prev img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity .55s,transform 1.2s var(--ease)}
.mn-prev img.on{opacity:1;transform:scale(1)}
.mn-prev::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,10,12,.9))}
.mn-prev .cap{position:absolute;left:24px;right:24px;bottom:22px;z-index:2}
.mn-prev .cap small{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.mn-prev .cap b{display:block;font-size:20px;font-weight:800;line-height:1.25;margin-top:6px}
.mn-side svg.wire{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);pointer-events:none;z-index:2;overflow:visible}
.wire rect{fill:none;stroke:var(--red);stroke-width:2;stroke-dasharray:90 1400;animation:run 5s linear infinite;filter:drop-shadow(0 0 6px var(--red))}
@keyframes run{to{stroke-dashoffset:-1490}}
.mn-foot{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:24px;border-top:1px solid var(--line);font-size:14.5px;color:var(--soft);opacity:0;transition:opacity .6s .5s}
.menu-open .mn-foot{opacity:1}
.mn-foot small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.mn-foot a{text-decoration:none}
.mn-foot a:hover{color:#fff}
.socials{display:flex;gap:10px;flex-wrap:wrap}
.soc{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);transition:background .3s,border-color .3s,transform .3s}
.soc svg{width:18px;height:18px;fill:currentColor}
.soc:hover{background:var(--red);border-color:var(--red);transform:translateY(-2px)}
@media (max-width:900px){
  .mn-inner{grid-template-columns:1fr;padding-top:calc(var(--hd) + 18px)}
  .mn-side{display:none}
  .mn-list .arr{display:none}
  .mn-list a{gap:14px;padding:8px 0 10px}
  .mn-list .t{font-size:clamp(24px,7.2vw,46px);-webkit-text-stroke:0;color:var(--white);background:none}
  .mn-list a.cur .t{color:var(--red)}
  .mn-foot{grid-template-columns:1fr 1fr}
}

/* Fußzeile */
.ft{position:relative;border-top:1px solid var(--line);padding-top:clamp(60px,8vw,100px);overflow:hidden}
.ft-top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.7fr));gap:36px}
.ft-top img{height:38px;width:auto}
.ft-top p{color:var(--mute);margin-top:18px;max-width:36ch;font-size:15px}
.ft h4{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:500;margin-bottom:16px}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:15px}
.ft a{text-decoration:none;color:var(--soft);transition:color .2s}
.ft a:hover{color:#fff}
.ft .socials{margin-top:22px}
.ft-word{font-weight:900;text-transform:uppercase;font-size:clamp(56px,15.5vw,230px);line-height:.8;letter-spacing:-.05em;margin-top:clamp(50px,7vw,90px);white-space:nowrap;color:rgba(244,244,242,.06);user-select:none;position:relative}
.ft-word span{position:absolute;inset:0;color:var(--red);clip-path:inset(0 calc(100% - var(--p,0%)) 0 0);text-shadow:0 0 40px rgba(227,29,60,.4)}
.ft-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-block:22px calc(22px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);font-size:13.5px;color:var(--mute);margin-top:-10px;position:relative;background:var(--ink)}
.ft-bot nav{display:flex;flex-wrap:wrap;gap:18px}
@media (max-width:900px){.ft-top{grid-template-columns:1fr 1fr}.ft-top>:first-child{grid-column:1/-1}}


/* eEnergie-Seite */
.ee .hero{padding-top:calc(var(--hd) + clamp(40px,7vw,90px))}

/* Durchgehend Montserrat */
:root{--mono:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--display:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--body:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
body,button,input,select,textarea{font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.eyebrow,.crumbs,.link,.charge,.mn-list .no,.mn-list .tag,.mn-foot small,.mn-prev .cap small,.ft h4,.stat span,.quote cite,.hero-quote cite,.f-field label,.cl small,.job .meta,.job .pill,.job-body h4,.badge,.ba-tag,.bo-c,.bo-hint,.scrollhint,.cab-hint,.cab-display,.handle,.open-now,.hours span,.tagline span,.cta-photo .tg,.svc .no,.fc .no,.blk-h .no,.fb-url{font-weight:600}
svg text{font-family:"Montserrat",Arial,sans-serif!important}

/* Credit */
.ft-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.ft-credit a:hover{color:var(--accent,#fff)}
