:root{
  --bg:#050A12;--bg2:#0A1421;--ink:#EAF1F8;--dim:#8DA3B9;--mute:#5E7590;
  --blue:#1A77C9;--sky:#5FA8E4;--ice:#BFE2FF;
  --ok:#3DDC97;--warn:#F5B84A;
  --line:rgba(95,168,228,.16);--line2:rgba(95,168,228,.3);
  --glass:rgba(8,18,30,.58);
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:'Archivo',Arial,Helvetica,sans-serif;
  color-scheme:only dark;
}
.esa-home *{margin:0;padding:0;box-sizing:border-box}

body.esa-home{background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.5}
.esa-home ::selection{background:var(--blue);color:#fff}
.esa-home a{color:inherit}
.esa-home canvas#scene{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}
.esa-home .vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 40%,transparent 50%,rgba(3,7,12,.7) 100%)}
.esa-home .grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.7'/%3E%3C/svg%3E")}

.esa-home /* ---------- Chrome ---------- */
.top{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:calc(14px + env(safe-area-inset-top,0px)) clamp(16px,4vw,44px) 14px;
  background:linear-gradient(to bottom,rgba(5,10,18,.92),rgba(5,10,18,0));transition:background .3s}
@media (max-width:600px){.esa-home .logo img{height:32px}}

.esa-home /* Fortschritts-Rail links */
.rail{position:fixed;left:clamp(10px,2vw,26px);top:50%;transform:translateY(-50%);z-index:15;display:flex;flex-direction:column;gap:14px}
.esa-home .rail a{width:22px;height:22px;display:grid;place-items:center;text-decoration:none;position:relative}
.esa-home .rail a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--mute);transition:.3s}
.esa-home .rail a.on::before{background:var(--sky);box-shadow:0 0 12px var(--sky);transform:scale(1.5)}
.esa-home .rail a span{position:absolute;left:28px;font:600 11px/1 var(--mono);color:var(--dim);letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateX(-6px);transition:.25s;white-space:nowrap;pointer-events:none}
.esa-home .rail a:hover span, .esa-home .rail a.on span{opacity:1;transform:none}
@media (max-width:1100px){.esa-home .rail{display:none}}

.esa-home /* ---------- Layout ---------- */
main{position:relative;z-index:2}
.esa-home .wrap{width:min(1180px,100% - 2*clamp(16px,5vw,64px));margin-inline:auto}
.esa-home section{position:relative;padding-block:clamp(72px,12vh,140px)}
.esa-home .kicker{font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sky);display:flex;align-items:center;gap:12px;margin-bottom:22px}
.esa-home .kicker::before{content:"";width:28px;height:1px;background:var(--sky)}
.esa-home h1, .esa-home h2, .esa-home h3{text-wrap:balance;letter-spacing:-0.025em;line-height:1.02;font-weight:800}
.esa-home h2{font-size:clamp(34px,5.4vw,66px);font-variation-settings:'wdth' 95}
.esa-home h3{font-size:clamp(20px,2.2vw,26px);font-variation-settings:'wdth' 100;letter-spacing:-0.01em}
.esa-home .lead{font-size:clamp(16px,1.7vw,19px);color:var(--dim);font-weight:500;line-height:1.6;max-width:62ch}

.esa-home /* ---------- Hero ---------- */
#hero{min-height:calc(100svh - 0px);display:grid;align-items:center;padding-top:clamp(110px,16vh,160px);padding-bottom:60px}
.esa-home #hero .wrap{display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.esa-home .eyebrow{display:inline-flex;align-items:center;gap:10px;line-height:1.5;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:9px 14px;margin-bottom:28px;background:var(--glass)}

.esa-home h1{font-size:clamp(46px,7.6vw,108px);font-variation-settings:'wdth' 88;line-height:.96}
.esa-home h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em;margin-bottom:-.06em}
.esa-home h1 .w b{display:inline-block;font-weight:800;transform:translateY(112%);animation:rise 1s cubic-bezier(.22,1,.36,1) forwards}
.esa-home h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--sky)}
@keyframes rise{to{transform:translateY(0)}}
.esa-home .hero-sub{margin-top:26px;font-size:clamp(16px,1.8vw,20px);color:var(--dim);font-weight:500;line-height:1.55;max-width:56ch;opacity:0;animation:fadeup 1s .6s cubic-bezier(.22,1,.36,1) forwards}
.esa-home .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;opacity:0;animation:fadeup 1s .8s cubic-bezier(.22,1,.36,1) forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.esa-home .btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:15.5px;padding:16px 26px;border-radius:999px;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s,background .25s;will-change:transform}
.esa-home .btn.primary{background:linear-gradient(135deg,var(--blue),#2E8FE0);color:#fff;box-shadow:0 10px 40px rgba(26,119,201,.4)}
.esa-home .btn.primary:hover, .esa-home .btn.primary:focus-visible{box-shadow:0 16px 60px rgba(26,119,201,.6)}
.esa-home .btn.ghost{border:1px solid var(--line2);color:var(--ink);background:var(--glass)}
.esa-home .btn.ghost:hover, .esa-home .btn.ghost:focus-visible{border-color:var(--sky);background:rgba(26,119,201,.14)}
.esa-home .btn svg{width:16px;height:16px}
.esa-home .hero-proof{margin-top:38px;display:flex;flex-wrap:wrap;gap:26px;font-size:13.5px;color:var(--mute);font-weight:600;opacity:0;animation:fadeup 1s 1s cubic-bezier(.22,1,.36,1) forwards}
.esa-home .hero-proof b{color:var(--ink);font-weight:700}
.esa-home .hero-proof span{display:flex;align-items:center;gap:8px}
.esa-home .hero-proof span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sky)}

.esa-home /* Ops-Board */
.board{border:1px solid var(--line2);border-radius:20px;background:linear-gradient(180deg,rgba(10,20,33,.85),rgba(6,13,22,.85));backdrop-filter:blur(14px);box-shadow:0 30px 90px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.04);overflow:hidden;font-family:var(--mono);opacity:0;animation:fadeup 1.1s .5s cubic-bezier(.22,1,.36,1) forwards;transform-style:preserve-3d}
.esa-home .board header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.esa-home .board header b{color:var(--ok);display:flex;align-items:center;gap:7px;font-weight:600;white-space:nowrap}
.esa-home .board header b::before{content:"✓";font-size:12px}
.esa-home .board ul{list-style:none}
.esa-home .board li{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line);font-size:12.5px;transition:background .2s}
.esa-home .board li:last-child{border-bottom:0}
.esa-home .board li:hover{background:rgba(95,168,228,.05)}
.esa-home .board li i{width:6px;height:16px;border-radius:2px;background:var(--ok)}
.esa-home .board li i.warn{background:var(--warn)}
.esa-home .board li em{font-style:normal;color:var(--ink);font-weight:500}
.esa-home .board li small{color:var(--mute);font-size:11.5px;display:block;margin-top:2px}
.esa-home .board li .v{color:var(--sky);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.esa-home .board .spark{height:34px;display:block;width:100%}
.esa-home .board footer{padding:12px 18px;font-size:11px;color:var(--mute);letter-spacing:.06em;display:flex;justify-content:space-between;border-top:1px solid var(--line)}
@media (max-width:920px){.esa-home #hero .wrap{grid-template-columns:1fr}.esa-home .board{max-width:520px}}

.esa-home /* Marquee */
.marquee{border-block:1px solid var(--line);padding:18px 0;overflow:hidden;background:rgba(5,10,18,.5);backdrop-filter:blur(6px);position:relative;z-index:2}
.esa-home .marquee .track{display:flex;gap:56px;width:max-content;animation:slide 38s linear infinite;font:600 12.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.esa-home .marquee .track span{display:flex;align-items:center;gap:56px}
.esa-home .marquee .track span::after{content:"◆";color:var(--blue);font-size:8px}
@keyframes slide{to{transform:translateX(-50%)}}

.esa-home /* Statement + Stats */
.statement{font-size:clamp(28px,4.6vw,56px);font-weight:700;line-height:1.12;letter-spacing:-0.02em;max-width:22ch;font-variation-settings:'wdth' 92}
.esa-home .statement em{font-style:normal;color:var(--sky)}
.esa-home .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:56px}
.esa-home .stats div{background:var(--glass);backdrop-filter:blur(8px);padding:28px 22px}
.esa-home .stats strong{display:block;font-size:clamp(34px,4vw,54px);font-weight:800;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;line-height:1;font-variation-settings:'wdth' 90}
.esa-home .stats strong small{font-size:.5em;color:var(--sky);margin-left:2px}
.esa-home .stats span{display:block;margin-top:10px;font-size:13.5px;font-weight:600;color:var(--dim);line-height:1.45}
@media (max-width:760px){.esa-home .stats{grid-template-columns:1fr 1fr}}

.esa-home /* Leistungen – Kapitel */
.chapter{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center;padding-block:clamp(40px,8vh,90px);border-top:1px solid var(--line)}
.esa-home .chapter:first-of-type{border-top:0}
.esa-home .chapter.flip .copy{order:2}
.esa-home .chapter .copy p{font-size:clamp(15px,1.6vw,17.5px);line-height:1.65;color:var(--dim);font-weight:500;margin-top:18px;max-width:54ch}
.esa-home .chapter ul{list-style:none;margin-top:26px;border-top:1px solid var(--line)}
.esa-home .chapter li{padding:13px 0;border-bottom:1px solid var(--line);font-size:15.5px;font-weight:600;display:flex;gap:14px;align-items:baseline}
.esa-home .chapter li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 10px var(--sky);flex:none;position:relative;top:-2px}
.esa-home .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.esa-home .chips b{font:500 11.5px/1 var(--mono);letter-spacing:.06em;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:rgba(6,15,26,.4)}
.esa-home .more{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-weight:700;font-size:14.5px;text-decoration:none;color:var(--sky)}
.esa-home .more svg{width:16px;height:16px;transition:transform .25s}
.esa-home .more:hover svg{transform:translateX(4px)}
.esa-home .fig{position:relative;aspect-ratio:1/.85;max-width:100%;border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at 30% 20%,rgba(26,119,201,.18),transparent 60%),var(--glass);backdrop-filter:blur(10px);overflow:hidden;display:grid;place-items:center}
.esa-home .fig svg{width:78%;height:78%;overflow:visible}
.esa-home .fig svg *{fill:none;stroke:var(--sky);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.esa-home .fig svg .dim{stroke:rgba(95,168,228,.35)}
.esa-home .fig svg .fill{fill:rgba(26,119,201,.14);stroke:var(--sky)}
.esa-home .fig svg .glow{fill:var(--sky);stroke:none;filter:drop-shadow(0 0 6px var(--sky))}
.esa-home .fig svg .draw{stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 1.6s cubic-bezier(.22,1,.36,1)}
.esa-home .in .fig svg .draw{stroke-dashoffset:0}
.esa-home .fig .tag{position:absolute;left:18px;bottom:16px;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.esa-home .fig .tag b{color:var(--sky);font-weight:500}
@media (max-width:860px){.esa-home .chapter{grid-template-columns:1fr}.esa-home .chapter.flip .copy{order:0}.esa-home .fig{aspect-ratio:16/10}}

.esa-home /* Referenzen */
.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.esa-home .ref{position:relative;border:1px solid var(--line);border-radius:20px;padding:26px 24px;background:var(--glass);backdrop-filter:blur(10px);text-decoration:none;display:flex;flex-direction:column;gap:14px;min-height:250px;transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .3s;overflow:hidden}
.esa-home .ref::after{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at var(--mx,50%) var(--my,50%),rgba(95,168,228,.14),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.esa-home .ref:hover{transform:translateY(-6px);border-color:var(--line2)}
.esa-home .ref:hover::after{opacity:1}
.esa-home .ref .k{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sky)}
.esa-home .ref h3{font-size:21px}
.esa-home .ref p{font-size:14px;line-height:1.55;color:var(--dim);font-weight:500;flex:1}
.esa-home .ref .meta{display:flex;justify-content:space-between;align-items:center;font:500 11.5px/1 var(--mono);color:var(--mute);letter-spacing:.06em}
.esa-home .ref .meta svg{width:18px;height:18px;stroke:var(--sky);fill:none;stroke-width:1.6}
.esa-home .ref.big{grid-column:span 2}
@media (max-width:900px){.esa-home .refs{grid-template-columns:1fr 1fr}.esa-home .ref.big{grid-column:span 2}}
@media (max-width:600px){.esa-home .refs{grid-template-columns:1fr}.esa-home .ref.big{grid-column:auto}}

.esa-home /* Branchen */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.esa-home .grid article{border:1px solid var(--line);border-radius:18px;padding:24px 22px;background:var(--glass);backdrop-filter:blur(8px);transition:border-color .3s,transform .35s cubic-bezier(.22,1,.36,1)}
.esa-home .grid article:hover{border-color:var(--line2);transform:translateY(-4px)}
.esa-home .grid h3{font-size:17px;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.esa-home .grid h3 svg{width:20px;height:20px;stroke:var(--sky);fill:none;stroke-width:1.5;flex:none}
.esa-home .grid p{font-size:14px;line-height:1.55;color:var(--dim);font-weight:500}
@media (max-width:860px){.esa-home .grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.esa-home .grid{grid-template-columns:1fr}}
.esa-home .privat{margin-top:26px;font-size:14.5px;font-weight:600;color:var(--dim);max-width:60ch;line-height:1.6}

.esa-home /* Prozess */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:44px;counter-reset:step;position:relative}
.esa-home .steps::before{content:"";position:absolute;left:5%;right:5%;top:41px;height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent)}
.esa-home .steps article{border:1px solid var(--line);border-radius:18px;padding:24px 22px;background:var(--glass);backdrop-filter:blur(8px);counter-increment:step;position:relative}
.esa-home .steps article::before{content:counter(step,decimal-leading-zero);display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--blue);color:var(--sky);font:600 12px var(--mono);letter-spacing:.1em;margin-bottom:18px;background:var(--bg);box-shadow:0 0 18px rgba(26,119,201,.35) inset}
.esa-home .steps h3{font-size:16.5px;margin-bottom:8px}
.esa-home .steps p{font-size:13.5px;line-height:1.55;color:var(--dim);font-weight:500}
@media (max-width:860px){.esa-home .steps{grid-template-columns:1fr 1fr}.esa-home .steps::before{display:none}}
@media (max-width:560px){.esa-home .steps{grid-template-columns:1fr}}

.esa-home /* Stimmen */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.esa-home .quotes figure{border:1px solid var(--line);border-radius:18px;padding:26px 24px;background:var(--glass);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:16px}
.esa-home .quotes blockquote{font-size:15.5px;line-height:1.6;font-weight:500;flex:1}
.esa-home .quotes blockquote::before{content:"„";display:block;font-size:56px;line-height:.5;color:var(--blue);font-weight:800;margin-bottom:12px}
.esa-home .quotes figcaption{font-size:13px;font-weight:700;color:var(--dim)}
.esa-home .quotes figcaption b{color:var(--warn);letter-spacing:.12em;font-size:12px;display:block;margin-bottom:4px}
@media (max-width:860px){.esa-home .quotes{grid-template-columns:1fr}}

.esa-home /* Region */
#region .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,80px);align-items:center}
.esa-home .orte{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:26px}
.esa-home .orte li{font:500 13px/1.4 var(--mono);color:var(--dim);padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px}
.esa-home .orte li span{color:var(--mute);font-size:11px}
.esa-home .orte li.hq{color:var(--ink)}
.esa-home .orte li.hq span{color:var(--sky)}
.esa-home .mapbox{border:1px solid var(--line);border-radius:24px;background:var(--glass);backdrop-filter:blur(10px);aspect-ratio:1/1;max-width:100%;display:grid;place-items:center;overflow:hidden;position:relative}
.esa-home .mapbox svg{width:100%;height:100%}
.esa-home .mapbox svg text{font:600 10.5px var(--mono);fill:var(--dim);letter-spacing:.06em}
.esa-home .mapbox svg .river{fill:none;stroke:rgba(95,168,228,.45);stroke-width:2.2;stroke-linecap:round}
.esa-home .mapbox svg .ring{fill:rgba(26,119,201,.08);stroke:rgba(95,168,228,.3);stroke-width:1}
.esa-home .mapbox svg .dot{fill:var(--sky)}
.esa-home .mapbox svg .hq{fill:var(--sky)}
.esa-home .mapbox svg .halo{fill:none;stroke:var(--sky);stroke-width:1;opacity:.6}
@media (max-width:860px){.esa-home #region .wrap{grid-template-columns:1fr}.esa-home .mapbox{aspect-ratio:4/3}}

.esa-home /* Einzugsgebiet */
.orte-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:40px}
.esa-home .ortgruppe{border-top:1px solid var(--line2);padding-top:16px}
.esa-home .ortgruppe h3{font:600 11.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sky);margin-bottom:12px}
.esa-home .ortgruppe ul{list-style:none}
.esa-home .ortgruppe li{padding:5px 0}
.esa-home .ortgruppe a{font-size:14px;font-weight:600;color:var(--dim);text-decoration:none;transition:color .2s}
.esa-home .ortgruppe a:hover, .esa-home .ortgruppe a:focus-visible{color:var(--ink)}
@media (max-width:1000px){.esa-home .orte-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.esa-home .orte-grid{grid-template-columns:1fr 1fr;gap:14px}}
.esa-home /* Kontakt */
#kontakt{text-align:center}
.esa-home #kontakt h2{font-size:clamp(40px,7vw,96px);font-variation-settings:'wdth' 85}
.esa-home #kontakt .lead{margin:22px auto 0}
.esa-home .kontaktrow{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.esa-home .kontaktrow a{text-decoration:none;font-size:14.5px;font-weight:700;border:1px solid var(--line2);border-radius:999px;padding:12px 22px;background:var(--glass);transition:.25s;display:inline-flex;align-items:center;gap:9px}
.esa-home .kontaktrow a svg{width:16px;height:16px;stroke:var(--sky);fill:none;stroke-width:1.8}
.esa-home .kontaktrow a:hover, .esa-home .kontaktrow a:focus-visible{border-color:var(--sky);background:rgba(26,119,201,.14)}
.esa-home #kontakt address{font-style:normal;color:var(--dim);margin-top:26px;font-size:16px;line-height:1.7;font-weight:500}
.esa-home #kontakt .cta-final{margin-top:34px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.esa-home .avail{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font:500 12px/1 var(--mono);letter-spacing:.08em;color:var(--dim);text-transform:uppercase}
.esa-home .avail b{display:none}

.esa-home footer.site{position:relative;z-index:2;border-top:1px solid var(--line);background:rgba(5,10,18,.7);backdrop-filter:blur(10px)}
.esa-home footer.site .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding-block:48px 36px}
.esa-home footer.site h4{font:600 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sky);margin-bottom:14px}
.esa-home footer.site p, .esa-home footer.site a{font-size:13.5px;color:var(--dim);font-weight:500;line-height:1.8;text-decoration:none}
.esa-home footer.site a:hover{color:var(--ink)}
.esa-home footer.site ul{list-style:none}
.esa-home footer.site .bottom{border-top:1px solid var(--line);padding-block:18px;font:500 11.5px/1.6 var(--mono);color:var(--mute);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media (max-width:800px){.esa-home footer.site .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.esa-home footer.site .wrap{grid-template-columns:1fr}}

.esa-home /* Reveals (JS-gesteuert; Ruhezustand sichtbar) */
.r{will-change:transform,opacity}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .esa-home .hero-sub, .esa-home .hero-cta, .esa-home .hero-proof, .esa-home .board, .esa-home h1 .w b{opacity:1;transform:none}
  .esa-home .fig svg .draw{stroke-dashoffset:0}
}

/* ---------- Erklär-Szene ---------- */
.esa-home .explain{display:grid;grid-template-columns:.9fr 1.4fr;gap:clamp(24px,4vw,56px);margin-top:44px;align-items:center}
.esa-home .steps-x{list-style:none;counter-reset:x;display:flex;flex-direction:column;gap:6px}
.esa-home .steps-x li{counter-increment:x;cursor:pointer;border:1px solid var(--line);border-radius:14px;padding:12px 14px 12px 50px;position:relative;background:rgba(6,15,26,.35);transition:border-color .3s,background .3s}
.esa-home .steps-x li::before{content:counter(x,decimal-leading-zero);position:absolute;left:14px;top:13px;font:600 11px var(--mono);letter-spacing:.08em;color:var(--sky);border:1px solid var(--line2);border-radius:999px;padding:4px 6px}
.esa-home .steps-x li b{display:block;font-size:14.5px;font-weight:700}
.esa-home .steps-x li span{display:none;font-size:13px;color:var(--dim);line-height:1.5;margin-top:4px}
.esa-home .steps-x li.on{border-color:var(--sky);background:rgba(26,119,201,.12)}
.esa-home .steps-x li.on span{display:block}
.esa-home .scene-x{border:1px solid var(--line);border-radius:24px;background:radial-gradient(ellipse at 30% 20%,rgba(26,119,201,.14),transparent 60%),var(--glass);backdrop-filter:blur(10px);padding:14px;max-width:100%}
.esa-home .scene-x svg{width:100%;height:auto;display:block;overflow:visible}
.esa-home #xsvg .ln{fill:none;stroke:var(--sky);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.esa-home #xsvg .ln.dim{stroke:rgba(95,168,228,.35)}
.esa-home #xsvg .bld{fill:url(#xg);stroke:rgba(95,168,228,.5);stroke-width:1.4}
.esa-home #xsvg .box{fill:rgba(26,119,201,.14);stroke:var(--sky);stroke-width:1.4}
.esa-home #xsvg .node{fill:var(--sky)}
.esa-home #xsvg .led{fill:var(--ok)}
.esa-home #xsvg .led.warn{fill:var(--warn)}
.esa-home #xsvg .lbl{font:600 11.5px var(--mono);fill:var(--dim);letter-spacing:.04em}
.esa-home #xsvg .lbl.s{font-size:9.5px;fill:var(--mute)}
.esa-home #xsvg .shield{fill:rgba(26,119,201,.2);stroke:var(--sky);stroke-width:1.4;transform-origin:285px 290px;animation:xshield 2.4s ease-in-out infinite}
@keyframes xshield{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.esa-home #xsvg .cloud{fill:rgba(26,119,201,.14);stroke:var(--sky);stroke-width:1.4}
.esa-home #xsvg .ring{fill:none;stroke:var(--sky);stroke-width:1;transform-origin:800px 360px;animation:xring 2.4s ease-out infinite;opacity:0}
.esa-home #xsvg .ring.r2{animation-delay:.8s}.esa-home #xsvg .ring.r3{animation-delay:1.6s}
@keyframes xring{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.esa-home #xsvg .cone{fill:rgba(95,168,228,.12);transform-origin:0 0;animation:xcone 6s ease-in-out infinite}
@keyframes xcone{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}
.esa-home #xsvg .me{fill:var(--blue)}
.esa-home #xsvg .me-t{font:800 16px var(--sans);fill:#fff}
.esa-home #xsvg .pulse{fill:url(#xglow);r:6;offset-rotate:0deg;animation:xpulse 2.2s linear infinite}
@keyframes xpulse{0%{offset-distance:0%;opacity:0}10%{opacity:1}90%{opacity:1}100%{offset-distance:100%;opacity:0}}
.esa-home #xsvg .grp{transition:opacity .5s,filter .5s}
.esa-home #xsvg.focus .grp{opacity:.28}
.esa-home #xsvg.focus .grp.on{opacity:1;filter:drop-shadow(0 0 10px rgba(95,168,228,.7))}
@media (max-width:900px){.esa-home .explain{grid-template-columns:1fr}.esa-home .steps-x{order:2}}
@media (prefers-reduced-motion:reduce){.esa-home #xsvg .pulse,.esa-home #xsvg .ring{display:none}.esa-home #xsvg .shield,.esa-home #xsvg .cone{animation:none}}

/* Reveals ohne Framework */
.js-reveal .esa-home .r{opacity:0;transform:translateY(26px);filter:blur(6px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1),filter .75s cubic-bezier(.22,1,.36,1)}
.js-reveal .esa-home .r.in{opacity:1;transform:none;filter:blur(0)}
/* Hintergrund ohne 3D (Mobil / schwache Geräte) */
.esa-home.no3d{background:radial-gradient(ellipse 80% 60% at 20% 10%,rgba(26,119,201,.28),transparent 60%),radial-gradient(ellipse 70% 50% at 85% 40%,rgba(26,119,201,.16),transparent 60%),radial-gradient(ellipse 90% 60% at 50% 100%,rgba(26,119,201,.14),transparent 60%),var(--bg);background-attachment:fixed}
.esa-home.no3d canvas#scene{display:none}
.esa-home.lite3d canvas#scene{display:block}
@media (prefers-reduced-motion:reduce){.js-reveal .esa-home .r{opacity:1;transform:none;filter:none;transition:none}}
