/* RUDEL Flow, Vorschau 14.10.2026
   Aufbau: dunkler Hero mit lebendem Netz, helle Arbeitsflächen, zwei dunkle
   Bänder (Referenz, Kontakt). Eine bewusst feste Optik nach Markenblatt,
   deshalb ohne Hell/Dunkel-Umschaltung. Wird nach komponenten.css geladen.
   Schriften kommen lokal aus komponenten.css. */
:root{
  --graphit:#0D1117;
  --graphit-2:#151B24;
  --graphit-3:#1F2733;
  --grund:#F6F7F9;
  --papier:#FFFFFF;
  --blau:#2563EB;
  --blau-hell:#5B8CFF;
  --blau-zart:#E8EFFE;
  --kupfer:#C87A3A;
  --kupfer-hell:#E09A5E;
  --kupfer-zart:#F7ECE2;
  --text:#0D1117;
  --text-2:#4A5361;
  --text-3:#7A8392;
  --linie:#E1E5EB;
  --auf-dunkel:#E9EDF3;
  --auf-dunkel-2:#9AA4B4;
  --linie-dunkel:#2A3340;

  --schrift:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --radius:14px;
  --radius-gross:22px;
  --schatten:0 1px 2px rgba(13,17,23,.06),0 12px 32px -12px rgba(13,17,23,.18);
  --breite:1200px;
  --kopf-h:68px;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--kopf-h) + 12px)}
body{margin:0;background:var(--grund);color:var(--text);font-family:var(--schrift);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,canvas{display:block;max-width:100%}
h1,h2,h3{margin:0;line-height:1.12;letter-spacing:-.02em;text-wrap:balance;font-weight:600}
p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blau-hell);outline-offset:3px;border-radius:6px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
/* Kein globales [hidden]: jede Klasse mit display braucht ihre eigene Regel */
.tafel[hidden],.nk-nabe-text[hidden]{display:none}

.innen{max-width:var(--breite);margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}

.vorzeile{font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--auf-dunkel-2)}
.vorzeile--blau{color:var(--blau)}
.vorzeile--kupfer{color:var(--kupfer-hell)}

/* ---------- Knöpfe ---------- */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--blau);color:#fff;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:transform .2s ease,box-shadow .2s ease}
.knopf::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 60%);opacity:0;transition:opacity .2s}
.knopf:hover{transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(37,99,235,.7)}
.knopf:hover::before{opacity:1}
.knopf--hell{background:rgba(255,255,255,.06);color:var(--auf-dunkel);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.knopf--hell:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.knopf--klein{min-height:40px;padding:0 16px;font-size:.85rem}
.knopf--breit{width:100%}

/* ---------- Kopf ---------- */
.kopf{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(13,17,23,.94);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(255,255,255,.06);color:var(--auf-dunkel)}
.kopf-innen{display:flex;align-items:center;gap:28px;height:var(--kopf-h)}
.marke{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.marke-wolf{width:28px;height:32px;fill:var(--auf-dunkel);transition:transform .4s cubic-bezier(.3,1.6,.5,1)}
.marke:hover .marke-wolf{transform:rotate(-6deg) scale(1.06)}
.marke-text{display:flex;flex-direction:column;line-height:1.05}
.marke-text b{font-weight:700;letter-spacing:.16em;font-size:.95rem}
.marke-text small{font-size:.62rem;letter-spacing:.08em;color:var(--auf-dunkel-2);text-transform:uppercase}
.navi{display:flex;gap:26px;font-size:.88rem;font-weight:500}
.navi a{text-decoration:none;color:var(--auf-dunkel-2);transition:color .2s}
.navi a:hover{color:#fff}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--graphit);color:var(--auf-dunkel);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(700px 420px at 78% 30%,rgba(37,99,235,.22),transparent 70%),
    radial-gradient(500px 360px at 70% 90%,rgba(200,122,58,.12),transparent 70%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/44px 44px,
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/44px 44px;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.hero-innen{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center;padding-block:clamp(56px,8vw,104px) clamp(64px,8vw,112px)}
.hero-text{min-width:0}
.hero h1{font-size:clamp(2.5rem,4.7vw,4.1rem);font-weight:700;letter-spacing:-.035em;line-height:1.02;margin-top:18px;color:#fff}
.h1-blau{background:linear-gradient(90deg,var(--blau-hell),#8FB1FF 60%,var(--kupfer-hell));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-unter{margin-top:22px;max-width:34em;color:var(--auf-dunkel-2);font-size:1.06rem}
.hero-knoepfe{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-punkte{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;font-size:.84rem;color:var(--auf-dunkel-2)}
.hero-punkte li{display:flex;align-items:center;gap:8px}
.hero-punkte li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--kupfer)}

/* Netz */
.netz{min-width:0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-gross);padding:18px 18px 16px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06)}
.netz-kopf{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.8rem;color:var(--auf-dunkel-2);font-weight:500}
.netz-live{display:inline-flex;align-items:center;gap:7px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--kupfer-hell);white-space:nowrap}
.netz-live i{width:7px;height:7px;border-radius:50%;background:var(--kupfer);box-shadow:0 0 0 0 rgba(200,122,58,.6);animation:puls 2s infinite}
@keyframes puls{70%{box-shadow:0 0 0 8px rgba(200,122,58,0)}100%{box-shadow:0 0 0 0 rgba(200,122,58,0)}}
.netz-buehne{position:relative;height:340px;margin-top:10px}
.netz-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.netz-knoten{position:absolute;inset:0}
.nk{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:8px 12px 8px 9px;border-radius:12px;background:var(--graphit-2);border:1px solid var(--linie-dunkel);font-size:.78rem;font-weight:500;color:var(--auf-dunkel);white-space:nowrap;transition:border-color .25s,box-shadow .25s,transform .25s}
.nk-ico{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:rgba(91,140,255,.14);color:var(--blau-hell);flex:none}
.nk-ico svg{width:14px;height:14px}
button.nk{cursor:pointer;font:inherit;font-size:.78rem;font-weight:500}
button.nk:hover,.nk.ist-aktiv{border-color:rgba(91,140,255,.7);box-shadow:0 0 0 4px rgba(37,99,235,.15),0 0 24px rgba(37,99,235,.35)}
.nk--aus .nk-ico{background:rgba(255,255,255,.07);color:var(--auf-dunkel)}
.nk--rueck .nk-ico{background:rgba(200,122,58,.18);color:var(--kupfer-hell)}
.nk--rueck.ist-aktiv{border-color:rgba(224,154,94,.8);box-shadow:0 0 0 4px rgba(200,122,58,.16),0 0 24px rgba(200,122,58,.35)}
.nk--aus.ist-aktiv{border-color:rgba(91,140,255,.7);box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.nk-nabe{width:96px;height:96px;padding:0;justify-content:center;border-radius:50%;background:radial-gradient(circle at 50% 40%,#1c2a44,var(--graphit-2) 70%);border-color:rgba(91,140,255,.35);box-shadow:0 0 0 10px rgba(37,99,235,.06),0 0 60px rgba(37,99,235,.25)}
.nk-nabe svg{width:42px;height:47px;fill:none;stroke:var(--blau-hell);stroke-width:14;stroke-linejoin:round;transition:transform .3s ease}
.nk-nabe .nabe-ring{position:absolute;inset:-10px;border-radius:50%;border:1px dashed rgba(91,140,255,.35);animation:drehen 24s linear infinite}
.nk-nabe.ist-aktiv{box-shadow:0 0 0 10px rgba(37,99,235,.1),0 0 80px rgba(37,99,235,.45)}
.nk-nabe.ist-aktiv svg{fill:rgba(91,140,255,.18)}
.nk-nabe-text{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--auf-dunkel-2);white-space:nowrap}
@keyframes drehen{to{transform:rotate(360deg)}}
.netz-pfad{fill:none;stroke:rgba(154,164,180,.22);stroke-width:1.4}
.netz-pfad.ist-aktiv{stroke:rgba(91,140,255,.65)}
.netz-pfad--rueck.ist-aktiv{stroke:rgba(224,154,94,.7)}
.netz-punkt{fill:var(--blau-hell)}
.netz-punkt--rueck{fill:var(--kupfer-hell)}

.netz-log{margin-top:14px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px;display:grid;gap:4px;font-size:.78rem;min-height:88px}
.netz-log li{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:baseline;color:var(--auf-dunkel-2);animation:einblenden .5s ease both}
.netz-log time{font-variant-numeric:tabular-nums;color:var(--text-3)}
.netz-log span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--auf-dunkel)}
.netz-log b{font-weight:600;color:var(--blau-hell);white-space:nowrap}
.netz-log b::before{content:"→ ";color:var(--text-3);font-weight:400}
.netz-log .ist-rueckfrage b{color:var(--kupfer-hell)}
.netz-hinweis{margin-top:8px;font-size:.72rem;color:var(--text-3)}
@keyframes einblenden{from{opacity:.0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- Abschnitte ---------- */
.abschnitt{padding-block:clamp(72px,10vw,128px)}
.kopfzeile{max-width:760px;margin-bottom:clamp(36px,5vw,56px)}
.kopfzeile h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-top:14px;font-weight:700;letter-spacing:-.03em}
.kopf-text{margin-top:14px;color:var(--text-2);max-width:42em}
.dunkel{background:var(--graphit);color:var(--auf-dunkel)}
.dunkel h2{color:#fff}

/* ---------- Vorgang ---------- */
.vorgang-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:start}
.vorgang-buehne{position:sticky;top:calc(var(--kopf-h) + 40px)}
.karte{background:var(--papier);border-radius:var(--radius-gross);box-shadow:var(--schatten);border:1px solid var(--linie);padding:22px;display:grid;gap:14px;position:relative;overflow:hidden}
.karte>div{transition:opacity .45s ease,transform .45s ease,filter .45s ease}
.karte-mail{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:12px;background:var(--grund);border:1px solid var(--linie)}
.karte-mail b{display:block;font-size:.9rem}
.karte-mail small{display:block;font-size:.8rem;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.karte-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--blau-zart);color:var(--blau);font-weight:700}
.karte-pdf{font-size:.68rem;font-weight:700;padding:4px 8px;border-radius:6px;background:#FDECEC;color:#B4232C;letter-spacing:.05em}
.karte-felder{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.karte-felder span{padding:10px 12px;border-radius:10px;border:1px dashed var(--linie);font-size:.84rem;font-weight:500;transition:background .4s,border-color .4s}
.karte-felder small{display:block;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:600}
.karte-systeme{display:grid;gap:6px}
.karte-systeme span{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:10px;background:var(--grund);font-size:.84rem;font-weight:500}
.karte-systeme i{font-style:normal;font-size:.76rem;color:var(--text-3);transition:color .3s}
.karte-freigabe{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border-radius:12px;background:var(--kupfer-zart);font-size:.86rem;font-weight:600}
.karte-knopf{border:0;border-radius:999px;padding:8px 16px;background:var(--kupfer);color:#fff;font-weight:600;font-size:.82rem;transition:background .3s}
.karte-leiste{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.karte-leiste i{height:4px;border-radius:4px;background:var(--linie);transition:background .4s}

/* Zustände: die Karte ist immer vollständig lesbar, der aktive Teil wird betont */
.karte>div:not(.karte-leiste){opacity:.38;filter:saturate(.3)}
.karte[data-schritt="1"] .karte-mail,
.karte[data-schritt="2"] .karte-felder,
.karte[data-schritt="3"] .karte-systeme,
.karte[data-schritt="4"] .karte-freigabe{opacity:1;filter:none;transform:scale(1.02)}
.karte[data-schritt="2"] .karte-mail,.karte[data-schritt="3"] .karte-mail,.karte[data-schritt="4"] .karte-mail,
.karte[data-schritt="3"] .karte-felder,.karte[data-schritt="4"] .karte-felder,
.karte[data-schritt="4"] .karte-systeme{opacity:.7;filter:none}
.karte[data-schritt="2"] .karte-felder span,.karte[data-schritt="3"] .karte-felder span,.karte[data-schritt="4"] .karte-felder span{background:var(--blau-zart);border:1px solid transparent}
.karte[data-schritt="3"] .karte-systeme i,.karte[data-schritt="4"] .karte-systeme i{color:var(--blau)}
.karte[data-schritt="1"] .karte-leiste i:nth-child(-n+1),
.karte[data-schritt="2"] .karte-leiste i:nth-child(-n+2),
.karte[data-schritt="3"] .karte-leiste i:nth-child(-n+3){background:var(--blau)}
.karte[data-schritt="4"] .karte-leiste i{background:var(--blau)}
.karte[data-schritt="4"] .karte-leiste i:last-child{background:var(--kupfer)}
.karte.ist-frei .karte-knopf{background:#2F8F5B}

.schritte{display:grid;gap:clamp(36px,9vh,96px);padding-block:8px 18vh}
.schritt{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 18px;opacity:.45;transition:opacity .4s}
.schritt.ist-aktiv{opacity:1}
.schritt-nr{grid-row:span 2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--linie);font-weight:600;color:var(--text-2);background:var(--papier);transition:background .4s,color .4s,border-color .4s}
.schritt.ist-aktiv .schritt-nr{background:var(--blau);border-color:var(--blau);color:#fff}
.schritt[data-schritt="4"].ist-aktiv .schritt-nr{background:var(--kupfer);border-color:var(--kupfer)}
.schritt h3{font-size:1.35rem;padding-top:8px}
.schritt p{color:var(--text-2);max-width:32em}

/* ---------- Engpass ---------- */
.engpass{background:var(--papier);border-block:1px solid var(--linie)}
.reiter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.reiter button{border:1px solid var(--linie);background:var(--grund);border-radius:999px;padding:10px 18px;font-size:.9rem;font-weight:600;color:var(--text-2);cursor:pointer;transition:all .2s}
.reiter button:hover{border-color:var(--blau);color:var(--blau)}
.reiter button[aria-selected="true"]{background:var(--graphit);border-color:var(--graphit);color:#fff}
.tafel{display:grid;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);align-items:stretch;border-radius:var(--radius-gross);overflow:hidden;border:1px solid var(--linie);animation:einblenden .45s ease both}
.tafel-spalte{padding:clamp(22px,3vw,36px);min-width:0}
.tafel-spalte h3{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.tafel-spalte ul{display:grid;gap:14px}
.tafel-spalte li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:.98rem}
.tafel--heute{background:var(--grund);color:var(--text-2)}
.tafel--heute h3{color:var(--text-3)}
.tafel--heute li::before{content:"";width:10px;height:10px;margin-top:8px;border-radius:2px;border:1.5px solid var(--text-3);transform:rotate(45deg)}
.tafel--danach{background:var(--graphit);color:var(--auf-dunkel)}
.tafel--danach h3{color:var(--blau-hell)}
.tafel--danach li::before{content:"";width:18px;height:18px;margin-top:3px;border-radius:50%;background:var(--blau) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.3 6 9.8l4.6-5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.tafel-pfeil{background:linear-gradient(90deg,var(--grund) 50%,var(--graphit) 50%);display:grid;place-items:center;position:relative}
.tafel-pfeil i{width:52px;height:52px;border-radius:50%;background:var(--blau);box-shadow:0 0 0 8px rgba(37,99,235,.15);position:relative}
.tafel-pfeil i::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat;animation:schieben 1.8s ease-in-out infinite}
@keyframes schieben{50%{transform:translateX(4px)}}

/* ---------- Drytech ---------- */
.drytech{position:relative;overflow:hidden}
.drytech::before{content:"";position:absolute;width:640px;height:640px;right:-200px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(200,122,58,.16),transparent 65%)}
.drytech-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,6vw,80px);align-items:center;position:relative}
.drytech h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-top:14px;font-weight:700;letter-spacing:-.03em}
.fall{display:grid;gap:22px;margin-top:30px}
.fall div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;padding-top:18px;border-top:1px solid var(--linie-dunkel)}
.fall dt{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--kupfer-hell);font-weight:600;padding-top:3px}
.fall dd{color:var(--auf-dunkel-2);font-size:.98rem}

/* ---------- Ablauf ---------- */
.pfad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;position:relative;padding-top:34px}
.pfad::before,.pfad::after{content:"";position:absolute;top:9px;left:9px;right:9px;height:2px;background:var(--linie)}
.pfad::after{background:linear-gradient(90deg,var(--blau),var(--kupfer));transform-origin:left;transform:scaleX(var(--fortschritt,1));transition:transform .2s linear}
.pfad li{position:relative;min-width:0}
.pfad-punkt{position:absolute;top:-34px;left:0;width:20px;height:20px;border-radius:50%;background:var(--grund);border:2px solid var(--blau);z-index:1}
.pfad li:last-child .pfad-punkt{border-color:var(--kupfer)}
.pfad h3{font-size:1.3rem;margin-bottom:10px}
.pfad p{color:var(--text-2)}

/* ---------- Preise ---------- */
.preise{padding-top:0}
.preisraster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.preis{background:var(--papier);border:1px solid var(--linie);border-radius:var(--radius-gross);padding:28px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;position:relative}
.preis:hover{transform:translateY(-4px);box-shadow:var(--schatten)}
.preis h3{font-size:1.1rem}
.preis-betrag{font-size:2.3rem;font-weight:700;letter-spacing:-.03em;margin-top:14px;font-variant-numeric:tabular-nums}
.preis-betrag small{font-size:.95rem;font-weight:500;color:var(--text-3);letter-spacing:0}
.preis-art{font-size:.84rem;color:var(--text-3)}
.preis ul{margin-top:22px;padding-top:18px;border-top:1px solid var(--linie);display:grid;gap:10px;font-size:.92rem;color:var(--text-2)}
.preis li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px}
.preis li::before{content:"";width:7px;height:7px;margin-top:9px;border-radius:50%;background:var(--blau)}
.preis--mitte{background:var(--graphit);color:var(--auf-dunkel);border-color:var(--graphit)}
.preis--mitte .preis-betrag{color:#fff}
.preis--mitte ul{border-color:var(--linie-dunkel);color:var(--auf-dunkel-2)}
.preis--mitte .preis-art,.preis--mitte .preis-betrag small{color:var(--auf-dunkel-2)}
.preis-band{position:absolute;top:-12px;left:28px;background:var(--kupfer);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:999px}
.zusage{margin-top:18px;padding:24px 28px;border-radius:var(--radius-gross);background:var(--kupfer-zart);display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:24px}
.zusage h3{font-size:1.05rem}
.zusage p{color:var(--text-2);font-size:.95rem}
.preis-hinweis{margin-top:16px;font-size:.82rem;color:var(--text-3);max-width:60em}

/* ---------- Kontakt ---------- */
.kontakt{position:relative;overflow:hidden;isolation:isolate}
.rudel-feld{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.9}
.kontakt-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,6vw,80px);align-items:start}
.kontakt h2{font-size:clamp(2rem,4vw,3.2rem);margin-top:14px;font-weight:700;letter-spacing:-.03em}
.kontakt-text>p{margin-top:18px;color:var(--auf-dunkel-2);max-width:32em}
.ansprech{display:flex;gap:16px;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--linie-dunkel)}
.ansprech-wolf{width:44px;height:50px;fill:var(--kupfer-hell);flex:none}
.ansprech p{font-size:.88rem;color:var(--auf-dunkel-2)}
.ansprech b{display:block;color:#fff;font-size:1rem}
.waehlbar{user-select:all;color:var(--auf-dunkel)}
.formular{background:var(--papier);color:var(--text);border-radius:var(--radius-gross);padding:clamp(22px,3vw,32px);display:grid;grid-template-columns:1fr 1fr;gap:16px;box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.feld{display:grid;gap:6px;min-width:0}
.feld--breit,.formular .knopf,.formular-status{grid-column:1/-1}
.feld label{font-size:.8rem;font-weight:600}
.feld input,.feld textarea{width:100%;border:1px solid var(--linie);border-radius:10px;background:var(--grund);padding:12px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;resize:vertical}
.feld input:focus,.feld textarea:focus{outline:none;border-color:var(--blau);box-shadow:0 0 0 4px rgba(37,99,235,.14);background:#fff}
.formular-status{font-size:.8rem;color:var(--text-3)}

/* ---------- Fuß ---------- */
.fuss{background:var(--graphit);color:var(--auf-dunkel-2);border-top:1px solid var(--linie-dunkel);font-size:.84rem}
.fuss-innen{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding-block:26px}
.fuss-marke{display:flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.16em;color:#fff}
.fuss-marke svg{width:18px;height:20px;fill:currentColor}
.fuss-links{margin-left:auto;display:flex;gap:20px}
.fuss-links a{text-decoration:none}
.fuss-links a:hover{color:#fff}

/* ---------- Drytech: Auswertung ---------- */
.drytech-lead{margin-top:18px;color:var(--auf-dunkel);font-size:1.08rem;max-width:34em}
.mehr-link{display:inline-flex;align-items:center;gap:8px;margin-top:28px;color:var(--kupfer-hell);font-weight:600;text-decoration:none}
.mehr-link::after{content:"→";transition:transform .2s}
.mehr-link:hover::after{transform:translateX(4px)}
.auswertung{background:var(--graphit-2);border:1px solid var(--linie-dunkel);border-radius:var(--radius-gross);padding:clamp(20px,3vw,30px);box-shadow:0 30px 80px -30px rgba(0,0,0,.7);min-width:0}
.auswertung-zahlen{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;padding-bottom:22px;border-bottom:1px solid var(--linie-dunkel)}
.auswertung-zahlen p{display:grid;gap:6px}
.auswertung-zahlen b{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.auswertung-zahlen p:first-child b{background:linear-gradient(90deg,#fff,var(--kupfer-hell));-webkit-background-clip:text;background-clip:text;color:transparent}
.auswertung-zahlen span{font-size:.86rem;color:var(--auf-dunkel-2);max-width:16em}
.auswertung-strom{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;align-items:center;margin-top:22px}
.post{position:relative;height:180px}
.post-mail{position:absolute;left:8px;width:46px;height:32px;border-radius:7px;background:var(--graphit-3);border:1px solid var(--linie-dunkel)}
.post-mail::after{content:"";position:absolute;inset:7px 8px auto;height:12px;border:1.5px solid var(--blau-hell);border-top:0;border-radius:0 0 4px 4px;clip-path:polygon(0 0,100% 0,50% 100%);background:transparent}
.post-mail:nth-child(1){top:14px}
.post-mail:nth-child(2){top:74px}
.post-mail:nth-child(3){top:134px}
.auswertung.ist-aktiv .post-mail{animation:mailflug 2.4s ease-in-out infinite}
.auswertung.ist-aktiv .post-mail:nth-child(2){animation-delay:.8s}
.auswertung.ist-aktiv .post-mail:nth-child(3){animation-delay:1.6s}
@keyframes mailflug{0%{transform:translateX(-12px);opacity:0}20%{opacity:1;transform:none}70%{opacity:1;transform:none}100%{transform:translateX(70px) scale(.6);opacity:0}}
.blatt{display:grid;gap:5px;padding:12px;border-radius:12px;background:#0F1B14;border:1px solid #234030;min-width:0}
.blatt-kopf,.blatt-zeile{display:grid;grid-template-columns:1fr 2fr 1.4fr 1fr;gap:5px}
.blatt i{height:18px;border-radius:4px;background:rgba(255,255,255,.05);transition:background .35s ease}
.blatt-kopf i{height:12px;background:rgba(47,143,91,.45)}
.blatt-zeile.voll i{background:rgba(91,140,255,.35)}
.blatt-zeile.voll i:nth-child(3){background:rgba(91,140,255,.55)}
.blatt-zeile.neu i{background:rgba(224,154,94,.6)}
.auswertung-fuss{margin-top:16px;font-size:.76rem;color:var(--text-3)}

/* ---------- Übernommene Abschnitte an den neuen Stil angleichen ---------- */
.section{padding-block:clamp(72px,10vw,128px)}
.section .wrap{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.section .section-head{max-width:760px;margin-bottom:clamp(36px,5vw,56px)}
.section .eyebrow{font-size:.74rem;font-weight:600;letter-spacing:.14em;margin-bottom:14px}
.section .section-head h2,.faq-kopf h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:700;letter-spacing:-.03em;line-height:1.12}
.section h3{margin-bottom:8px}
#einsparung{background:var(--papier);border-bottom:1px solid var(--linie)}
.kontakt .cform{box-shadow:0 40px 90px -30px rgba(0,0,0,.8);position:relative}
.kontakt .cform .btn--primary{border-radius:999px;min-height:50px}
.ansprech a{color:var(--auf-dunkel);text-decoration:none}
.ansprech a:hover{color:#fff;text-decoration:underline}

/* ---------- Menü für schmale Bildschirme ---------- */
.menue-knopf{display:none;width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;order:3}
.menue-knopf span{display:block;width:16px;height:1.8px;border-radius:2px;background:var(--auf-dunkel);transition:transform .25s}
.menue-knopf[aria-expanded="true"] span:first-child{transform:translateY(3.4px) rotate(45deg)}
.menue-knopf[aria-expanded="true"] span:last-child{transform:translateY(-3.4px) rotate(-45deg)}
.fuss-hinweis{padding-bottom:26px;font-size:.76rem;color:var(--text-3)}
.fuss-hinweis p{display:flex;gap:8px;align-items:flex-start;max-width:70em}
.fuss-hinweis svg{width:14px;height:14px;flex:none;margin-top:3px;color:var(--kupfer)}
.fuss-innen a{text-decoration:none}
.fuss-innen a:hover{color:#fff}
@media (max-width:980px){
  .menue-knopf{display:flex}
  .navi{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--graphit);border-bottom:1px solid var(--linie-dunkel);padding:8px max(20px,env(safe-area-inset-right,0px)) 16px max(20px,env(safe-area-inset-left,0px))}
  .navi.ist-offen{display:flex}
  .navi a{padding:12px 0;border-bottom:1px solid var(--linie-dunkel);font-size:1rem;color:var(--auf-dunkel)}
  .kopf-innen{position:relative}
}
@media (max-width:700px){
  .auswertung-zahlen{grid-template-columns:minmax(0,1fr)}
  .post{height:150px}
  .post-mail:nth-child(2){top:60px}
  .post-mail:nth-child(3){top:106px}
}
@media (max-width:420px){
  .kopf .knopf--klein{display:none}
}

/* ---------- Schmal ---------- */
@media (max-width:980px){
    .hero-innen,.drytech-raster,.kontakt-raster{grid-template-columns:minmax(0,1fr)}
  .vorgang-raster{grid-template-columns:minmax(0,1fr)}
  .vorgang-buehne{top:calc(var(--kopf-h) + 8px);z-index:2}
  .karte{padding:14px;gap:10px}
  .schritte{padding-block:24px 30vh;gap:40vh}
  .schritt{background:var(--grund);padding:6px 0}
}
@media (max-width:700px){
  body{font-size:16px}
  .kopf-innen{gap:12px}
  .marke-text small{display:none}
  .netz-buehne{height:420px}
  .tafel{grid-template-columns:minmax(0,1fr)}
  .tafel-pfeil{height:56px;background:linear-gradient(180deg,var(--grund) 50%,var(--graphit) 50%)}
  .tafel-pfeil i{transform:rotate(90deg)}
  .fall div{grid-template-columns:minmax(0,1fr);gap:6px}
  .pfad{grid-template-columns:minmax(0,1fr);padding-top:0;padding-left:40px;gap:32px}
  .pfad::before,.pfad::after{top:9px;bottom:9px;left:9px;right:auto;width:2px;height:auto}
  .pfad::after{transform-origin:top;transform:scaleY(var(--fortschritt,1))}
  .pfad-punkt{top:2px;left:-40px}
  .preisraster{grid-template-columns:minmax(0,1fr)}
  .preis--mitte{order:-1}
  .zusage{grid-template-columns:minmax(0,1fr);gap:8px}
  .formular{grid-template-columns:minmax(0,1fr)}
  .karte-felder span{padding:7px 9px;font-size:.78rem}
  .karte-systeme span{padding:7px 10px;font-size:.78rem}
  .karte-mail{padding:9px}
  .fuss-links{margin-left:0}
}
@media (max-width:420px){
  .knopf--klein{padding:0 12px;font-size:.78rem}
  .hero-knoepfe .knopf{flex:1 1 100%}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
