﻿*{box-sizing:border-box}
:root{
--bg:#242a28;
--bg-deep:#1d2321;
--panel:#303735;
--panel-soft:#39413e;
--line:#4b5551;
--text:#f4f7f5;
--muted:#c6d0cb;
--accent:#f75e25;
--accent-soft:#ff8757;
--white:#ffffff;
--header-bg:rgba(29,35,33,.96);
--hero-overlay:linear-gradient(90deg,rgba(24,28,27,.98) 0%,rgba(24,28,27,.92) 34%,rgba(24,28,27,.70) 58%,rgba(24,28,27,.26) 100%);
--soft-border:rgba(255,255,255,.10);
--fs-large:52px;
--fs-medium:30px;
--fs-small:18px;
--fw-head:900;
--fw-text:500;
}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:var(--fs-small);background:var(--bg);color:var(--text);overflow-x:hidden}
body.theme-light{
--bg:#f4f1ec;
--bg-deep:#e7e1d8;
--panel:#ffffff;
--panel-soft:#f7f4ef;
--line:#d2c8bb;
--text:#1f2825;
--muted:#53615b;
--white:#18211f;
--header-bg:rgba(247,244,239,.96);
--hero-overlay:linear-gradient(90deg,rgba(244,241,236,.96) 0%,rgba(244,241,236,.90) 38%,rgba(244,241,236,.68) 62%,rgba(244,241,236,.30) 100%);
--soft-border:rgba(31,40,37,.14);
}
.wrap{max-width:1360px;margin:auto;padding:0 30px}

header{position:sticky;top:0;z-index:10;background:var(--header-bg);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.head{display:grid;grid-template-columns:264px max-content 1fr;grid-template-rows:auto auto;align-items:center;column-gap:0;row-gap:8px;min-height:172px;padding-top:10px;padding-bottom:10px}
.logo{grid-row:1 / 3;display:flex;align-items:center;justify-content:flex-start;width:264px}
.logo img{display:block;width:300px;height:148px;object-fit:contain;object-position:left center}
body.theme-light .logo{display:flex;align-items:center;justify-content:flex-start;background:#1d2321;border-radius:5px;padding:4px 8px}
nav{grid-column:2;display:flex;align-items:center;gap:12px;flex-wrap:nowrap;min-width:0}
nav a{color:var(--white);text-decoration:none;font-size:var(--fs-small);font-weight:var(--fw-head);text-transform:uppercase;letter-spacing:0;white-space:nowrap}
nav a:hover{color:var(--accent)}
.header-controls{grid-column:2;display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:8px}
.theme-toggle,.language-toggle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:32px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--text);font:var(--fw-head) var(--fs-small)/1 Arial,Helvetica,sans-serif;cursor:pointer}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.language-toggle{font-size:var(--fs-small);line-height:1}
.flag-icon{display:block;width:24px;height:16px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.flag-de{background:linear-gradient(to bottom,#111 0 33.33%,#dd0000 33.33% 66.66%,#ffce00 66.66% 100%)}
.flag-en{background:
linear-gradient(33deg,transparent 0 41%,#fff 41% 46%,#c8102e 46% 54%,#fff 54% 59%,transparent 59% 100%),
linear-gradient(147deg,transparent 0 41%,#fff 41% 46%,#c8102e 46% 54%,#fff 54% 59%,transparent 59% 100%),
linear-gradient(to right,transparent 0 42%,#fff 42% 46%,#c8102e 46% 54%,#fff 54% 58%,transparent 58% 100%),
linear-gradient(to bottom,transparent 0 35%,#fff 35% 42%,#c8102e 42% 58%,#fff 58% 65%,transparent 65% 100%),
#012169}
.theme-toggle.is-on,.language-toggle.is-on{background:var(--accent);color:#ffffff;border-color:var(--accent)}
.theme-toggle:hover,.language-toggle:hover{border-color:var(--accent-soft)}

.hero{position:relative;min-height:650px;padding:88px 0 70px;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:var(--hero-overlay),url("assets/Hero_Foerderanlage.png");background-size:cover;background-position:center;z-index:0}
.hero .wrap{position:relative;z-index:1}
.hero-content{max-width:860px}
h1,h2,h3,p{letter-spacing:0;hyphens:auto}
h1{font-size:var(--fs-large);line-height:1.12;margin:0 0 22px;color:var(--white);font-weight:var(--fw-head)}
.hero-cert{margin:0 0 28px;font-size:var(--fs-small);font-weight:var(--fw-head);line-height:1.5;color:var(--accent)}
.hero p:not(.hero-cert){max-width:760px;margin:0 0 18px;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6;color:var(--muted)}
.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:15px 70px;background:var(--accent);border:1px solid var(--accent);border-radius:5px;color:var(--white);font-size:var(--fs-medium);font-weight:var(--fw-head);text-decoration:none}
.button:hover{background:var(--accent-soft);border-color:var(--accent-soft)}

.section{padding:76px 0;border-top:1px solid var(--line)}
.section.compact{padding:58px 0}
.section h2{margin:0 0 24px;font-size:var(--fs-large);line-height:1.15;color:var(--white);font-weight:var(--fw-head)}
.section-intro{max-width:900px;margin:0 0 28px;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6;color:var(--muted)}
.kicker{margin:0 0 14px;font-size:var(--fs-small);font-weight:var(--fw-head);text-transform:uppercase;color:var(--accent)}

.target-list{display:grid;gap:14px;max-width:1050px}
.target-row{display:grid;grid-template-columns:82px 1fr;gap:24px;align-items:center;padding:26px 32px;background:var(--panel);border:1px solid var(--soft-border);border-left:4px solid var(--accent);border-radius:8px}
.target-row.highlight{background:var(--panel-soft)}
.target-row h3,.service-text h3{margin:0 0 8px;font-size:var(--fs-medium);line-height:1.25;font-weight:var(--fw-head);color:var(--white)}
.target-row p,.service-text p{margin:0;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6;color:var(--muted)}

.row{max-width:1050px;background:var(--panel);border:1px solid var(--soft-border);border-radius:8px;padding:28px 32px}
.highlight{background:var(--panel-soft);border-left:4px solid var(--accent)}
.service-panel{padding:38px 40px}
.service-list{display:flex;flex-direction:column;margin-top:16px}
.service-item{display:grid;grid-template-columns:70px 1fr;gap:30px;align-items:center;padding:26px 0;border-top:1px solid var(--soft-border)}
.service-item:first-child{border-top:0;padding-top:8px}
.icon-cell{display:flex;align-items:center;justify-content:center;width:70px;height:70px;color:var(--accent);border-right:0;padding-right:0}
.target-row .icon-cell{border-right:0;padding-right:0;width:58px;height:58px}
.icon-cell svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.target-row .icon-cell svg{width:48px;height:48px}
.service-note{max-width:1050px;margin:28px 0 0;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6;color:var(--muted)}
.service-note strong{color:var(--accent);text-transform:uppercase}

.process{counter-reset:step;display:grid;gap:18px;max-width:1050px}
.process-item{display:grid;grid-template-columns:64px 1fr;gap:22px;padding:30px 34px;background:var(--panel);border:1px solid var(--soft-border);border-left:4px solid var(--accent);border-radius:8px}
.process-item:before{counter-increment:step;content:counter(step);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--white);font-size:var(--fs-medium);font-weight:var(--fw-head)}
.process-item h3{margin:0 0 8px;font-size:var(--fs-medium);line-height:1.25;color:var(--white);font-weight:var(--fw-head)}
.process-item p{margin:0;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6;color:var(--muted)}

.fact-list{max-width:1050px;margin:0;padding:38px 42px;list-style:none;background:var(--panel-soft);border:1px solid var(--accent);border-left:8px solid var(--accent);border-radius:8px;box-shadow:0 18px 44px rgba(0,0,0,.20)}
.fact-list li{display:grid;grid-template-columns:250px 1fr;gap:22px;padding:19px 0;border-top:1px solid var(--soft-border);font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6}
.fact-list li:first-child{border-top:0;padding-top:0}
.fact-list strong{color:var(--accent);font-weight:var(--fw-head)}
.fact-list span{color:var(--muted)}
.fact-list a{color:var(--accent-soft);font-weight:900;text-decoration:none}
.fact-list a:hover{text-decoration:underline}
#qualifikation{background:var(--bg-deep)}
#qualifikation h2{max-width:1050px;padding-bottom:18px;border-bottom:3px solid var(--accent)}
#qualifikation .section-intro{max-width:1050px}

.content-page{background:var(--bg)}
.content-section{padding:76px 0;border-top:1px solid var(--line)}
.content-wrap{max-width:900px}
.content-title{margin:0 0 28px;padding-bottom:18px;border-bottom:3px solid var(--accent);font-size:var(--fs-large);line-height:1.15;color:var(--white);font-weight:var(--fw-head)}
.content-lead{margin:0 0 30px;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6;color:var(--muted)}
.content-panel{padding:38px 42px;background:var(--panel);border:1px solid var(--soft-border);border-left:4px solid var(--accent);border-radius:8px}
.content-panel p{margin:0 0 20px;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.65;color:var(--muted)}
.content-panel p:last-child{margin-bottom:0}
.content-back{display:inline-flex;margin-top:28px;color:var(--accent-soft);font-size:var(--fs-small);font-weight:var(--fw-head);text-decoration:none}
.content-back:hover{color:var(--accent);text-decoration:underline}

.contact-intro{max-width:900px;margin:0 0 34px;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6;color:var(--muted)}
.contact-box{max-width:900px;padding:42px;background:var(--panel);border:1px solid var(--soft-border);border-left:4px solid var(--accent);border-radius:8px}
.contact-note{margin:0 0 28px;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6;color:var(--muted)}
.contact-line{display:flex;align-items:center;gap:14px;margin:0 0 16px}
.phone-row{justify-content:space-between;gap:24px;flex-wrap:wrap}
.phone-left{display:flex;align-items:center;gap:14px;min-width:0}
.contact-line a:not(.contact-card-button){color:var(--white);font-size:var(--fs-medium);font-weight:var(--fw-head);text-decoration:none;white-space:nowrap}
.contact-line a:not(.contact-card-button):hover{color:var(--accent-soft)}
.contact-line .icon-cell{width:32px;height:32px;border-right:0;padding-right:0;flex:0 0 auto}
.contact-line .icon-cell svg{width:25px;height:25px}
.copy-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;background:transparent;color:var(--accent);cursor:pointer;font-size:var(--fs-small)}
.copy-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.copy-btn:hover{color:var(--accent-soft)}
.contact-address{margin:26px 0 28px;font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.6;color:var(--muted)}
.contact-card-button{display:inline-flex;align-items:center;justify-content:center;width:230px;height:46px;padding:12px 18px;background:var(--accent);border:1px solid var(--accent);border-radius:5px;color:var(--white);font-size:var(--fs-small);font-weight:var(--fw-head);text-align:center;text-decoration:none;white-space:nowrap}
.contact-card-button:hover{background:var(--accent-soft);border-color:var(--accent-soft)}

.footer{padding:26px 0;background:var(--bg-deep);border-top:1px solid var(--line);color:var(--muted)}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;font-size:var(--fs-small)}
.footer a{margin-left:18px;color:var(--accent);font-weight:var(--fw-head);text-decoration:none}
.footer a:hover{color:var(--accent-soft)}
.footer-cookie-button{margin-left:18px;padding:0;border:0;background:transparent;color:var(--accent);font:var(--fw-head) var(--fs-small)/1.4 Arial,Helvetica,sans-serif;cursor:pointer}
.footer-cookie-button:hover{color:var(--accent-soft)}

.legal-panel h2{margin:34px 0 12px;font-size:var(--fs-medium);line-height:1.25;color:var(--white)}
.legal-panel h2:first-child{margin-top:0}
.legal-panel h3{margin:24px 0 10px;font-size:var(--fs-small);line-height:1.4;color:var(--white)}
.legal-panel p,.legal-panel li{font-size:var(--fs-small);font-weight:var(--fw-text);line-height:1.65;color:var(--muted)}
.legal-panel p{margin:0 0 16px}
.legal-panel ul{margin:0 0 18px;padding-left:24px}
.legal-panel a{color:var(--accent-soft);font-weight:var(--fw-head);overflow-wrap:anywhere}
.legal-panel address{margin:0 0 18px;color:var(--muted);font-style:normal;font-size:var(--fs-small);line-height:1.65}

.cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;z-index:1000;left:0;right:0;bottom:0;padding:18px;background:rgba(13,17,16,.82);backdrop-filter:blur(8px)}
.cookie-banner__box{max-width:920px;margin:0 auto;padding:24px 26px;background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:8px;box-shadow:0 16px 48px rgba(0,0,0,.45)}
.cookie-banner__title{margin:0 0 10px;color:var(--white);font-size:24px;line-height:1.2;font-weight:var(--fw-head)}
.cookie-banner__title:focus{outline:none}
.cookie-banner__text{margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.cookie-banner__text a{color:var(--accent-soft);font-weight:var(--fw-head)}
.cookie-banner__actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}
.cookie-button{min-width:190px;min-height:48px;padding:12px 20px;border:2px solid var(--accent);border-radius:5px;font:var(--fw-head) 16px/1.2 Arial,Helvetica,sans-serif;cursor:pointer}
.cookie-button--necessary{background:transparent;color:var(--white)}
.cookie-button--accept{background:var(--accent);color:#fff}
.cookie-button:hover,.cookie-button:focus-visible{background:var(--accent-soft);border-color:var(--accent-soft);color:#fff;outline:2px solid #fff;outline-offset:2px}

@media(max-width:900px){
html{scroll-padding-top:145px}
.wrap{padding:0 24px}
.head{grid-template-columns:190px 1fr;grid-template-rows:auto auto;min-height:auto;align-items:center;padding-top:10px;padding-bottom:9px;column-gap:16px;row-gap:8px}
.logo{grid-column:1;grid-row:1;width:190px}
.logo img{width:190px;height:98px}
nav{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;overflow:visible;padding:3px 0 5px}
nav::-webkit-scrollbar{display:none}
nav a{min-width:0;text-align:center;font-size:12px;line-height:1;padding:9px 5px;border:1px solid var(--soft-border);border-radius:999px;background:rgba(255,255,255,.035)}
nav a[href="#kontakt"]{color:var(--accent);border-color:rgba(247,94,37,.55)}
.header-controls{grid-column:2;grid-row:1;justify-self:end;align-self:center;margin-left:0}
.hero{min-height:auto;padding:58px 0 52px}
.hero:before{background-position:center right 32%}
h1{max-width:760px}
.section{padding:58px 0}
.fact-list li{grid-template-columns:1fr;gap:4px}
}

@media(max-width:640px){
:root{--fs-large:30px;--fs-medium:23px;--fs-small:16px}
html{scroll-padding-top:126px}
.wrap{padding:0 18px}
header{position:sticky}
.head{grid-template-columns:128px 1fr;grid-template-rows:auto auto;align-items:center;min-height:auto;padding-top:8px;padding-bottom:7px;column-gap:12px;row-gap:7px}
.logo{grid-column:1;grid-row:1;width:128px}
.logo img{width:128px;height:72px}
body.theme-light .logo{padding:3px 5px}
.header-controls{grid-column:2;grid-row:1;width:auto;justify-self:end;align-self:center;gap:6px}
.theme-toggle,.language-toggle{width:40px;height:30px}
.theme-toggle svg{width:16px;height:16px}
.flag-icon{width:22px;height:15px}
nav{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:6px;overflow:visible;padding:2px 0 4px}
nav a{min-width:0;text-align:center;font-size:11px;padding:8px 4px;letter-spacing:0}
.hero{min-height:calc(100svh - 142px);padding:42px 0 34px}
.hero:before{background:linear-gradient(180deg,rgba(24,28,27,.88) 0%,rgba(24,28,27,.76) 42%,rgba(24,28,27,.90) 100%),url("assets/Hero_Foerderanlage.png");background-size:cover;background-position:center top}
.hero-content{max-width:100%}
h1{font-size:var(--fs-large);line-height:1.15;margin-bottom:18px;hyphens:none;overflow-wrap:normal}
.hero-cert{margin-bottom:22px;line-height:1.45}
.hero p{hyphens:none}
.hero p:not(.hero-cert){line-height:1.55;overflow-wrap:break-word}
.button-row{margin-top:26px}
.button{width:100%;min-height:52px;padding-left:18px;padding-right:18px;font-size:var(--fs-medium)}
.section h2{line-height:1.15}
.target-row,.service-item,.process-item{grid-template-columns:1fr}
.target-row,.row,.contact-box,.fact-list,.content-panel{padding:22px}
.service-panel{padding:24px 22px}
.service-item{gap:12px;padding:22px 0}
.icon-cell{justify-content:flex-start;width:auto;height:auto;border-right:0;padding-right:0}
.icon-cell svg{width:42px;height:42px}
.contact-line a{white-space:normal}
.contact-line,.phone-left{flex-wrap:wrap}
.contact-line a:not(.contact-card-button){overflow-wrap:anywhere}
.copy-btn{flex:0 0 34px}
.contact-card-button{width:100%}
.footer a{margin-left:0;margin-right:16px}
.footer-cookie-button{margin-left:0;margin-right:16px}
.cookie-banner{padding:10px}
.cookie-banner__box{padding:20px 18px}
.cookie-banner__actions{display:grid;grid-template-columns:1fr}
.cookie-button{width:100%;min-width:0}
}

@media(max-width:390px){
:root{--fs-large:28px;--fs-medium:21px;--fs-small:15px}
.wrap{padding:0 16px}
.head{grid-template-columns:116px 1fr}
.logo{width:116px}
.logo img{width:116px;height:66px}
nav a{font-size:10.5px;padding:8px 3px}
.hero{padding-top:40px}
}

