
:root{--blau:#0047BB;--rot:#DB291D;--schwarz:#000;--grund:#fff;--text:#111;--leise:#5A5A5A;--linie:#DADADA;--max:1080px}
*{box-sizing:border-box} html,body{margin:0}
body{background:var(--grund);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.hinweis{background:#f3f3f3;border-bottom:1px solid var(--linie);font-size:13px;color:var(--leise);padding:6px 0}
header.kopf{border-bottom:1px solid var(--linie);background:#fff}
header.kopf .wrap{display:flex;justify-content:space-between;align-items:center;height:76px;gap:20px}
.marke svg{height:40px;width:auto;display:block}
nav.haupt{display:flex;gap:22px;font-size:15px;align-items:center} nav.haupt a{text-decoration:none} nav.haupt a:hover{color:var(--blau)}
.sprache{color:var(--leise);white-space:nowrap}
.menuknopf{display:none}
.auftritt{position:relative;background:#0b0b0c;color:#fff;overflow:hidden}
.auftritt .wrap{position:relative;z-index:1;padding-top:78px;padding-bottom:82px}

.auftritt .bild svg{width:100%;height:auto;display:block}
.auftritt .bild path[fill="#000000"]{fill:#fff}
.auftritt h1{white-space:nowrap;font-size:clamp(34px,4.6vw,58px);line-height:1.04;font-weight:650;margin:0;letter-spacing:-.015em}
.bez{font-size:clamp(20px,2.4vw,26px);margin:16px 0 0}
.bez::before{content:"";display:inline-block;width:28px;height:3px;background:var(--rot);vertical-align:middle;margin-right:12px;transform:translateY(-2px)}
.felder3{font-size:clamp(17px,1.9vw,20px);margin:8px 0 0;color:#E8E8E8;letter-spacing:.02em}
.berufe{margin:28px 0 0;color:#BDBDBD;font-size:15px;max-width:760px}
.einleitung{padding:60px 0 8px}
.einleitung p{font-size:clamp(19px,2.1vw,23px);line-height:1.5;max-width:860px;margin:0}
.einleitung p+p{margin-top:16px;color:var(--leise);font-size:18px}
.wege{padding:44px 0 60px}
.reihe{display:grid;grid-template-columns:repeat(3,1fr)}
.feld{padding:4px 28px 8px;border-left:1px solid var(--linie);text-decoration:none;display:block} .feld:first-child{border-left:0;padding-left:0}
.feld h2{font-size:clamp(23px,2.4vw,28px);line-height:1.2;font-weight:700;margin:0 0 16px;padding-top:14px;border-top:3px solid var(--schwarz)}
.feld:nth-child(1) h2{border-top-color:var(--blau)} .feld:nth-child(2) h2{border-top-color:var(--rot)} .feld:nth-child(3) h2{border-top-color:var(--schwarz)}
.feld .ik{width:44px;height:44px;margin:0 0 14px;display:block}
.feld:nth-child(1) .ik{color:var(--blau)} .feld:nth-child(2) .ik{color:var(--rot)} .feld:nth-child(3) .ik{color:var(--schwarz)}
.feld p{margin:0;color:#333}
.feld .mehr{display:inline-block;margin-top:16px;font-weight:600;color:var(--blau)}
.feld:hover h2{color:var(--blau)}
.person{border-top:1px solid var(--linie);padding:56px 0}
.person .titel{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--leise);margin:0 0 12px}
.person b{display:block;font-size:22px;font-weight:650}
.person .rolle{color:var(--blau);margin-top:2px}
.person p.satz{max-width:720px;margin:14px 0 0}
.schluss{border-top:1px solid var(--linie);padding:60px 0 68px;text-align:center}
.schluss p{font-size:clamp(22px,3vw,30px);font-weight:600;margin:0 0 26px}
.knopf{display:inline-block;background:var(--blau);color:#fff;text-decoration:none;font-weight:600;padding:13px 26px;border-radius:3px}
.knopf:hover{background:#00368f}
footer{border-top:1px solid var(--linie);font-size:14px;color:var(--leise)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-top:22px;padding-bottom:28px}
footer nav{display:flex;gap:18px;flex-wrap:wrap} footer a{text-decoration:none} footer a:hover{color:var(--blau)}
footer .orte{width:100%;order:3}

.auftritt .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:center}
.karte{-webkit-mask-image:radial-gradient(closest-side,#000 62%,transparent 100%);mask-image:radial-gradient(closest-side,#000 62%,transparent 100%);margin:-50px -60px -50px -20px}
.karte svg{width:100%;height:auto;display:block}
.karte .l0{fill:#131316;stroke:#34343b;stroke-width:.8}
.karte .l1{fill:#1d1f27;stroke:#5a5c68;stroke-width:1}
.karte .netz{fill:none;stroke:url(#gv);stroke-width:2;stroke-dasharray:6 7;animation:fl 2.4s linear infinite}
.karte .ort circle.p{fill:#fff}
.karte .ort circle.w{fill:none;stroke-width:1.6;transform-box:fill-box;transform-origin:center;animation:pu 2.8s ease-out infinite}
.karte .ort:nth-of-type(odd) circle.w{stroke:var(--blau)} .karte .ort:nth-of-type(even) circle.w{stroke:var(--rot)}
.karte .ort:nth-of-type(2) circle.w{animation-delay:.7s}.karte .ort:nth-of-type(3) circle.w{animation-delay:1.4s}.karte .ort:nth-of-type(4) circle.w{animation-delay:2.1s}
.karte text{fill:#F2F2F2;font-size:17px;font-weight:600;font-family:inherit}
@keyframes fl{to{stroke-dashoffset:-26}}
@keyframes pu{0%{opacity:.95;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
@media (prefers-reduced-motion:reduce){.karte .netz,.karte .ort circle.w{animation:none}}
.zahlen{background:#f6f6f7;border-bottom:1px solid var(--linie)}
.zahlen .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.zahl{padding:26px 22px 24px;border-left:1px solid var(--linie)} .zahl:first-child{border-left:0;padding-left:0}
.zahl b{display:block;white-space:nowrap;font-size:clamp(26px,2.9vw,36px);line-height:1.05;font-weight:700;letter-spacing:-.01em}
.zahl:nth-child(1) b{color:var(--blau)} .zahl:nth-child(2) b{color:var(--rot)} .zahl:nth-child(4) b{color:var(--rot)}
.zahl span{display:block;margin-top:8px;font-size:14.5px;color:var(--leise);line-height:1.4}
.person .wrap{display:grid;grid-template-columns:160px 1fr;gap:32px;align-items:center}
.foto{width:160px;height:160px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 4px #fff,0 0 0 5px var(--linie)}
@media (max-width:860px){
 .auftritt .wrap{grid-template-columns:1fr;gap:0} .karte{margin:-10px -30px -30px}
 .auftritt h1{font-size:clamp(30px,9vw,44px)}
 .zahl b{font-size:26px}
 .zahlen .wrap{grid-template-columns:1fr 1fr}
 .zahl{padding:20px 14px}.zahl:nth-child(3){border-left:0;padding-left:0}.zahl:nth-child(n+3){border-top:1px solid var(--linie)}
 .person .wrap{grid-template-columns:96px 1fr;gap:18px}.foto{width:96px;height:96px}
}

@media (max-width:860px){
 header.kopf .wrap{height:64px} .marke svg{height:32px}
 nav.haupt{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid var(--linie);flex-direction:column;align-items:flex-start;padding:12px 20px 18px;gap:12px;z-index:5}
 nav.haupt.offen{display:flex}
 header.kopf{position:relative}
 .menuknopf{display:block;background:none;border:1px solid var(--linie);border-radius:3px;font:inherit;font-size:14px;padding:6px 12px}
 .reihe{grid-template-columns:1fr}
 .feld{border-left:0;padding:0 0 34px}
 .auftritt .wrap{padding-top:48px;padding-bottom:52px}
 .auftritt .bild{right:-120px;width:340px;opacity:.12}
}

.seite{padding:0 0 10px}
.kopfband{background:#0b0b0c;color:#fff;padding:58px 0 54px}
.kopfband .marker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#bdbdbd;margin:0 0 10px}
.kopfband h1{font-size:clamp(32px,4.4vw,52px);line-height:1.08;margin:0;font-weight:650;letter-spacing:-.01em}
.kopfband .leit{font-size:clamp(19px,2.2vw,24px);margin:16px 0 0;color:#eaeaea}
.kopfband .leit::before{content:"";display:inline-block;width:28px;height:3px;background:var(--fb,var(--rot));vertical-align:middle;margin-right:12px;transform:translateY(-2px)}
.abschnitt{padding:52px 0 8px}
.abschnitt h2{font-size:clamp(23px,2.4vw,28px);margin:0 0 18px;padding-top:14px;border-top:3px solid var(--fb,var(--schwarz));display:inline-block;min-width:200px}
.abschnitt p.lead{font-size:clamp(18px,2vw,21px);line-height:1.55;max-width:860px;margin:0}
.abschnitt p{max-width:820px}
ol.schritte{list-style:none;counter-reset:s;margin:22px 0 0;padding:0;display:grid;gap:14px;max-width:880px}
ol.schritte li{counter-increment:s;position:relative;padding:16px 18px 16px 70px;background:#f6f6f7;border-radius:4px}
ol.schritte li::before{content:counter(s);position:absolute;left:18px;top:14px;width:36px;height:36px;border-radius:50%;background:var(--fb,var(--schwarz));color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
ol.schritte li b{display:block;font-size:18px;margin-bottom:3px}
.grafik{width:100%;border:0;height:760px;display:block;margin-top:10px}
.fach{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px;max-width:960px}
.fach div{border-top:3px solid var(--schwarz);padding-top:12px}
.fach b{display:block;font-size:18px;margin-bottom:6px}
.fach ul{margin:0;padding-left:18px;color:#333}.fach li{margin:4px 0}
.leute{display:grid;grid-template-columns:160px 1fr;gap:32px;align-items:center;margin-top:12px}
.leute .titel{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--leise);margin:0 0 8px}
.leute b{font-size:21px;display:block}
.brücke{background:#f6f6f7;border-left:4px solid var(--blau);padding:22px 26px;margin-top:6px;max-width:900px}
.brücke a{color:var(--blau);font-weight:600}
.adresse{font-size:18px;line-height:1.6}
.karteband{background:#0b0b0c;margin-top:28px;padding:20px 0}
.karteband .karte{max-width:760px;margin:0 auto}
.recht h2{font-size:20px;border-top:0;padding-top:0;min-width:0;margin:28px 0 6px}
.recht p{margin:0 0 6px}
nav.haupt a[aria-current]{color:var(--blau);font-weight:600}
@media (max-width:860px){.fach{grid-template-columns:1fr}.leute{grid-template-columns:96px 1fr;gap:18px}.grafik{height:1100px}ol.schritte li{padding-left:62px}}

.wende{display:grid;grid-template-columns:repeat(3,1fr);position:relative;margin-top:26px}
.wende::before{content:"";position:absolute;left:16.6%;right:16.6%;top:38px;height:3px;background:#e6e6e8}
.wende::after{content:"";position:absolute;left:16.6%;top:38px;height:3px;width:0;background:var(--blau);animation:laufw 5s ease-in-out infinite}
@keyframes laufw{0%{width:0}75%{width:66.8%}100%{width:66.8%}}
.wpunkt{text-align:center;position:relative;z-index:1;text-decoration:none;color:var(--text);padding:0 8px}
.wpunkt .kreis{width:78px;height:78px;border-radius:50%;background:#fff;border:3px solid var(--schwarz);margin:0 auto;display:flex;align-items:center;justify-content:center;transition:transform .25s,border-color .25s}
.wpunkt .kreis svg{width:44px;height:44px;fill:none;stroke:var(--schwarz);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.wpunkt:hover .kreis,.wpunkt:focus-visible .kreis{border-color:var(--blau);transform:scale(1.07)}
.wpunkt:hover .kreis svg{stroke:var(--blau)}
.wpunkt .nr{display:block;font-size:12px;letter-spacing:.14em;color:var(--leise);margin-top:12px}
.wpunkt b{display:block;font-size:20px;margin-top:2px}
.wpunkt .pfeil{display:inline-block;margin-top:8px;width:30px;height:30px;line-height:28px;border:1.5px solid var(--linie);border-radius:50%;color:var(--blau);font-weight:700;transition:border-color .2s}
.wpunkt:hover .pfeil{border-color:var(--blau)}
.pg[data-key=commerce] .sprung a.an{background:var(--blau);border-color:var(--blau)}
.karte9.blau{border-top-color:var(--blau)}
.karte9.blau .kopf9 i{color:var(--blau)}
.karte9.blau.blink{box-shadow:0 0 0 3px rgba(46,115,181,.35)}
.karte9 ul.fragen{margin:0;padding:0;list-style:none}
.karte9 ul.fragen li{position:relative;padding-left:20px;margin:3px 0;font-size:15.5px;line-height:1.45;font-style:italic}
.karte9 ul.fragen li::before{content:"?";position:absolute;left:0;top:0;font-style:normal;font-weight:700;color:var(--blau)}
.anker{scroll-margin-top:70px}
.marken{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0 4px}
.marken figure{margin:0;background:#fff;border:1px solid var(--linie);border-radius:4px;padding:14px 18px;display:flex;align-items:center;justify-content:center}
.marken img{height:52px;width:auto;display:block}
@media (max-width:700px){
 .wende{grid-template-columns:1fr;gap:16px}
 .wende::before{left:39px;right:auto;top:12px;bottom:12px;width:3px;height:auto}
 .wende::after{display:none}
 .wpunkt{display:grid;grid-template-columns:78px 1fr auto;gap:14px;text-align:left;align-items:center}
 .wpunkt .nr{margin-top:0}
 .wpunkt .pfeil{margin-top:0}
 .marken figure{flex:1 1 100%;padding:10px 12px}
 .marken img{height:40px}
}
@media (prefers-reduced-motion:reduce){.wende::after{animation:none;width:66.8%}}

.weg{margin-top:12px;position:relative}
.weg .band{background:linear-gradient(90deg,rgba(219,41,29,.10),rgba(219,41,29,.16));border:1.5px dashed rgba(219,41,29,.55);border-radius:6px;padding:9px 14px;font-weight:650;font-size:15px;color:#8e1a12;display:flex;align-items:center;gap:10px;text-decoration:none}
.weg .band span{font-weight:400;color:#6b4844}
.weg .band:hover{background:rgba(219,41,29,.18)}
.stationen{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin-top:22px}
.stationen::before{content:"";position:absolute;left:10%;right:10%;top:34px;height:3px;background:#e6e6e8}
.stationen::after{content:"";position:absolute;left:10%;top:34px;height:3px;width:0;background:var(--rot);animation:lauf 6s ease-in-out infinite}
@keyframes lauf{0%{width:0}80%{width:80%}100%{width:80%}}
.station{text-align:center;position:relative;z-index:1;padding:0 6px}
.station .kreis{width:70px;height:70px;border-radius:50%;background:#fff;border:3px solid var(--schwarz);margin:0 auto;display:flex;align-items:center;justify-content:center;transition:transform .25s,border-color .25s}
.station .kreis svg{width:40px;height:40px;fill:none;stroke:var(--schwarz);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.station:hover .kreis,.station.an .kreis{border-color:var(--rot);transform:scale(1.07)}
.station .nr{display:block;font-size:12px;letter-spacing:.14em;color:var(--leise);margin-top:10px}
.station b{display:block;font-size:19px;margin-top:2px}
.station .chips{display:flex;flex-direction:column;gap:6px;margin-top:10px;align-items:center}
.chip{display:inline-block;font-size:14px;text-decoration:none;border:1.5px solid var(--linie);border-radius:30px;padding:4px 12px;background:#fff;color:var(--text)}
.chip:hover{border-color:var(--rot);color:var(--rot)}
.sprung{position:sticky;top:0;z-index:4;background:rgba(255,255,255,.96);border-bottom:1px solid var(--linie);padding:10px 0;margin-top:36px}
.sprung .wrap{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.sprung .wrap::-webkit-scrollbar{display:none}
.sprung a{flex:none;font-size:14px;font-weight:600;text-decoration:none;border:1.5px solid var(--linie);border-radius:30px;padding:4px 12px;color:var(--text)}
.sprung a.an{background:var(--schwarz);border-color:var(--schwarz);color:#fff}
.karten{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.karte9{display:flex;flex-direction:column;border:1px solid var(--linie);border-top:4px solid var(--rot);border-radius:4px;padding:20px 20px 18px;background:#fff;scroll-margin-top:70px;transition:box-shadow .3s}
.karte9.blink{box-shadow:0 0 0 3px rgba(219,41,29,.35)}
.karte9 .kopf9{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.karte9 .kopf9 i{font-style:normal;font-weight:700;color:var(--rot);font-size:15px}
.karte9 h3{margin:0;font-size:19px;line-height:1.25}
.karte9 .stn{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--leise);display:block;margin:-6px 0 12px}
.karte9 .teil{margin:0 0 12px}
.karte9 .teil small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--leise);margin-bottom:3px}
.karte9 .teil p{margin:0;font-size:15.5px;line-height:1.5}
.karte9 .teil.nutzen{background:#f6f6f7;border-radius:3px;padding:10px 12px;margin:auto 0 0}
.karte9 .teil.nutzen p{font-weight:600}
.karte9.steuer{border-top-color:#8e1a12;background:linear-gradient(180deg,rgba(219,41,29,.05),#fff 40%)}
@media (max-width:980px){.karten{grid-template-columns:1fr 1fr}}
@media (max-width:700px){
 .stationen{grid-template-columns:1fr;gap:18px}
 .stationen::before{left:34px;right:auto;top:10px;bottom:10px;width:3px;height:auto}
 .stationen::after{display:none}
 .station{display:grid;grid-template-columns:70px 1fr;gap:14px;text-align:left;align-items:start}
 .station .chips{align-items:flex-start;flex-direction:row;flex-wrap:wrap;margin-top:6px}
 .station .nr{margin-top:6px}
 .karten{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.stationen::after{animation:none;width:80%}}

.wege2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.weg2{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:start;text-decoration:none;color:var(--text);border:1.5px solid var(--linie);border-radius:6px;padding:20px;background:#fff;transition:border-color .2s,box-shadow .2s}
.weg2:hover,.weg2:focus-visible{border-color:var(--schwarz);box-shadow:0 4px 16px rgba(0,0,0,.08)}
.weg2 .kreis{width:72px;height:72px;border-radius:50%;border:3px solid var(--schwarz);display:flex;align-items:center;justify-content:center}
.weg2 .kreis svg{width:42px;height:42px;fill:none;stroke:var(--schwarz);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.weg2 .nr{display:block;font-size:12px;letter-spacing:.14em;color:var(--leise)}
.weg2 b{display:block;font-size:21px;margin:2px 0 6px}
.weg2 p{margin:0;font-size:16.5px;line-height:1.5}
.weg2 .pfeil{display:inline-block;margin-top:10px;font-weight:650;font-size:15px}
.pg[data-key=gutachten] .sprung a.an{background:var(--schwarz);border-color:var(--schwarz);color:#fff}
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.wegkarte{border:1px solid var(--linie);border-top:4px solid var(--schwarz);border-radius:4px;padding:22px 22px 18px;background:#fff;scroll-margin-top:70px;transition:box-shadow .3s}
.wegkarte.blink{box-shadow:0 0 0 3px rgba(0,0,0,.25)}
.wegkarte .kopf9{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.wegkarte .kopf9 svg{width:34px;height:34px;fill:none;stroke:var(--schwarz);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.wegkarte h2{border:0;padding:0;margin:0;min-width:0;font-size:24px}
.wegkarte > p{margin:0 0 16px;font-size:16.5px;line-height:1.55}
.zeit{list-style:none;margin:0;padding:0;position:relative}
.zeit::before{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:2px;background:#d9d9dc}
.zeit li{position:relative;padding:0 0 16px 54px;min-height:36px}
.zeit li:last-child{padding-bottom:0}
.zeit li .p{position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--schwarz);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.zeit li b{display:block;font-size:17px;margin:6px 0 2px}
.zeit li span.t{display:block;font-size:15.5px;line-height:1.5;color:#333}
.fachraster{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:8px}
.fgruppe .gk{display:flex;align-items:baseline;gap:12px;border-bottom:3px solid var(--schwarz);padding-bottom:8px;margin-bottom:12px}
.fgruppe .gk i{font-style:normal;font-size:30px;font-weight:700;line-height:1}
.fgruppe .gk b{font-size:18px}
.fkacheln{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fkachel{background:#f6f6f7;border-radius:4px;padding:12px 14px}
.fkachel small{display:block;font-size:12.5px;letter-spacing:.08em;color:var(--leise);font-weight:600}
.fkachel span{display:block;font-size:15.5px;line-height:1.4;margin-top:3px}
.fkachel.breit{grid-column:1/-1}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
.begleit{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;border:1px solid var(--linie);border-radius:4px;padding:20px;background:#fff;scroll-margin-top:70px}
.begleit img{width:120px;height:120px;border-radius:50%;object-fit:cover}
.begleit .titel{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--leise);margin:0 0 6px}
.begleit b{display:block;font-size:19px;line-height:1.3;margin-bottom:8px}
.begleit p{margin:0;font-size:15.5px;line-height:1.5}
@media (max-width:860px){.wege2,.zwei,.fachraster,.duo{grid-template-columns:1fr}}
@media (max-width:520px){.weg2{grid-template-columns:56px 1fr;padding:16px}.weg2 .kreis{width:56px;height:56px}.weg2 .kreis svg{width:32px;height:32px}.fkacheln{grid-template-columns:1fr}.begleit{grid-template-columns:84px 1fr;padding:16px}.begleit img{width:84px;height:84px}}
.weiter9{margin:12px 0 0;font-size:15px}.weiter9 a{color:var(--text);font-weight:600}
