:root{--red:#ee232a;--dark:#1b2532;--green:#6fa821;--gray:#f6f6f8;--line:#e6e6ea;--txt:#23272e;--ink:#3a4250}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--txt);line-height:1.6;background:#fff}
a{color:inherit;text-decoration:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 22px}
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--green);color:#fff;font-weight:600;padding:13px 24px;border-radius:8px;border:0;cursor:pointer;font-size:15px}
.btn-red{background:var(--red)}.btn-out{background:#fff;color:var(--red);border:2px solid var(--red)}
/* Variante 2: graue Info-Leiste oben + weiße Hauptzeile — KOMPLETT sticky */
.site-header{position:sticky;top:0;z-index:50}
.utilbar{background:#f6f6f8;border-bottom:1px solid var(--line)}
.utilbar .wrap{display:flex;align-items:center;min-height:38px;padding-top:2px;padding-bottom:2px}
.utilbar .usps{display:flex;gap:20px;font-size:12px;color:#8a9099;font-weight:500;flex-wrap:wrap}
.utilbar .usps span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.utilbar .usps i{font-size:10px;color:inherit}
.utilbar .utilmail{margin-left:auto;color:#8a9099;font-size:12.5px;white-space:nowrap}
.utilbar .utilmail:hover{color:var(--red)}
.navbar{position:relative;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.navbar .wrap{display:flex;align-items:center;gap:18px;padding-top:7px;padding-bottom:7px}
.navbar img.logo{height:58px}
nav.main{display:flex;gap:4px;flex-wrap:nowrap;font-weight:600;font-size:15px;white-space:nowrap;align-items:center;margin:0 auto}
nav.main>a,nav.main .mi>a{padding:8px 12px;border-radius:7px;display:inline-flex;align-items:center;gap:6px;color:var(--txt)}
nav.main>a:hover,nav.main .mi:hover>a{color:var(--red);background:var(--gray)}
nav.main .mi{position:relative}
nav.main .mi>a i{font-size:10px;transition:.2s}
nav.main .mi:hover>a i{transform:rotate(180deg)}
nav.main .dd{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 36px rgba(0,0,0,.14);min-width:218px;padding:8px;display:none;flex-direction:column;z-index:60}
nav.main .mi:hover .dd{display:flex}
nav.main .navbar .wrap,header.navbar .wrap{position:relative}
nav.main .dd.ddmega{display:none;column-count:4;column-gap:22px;padding:20px 22px;min-width:0;width:820px;max-width:calc(100vw - 40px);left:50%;transform:translateX(-50%);right:auto}
nav.main .mi:hover .dd.ddmega{display:block}
nav.main .dd.ddmega.ddmega-u{column-count:2;column-gap:24px;width:auto;min-width:360px;max-width:440px;left:0;transform:none;padding:16px 20px}
nav.main .ddmega .ddmega-col{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;display:flex;flex-direction:column;margin-bottom:14px}
nav.main .ddmega .ddmega-h{font-weight:800;color:#1a1f29;font-size:12.5px;padding:6px 9px;margin-bottom:4px;background:#f1f3f6;border-radius:5px;white-space:normal;line-height:1.25}
nav.main .ddmega .ddmega-col a:not(.ddmega-h){padding:3px 8px;font-size:12px;font-weight:500;color:#3a3f47;line-height:1.3;white-space:normal}
nav.main .ddmega .ddmega-col a:not(.ddmega-h):hover{background:var(--gray);color:var(--red)}
@media(max-width:1023px){nav.main .dd.ddmega{column-count:1;width:auto;max-width:none;left:0;transform:none;padding:0 0 8px 18px}nav.main .ddmega .ddmega-h{border-bottom:0;margin-top:8px}}
.ddmega .ddmega-col{display:flex;flex-direction:column;min-width:0}
nav.main .ddmega .ddmega-h{font-weight:800;color:#1a1f29;font-size:12.5px;padding:6px 9px;margin-bottom:4px;background:#f1f3f6;border-radius:5px;white-space:normal;line-height:1.25}
nav.main .ddmega .ddmega-col a:not(.ddmega-h){padding:4px 8px;font-size:12px;font-weight:500;color:#3a3f47;line-height:1.3}
nav.main .ddmega .ddmega-col a:not(.ddmega-h):hover{background:var(--gray);color:var(--red)}
nav.main .dd a{padding:9px 12px;border-radius:7px;font-weight:500;color:var(--txt)}
nav.main .dd a:hover{background:var(--gray);color:var(--red)}
.contact{margin-left:58px;display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.1}
.tel{position:relative;font-weight:800;color:var(--red);font-size:25px;line-height:1.1;white-space:nowrap}
.tel i{position:absolute;right:100%;margin-right:9px;top:50%;transform:translateY(-50%);font-size:21px}
.mailline{color:#9aa0a8;font-size:13px;white-space:nowrap;margin-top:2px;text-align:center}.mailline:hover{color:var(--red)}
.hero{position:relative;color:#fff;background:linear-gradient(rgba(15,22,33,.80),rgba(15,22,33,.84)),url('https://neu-west.com/wp-content/uploads/2022/08/SANIERUNG-Altbausanierung-3-1536x768.png') center/cover}
.hero .wrap{display:grid;grid-template-columns:1.25fr .95fr;gap:46px;padding:60px 20px 68px;align-items:center}
.hero .eyebrow{color:#ffd2d3;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:14px}
.hero h1{font-size:52px;line-height:1.06;margin:10px 0 22px;font-weight:800}
.hero ul{list-style:none;display:flex;flex-direction:column;gap:13px;margin-top:6px;font-size:17px}
.hero li{display:flex;align-items:center;gap:12px}.hero li i{color:var(--green);font-size:20px}
/* Formular wie Original: Icon-Auswahlraster */
.card{background:#fff;color:var(--txt);border-radius:14px;padding:22px;box-shadow:0 22px 55px rgba(0,0,0,.28)}
.card h3{font-size:19px;text-align:center}
.card .sub{color:#888;font-size:13px;text-align:center;margin-bottom:14px}
.workgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
.work{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 4px;text-align:center;cursor:pointer;position:relative;transition:.15s}
.work:hover{border-color:#c7ccd4}
.work i{font-size:23px;color:var(--ink)}
.work span{display:block;font-size:11.5px;margin-top:7px;font-weight:600;color:#555}
.work.on{border-color:var(--red);box-shadow:0 0 0 2px rgba(238,35,42,.14)}
.work.on>i,.work.on>span{color:var(--red)}
.work .badge{position:absolute;top:-10px;right:-10px;background:var(--green);width:28px;height:28px;border-radius:50%;display:none;place-items:center;border:2px solid #fff;box-shadow:0 3px 7px rgba(0,0,0,.2)}
.work .badge i{color:#fff;font-size:11px}
.work.on .badge{display:grid}
.angebot-form .row{display:flex;gap:9px}
.angebot-form input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;margin-bottom:10px;font-size:14px;font-family:inherit}
.angebot-form .chk{font-size:12.5px;color:#777;display:block;width:100%;text-align:left;margin:10px 0 12px;line-height:1.45}
.angebot-form .chk a{color:var(--red);text-decoration:underline}
.angebot-form .chk input{width:auto;margin:0 8px 0 0;vertical-align:middle;display:inline-block}
.card .btn{width:100%;justify-content:center;font-size:16px;padding:13px}
.card h4{font-size:13.5px;font-weight:700;margin:14px 0 8px;color:#333}
.addr2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.angebot-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;margin-bottom:10px;min-height:78px;resize:vertical}
.angebot-form select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;margin-bottom:10px;background:#fff}
.angebot-form h4{font-size:13.5px;font-weight:700;margin:14px 0 8px;color:#333;text-align:left}
.dropzone{border:2px dashed var(--line);border-radius:10px;padding:16px;color:#999;font-size:12.5px;margin-bottom:6px;display:flex;gap:12px;align-items:center;justify-content:center;text-align:center}
.dropzone i{font-size:22px;color:#bbb}
.objgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:8px}
.objgrid .work{padding:10px 2px}.objgrid .work i{font-size:18px}.objgrid .work span{font-size:10px;margin-top:5px}
.objgrid .work .badge{width:24px;height:24px;top:-8px;right:-8px}
.more{display:none}.more.show{display:block;animation:fadein .3s ease}
@keyframes fadein{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.angebot-form .formTitle{font-size:19px;font-weight:700;text-align:center;color:var(--ink);margin-bottom:2px}
.angebot-form .fsub{color:#888;font-size:12.5px;text-align:center;margin-bottom:14px}
/* Google Places Dropdown über allem */
.pac-container{z-index:9999}
section{padding:64px 0}section.alt{background:var(--gray)}
h2{font-size:33px;line-height:1.15;margin-bottom:18px;font-weight:800}
.lead{font-size:18px;color:#444;max-width:850px}.muted{color:#555}
/* Leistungsumfang: zweispaltig Text + Checkliste */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
.checklist{list-style:none;display:flex;flex-direction:column;gap:16px}
.checklist li{display:flex;gap:14px;align-items:flex-start;font-size:17px}
.checklist li i{color:var(--green);font-size:22px;margin-top:2px}
.checklist b{display:block}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
/* Leistungen Icon-Kacheln (sauber, größer) */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:34px}
.tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 18px;text-align:center;transition:.2s}
.tile:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.09);border-color:#fff}
.tile .ic{width:64px;height:64px;border-radius:50%;background:#fdeaea;color:var(--red);display:grid;place-items:center;margin:0 auto 14px;font-size:26px}
.tile h3{font-size:18px;margin-bottom:4px}.tile p{color:#777;font-size:13px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}.two img{width:100%;border-radius:12px}
details{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}
summary{cursor:pointer;padding:16px 20px;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;align-items:center}
summary::-webkit-details-marker{display:none}
summary i{color:var(--red);transition:.2s}details[open] summary i{transform:rotate(45deg)}
details .a{padding:0 20px 18px;color:#555}
.revs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:30px}
.rev{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}
.stars{color:#f5a623;font-size:16px;margin-bottom:10px}.rev .who{font-weight:700;margin-top:12px}
.cta{background:var(--red);color:#fff;text-align:center;padding:54px 20px}.cta h2{color:#fff}.cta .btn{background:#fff;color:var(--red);margin-top:8px}
/* Footer in NEUWEST-Dunkelgrau (Logo-Farbe), 3 Spalten, Formular mittig prominent */
.site-footer{background:#2b2c30;color:#b3b8c0;font-size:14px}
.foot-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:66px;padding:56px 22px;align-items:start}
.site-footer h4{color:#fff;font-size:16px;margin-bottom:14px}
.fmut{color:#9298a1;margin:12px 0;line-height:1.6;font-size:13px}
.fcontact{display:flex;align-items:center;gap:11px;color:#e3e6eb;margin-bottom:4px;font-weight:700;font-size:18px}
.fcontact.tel-big{font-size:21px}
.fcontact i{color:var(--red);width:20px;text-align:center;font-size:17px}.fcontact:hover{color:#fff}
.flinks{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.flinks a{color:#b3b8c0}.flinks a:hover{color:#fff;padding-left:3px;transition:.15s}
.loc{display:flex;gap:10px;margin-bottom:11px;color:#b3b8c0;line-height:1.4;font-size:13.5px}
.loc i{color:var(--red);margin-top:3px}
.fform-col{display:flex;justify-content:center}
.fform-col .card{width:100%;max-width:460px}
.fform{background:#fff;border-radius:14px;padding:24px;color:var(--ink);width:100%;max-width:380px;box-shadow:0 18px 44px rgba(0,0,0,.32)}
.fform h4{color:var(--ink);margin-bottom:4px;text-align:center}
.fform .fsub{color:#888;font-size:12.5px;margin-bottom:14px;text-align:center}
.fform .workgrid{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}
.fform .work{padding:9px 2px}.fform .work i{font-size:17px}.fform .work span{font-size:9.5px;margin-top:4px}
.fform input{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:7px;margin-bottom:9px;font-size:14px;font-family:inherit}
.fform .btn{width:100%;justify-content:center}
.foot-logos{border-top:1px solid rgba(255,255,255,.09)}
.foot-logos .wrap{display:flex;flex-wrap:nowrap;gap:16px;align-items:center;justify-content:space-between;padding:13px 22px}
.foot-logos img{height:46px;width:auto;max-width:118px;object-fit:contain;filter:brightness(0) invert(1);opacity:.6;transition:.2s}
.foot-logos img:hover{opacity:1}
.foot-copy{background:#1f2023;color:#868c95;font-size:12.5px}
.foot-copy .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:space-between;padding:16px 22px}
.foot-copy a{color:#9aa0a8}.foot-copy a:hover{color:#fff}
@media(max-width:900px){.foot-top{grid-template-columns:1fr}.fform{max-width:100%}}
/* Content-Seiten (generierte Seiten) */
.page-hero{background:#f6f6f8;border-bottom:1px solid var(--line);padding:34px 0}
.page-hero h1{font-size:38px;line-height:1.12;margin:6px 0 0;color:var(--ink)}
.breadcrumb{font-size:13px;color:#8a9099}.breadcrumb a{color:#8a9099}.breadcrumb a:hover{color:var(--red)}
.page-body{padding:48px 0;font-size:16.5px;line-height:1.7;color:#33373d}
.page-body .wrap{max-width:1000px}
.page-body div,.page-body span,.page-body section{font-size:inherit}
.page-body h2{font-size:27px;margin:34px 0 14px;line-height:1.2}
.page-body h3{font-size:21px;margin:26px 0 10px}
.page-body h4{font-size:17px;margin:20px 0 8px}
.page-body p{margin:0 0 16px;font-size:17px;color:#33373d;line-height:1.75}
.page-body ul,.page-body ol{margin:0 0 18px 22px;font-size:17px;line-height:1.75}
.page-body li{margin-bottom:8px}
.page-body img{max-width:100%;height:auto;border-radius:10px;margin:20px 0;display:block}
.page-body figure{margin:20px 0}
.page-body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}
.page-body td,.page-body th{border:1px solid var(--line);padding:9px 12px;text-align:left}
.page-body th{background:#f6f6f8}
.page-body a{color:var(--red);text-decoration:underline}
.page-body blockquote{border-left:4px solid var(--red);margin:18px 0;padding:6px 0 6px 18px;color:#555;font-style:italic}
.badge-fix{position:fixed;left:14px;bottom:14px;background:#111;color:#fff;font-size:12px;padding:8px 12px;border-radius:8px;opacity:.85;z-index:99}
@media(max-width:900px){.hero .wrap,.two,.split,footer .cols{grid-template-columns:1fr}.hero h1{font-size:38px}nav.main{display:none}}
.hero2{position:relative;overflow:hidden;color:#fff}.hslides{position:absolute;inset:0;z-index:0}.hslide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease}.hslide.on{opacity:1}
.hero2:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(16,23,34,.34),rgba(16,23,34,.46));z-index:1}
.hero2 .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center;padding:62px 24px}
.hero2 .eyebrow{color:#fff;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.hero2 .hbig{font-size:54px;line-height:1.22;font-weight:900;margin:10px 0 22px;letter-spacing:-.5px}
.hero2 .hbig span{color:#fff;background:linear-gradient(rgba(238,35,42,.92),rgba(238,35,42,.92)) no-repeat 0 50%;background-size:100% 1.12em;padding:0 9px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero2 .hb{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;font-size:15.5px;margin-bottom:20px;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.hero2 .hb li{display:flex;gap:9px;align-items:flex-start}.hero2 .hb li i{color:#fff;margin-top:3px}
.hctas{display:flex;gap:12px;flex-wrap:wrap}.btn.ghost{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.5);color:#fff}
@media(max-width:900px){.hero2 .hero-grid{grid-template-columns:1fr;padding:38px 18px}.hero2 .hbig{font-size:38px}.hero2 .hb{grid-template-columns:1fr}}
.logoband{background:#eef0f3;border-bottom:1px solid var(--line)}
.logoband .wrap{display:flex;flex-wrap:nowrap;align-items:center;gap:16px;padding:18px 24px}
.logoband img{flex:1 1 0;min-width:0;max-height:56px;width:100%;height:auto;object-fit:contain;transition:.2s}.logoband img:hover{transform:scale(1.06)}
@media(max-width:760px){.logoband .wrap{flex-wrap:wrap;justify-content:center;gap:16px 22px;overflow:visible}.logoband img{flex:0 0 auto;width:auto;max-height:40px}}
.site-header nav.main{margin:0 0 0 auto}
.utilbar .util-right{display:flex;align-items:center;gap:16px;margin-left:auto}
.utilbar .util-right .utilmail{margin-left:0}
.site-header .tel{background:var(--red);color:#fff;padding:6px 13px;border-radius:0;font-size:24px;font-weight:800;line-height:1.1}
.site-header .tel i{position:static;transform:none;margin:0 9px 0 0;color:#fff;font-size:19px}
.intro-sec{padding:64px 0}
.intro-wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:start}
.intro-2x2{display:grid;grid-template-columns:1fr 1fr;gap:48px 50px;align-items:start}
.intro-2x2 .iq{min-width:0}
.intro-2x2 .ref-block{margin-top:0}
.intro-2x2 .intro-text h1{font-size:34px;margin-bottom:16px}
.intro-2x2 .intro-text p{margin-bottom:11px}
@media(max-width:900px){.intro-2x2{grid-template-columns:1fr}}
.intro-text .eyebrow2{color:var(--red);font-weight:700;text-transform:uppercase;letter-spacing:.6px;font-size:13px;margin-bottom:10px}
.intro-text h1{font-size:40px;line-height:1.15;margin-bottom:20px;color:var(--ink);letter-spacing:-.3px}
.intro-text p{color:#4a4f57;line-height:1.78;margin-bottom:12px;font-size:16px}
.intro-text p strong{color:var(--ink);font-weight:700}
.intro-stats{display:flex;flex-wrap:wrap;gap:14px 30px;margin:22px 0 24px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.intro-stats .stat b{font-size:26px;color:var(--red);display:block;line-height:1}.intro-stats .stat span{font-size:12.5px;color:#777}
.intro-text .btn{margin-top:4px}
.intro-media{position:relative}
.intro-media .vframe{position:relative;z-index:1;aspect-ratio:16/9;border-radius:0;background-size:cover;background-position:center;box-shadow:0 14px 36px rgba(0,0,0,.20);display:grid;place-items:center;cursor:pointer;overflow:hidden;border:0}
.intro-media .vframe:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(16,22,32,.10),rgba(16,22,32,.40))}
.intro-media .vplay{position:relative;z-index:1;width:84px;height:84px;border-radius:50%;background:var(--red);color:#fff;border:0;cursor:pointer;font-size:30px;box-shadow:0 8px 24px rgba(214,40,40,.6);transition:.2s}
.intro-media .vframe:hover .vplay{transform:scale(1.08)}
.intro-media .vbadge{position:absolute;z-index:1;bottom:14px;right:14px;background:rgba(0,0,0,.62);color:#fff;font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:20px;display:flex;gap:6px;align-items:center}.vbadge .fa-youtube{color:#ff3b3b}
.intro-media .vcap{margin-top:16px;color:#666;font-size:14px;display:flex;gap:8px;align-items:center;justify-content:center}.intro-media .vcap i{color:var(--red)}
@media(max-width:900px){.intro-wrap{grid-template-columns:1fr}.intro-text h1{font-size:31px}}
.foot-logos .wrap{gap:9px!important}.foot-logos img{height:58px!important;max-width:150px!important;opacity:.92!important}
@media(max-width:760px){.foot-logos .wrap{flex-wrap:wrap!important;justify-content:center;gap:14px 18px!important;overflow:visible}.foot-logos img{height:32px!important;flex:0 0 auto;width:auto}}
.ref-block{margin-top:18px}
.ref-head{font-size:13.5px;font-weight:700;color:#555;margin-bottom:10px;display:flex;gap:8px;align-items:center}.ref-head i{color:var(--red)}
.ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ref-tile{aspect-ratio:4/3;background-size:cover;background-position:center;cursor:pointer;transition:.15s;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.ref-tile:hover{transform:scale(1.05);box-shadow:0 8px 18px rgba(0,0,0,.22)}
.ref-more{margin-top:12px;font-size:13.5px;padding:9px 16px;background:#f1f2f4;color:var(--ink);border:1px solid var(--line)}.ref-more:hover{background:#e9ebee}
.lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:9999;place-items:center;cursor:zoom-out}.lb.on{display:grid}
.lb-stage{display:flex;flex-direction:column;align-items:center;max-width:92vw}
.lb img{max-width:88vw;max-height:74vh;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lb-cap{color:#fff;margin-top:14px;font-size:16px;font-weight:600;text-align:center;max-width:82vw}
.lb-more{margin-top:14px;background:var(--red);color:#fff;border:0}
.lb-arrow{position:fixed;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.45);color:#fff;font-size:22px;cursor:pointer;z-index:2}
.lb-arrow:hover{background:var(--red);border-color:var(--red)}.lb-prev{left:24px}.lb-next{right:24px}
.lb-close{position:absolute;top:16px;right:28px;color:#fff;font-size:44px;line-height:1;cursor:pointer;font-weight:300}
.wp-img{background-size:cover;background-position:center;border-radius:10px;min-height:200px}
.gw-group{margin-bottom:36px}.gw-h{font-size:21px;color:var(--red);border-bottom:2px solid var(--line);padding-bottom:8px;margin-bottom:18px}
.gcards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1040px){.gcards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.gcards{grid-template-columns:repeat(2,1fr);gap:12px}.gcard .gimg{height:120px}.gcard span{padding:6px 6px;font-size:11px;line-height:1.2}}
.gcard{display:block;border:0;border-radius:0;overflow:hidden;background:#fff;text-decoration:none;color:var(--ink);transition:.15s;box-shadow:0 2px 10px rgba(0,0,0,.10)}
.gcard:hover{box-shadow:0 8px 22px rgba(0,0,0,.10);transform:translateY(-2px)}.gcard .gimg{height:150px;background-size:cover;background-position:center}.gcard span{display:block;padding:8px 9px;font-weight:600;font-size:12.5px;line-height:1.25;overflow-wrap:break-word;word-break:break-word;hyphens:auto}
.wtabs{display:flex;gap:3px;margin-bottom:22px}
.wtab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#f1f3f6;border:0;padding:15px 14px 13px 28px;cursor:pointer;font-weight:600;color:#555;font-size:13.2px;line-height:1.2;text-align:center;transition:.15s;position:relative;clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%,15px 50%)}
.wtab:first-child{clip-path:polygon(0 0,calc(100% - 15px) 0,100% 50%,calc(100% - 15px) 100%,0 100%);padding-left:16px}
.wtab:hover{background:#e6e9ee}
.wtab i{font-size:20px}
.wpanel.wp-form.on .wp-formcell{align-self:stretch;display:flex;align-items:center;padding:0;background:var(--gray)}
.wpanel.wp-form.on .wp-formcell .card{width:100%;max-width:none;height:100%;border:0;border-left:1px solid var(--line);box-shadow:none;border-radius:0!important;display:flex;flex-direction:column;justify-content:center;background:#eef0f3}
.wpanel.wp-form.on .wp-formcell .angebot-form input,.wpanel.wp-form.on .wp-formcell .angebot-form textarea,.wpanel.wp-form.on .wp-formcell .angebot-form select{background:#fff}
.wpanel.wp-form.on .wp-formcell .work{background:#fff}
.wtab.on .wn{background:#fff;color:var(--red)}
@media(max-width:980px){.wtabs{flex-wrap:wrap}.wtab{flex:1 1 30%}}
@media(max-width:600px){.wtab{flex:1 1 45%;font-size:12px;padding:12px 10px 11px 24px}}
.wtab.done{background:#f3a6a9;color:#fff}.wtab.done i{color:#fff}
.wtab.on{background:var(--red);color:#fff}.wtab.on i{color:#fff}.wtab i{color:var(--red)}
.wpanel.wp-pic.on{padding:0;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;align-items:stretch}
.wpanel.wp-pic .wp-txt{padding:34px;align-self:center}
.wpanel.wp-pic .wp-cover{background-size:cover;background-position:center;min-height:320px}
@media(max-width:760px){.wpanel.wp-pic.on{grid-template-columns:1fr}.wpanel.wp-pic .wp-cover{min-height:220px}}
.hero2 ~ section{padding-top:100px;padding-bottom:100px}
/* flacher Stil: kein Border-Radius auf Boxen (Kreise/Icons bleiben) */
.gcard,.wpanel,.wtab,.grev,.grev-summary,.grev-badge,.intro-media .vframe,.ref-tile,.lb img,.dropzone,.cta,.wp-cover,.intro-media:after{border-radius:0!important}
.work,.objgrid .work,.angebot-form input,.angebot-form textarea,.angebot-form select{border-radius:8px!important}
.card.angebot-form{border-radius:14px!important;padding:30px!important}
.btn,.btn-red,.btn.ghost,.ref-more,.lb-more{border-radius:8px!important}
.navtoggle{display:none;background:none;border:0;font-size:26px;color:var(--ink);cursor:pointer;line-height:1;padding:4px 6px}
.hero2 .hbig{overflow-wrap:break-word;word-break:break-word}
@media(max-width:900px){
  .navtoggle{display:block;margin-left:auto}
  .utilbar .usps{display:none}
  .utilbar .wrap{justify-content:center;height:auto;min-height:0;padding:7px 14px}
  .utilbar .util-right{margin-left:0;gap:12px}
  .site-header .tel{font-size:18px;padding:5px 10px}.site-header .tel i{font-size:14px}
  .navbar .wrap{flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:12px}.navbar img.logo{height:44px}
  .utilbar .wrap{padding-top:9px;padding-bottom:9px}
  nav.main{order:3;flex-basis:100%;margin:0!important}
  nav.main.open{display:flex!important;flex-direction:column;align-items:stretch;gap:0;padding:6px 0;max-height:calc(100vh - 128px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  nav.main .mi{position:static}
  nav.main>a,nav.main .mi>a{padding:13px 6px;border-top:1px solid var(--line)}
  nav.main .mi>a{font-weight:700;font-size:15.5px;display:flex;width:100%;justify-content:space-between;align-items:center}
  nav.main .mi>a i{display:inline-block;font-size:13px;margin-left:auto;opacity:.6;transform:none}
  nav.main .dd{position:static;display:flex;flex-direction:column;box-shadow:none;border:0;min-width:0;padding:0 0 8px 18px}
  nav.main .dd a{padding:8px 6px;color:#555}
  .hero2 .hbig{font-size:38px}
  .grev-wrap{display:block}.grev-slider{width:100%;max-width:100%;overflow:hidden}.grev-arrow{display:none}.grev-summary{margin:0 auto 18px;max-width:340px}
}
@media(max-width:520px){.hero2 .hbig{font-size:31px}.hero2 .hbig span{padding:0 5px}}
.grev-slider{max-width:100%}.grev-track{max-width:100%}
html{overflow-x:clip}
body{padding:0!important}
.bwteaser{background:#eef0f3;padding:56px 0;border-top:1px solid var(--line)}
.bwt-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;flex-wrap:wrap}
.bwt-h{font-size:27px;font-weight:800;margin:0;color:var(--dark)}
.bwteaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.bwt-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px;text-decoration:none;color:var(--txt);transition:.15s;min-height:58px}
.bwt-item:hover{box-shadow:0 8px 18px rgba(0,0,0,.09);transform:translateY(-2px)}
.bwt-item img{width:56px;height:44px;object-fit:cover;border-radius:6px;flex:0 0 56px;background:#dde0e4}
.bwt-item span{font-size:12.3px;font-weight:600;line-height:1.28}
.bwt-btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.bwt-head .btn{white-space:nowrap}
.bwt-head .btn.ghost{background:#fff;color:var(--dark);border:1px solid #c9ccd2}
.bwt-head .btn.ghost:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
.bwt-dark{background:var(--dark);color:#fff;border:1px solid var(--dark)}
.bwt-dark:hover{background:#0f1620;color:#fff}
@media(max-width:980px){.bwteaser-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.bwteaser-grid{grid-template-columns:1fr}}
.site-footer{overflow-x:hidden}
.site-footer .fcontact i,.site-footer .loc i{color:#fff!important}
@media(max-width:760px){.foot-top>*{min-width:0;max-width:100%}.fcontact,.tel-big{white-space:normal;word-break:break-word}}
.wpanel{display:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 6px 22px rgba(0,0,0,.05)}.wpanel.on{display:block}
.wpanel h3{font-size:21px;margin-bottom:14px;display:flex;gap:10px;align-items:center}.wpanel h3 i{color:var(--red)}.wpanel p{color:#454a52;line-height:1.7;font-size:16px}
.wp-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.wp-call{margin-top:14px;font-weight:700;font-size:18px}.wp-call a{color:var(--red)}
.wpanel .card.angebot-form{box-shadow:none;border:1px solid var(--line)}
@media(max-width:760px){.wp-grid{grid-template-columns:1fr}}
.grev-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.grev-head h2{margin:0}
.grev-badge{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 16px}.grev-badge img{height:26px}.grev-badge b{font-size:22px}.grev-badge span{display:block;font-size:12px;color:#888}
.grev-track{display:flex;gap:18px;overflow-x:auto;padding:6px 2px 16px;scroll-snap-type:x mandatory;align-items:stretch;scrollbar-width:none;-ms-overflow-style:none}
.grev-track::-webkit-scrollbar{display:none}
.grev-headright{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.grev{min-width:330px;max-width:330px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.04);display:flex;flex-direction:column}
.grev-text{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;color:#444;font-size:14px;line-height:1.6;margin:0}
.grev-text.exp{-webkit-line-clamp:unset;overflow:visible}
.grev-more{align-self:flex-start;margin-top:8px;background:none;border:0;color:#1a73e8;font-size:13px;font-weight:600;cursor:pointer;padding:0}.grev-more:hover{text-decoration:underline}
.grev-top{display:flex;align-items:center;gap:11px;margin-bottom:10px}.gava{width:42px;height:42px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px}
.grev-top b{display:block;font-size:15px}.grev-top span{font-size:12.5px;color:#999}.glogo{margin-left:auto;height:22px}
.gstars{color:#fbbc04;margin-bottom:8px}.grev p{color:#444;font-size:14px;line-height:1.6}
.gava-img{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.grev-nav{display:flex;gap:8px}
.grev-wrap{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.grev-summary{flex:0 0 230px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 18px}
.grev-biz{font-weight:700;font-size:15px;line-height:1.3;margin-bottom:12px}.grev-biz span{font-weight:500;color:#777;font-size:13px}
.grev-avg b{font-size:42px;color:#fbbc04;font-weight:800;line-height:1}
.gstars.gbig{font-size:21px;margin:6px 0 8px}
.grev-powered{font-size:12px;color:#888;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}.grev-powered img{height:15px}
.grev-slider{position:relative;flex:1;min-width:0}
.grev-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-size:15px;box-shadow:0 3px 12px rgba(0,0,0,.14)}
.grev-arrow:hover{background:var(--red);color:#fff;border-color:var(--red)}
.grev-prev{left:-15px}.grev-next{right:-15px}
.grev-top b{color:#1a73e8}
@media(max-width:760px){.grev-summary{flex:1 1 100%}.grev-arrow{display:none}}
.gnav{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink);font-size:15px;transition:.15s}.gnav:hover{background:var(--red);color:#fff;border-color:var(--red)}
.gstars.inline{display:inline-flex}
/* === KOMPONENTEN-CSS (Daten -> feste Komponenten, eine Quelle) === */
html,body{overflow-x:clip;max-width:100%}
.sec{padding:54px 0}
.sec.alt{background:#f6f6f8}
.sec .wrap{max-width:1280px}
.sec h2{font-size:30px;line-height:1.2;margin:0 0 18px;color:var(--dark)}
.prose{font-size:17px;line-height:1.75;color:#33373d}
.prose h2{margin-top:0}
.prose p{margin:0 0 16px}
.prose a{color:var(--red);text-decoration:underline}
.prose a.btn{color:#fff;text-decoration:none}.prose a.btn-out{color:var(--red)}
.prose b,.prose strong{color:var(--ink)}
.proseimg{float:right;width:340px;max-width:42%;height:auto;border-radius:12px;margin:0 0 18px 28px}
/* schoene Listen (rote Marker) */
.checks{list-style:none;padding:0;margin:18px 0}
.checks li{position:relative;padding-left:30px;margin-bottom:11px;line-height:1.55;font-size:16.5px}
.checks li:before{content:"\f105";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--red);position:absolute;left:8px;top:1px;font-size:18px}
/* 2-Spalten-Intro (Text links, Checkliste rechts) */
.introsplit{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:start}
.introsplit .introtext{font-size:17px;line-height:1.75;color:#33373d}
.introsplit .introtext p{margin:0 0 16px}
.introsplit .introlist{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px 28px}
.introsplit .introlist .checks{margin:0}
.introsplit .introlist h2{font-size:21px;line-height:1.25;margin:0 0 14px;color:var(--dark)}
.introsplit .introlist .checks{margin:0 0 4px}
.introsplit .introlist p{margin:14px 0 0;font-size:15.5px;line-height:1.65;color:#4a5059}
.introsplit .introtext .introh1{font-size:30px;line-height:1.2;margin:0 0 18px;color:var(--dark)}
.subtitle{color:var(--red);font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:10px;margin:0 0 12px;line-height:1.35}
.subtitle:before{content:"";width:26px;height:2px;background:var(--red);flex:0 0 auto}
.introbtns{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.btn-dark{background:var(--dark);color:#fff}
.introsplit .introtext .introh1{font-size:32px;line-height:1.15;margin:0 0 18px;color:var(--dark)}
.splitsec{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}.refsec .subtitle,.refsec h2{justify-content:flex-start}.refintro{max-width:760px;font-size:16.5px;line-height:1.7;color:#33373d;margin:0 0 26px}.refhead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:6px}.refhead-l{min-width:0}.refmore{flex:0 0 auto;white-space:nowrap}.refcarousel{position:relative;width:100%;margin-top:30px}.refviewport{overflow:hidden;width:100%}.refgrid{display:flex;flex-wrap:nowrap;gap:16px;will-change:transform}.refgrid .gcard{flex:0 0 300px;width:300px}.refnav{position:absolute;top:100px;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(20,28,40,.62);color:#fff;border:0;font-size:19px;cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center;transition:background .15s;box-shadow:0 4px 14px rgba(0,0,0,.28)}.refnav:hover{background:rgba(20,28,40,.92)}.refprev{left:24px}.refnext{right:24px}.refgrid .gcard{cursor:zoom-in;display:block;background:#fff;text-decoration:none;color:var(--ink);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.10);transition:.15s}.refgrid .gcard:hover{box-shadow:0 10px 24px rgba(0,0,0,.16);transform:translateY(-3px)}.refgrid .gcard img{width:100%;height:200px;object-fit:cover;display:block}.refgrid .gcard span{display:block;padding:10px 12px;font-weight:600;font-size:14px;text-align:center}@media(max-width:600px){.refgrid .gcard{flex-basis:240px;width:240px}.refgrid .gcard img{height:165px}.refnav{top:82px;width:44px;height:44px;font-size:16px}.refprev{left:12px}.refnext{right:12px}}@media(max-width:820px){.splitsec{gap:30px}}.splitsec .splittext h2{margin-top:0}.splitsec .splittext p{font-size:16.5px;line-height:1.7;color:#33373d;margin:0 0 14px}.splitsec .splitimg{height:100%}.splitsec .splitimg img{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:14px;display:block}.splitsec .splitform .angebot-form{margin:0;width:100%}@media(max-width:820px){.splitsec{grid-template-columns:1fr;gap:26px}.splitsec .splitimg img{min-height:240px}}
@media(max-width:820px){.introsplit{grid-template-columns:1fr;gap:22px}.proseimg{float:none;width:100%;max-width:100%;margin:0 0 18px}}
/* Galerie-Raster */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.gcard{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:.15s}
.gcard:hover{box-shadow:0 10px 24px rgba(0,0,0,.1);transform:translateY(-2px)}
.gcard img{display:block;width:100%;height:160px;object-fit:cover}
.gcard span{display:block;padding:9px 12px;font-size:13.5px;font-weight:600}
/* Galerie-Sektion dunkel (wie Original) */
.gallerysec{background:#2b2c30}
.gallerysec h2{color:#fff}
.gallerysec h3{font-size:24px;line-height:1.2;margin:0 0 16px;color:#fff}
.sec .prose h3{font-size:24px;line-height:1.2;margin:0 0 14px;color:var(--dark)}
.gallerysec .gcard{background:#34353a;border-color:#3f4046;color:#e3e6eb}
.gallerysec .gcard span{color:#e3e6eb}
/* Inhaltsverzeichnis (TOC) */
.toc{background:#f6f6f8;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:20px 26px}
.toc-h{font-weight:800;font-size:17px;color:var(--dark);margin-bottom:10px}
.toc ul{list-style:none;padding:0;margin:0;columns:2;column-gap:40px}
.toc li{margin-bottom:8px;break-inside:avoid}
.toc a{color:var(--ink);text-decoration:none;font-size:15px}
.toc a:hover{color:var(--red)}
@media(max-width:700px){.toc ul{columns:1}}
/* Video-Embed responsive */
.videowrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;max-width:900px;margin:0 auto}
.videowrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

.tocvid{position:relative;overflow:hidden;background:var(--red);color:#fff}
.hero2 ~ .tocvid{padding-top:30px;padding-bottom:30px}
.tocvid-media{position:absolute;top:0;left:50%;right:0;bottom:0;background-size:cover;background-position:center;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);cursor:pointer}
.tocvid-media.playing{clip-path:none;background:#000}
.tocvid-media.tocvid-float{position:fixed;top:124px;right:20px;left:auto;width:min(370px,44vw);height:auto;aspect-ratio:16/9;clip-path:none!important;z-index:9998;border-radius:10px;overflow:hidden;box-shadow:0 14px 46px rgba(0,0,0,.48);background:#000}
.tocvid-fclose{position:absolute;top:5px;right:5px;z-index:6;width:27px;height:27px;border:0;border-radius:50%;background:rgba(0,0,0,.62);color:#fff;font-size:19px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.tocvid-fclose:hover{background:var(--red)}
.tocvid-cap{position:absolute;right:0;bottom:0;z-index:4;background:var(--red);color:#fff;padding:9px 18px 10px 30px;text-align:right;pointer-events:none;clip-path:polygon(14px 0,100% 0,100% 100%,0 100%);max-width:78%}
.tocvid-cap-t{display:block;font-weight:800;font-size:15.5px;line-height:1.25}
.tocvid-cap-s{display:block;font-size:10.5px;font-weight:500;opacity:.92;margin-top:2px}
.tocvid-play{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;padding-left:5px;box-shadow:0 0 0 9px rgba(255,255,255,.35);z-index:3;transition:transform .2s}
.tocvid-media:hover .tocvid-play{transform:translate(-50%,-50%) scale(1.08)}
.tocvid-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:22px 22px;pointer-events:none}
.tocvid-left{width:50%;padding-right:38px;box-sizing:border-box;pointer-events:auto}
.tocvid .toc-h{color:#fff;font-size:25px;font-weight:800;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.toc-list{list-style:none;padding:0;margin:0}
.toc-list li{display:flex;gap:10px;margin-bottom:9px;line-height:1.4;font-size:16px}
.toc-list li .n{flex:0 0 auto;font-weight:700;min-width:30px}
.toc-list li.sub{padding-left:26px;font-size:15px}
.toc-list li.sub .n{min-width:34px;opacity:.9}
.toc-list a{color:#fff;text-decoration:none}
.toc-list a:hover{text-decoration:underline}
@media(max-width:860px){.tocvid-media{position:relative;left:auto;width:100%;clip-path:none;height:230px}.tocvid-play{left:50%;top:50%}.tocvid-inner{padding:30px 22px}.tocvid-left{width:100%;padding-right:0}}
/* Kontakt & Infos Sektion */
.contactsec{background:#f6f6f8}
.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:start}
.contactinfo h2{margin-top:0}
.contactinfo p{font-size:16.5px;line-height:1.7;color:#444;margin-bottom:18px}
.contactinfo a,.ci-loc{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--ink);margin-bottom:8px;text-decoration:none}
.contactinfo a:hover{color:var(--red)}
.contactinfo i{color:var(--red);width:22px;text-align:center}
.ci-loc{font-weight:500;font-size:15px;color:#555}
@media(max-width:820px){.contactgrid{grid-template-columns:1fr;gap:24px}}
/* FAQ-Akkordeon */
.faqs details{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}
.faqs summary{cursor:pointer;padding:15px 18px;font-weight:700;font-size:17px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary i{color:var(--red);transition:.2s}
.faqs details[open] summary i{transform:rotate(45deg)}
.faqs .faq-a{padding:0 18px 16px;color:#555;font-size:16px;line-height:1.7}
.faqs .faq-a a{color:var(--red)}
/* Tabellen */
.prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}
.prose td,.prose th{border:1px solid var(--line);padding:9px 12px;text-align:left}
.prose th{background:#f6f6f8}
/* Hero-Form mobil nicht ueberlaufen */
@media(max-width:900px){.hero2 .hero-grid{grid-template-columns:1fr}.card.angebot-form{max-width:100%}}
.work{min-width:0}
/* Gewerke-Block dunkel (nur Leistung-Seiten) */
#gewerke.gewerke-dark{background:#333}
.gewerke-dark h2{color:#fff}
.gewerke-dark .lead{color:#c5cad2}
.gewerke-dark .gw-h{color:#fff;border-bottom-color:rgba(255,255,255,.16)}
#gewerke .gcard{border:0}
.costtable{width:100%;border-collapse:collapse;margin:18px 0;font-size:16px}.costtable th,.costtable td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line)}.costtable th{background:var(--gray);font-weight:700}.costtable td:last-child{white-space:nowrap;font-weight:600;text-align:right}.costnote{font-size:14.5px;color:#666;margin-top:10px}

/* === Erweiterte Content-Bloecke === */
.nw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
@media(max-width:820px){.nw-steps{grid-template-columns:1fr}}
.nw-step{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 16px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.nw-step-n{flex:0 0 38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:18px}
.nw-step-b h3{margin:.1em 0 .3em;font-size:17px}.nw-step-b p{margin:0;font-size:15px;line-height:1.55;color:#444}
.nw-compare-wrap{overflow-x:auto}
.nw-compare{width:100%;border-collapse:collapse;margin-top:10px;font-size:15.5px}
.nw-compare th,.nw-compare td{padding:11px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}
.nw-compare thead th{background:var(--dark);color:#fff}
.nw-compare tbody th{background:var(--gray);font-weight:700;white-space:nowrap}
.nw-calc{background:linear-gradient(135deg,#1b2532,#2b3a4f);color:#fff;border-radius:16px;padding:30px 28px;box-shadow:0 14px 40px rgba(0,0,0,.2)}
.nw-calc h2{color:#fff;margin-top:.2em}.nw-calc .subtitle{color:#ff6b70}.nw-calc>p{color:#c5cad2}
.nw-calc-grid{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}
.nw-calc-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#c5cad2}
.nw-calc-grid input{width:170px;padding:11px 13px;border-radius:9px;border:0;font-size:17px;font-weight:700;color:#1b2532}
.nw-calc-out{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:6px}
@media(max-width:640px){.nw-calc-out{grid-template-columns:1fr}}
.nw-calc-res{background:rgba(255,255,255,.08);border-radius:12px;padding:16px;text-align:center}
.nw-calc-res span{display:block;font-size:25px;font-weight:800;color:#fff}
.nw-calc-res small{color:#aeb6c2;font-size:13px}
.nw-r-total-box{background:var(--red)}.nw-r-total-box small{color:#ffd9da}
.nw-calc-note{margin-top:18px;font-size:14px;color:#c5cad2;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.btn-sm{padding:8px 14px;font-size:14px}
.nw-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.nw-info{display:flex;gap:14px;padding:18px;border-radius:12px;border-left:4px solid #888;background:var(--gray)}
.nw-info i{font-size:22px;margin-top:2px}.nw-info h3{margin:0 0 .3em;font-size:16px}.nw-info p{margin:0;font-size:15px;line-height:1.55;color:#444}
.nw-info-tip{border-left-color:var(--green)}.nw-info-tip i{color:var(--green)}
.nw-info-warn{border-left-color:#e8a400}.nw-info-warn i{color:#e8a400}
.nw-info-info{border-left-color:var(--red)}.nw-info-info i{color:var(--red)}
.nw-cl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:8px}
.nw-cl{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;text-decoration:none;color:var(--ink);font-weight:600;transition:.15s}
.nw-cl:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}.nw-cl i{color:var(--red)}

.nw-uses{list-style:none;padding:0;margin:14px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:700px){.nw-uses{grid-template-columns:1fr}}
.nw-uses li{display:flex;gap:10px;font-size:16px;line-height:1.5}.nw-uses i{color:var(--green);margin-top:3px}
.nw-incl-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:12px}
@media(max-width:700px){.nw-incl-grid{grid-template-columns:1fr}}
.nw-incl,.nw-excl{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.nw-incl h3,.nw-excl h3{margin:.1em 0 .5em;font-size:17px;display:flex;align-items:center;gap:8px}
.nw-incl h3 i{color:var(--green)}.nw-excl h3 i{color:#9aa0a8}
.nw-incl ul,.nw-excl ul{list-style:none;padding:0;margin:0}
.nw-incl li,.nw-excl li{display:flex;gap:9px;padding:6px 0;font-size:15.5px;line-height:1.45;border-bottom:1px solid #f0f0f3}
.nw-incl li i{color:var(--green)}.nw-excl li i{color:#c2c6cd}

.nw-aud-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:14px}
@media(max-width:760px){.nw-aud-grid{grid-template-columns:1fr}}
.nw-aud-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:12px;padding:18px 20px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.nw-aud-h{font-weight:800;font-size:16.5px;margin-bottom:.4em;display:flex;align-items:center;gap:9px;color:var(--dark)}
.nw-aud-h i{color:var(--red)}
.nw-aud-card p{margin:0;font-size:15.5px;line-height:1.6;color:#3a4250}

.nw-tabs{margin-top:14px}
.nw-tab-btns{display:flex;flex-wrap:wrap;gap:8px;border-bottom:2px solid var(--line);margin-bottom:18px}
.nw-tab-btn{background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:11px 16px;font-size:15.5px;font-weight:700;color:#6a727e;cursor:pointer;display:flex;align-items:center;gap:8px}
.nw-tab-btn i{color:#b8bdc6}
.nw-tab-btn.active{color:var(--red);border-bottom-color:var(--red)}.nw-tab-btn.active i{color:var(--red)}
.nw-tab-panel{display:none;font-size:16.5px;line-height:1.7;color:#33373d}.nw-tab-panel.active{display:block;animation:nwfade .25s}
@keyframes nwfade{from{opacity:0;transform:translateY(4px)}to{opacity:1}}
.nw-checkbox{background:var(--gray);border:1px solid var(--line);border-radius:16px;padding:28px}
.nw-chk-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
@media(max-width:700px){.nw-chk-list{grid-template-columns:1fr}}
.nw-chk{display:flex;gap:11px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;cursor:pointer;font-size:15.5px;line-height:1.4}
.nw-chk input{margin-top:3px;width:18px;height:18px;accent-color:var(--red);flex:0 0 auto}
.nw-chk-result{display:none;background:#fff;border-left:4px solid var(--red);border-radius:8px;padding:14px 18px;margin-bottom:16px;font-size:16px;font-weight:600;color:var(--dark)}
.nw-chk-result.show{display:block;animation:nwfade .25s}

.nw-finder{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}
.nw-fnd-q{margin:.4em 0 .2em}
.nw-fnd-opts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.nw-fnd-opt{background:var(--gray);border:2px solid var(--line);border-radius:30px;padding:10px 20px;font-size:15px;font-weight:600;color:#3a4250;cursor:pointer;transition:.15s}
.nw-fnd-opt:hover{border-color:var(--red)}
.nw-fnd-opt.active{background:var(--red);border-color:var(--red);color:#fff}
.nw-fnd-res{display:none;border-left:4px solid var(--red);background:var(--gray);border-radius:8px;padding:16px 20px;font-size:16px;line-height:1.65;color:#33373d}
.nw-fnd-res.active{display:block;animation:nwfade .25s}

.nw-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:760px){.nw-facts{grid-template-columns:repeat(2,1fr)}}
.nw-fact{background:var(--dark);color:#fff;border-radius:14px;padding:22px 18px;text-align:center}
.nw-fact-v{display:block;font-size:30px;font-weight:800;color:#fff;line-height:1.1}
.nw-fact-l{display:block;margin-top:6px;font-size:14px;color:#aeb6c2}
.nw-var-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:14px}
.nw-var{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:12px;padding:18px 20px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.nw-var h3{margin:.1em 0 .4em;font-size:17px}.nw-var p{margin:0;font-size:15px;line-height:1.55;color:#444}

.nw-diagram{max-width:560px;margin:16px auto 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.nw-layer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.6)}
.nw-layer:last-child{border-bottom:0}
.nw-layer-name{font-weight:700;color:#1b2532;font-size:15.5px}
.nw-layer-note{font-size:13px;color:#43505f;text-align:right}
.nw-barchart{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.nw-bar-row{display:grid;grid-template-columns:200px 1fr;gap:14px;align-items:center}
@media(max-width:700px){.nw-bar-row{grid-template-columns:1fr;gap:4px}}
.nw-bar-l{font-size:14.5px;font-weight:600;color:#33373d}
.nw-bar-track{background:#e3e8ee;border-radius:8px;overflow:hidden;height:34px}
.nw-bar-fill{background:linear-gradient(90deg,var(--red),#ff5a60);height:100%;display:flex;align-items:center;justify-content:flex-end;border-radius:8px;min-width:42px;transition:width .4s}
.nw-bar-fill span{color:#fff;font-weight:700;font-size:13.5px;padding-right:12px;white-space:nowrap}

.nw-timeline{list-style:none;display:flex;justify-content:space-between;gap:8px;margin:24px 0 0;padding:0;position:relative}
.nw-timeline:before{content:"";position:absolute;top:11px;left:5%;right:5%;height:3px;background:var(--line)}
.nw-tl-node{position:relative;flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px}
.nw-tl-dot{width:22px;height:22px;border-radius:50%;background:var(--red);border:4px solid #fff;box-shadow:0 0 0 2px var(--red);z-index:1}
.nw-tl-label{font-weight:700;font-size:14px;color:#1b2532;line-height:1.3}
.nw-tl-dur{font-size:12.5px;color:var(--red);font-weight:600}
@media(max-width:700px){.nw-timeline{flex-direction:column;gap:18px}.nw-timeline:before{top:5%;bottom:5%;left:10px;right:auto;width:3px;height:auto}.nw-tl-node{flex-direction:row;text-align:left;gap:12px}}

.nw-rng{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.nw-rng-row{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:center}
@media(max-width:700px){.nw-rng-row{grid-template-columns:1fr;gap:4px}}
.nw-rng-l{font-size:14.5px;font-weight:600;color:#33373d}
.nw-rng-track{position:relative;background:#e3e8ee;border-radius:8px;height:34px}
.nw-rng-seg{position:absolute;top:0;height:100%;background:linear-gradient(90deg,var(--red),#ff5a60);border-radius:8px;display:flex;align-items:center;justify-content:center;min-width:48px}
.nw-rng-seg span{color:#fff;font-weight:700;font-size:13px;white-space:nowrap;padding:0 8px}
.nw-matrix-wrap{overflow-x:auto;margin-top:10px}
.nw-matrix{width:100%;border-collapse:collapse;font-size:15px}
.nw-matrix th,.nw-matrix td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:center}
.nw-matrix thead th{background:var(--dark);color:#fff;font-size:14px}
.nw-matrix tbody th{background:var(--gray);text-align:left;font-weight:700;white-space:nowrap}
.nw-dots{display:inline-flex;gap:4px}
.nw-dot{width:11px;height:11px;border-radius:50%;background:#d4d9e0}
.nw-dot.on{background:var(--red)}

.proseflow{max-width:940px}.proseflow::after{content:"";display:table;clear:both}
.vidblock{position:relative;width:100%;max-width:820px;margin:0 auto;aspect-ratio:16/9;background-size:cover;background-position:center;border-radius:14px;cursor:pointer;box-shadow:0 8px 26px rgba(0,0,0,.18)}
.vidblock .tocvid-play{position:absolute;inset:0;margin:auto;width:74px;height:74px}
.vidcap{text-align:center;color:#6a727e;font-size:14px;margin-top:10px}
.nw-pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}
@media(max-width:700px){.nw-pc-grid{grid-template-columns:1fr}}
.nw-pc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.nw-pc h3{margin:.1em 0 .5em;font-size:16.5px;display:flex;align-items:center;gap:8px}
.nw-pc ul{list-style:none;padding:0;margin:0}
.nw-pc li{display:flex;gap:9px;padding:6px 0;font-size:15.5px;line-height:1.45;border-bottom:1px solid #f0f0f3}
.nw-pc-pro{border-top:3px solid var(--green)}.nw-pc-pro h3 i,.nw-pc-pro li i{color:var(--green)}
.nw-pc-con{border-top:3px solid #e8a400}.nw-pc-con h3 i,.nw-pc-con li i{color:#e8a400}
.nw-spec{width:100%;border-collapse:collapse;margin-top:10px;font-size:15.5px}
.nw-spec th,.nw-spec td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left}
.nw-spec th{background:var(--gray);font-weight:700;width:42%;white-space:nowrap}
.nw-quote{max-width:820px;margin:6px auto;background:var(--gray);border-left:4px solid var(--red);border-radius:10px;padding:22px 26px;position:relative}
.nw-quote i{color:var(--red);font-size:22px;opacity:.5}
.nw-quote p{font-size:18px;line-height:1.6;color:#23272e;margin:.3em 0 .4em;font-style:italic}
.nw-quote cite{color:#6a727e;font-size:14px;font-style:normal;font-weight:600}
.nw-anchor{position:relative;top:-90px;visibility:hidden}
.nw-figure{margin:0;text-align:center}
.nw-figure img{max-width:100%;border-radius:12px;box-shadow:0 6px 22px rgba(0,0,0,.12)}
.nw-figure.nw-fig-info img{max-width:560px;width:100%;border:1px solid var(--line)}
.nw-figure figcaption{margin-top:10px;font-size:14px;color:#6a727e}
.nw-fig-wide img{max-width:1000px}
.nw-fig-half img{max-width:480px}
.nw-float{float:right;width:44%;max-width:470px;margin:4px 0 16px 30px}
.nw-float-left{float:left;margin:4px 30px 16px 0}
.nw-float img{width:100%;border-radius:12px;box-shadow:0 6px 22px rgba(0,0,0,.12)}
@media(max-width:760px){.nw-float,.nw-float-left{float:none;width:100%;max-width:100%;margin:0 0 16px}}
/* Illustrations-Duo: Erklaer-Grafik 50% neben Text, Bild VOLLSTAENDIG (kein Crop) */
.splitsec.ill-duo{align-items:center}
.splitsec.ill-duo .splitill{margin:0}
.splitsec.ill-duo .splitill img{width:100%;height:auto;min-height:0;object-fit:contain;border-radius:14px;box-shadow:0 6px 22px rgba(0,0,0,.12);display:block}
@media(max-width:820px){.splitsec.ill-duo{grid-template-columns:1fr;gap:22px}}/* Wissens-Check (Quiz) */
.nw-quiz{background:#fff;border:1px solid #e6e8ec;border-radius:16px;padding:30px 32px;box-shadow:0 2px 14px rgba(0,0,0,.05)}
.nw-quiz-item{padding:18px 0;border-top:1px solid #eef0f3}.nw-quiz-item:first-of-type{border-top:0}
.nw-quiz-q{margin:0 0 12px;font-size:16.5px;color:#1b2532}
.nw-quiz-opts{display:flex;flex-wrap:wrap;gap:10px}
.nw-quiz-opt{border:1.5px solid #d7dbe1;background:#fff;color:#2a3138;border-radius:9px;padding:9px 16px;font-size:15px;cursor:pointer;transition:.15s}
.nw-quiz-opt:hover{border-color:#b9c0c9;background:#f7f8fa}
.nw-quiz-item.answered .nw-quiz-opt{cursor:default}
.nw-quiz-opt.correct{border-color:#18a558;background:#e9f7ef;color:#14794067;color:#0f7a3f;font-weight:600}
.nw-quiz-opt.wrong{border-color:#e0413b;background:#fceceb;color:#c5302b}
.nw-quiz-exp{max-height:0;overflow:hidden;opacity:0;transition:.3s;color:#33373d;font-size:15px;line-height:1.6;margin-top:0}
.nw-quiz-exp.show{max-height:300px;opacity:1;margin-top:14px;padding:12px 16px;background:#f4f6f8;border-left:3px solid var(--red,#ee232a);border-radius:0 8px 8px 0}
/* Schieberegler */
.nw-slider{background:#fff;border:1px solid #e6e8ec;border-radius:16px;padding:30px 32px;box-shadow:0 2px 14px rgba(0,0,0,.05)}
.nw-sld-head{display:flex;align-items:baseline;gap:10px;margin:18px 0 6px}
.nw-sld-label{font-weight:600;color:#1b2532}
.nw-sld-val{font-size:22px;font-weight:800;color:var(--red,#ee232a)}
.nw-sld-range{width:100%;accent-color:var(--red,#ee232a);height:6px;cursor:pointer}
.nw-sld-result{margin-top:16px;padding:14px 18px;background:#f4f6f8;border-left:3px solid var(--red,#ee232a);border-radius:0 8px 8px 0;color:#33373d;font-size:15.5px;line-height:1.6;min-height:24px}/* Checkliste Fortschritt */
.nw-chk-bar{height:8px;background:#eceef1;border-radius:6px;overflow:hidden;margin:6px 0 8px}
.nw-chk-fill{height:100%;width:0;background:var(--red,#ee232a);transition:width .25s ease}
.nw-chk-count{font-weight:700;color:#1b2532;font-size:14.5px;margin-bottom:14px}/* Text 50% neben beliebigem Element (interaktiv) in der anderen Haelfte */
.splitsec.elem-duo{align-items:center}
.splitsec.elem-duo .splitcomp{min-width:0}
.splitsec.elem-duo .splitcomp .nw-calc,.splitsec.elem-duo .splitcomp .nw-finder,.splitsec.elem-duo .splitcomp .nw-quiz,.splitsec.elem-duo .splitcomp .nw-slider,.splitsec.elem-duo .splitcomp .nw-checkbox{margin:0;padding:24px 22px}
@media(max-width:820px){.splitsec.elem-duo{grid-template-columns:1fr;gap:22px}}
/* Leistungs-Silo: Untergruppen-Überschrift + geplante Kacheln */
.gw-ug{font-size:12.5px;font-weight:700;color:#6a727c;margin:16px 0 9px;text-transform:uppercase;letter-spacing:.04em}
.gcard.plan{opacity:.6;border:1px dashed #c3c7cd;box-shadow:none;cursor:default}
.gcard.plan .gimg{background:repeating-linear-gradient(45deg,#eceef1,#eceef1 7px,#e4e7ea 7px,#e4e7ea 14px);position:relative;display:flex;align-items:center;justify-content:center}
.gcard.plan .gimg:after{content:"geplant";font-size:10px;color:#99a;font-weight:600;letter-spacing:.05em}
.gcard.plan span{color:#8a9099}

/* Leistungs-Silo Ebene 1: Hauptbereich */
.hb-block{margin:0 0 8px}
.hb-h{font-size:23px;color:#1b2532;border-bottom:3px solid var(--red);padding-bottom:9px;margin:40px 0 20px;font-weight:800}
.hb-h a{color:inherit}.hb-h a:hover{color:var(--red)}

/* Gruppen-Vorschaubilder (Thumbnails in Überschriften) */
.gthumb{display:inline-block;width:42px;height:30px;border-radius:5px;background-size:cover;background-position:center;vertical-align:middle;margin-right:10px;background-color:#e9ebef;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.hb-h .gthumb{width:54px;height:38px}
.gthumb-plan{background:repeating-linear-gradient(45deg,#eceef1,#eceef1 6px,#e4e7ea 6px,#e4e7ea 12px)}

/* ===== FARB-HIERARCHIE LEISTUNGS-ÜBERSICHT (Gewerke) — minimalistisch, keine Linien ===== */
/* Hauptbereich = ROT, größte Schrift */
#gewerke .hb-block{margin:0 0 4px}
#gewerke .hb-h{background:var(--red);color:#fff;font-size:16px;font-weight:800;letter-spacing:.01em;border:0!important;border-radius:10px;padding:9px 15px;margin:26px 0 10px;display:flex;align-items:center;gap:10px}
#gewerke .hb-h a{color:#fff}
#gewerke .hb-h .gthumb{width:28px;height:28px;border-radius:6px;margin:0;box-shadow:none}
/* Gewerk = SCHWARZ, mittlere Schrift, inline */
#gewerke .gw-group{margin:0 0 6px;padding:0;background:transparent}
#gewerke .gw-h{background:#181d27;color:#fff;font-size:13px;font-weight:700;border:0!important;border-radius:8px;padding:5px 12px;margin:9px 0 0;display:inline-flex;align-items:center;gap:8px}
#gewerke .gw-h a{color:#fff}
#gewerke .gw-h .gthumb{width:20px;height:20px;border-radius:5px;margin:0;box-shadow:none}
/* Untergruppe = GRAU, kleine Schrift, inline */
#gewerke .gw-ug{background:#e7eaee;color:#3c424b;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:0;border-radius:6px;padding:3px 9px;margin:11px 0 9px;display:inline-block}
/* Leistungen = WEISS, rahmenlose Kacheln, erkennbare Bilder */
#gewerke .gcards{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:13px}
@media(max-width:640px){#gewerke .gcards{grid-template-columns:repeat(3,1fr);gap:10px}}
#gewerke .gcard{display:block;background:#fff;border:0!important;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.07);overflow:hidden;text-align:center;transition:transform .16s,box-shadow .16s}
#gewerke .gcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.13)}
#gewerke .gcard .gimg{height:82px;background-size:cover;background-position:center;background-color:#eef0f2;border-radius:0}
#gewerke .gcard span{display:block;padding:7px 7px 8px;font-size:11.5px;font-weight:600;line-height:1.2;color:#2a2f36;overflow-wrap:break-word;hyphens:auto;border:0}
#gewerke .gcard.plan{box-shadow:none;background:#f3f4f6}
#gewerke .gcard.plan .gimg{background:repeating-linear-gradient(45deg,#e9ebee,#e9ebee 6px,#e0e3e7 6px,#e0e3e7 12px)}
#gewerke .gcard.plan .gimg:after{content:""}
#gewerke .gcard.plan span{color:#a6acb4;font-weight:500}

/* Items: NUR Bild + Text (Blöcke nebeneinander) — kein Hintergrund/Border/Schatten */
#gewerke .gcard{background:transparent!important;box-shadow:none!important;border:0!important;border-radius:0;overflow:visible}
#gewerke .gcard:hover{transform:none!important;box-shadow:none!important}
#gewerke .gcard .gimg{border-radius:10px;box-shadow:0 1px 5px rgba(0,0,0,.09);transition:transform .15s,box-shadow .15s}
#gewerke .gcard:hover .gimg{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.14)}
#gewerke .gcard span{padding:7px 2px 0}
#gewerke .gcard.plan{background:transparent!important}
#gewerke .gcard.plan .gimg{box-shadow:none}

/* ===== ITEMS UNIFORM + INLINE-FLUSS (nebeneinander, Umbruch bei zu breit) ===== */
#gewerke .gcards{display:block!important;grid-template-columns:none!important;line-height:1.6}
#gewerke .gcard{display:inline!important;white-space:nowrap;margin:0 18px 11px 0;background:transparent!important;box-shadow:none!important;border:0!important}
#gewerke .gcard .gimg{display:inline-block;width:34px;height:34px;border-radius:6px;vertical-align:middle;margin-right:7px;background-size:cover;background-position:center;background-color:#eef0f2;box-shadow:0 1px 4px rgba(0,0,0,.10)}
#gewerke .gcard:hover .gimg{transform:none;box-shadow:0 2px 8px rgba(0,0,0,.16)}
#gewerke .gcard span{display:inline!important;font-size:12.5px;font-weight:600;vertical-align:middle;padding:0;color:#2a2f36;white-space:normal}
#gewerke .gcard.plan .gimg{box-shadow:none;background:repeating-linear-gradient(45deg,#e9ebee,#e9ebee 5px,#e0e3e7 5px,#e0e3e7 10px)}
#gewerke .gcard.plan span{color:#a6acb4;font-weight:500}

/* Item-Feinschliff: Bild links bündig OHNE Padding, Text direkt rechts daneben */
#gewerke .gcard{padding:0!important}
#gewerke .gcard .gimg{padding:0!important;margin:0 6px 0 0!important}
#gewerke .gcard span{margin:0!important}

.splitsec.ill-duo.dsplit-top{align-items:start}
.dsplit-rest{margin-top:24px}
.dsplit-rest p{font-size:16.5px;line-height:1.7;color:#33373d;margin:0 0 14px}

.nw-itool{background:linear-gradient(180deg,#fff,#f6f9fc);border:1px solid #e2e7ee;border-radius:14px;padding:18px 18px 16px;box-shadow:0 8px 26px rgba(20,30,50,.08)}
.nw-itool .it-head{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px;color:#1a1f29;margin-bottom:4px}
.nw-itool .it-head i{color:var(--red)}
.nw-itool .it-intro{font-size:13.5px;color:#5a616b;margin:0 0 13px;line-height:1.5}
.nw-itool .it-in{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.nw-itool .it-f{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:#39404a}
.nw-itool .it-f em{color:#8a919b;font-style:normal;font-weight:500}
.nw-itool .it-f input,.nw-itool .it-f select{padding:9px 11px;border:1px solid #d3d9e2;border-radius:8px;font-size:15px;background:#fff;font-weight:600;color:#1a1f29;width:100%}
.nw-itool .it-f input:focus,.nw-itool .it-f select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(238,35,42,.12)}
.nw-itool .it-out{display:flex;flex-direction:column;border-top:1px dashed #dbe0e8;padding-top:10px}
.nw-itool .it-o{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid #eef1f5}
.nw-itool .it-o:last-child{border-bottom:0}
.nw-itool .it-ol{font-size:13.5px;color:#4a515b;line-height:1.35}
.nw-itool .it-ov{font-size:19px;font-weight:800;color:var(--red);white-space:nowrap}
.nw-itool .it-note{font-size:11.5px;color:#9198a2;margin:11px 0 0;line-height:1.4}
.nw-itool .it-cta{display:block;text-align:center;margin-top:13px;background:var(--red);color:#fff;font-weight:700;padding:11px;border-radius:9px;text-decoration:none;font-size:14px}
.nw-itool .it-cta:hover{background:#c81e24}
.splitsec.dtool{align-items:stretch}
.splitsec.dtool .splittoolcol{height:auto;display:flex;align-items:flex-start}
.splitsec.dtool .splittoolcol .nw-itool{width:100%}

.dropzone,.dropzone *{cursor:pointer}
.dropzone{user-select:none;-webkit-user-select:none;transition:border-color .15s,background .15s,color .15s}
.dropzone:hover{border-color:#5b9bd5;background:rgba(91,155,213,.06);color:#5b9bd5}
.dropzone:hover i{color:#5b9bd5}
.dropzone.dz-drag{border-color:var(--red);background:rgba(238,35,42,.05)}
.dz-files{display:flex;flex-direction:column;gap:6px;margin:8px 0 2px}
.dz-file{display:flex;align-items:center;gap:8px;background:#f4f6f9;border:1px solid #e4e8ee;border-radius:7px;padding:7px 10px;font-size:13px;color:#39404a}
.dz-file i{color:var(--red)}
.dz-file span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dz-file .dz-x{border:0;background:0;color:#98a0ab;font-size:18px;cursor:pointer;line-height:1;padding:0 2px}
.dz-file .dz-x:hover{color:var(--red)}

/* iOS: kein Auto-Zoom beim Fokus -> Text-Inputs min. 16px auf Touch-Geraeten */
@media(max-width:1024px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}

/* ===== Fix: nw-tl-step-Timeline vertikal stapeln (kein Horizontal-Overflow, 133 Seiten) ===== */
.nw-timeline:has(.nw-tl-step){flex-direction:column;gap:20px}
.nw-timeline:has(.nw-tl-step):before{top:10px;bottom:10px;left:26px;right:auto;width:3px;height:auto}
.nw-tl-step{display:flex;gap:16px;align-items:flex-start;min-width:0;width:100%;position:relative}
.nw-tl-step>.nw-tl-content{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.nw-timeline:has(.nw-tl-step) .nw-tl-dot{flex:0 0 auto;width:auto;height:auto;min-width:56px;padding:7px 10px;border-radius:8px;box-shadow:none;border:0;color:#fff;background:var(--red);font-weight:800;font-size:13px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.nw-tl-step .bw-illu img{max-width:100%;height:auto}
@media(max-width:600px){.nw-tl-step{gap:11px}.nw-timeline:has(.nw-tl-step) .nw-tl-dot{min-width:46px;font-size:12px;padding:6px 7px}.nw-timeline:has(.nw-tl-step):before{left:22px}}
