/* Eneq Power GmbH. Alle Schriften lokal, keine externen Verbindungen. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(schriften/archivo-latin-ext-wdth-normal.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(schriften/archivo-latin-wdth-normal.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:100 900;font-display:swap;src:url(schriften/libre-franklin-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:100 900;font-display:swap;src:url(schriften/libre-franklin-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --bg:#08213F; --bg-2:#0B2A50; --bg-3:#0F3462; --deep:#051730;
  --line:rgba(160,200,255,.14); --line-2:rgba(160,200,255,.24);
  --card:rgba(255,255,255,.035); --card-h:rgba(255,255,255,.06);
  --txt:#E8F0FA; --muted:#9DB2CB; --dim:#6F87A3;
  --acc:#4FD2FF; --acc-2:#9BE8FF; --acc-ink:#04213B;
  --head:'Archivo',Helvetica,Arial,sans-serif;
  --body:'Libre Franklin',Helvetica,Arial,sans-serif;
  --mono:ui-monospace,'SF Mono','Cascadia Mono','Segoe UI Mono',Menlo,Consolas,monospace;
  --wrap:1220px; --gut:clamp(16px,4vw,48px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-family:var(--head);font-stretch:78%;font-weight:800;line-height:1.02;letter-spacing:-.01em;margin:0;color:#fff;text-wrap:balance}
h1{font-size:clamp(46px,7.4vw,104px)}
h2{font-size:clamp(36px,4.8vw,64px)}
h3{font-size:clamp(22px,2vw,27px);font-weight:700;font-stretch:85%;line-height:1.15;letter-spacing:0}
.hl{color:var(--acc)}
p{margin:0 0 1em}
.eyebrow{font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin:0 0 18px;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px rgba(79,210,255,.16)}
.lead{font-size:clamp(18px,1.5vw,20px);color:var(--muted);max-width:620px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

/* Buttons: abgeschrägte Ecke als Markenzeichen */
.btn{--cut:12px;display:inline-flex;align-items:center;gap:10px;font-family:var(--head);font-stretch:85%;font-weight:700;font-size:16px;letter-spacing:.02em;text-decoration:none;padding:15px 26px;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)));transition:background .2s,color .2s,transform .2s}
.btn svg{transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.btn-acc{background:var(--acc);color:var(--acc-ink)}
.btn-acc:hover{background:var(--acc-2)}
.btn-ghost{background:rgba(255,255,255,.07);color:#fff;box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}

/* Kopfleiste */
.bar{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .25s,box-shadow .25s}
.bar.scrolled,.bar.solid{background:rgba(5,23,48,.86);backdrop-filter:saturate(1.3) blur(12px);-webkit-backdrop-filter:saturate(1.3) blur(12px);box-shadow:0 1px 0 var(--line)}
.bar .wrap{display:flex;align-items:center;height:78px;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:40px;height:40px}
.brand b{display:block;font-family:var(--head);font-stretch:85%;font-weight:800;font-size:21px;letter-spacing:.02em;color:#fff;line-height:1}
.brand span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-top:5px}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav a{font-family:var(--head);font-stretch:85%;font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#D4E1F0;padding:8px 12px}
.nav a:hover{color:var(--acc)}
.bar-tel{font-family:var(--mono);font-size:14px;color:#D4E1F0;text-decoration:none;display:flex;gap:8px;align-items:center;white-space:nowrap}
.bar-tel:hover{color:var(--acc)}
.bar .btn{padding:11px 18px;font-size:14px;--cut:9px}
.burger{display:none;margin-left:auto;background:rgba(255,255,255,.06);border:1px solid var(--line-2);width:46px;height:46px;cursor:pointer;color:#fff}
.burger i,.burger i::before,.burger i::after{display:block;width:20px;height:2px;background:currentColor;margin:0 auto;position:relative;content:""}
.burger i::before{position:absolute;top:-6px}.burger i::after{position:absolute;top:6px}
@media (max-width:1060px){.bar-tel{display:none}}
@media (max-width:900px){
  .burger{display:block}
  .bar .btn{display:none}
  .nav{display:none;position:absolute;left:0;right:0;top:78px;background:var(--deep);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:8px var(--gut) 22px}
  .nav.on{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line)}
}

/* Hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(1200px 700px at 78% 40%,#12407A 0%,rgba(18,64,122,0) 60%),linear-gradient(180deg,#071C38 0%,var(--bg) 100%);padding-top:78px}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:end;min-height:min(820px,92vh)}
.hero-copy{padding:clamp(48px,7vw,96px) 0 clamp(64px,8vw,110px);position:relative;z-index:2}
.hero .lead{margin-top:26px;color:#B9CAE0}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-people{position:relative;align-self:end;height:100%;min-height:520px}
.rings{position:absolute;left:50%;top:52%;width:760px;height:760px;transform:translate(-50%,-50%);pointer-events:none}
.rings circle{fill:none;stroke:rgba(79,210,255,.22)}
.person{position:absolute;bottom:0;width:58%;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 82%,transparent 100%);filter:drop-shadow(0 30px 40px rgba(0,0,0,.35))}
.person.p1{left:-2%;z-index:2}
.person.p2{right:-6%;width:56%;z-index:1;filter:drop-shadow(0 0 30px rgba(79,210,255,.25)) drop-shadow(0 30px 40px rgba(0,0,0,.35))}
.tag{position:absolute;z-index:3;background:rgba(5,23,48,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line-2);padding:10px 14px 9px;font-size:14px;line-height:1.3}
.tag b{display:block;font-family:var(--head);font-stretch:85%;font-weight:700;font-size:16px;color:#fff}
.tag span{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--acc);text-transform:uppercase}
.tag.t1{left:2%;bottom:30%}
.tag.t2{right:0;bottom:46%}
.scroll-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:3;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;color:var(--dim);display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-hint i{width:1px;height:28px;background:linear-gradient(var(--acc),transparent)}
@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding-bottom:24px}
  .hero-people{min-height:0;height:auto;aspect-ratio:1.25/1;max-width:560px;width:100%;margin:0 auto}
  .rings{width:520px;height:520px}
  .scroll-hint{display:none}
}
@media (max-width:520px){.tag{padding:8px 10px}.tag b{font-size:14px}.tag span{font-size:10px}.tag.t2{bottom:52%}}

/* Kennzeile unter dem Hero */
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--deep)}
.ticker .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.ticker .wrap>div{padding:22px 20px 22px 0;display:flex;gap:14px;align-items:baseline}
.ticker .wrap>div+div{padding-left:20px;border-left:1px solid var(--line)}
.ticker b{font-family:var(--mono);font-size:12px;color:var(--acc);letter-spacing:.1em}
.ticker span{font-family:var(--head);font-stretch:85%;font-weight:600;font-size:17px;color:#fff}
@media (max-width:900px){.ticker .wrap{grid-template-columns:1fr 1fr}.ticker .wrap>div:nth-child(3){padding-left:0;border-left:0}.ticker .wrap>div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:480px){.ticker .wrap{grid-template-columns:1fr}.ticker .wrap>div{padding-left:0!important;border-left:0!important}.ticker .wrap>div+div{border-top:1px solid var(--line)}}

/* Abschnitte */
section{padding:clamp(80px,10vw,140px) 0;position:relative}
.s-alt{background:var(--bg-2)}
.s-deep{background:var(--deep)}
.sec-head{margin-bottom:clamp(40px,5vw,64px);max-width:780px}
.sec-head.center{margin-left:auto;margin-right:auto}
.sec-head .lead{margin-top:20px}

/* Karten */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{position:relative;background:var(--card);border:1px solid var(--line);padding:34px 30px 30px;transition:background .25s,border-color .25s,transform .25s}
.card:hover{background:var(--card-h);border-color:var(--line-2);transform:translateY(-3px)}
.card .ico{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line-2);background:rgba(79,210,255,.08);color:var(--acc);margin-bottom:26px}
.card .ico svg{width:22px;height:22px}
.card h3{margin-bottom:14px}
.card p{color:var(--muted);font-size:16px;margin:0}
.card .foot{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--head);font-stretch:82%;font-weight:800;font-size:22px;color:var(--acc);line-height:1.2}
.card .foot small{display:block;font-family:var(--body);font-stretch:100%;font-weight:400;font-size:14px;color:var(--dim);margin-top:4px}
@media (max-width:980px){.grid3{grid-template-columns:1fr}}

/* Leistungen */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc .card{padding:0;display:flex;flex-direction:column;overflow:hidden}
.svc .top{padding:34px 30px 0}
.svc .num{position:absolute;top:22px;right:26px;font-family:var(--head);font-stretch:70%;font-weight:800;font-size:64px;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(79,210,255,.35)}
.svc ul{list-style:none;margin:26px 30px 30px;padding:20px 0 0;border-top:1px solid var(--line)}
.svc li{font-size:15.5px;color:#C9D7E8;padding:7px 0 7px 26px;position:relative}
.svc li::before{content:"";position:absolute;left:0;top:15px;width:12px;height:1.5px;background:var(--acc)}
.svc .card.feat{background:linear-gradient(180deg,rgba(79,210,255,.12),rgba(79,210,255,.03));border-color:rgba(79,210,255,.45)}
.svc .badge{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-ink);background:var(--acc);padding:4px 9px;margin-bottom:22px}
@media (max-width:980px){.svc{grid-template-columns:1fr}}

/* Physiker */
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:8px}
.member{display:grid;grid-template-columns:44% 1fr;background:var(--card);border:1px solid var(--line);overflow:hidden;min-height:360px}
.member .ph{position:relative;background:radial-gradient(circle at 50% 70%,#15508F 0%,#0A2A50 70%);overflow:hidden}
.member .ph::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(79,210,255,.25) 1px,transparent 1.5px);background-size:14px 14px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
.member .ph img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:130%;max-width:none;z-index:1}
.member .tx{padding:32px 30px}
.member .role{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:12px}
.member h3{font-size:clamp(26px,2.4vw,32px);margin-bottom:16px}
.member p{color:var(--muted);font-size:16px}
.member ul{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.member li{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:#C9D7E8;border:1px solid var(--line-2);padding:5px 10px}
.quote{margin-top:22px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(79,210,255,.08),rgba(79,210,255,0));padding:clamp(28px,4vw,44px) clamp(24px,4vw,48px);display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
.quote svg{width:52px;height:52px;color:var(--acc)}
.quote p{margin:0;font-family:var(--head);font-stretch:85%;font-weight:600;font-size:clamp(22px,2.3vw,30px);line-height:1.3;color:#fff}
@media (max-width:1060px){.team{grid-template-columns:1fr}}
@media (max-width:600px){.member{grid-template-columns:1fr}.member .ph{aspect-ratio:4/3}.member .ph img{width:78%}.quote{grid-template-columns:1fr}}

/* Ablauf */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:var(--card)}
.step{padding:34px 28px;position:relative}
.step+.step{border-left:1px solid var(--line)}
.step .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--dim);display:flex;justify-content:space-between;margin-bottom:34px}
.step .k b{color:var(--acc);font-weight:400}
.step h3{font-size:24px;margin-bottom:12px}
.step p{color:var(--muted);font-size:15.5px;margin:0}
.step .bar-p{height:2px;background:var(--line);margin-bottom:28px;position:relative;overflow:hidden}
.step .bar-p::after{content:"";position:absolute;inset:0 auto 0 0;background:var(--acc);width:var(--p)}
@media (max-width:980px){.steps{grid-template-columns:1fr 1fr}.step:nth-child(3){border-left:0}.step:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}.step+.step{border-left:0;border-top:1px solid var(--line)}}

/* Einsatzfelder */
.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.field{border-top:2px solid var(--acc);padding-top:22px}
.field h3{font-size:21px;margin-bottom:10px}
.field p{color:var(--muted);font-size:15.5px;margin:0}
@media (max-width:980px){.fields{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fields{grid-template-columns:1fr}}

/* Abschluss */
.cta{text-align:center;overflow:hidden;background:radial-gradient(800px 400px at 50% 110%,#13457F 0%,rgba(19,69,127,0) 70%),var(--deep)}
.cta .actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:36px}
.cta .rings{top:100%;width:1100px;height:1100px;opacity:.7}

/* Kontakt */
.contact{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.contact .card{padding:30px}
.contact .lbl{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.contact .big{font-family:var(--head);font-stretch:82%;font-weight:700;font-size:clamp(22px,2.2vw,28px);color:#fff;text-decoration:none;line-height:1.2;display:inline-block}
a.big:hover{color:var(--acc)}
.contact p{color:var(--muted);font-size:15.5px;margin:10px 0 0}
.hours{width:100%;border-collapse:collapse;font-size:15.5px}
.hours td{padding:7px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.hours td:last-child{text-align:right;color:#fff}
@media (max-width:980px){.contact{grid-template-columns:1fr}}

/* Fusszeile */
footer{background:#041227;border-top:1px solid var(--line);padding:60px 0 30px;font-size:15px;color:var(--muted)}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.fgrid h4{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 16px}
.fgrid a{display:block;text-decoration:none;color:#C9D7E8;padding:4px 0}
.fgrid a:hover{color:var(--acc)}
.fgrid p{margin:16px 0 0;max-width:320px}
.fbottom{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--dim)}
.fbottom a{color:var(--dim);text-decoration:none;margin-left:18px}
.fbottom a:first-child{margin-left:0}
.fbottom a:hover{color:var(--acc)}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}.brand span{display:none}}

/* Sanftes Einblenden, nur wenn JavaScript aktiv ist */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* Rechtsseiten */
.legal{padding:calc(78px + clamp(40px,6vw,80px)) 0 clamp(60px,8vw,100px)}
.legal .wrap{max-width:840px}
.legal h1{font-size:clamp(44px,6vw,72px);margin-bottom:10px}
.legal .stand{font-family:var(--mono);font-size:13px;color:var(--dim);margin-bottom:44px}
.legal h2{font-size:24px;font-stretch:85%;font-weight:700;margin:40px 0 12px;line-height:1.2}
.legal p,.legal li{color:#C9D7E8;font-size:16px}
.legal ul{padding-left:20px}
.legal a{color:var(--acc)}
.back{display:inline-block;margin-bottom:30px;font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-decoration:none;color:var(--muted)}
.back:hover{color:var(--acc)}

/* Physik-Bühne */
.phys{overflow:hidden}
.phys-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}
.stage{position:relative;aspect-ratio:1.1/1;border:1px solid var(--line);background:radial-gradient(circle at 50% 46%,rgba(79,210,255,.18) 0%,rgba(79,210,255,0) 45%),radial-gradient(circle at 30% 80%,#12407A 0%,rgba(18,64,122,0) 55%),linear-gradient(160deg,#0B2E58 0%,#061B36 100%);overflow:hidden}
.stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(160,200,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(160,200,255,.07) 1px,transparent 1px);background-size:32px 32px}
.stage canvas{position:absolute;inset:0;width:100%;height:100%}
.atom{position:absolute;left:50%;top:44%;width:46%;transform:translate(-50%,-50%);overflow:visible;filter:drop-shadow(0 0 18px rgba(79,210,255,.45))}
.orb{animation:orb 5s linear infinite;transform-origin:0 0}
.o2{animation-duration:6.5s;animation-delay:-2s}.o3{animation-duration:8s;animation-delay:-4s}
@keyframes orb{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.orb circle{transform:scaleY(.36)}
.el{position:absolute;width:clamp(64px,8.5vw,96px);aspect-ratio:1;padding:8px 10px;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.04));border:1px solid rgba(155,232,255,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 40px -14px rgba(0,0,0,.6);transition:translate .4s ease-out;animation:float 9s ease-in-out infinite}
.el small{font-family:var(--mono);font-size:11px;color:var(--acc-2)}
.el b{font-family:var(--head);font-stretch:80%;font-weight:800;font-size:clamp(28px,3.4vw,42px);line-height:1;color:#fff}
.el span{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:#B9CAE0}
.e1{left:7%;top:9%}.e2{right:8%;top:14%;animation-delay:-3s}.e3{left:11%;bottom:22%;animation-delay:-5s}.e4{right:12%;bottom:30%;animation-delay:-7s;opacity:.85;transform:scale(.8)}
@keyframes float{0%,100%{margin-top:0}50%{margin-top:-12px}}
.fx{position:absolute;font-family:var(--mono);font-size:clamp(11px,1.1vw,14px);color:#D4E1F0;background:rgba(5,23,48,.6);border:1px solid var(--line-2);padding:6px 10px;white-space:nowrap;transition:translate .4s ease-out}
.fx sub{font-size:.7em}
.f1{left:40%;top:7%}.f2{left:4%;top:52%}.f3{right:5%;top:58%}
.scope{position:absolute;left:8%;right:8%;bottom:7%;width:84%;height:16%;background:rgba(5,23,48,.55);border:1px solid var(--line-2)}
.elist{list-style:none;padding:0;margin:34px 0 0}
.elist li{display:flex;gap:18px;padding:18px 0;border-top:1px solid var(--line);color:var(--muted);font-size:15.5px}
.elist li:last-child{border-bottom:1px solid var(--line)}
.elist b{display:block;font-family:var(--head);font-stretch:85%;font-weight:700;font-size:19px;color:#fff;margin-bottom:4px}
.mini{flex:none;width:48px;height:48px;display:grid;place-items:center;font-family:var(--head);font-stretch:80%;font-weight:800;font-size:22px;color:var(--acc);border:1px solid rgba(79,210,255,.5);background:rgba(79,210,255,.08)}
@media (max-width:980px){.phys-grid{grid-template-columns:1fr}.stage{max-width:620px;width:100%;margin:0 auto}}
@media (prefers-reduced-motion:reduce){.orb,.el{animation:none}}
/* Feinschliff */
.nav a,.btn,.brand span,.bar-tel{white-space:nowrap}
@media (max-width:1280px){.bar-tel{display:none}}
@media (max-width:1100px){.brand span{display:none}}
.f3{right:auto;left:56%;top:auto;bottom:27%}
.e4{right:6%;bottom:auto;top:46%}
.member .ph img{inset:0;left:0;transform:none;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 6%}
@media (max-width:600px){.member .ph img{width:100%}.member .ph{aspect-ratio:1/1}}
.fgrid a.brand{display:flex;padding:0}
.person{height:auto}
@media (min-width:981px){
  .person.p1{width:72%;left:-10%}
  .person.p2{width:70%;right:-14%}
  .tag.t1{left:-6%;bottom:26%}
  .tag.t2{right:-4%;bottom:44%}
}
.hero .lead{max-width:540px}
@media (min-width:981px){.tag.t1{left:2%}}
/* Hero ohne Fotos */
.hero .wrap{grid-template-columns:1fr;min-height:min(760px,88vh);align-items:center}
.hero-copy{max-width:760px}
.hero-rings{left:auto;right:-6%;top:50%;transform:translateY(-50%);width:min(760px,62vw);height:auto;aspect-ratio:1}
.hero-rings circle:not([fill]){animation:pulse 6s ease-in-out infinite}
.hero-rings circle:nth-child(2){animation-delay:-1.5s}.hero-rings circle:nth-child(3){animation-delay:-3s}.hero-rings circle:nth-child(4){animation-delay:-4.5s}
@keyframes pulse{0%,100%{stroke-opacity:1}50%{stroke-opacity:.35}}
@media (prefers-reduced-motion:reduce){.hero-rings circle{animation:none}}
@media (max-width:980px){.hero .wrap{min-height:0}.hero-copy{padding-bottom:clamp(64px,10vw,96px)}.hero-rings{right:-40%;width:110vw;opacity:.55}}
/* Team mit Originalfotos */
.member .ph{background:#E9ECEF}
.member .ph::after{display:none}
.member .ph img{object-position:50% 12%}
/* Atom im Zentrum der Hero-Animation */
.hero-atom{position:absolute;right:calc(-6% + min(760px,62vw)/2);top:50%;width:calc(min(760px,62vw)*240/760);transform:translate(50%,-50%);overflow:visible;filter:drop-shadow(0 0 16px rgba(79,210,255,.5));pointer-events:none}
@media (max-width:980px){.hero-atom{right:calc(-40% + 55vw);width:calc(110vw*240/760);opacity:.6}}
/* Kompetenzfelder mit Elementkacheln */
.elgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.elc{border:1px solid var(--line);background:var(--card);padding:28px 26px;transition:background .25s,border-color .25s,transform .25s}
.elc:hover{background:var(--card-h);border-color:var(--line-2);transform:translateY(-3px)}
.tile{width:78px;height:78px;padding:7px 9px;margin-bottom:24px;background:linear-gradient(160deg,rgba(79,210,255,.2),rgba(79,210,255,.05));border:1px solid rgba(155,232,255,.5);display:flex;flex-direction:column;justify-content:space-between}
.tile small{font-family:var(--mono);font-size:10.5px;color:var(--acc-2)}
.tile b{font-family:var(--head);font-stretch:80%;font-weight:800;font-size:32px;line-height:1;color:#fff}
.tile span{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#B9CAE0}
.elc h3{font-size:21px;margin-bottom:10px}
.elc p{color:var(--muted);font-size:15.5px;margin:0}
@media (max-width:1060px){.elgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.elgrid{grid-template-columns:1fr}}
/* Team */
.member .tx p{font-size:15.5px}
.member .tx p+p{margin-top:-4px}
.qby{display:block;margin-top:12px;font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
/* Zahlen */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--card)}
.stat{padding:38px 28px;text-align:center}
.stat+.stat{border-left:1px solid var(--line)}
.stat b{font-family:var(--head);font-stretch:75%;font-weight:800;font-size:clamp(52px,6vw,80px);line-height:1;color:var(--acc);font-variant-numeric:tabular-nums}
.stat i{font-style:normal;font-family:var(--head);font-stretch:80%;font-weight:700;font-size:clamp(22px,2.4vw,32px);color:var(--acc);margin-left:4px}
.stat span{display:block;margin-top:12px;color:var(--muted);font-size:15px}
.stations{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 28px;margin-top:40px;font-family:var(--head);font-stretch:85%;font-weight:600;font-size:17px;color:#C9D7E8}
.stations .lbl{font-family:var(--mono);font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);flex-basis:100%;text-align:center}
.stations span:not(.lbl){opacity:.8}
@media (max-width:900px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:480px){.stats{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid var(--line)}}
.team{grid-template-columns:1fr}
.member{grid-template-columns:minmax(260px,34%) 1fr;min-height:420px}
.member .tx{padding:clamp(28px,3.4vw,44px)}
.member .tx p{max-width:680px}
@media (max-width:600px){.member{grid-template-columns:1fr}}
@media (max-width:980px){.hero-atom{opacity:.4}}
/* ENEQ Gruppe und Netzwerk */
.group-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.glist{list-style:none;padding:0;margin:32px 0 0}
.glist li{padding:16px 0 16px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:15.5px;position:relative}
.glist li:last-child{border-bottom:1px solid var(--line)}
.glist li::before{content:"";position:absolute;left:0;top:24px;width:10px;height:10px;border:1.5px solid var(--acc);border-radius:50%}
.glist b{display:block;font-family:var(--head);font-stretch:85%;font-weight:700;font-size:19px;color:#fff;margin-bottom:4px}
.net{position:relative;max-width:520px;width:100%;justify-self:center}
.net svg{width:100%;height:auto;overflow:visible}
.net .pulse path{stroke-dasharray:14 86;animation:flow 3.2s linear infinite}
.net .pulse path:nth-child(2){animation-delay:-1.1s}.net .pulse path:nth-child(3){animation-delay:-2.2s}
@keyframes flow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.net .halo circle{transform-origin:260px 260px;animation:halo 4s ease-in-out infinite}
@keyframes halo{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.4}}
@media (prefers-reduced-motion:reduce){.net .pulse path,.net .halo circle{animation:none}}
@media (max-width:980px){.group-grid{grid-template-columns:1fr}}
.net .pulse.rev path{animation-direction:reverse;animation-duration:3.8s}
.net .pulse.rev path:nth-child(1){animation-delay:-1.9s}.net .pulse.rev path:nth-child(2){animation-delay:-0.4s}.net .pulse.rev path:nth-child(3){animation-delay:-2.9s}
@media (min-width:981px){.contact{grid-template-columns:repeat(2,1fr)}}
/* Leistungsleiste unter dem Hero */
.pillars{position:relative;z-index:5;margin-top:-56px;padding-bottom:8px}
.pillars .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:rgba(8,33,63,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-2);box-shadow:0 30px 60px -30px rgba(0,0,0,.7);padding:0}
.pil{position:relative;display:flex;align-items:center;gap:18px;padding:28px 26px;text-decoration:none;color:#fff;transition:background .25s}
.pil+.pil{border-left:1px solid var(--line)}
.pil::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--acc);transition:width .35s ease}
.pil:hover{background:rgba(79,210,255,.07)}
.pil:hover::before{width:100%}
.pil .n{font-family:var(--head);font-stretch:70%;font-weight:800;font-size:clamp(46px,4.4vw,64px);line-height:.85;color:transparent;-webkit-text-stroke:1.4px var(--acc);background:linear-gradient(180deg,rgba(79,210,255,.0) 40%,rgba(79,210,255,.35) 100%);-webkit-background-clip:text;background-clip:text;flex:none;transition:color .25s}
.pil:hover .n{color:var(--acc)}
.pil .t{display:flex;flex-direction:column;gap:4px;min-width:0}
.pil b{font-family:var(--head);font-stretch:85%;font-weight:700;font-size:18px;line-height:1.15}
.pil small{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--muted)}
.pil .go{position:absolute;top:14px;right:14px;width:15px;height:15px;color:var(--dim);transition:color .25s,transform .25s}
.pil:hover .go{color:var(--acc);transform:translate(2px,-2px)}
@media (max-width:1100px){.pillars .wrap{grid-template-columns:1fr 1fr}.pil:nth-child(3){border-left:0}.pil:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:980px){.pillars{margin-top:0;padding:0 var(--gut)}.pillars .wrap{margin-top:-28px}}
@media (max-width:560px){.pillars .wrap{grid-template-columns:1fr}.pil+.pil{border-left:0;border-top:1px solid var(--line)}.pil{padding:20px}}
.scroll-hint{display:none}
.pillars{padding-left:var(--gut);padding-right:var(--gut)}
.pillars .wrap{max-width:calc(var(--wrap) - 2 * var(--gut))}
@media (max-width:980px){.pillars .wrap{max-width:none}}

/* Helle Abschnitte */
.s-light{--txt:#0E2238;--muted:#4D6178;--dim:#7B8DA2;--line:rgba(8,33,63,.11);--line-2:rgba(8,33,63,.2);--card:#F5F8FB;--card-h:#EDF3F9;--acc:#0A8FC2;background:#fff;color:var(--txt)}
.s-light.s-tint{background:#F1F5F9;--card:#FFFFFF;--card-h:#FFFFFF}
.s-light h2,.s-light h3,.s-light .elist b,.s-light .glist b{color:#08213F}
.s-light .eyebrow::before{box-shadow:0 0 0 4px rgba(10,143,194,.14)}
.s-light .card{box-shadow:0 1px 2px rgba(8,33,63,.04)}
.s-light .card:hover{box-shadow:0 18px 40px -22px rgba(8,33,63,.28)}
.s-light .card .ico{background:rgba(10,143,194,.08);color:#0A8FC2;border-color:rgba(10,143,194,.3)}
.s-light .card .foot{color:#0A8FC2}
.s-light .elc{background:var(--card)}
.s-light .elc:hover{box-shadow:0 18px 40px -22px rgba(8,33,63,.28)}
.s-light .tile{background:linear-gradient(160deg,#0F3462,#08213F);border-color:#08213F}
.s-light .tile small{color:#9BE8FF}
.s-light .stats{background:#F5F8FB}
.s-light .stat b,.s-light .stat i{color:#0A8FC2}
.s-light .steps{background:#F5F8FB}
.s-light .step p{color:var(--muted)}
.s-light .step .k b{color:#0A8FC2}
.s-light .step .bar-p::after{background:#0A8FC2}
.s-light .field{border-top-color:#0A8FC2}
.s-light .contact .big{color:#08213F}
.s-light a.big:hover{color:#0A8FC2}
.s-light .svc li{color:#2C415A}
.pillars{background:var(--bg);padding-bottom:clamp(56px,7vw,96px)}
.pillars{box-shadow:0 26px 44px -16px rgba(8,33,63,.5),0 8px 16px -8px rgba(8,33,63,.35)}
/* Trennlinien der Leistungsblöcke auf gleicher Höhe */
@media (min-width:981px){
  .svc{grid-template-rows:auto auto}
  .svc .card{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
  .svc ul{align-self:start}
}
/* Aufzählungsstriche überall gleich dick: ganzzahlige Zeilenhöhe, 2px Strich */
.svc li{line-height:24px}
.svc li::before{top:18px;height:2px;width:12px}
/* Titel, Text und Trennlinie in allen drei Leistungsblöcken auf gleicher Höhe */
@media (min-width:981px){
  .svc{grid-template-rows:repeat(4,auto)}
  .svc .card{grid-row:span 4}
  .svc .top{display:contents}
  .svc .top .ico{margin:34px 30px 26px}
  .svc .top h3{margin:0;padding:0 30px 14px;align-self:start}
  .svc .top p{margin:0!important;padding:0 30px;align-self:start}
}
