:root{
  --bg:#f6f3ee; --surface:#ffffff; --text:#1b2a33; --muted:#5b6b74;
  --deep:#161616; --water:#e01b1b; --koi:#d90f0f; --line:#e2ddd4;
  --radius:14px; --shadow:0 2px 10px rgba(14,58,79,.08);
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0f0f10; --surface:#1b1b1d; --text:#ececec; --muted:#a6a6a6; --line:#2c2c2f; --shadow:0 2px 12px rgba(0,0,0,.35); }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;display:flex;flex-direction:column;min-height:100vh}
a{color:var(--water)}
.wrap{width:100%;max-width:1100px;margin:0 auto;padding:0 16px}

/* Header */
header{background:var(--deep);color:#fff;position:sticky;top:0;z-index:10;border-bottom:3px solid var(--koi)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;font-size:1.35rem;letter-spacing:.5px}
.brand img{height:52px;width:auto}
.brand span b{color:var(--koi)}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{color:#dcdcdc;text-decoration:none;padding:8px 12px;border-radius:8px;font-size:.95rem}
nav a:hover{background:rgba(255,255,255,.08);color:#fff}
nav a.active{background:var(--koi);color:#fff}

/* Hero */
.hero{background:radial-gradient(ellipse at 80% 50%,#3a0a0a 0%,var(--deep) 60%);color:#fff;padding:40px 0 44px}
.hero-grid{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hero-logo{width:min(380px,100%);height:auto;filter:drop-shadow(0 6px 18px rgba(217,15,15,.35))}
.hero h1{margin:0 0 8px;font-size:clamp(1.6rem,4vw,2.4rem)}
.hero p{margin:0;max-width:560px;color:#d0d0d0}

main{flex:1;padding:36px 0 48px}
h2{color:var(--deep);margin:0 0 18px}
@media (prefers-color-scheme: dark){ h2{color:var(--water)} }

/* Kacheln */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;gap:10px;border-top:4px solid var(--koi);transition:transform .15s, box-shadow .15s}
.tile:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.15)}
.tile .icon{width:46px;height:46px;border-radius:12px;background:rgba(217,15,15,.10);display:grid;place-items:center}
.tile .icon svg{width:26px;height:26px;stroke:var(--deep);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-color-scheme: dark){ .tile .icon svg{stroke:var(--water)} }
.tile .tag{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.tile h3{margin:0;font-size:1.15rem}
.tile p{margin:0;color:var(--muted);font-size:.95rem;flex:1}
.tile a.more{font-weight:600;text-decoration:none;color:var(--koi)}

/* Downloads */
.section{margin-bottom:36px}
.dl-list{display:grid;gap:12px}
.dl{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
.dl h3{margin:0;font-size:1.05rem}
.dl p{margin:2px 0 0;color:var(--muted);font-size:.9rem}
.btn{display:inline-block;background:var(--koi);color:#fff;text-decoration:none;padding:9px 16px;border-radius:9px;font-weight:600;white-space:nowrap}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--koi);border:1.5px solid var(--koi)}
.folder{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;box-shadow:var(--shadow)}
.folder summary{cursor:pointer;padding:14px 18px;font-weight:600;list-style:none;display:flex;align-items:center;gap:10px}
.folder summary::-webkit-details-marker{display:none}
.folder summary::before{content:"📁"}
.folder[open] summary::before{content:"📂"}
.folder .content{padding:0 18px 16px;color:var(--muted);font-size:.93rem}
.folder ul{margin:6px 0 0;padding-left:18px}
.empty{font-style:italic}

/* Rechtstexte */
.legal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);max-width:820px}
.legal h3{margin-top:26px;color:var(--deep)}
@media (prefers-color-scheme: dark){ .legal h3{color:var(--water)} }
.ph{background:rgba(232,80,31,.12);padding:0 4px;border-radius:4px}

footer{background:var(--deep);color:#bdbdbd;font-size:.9rem;padding:20px 0}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer a{color:#e6e6e6;text-decoration:none;margin-left:14px}
footer a:first-child{margin-left:0}

/* Kontakt */
.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start}
@media (max-width:800px){ .contact-grid{grid-template-columns:1fr} }
.contact-form{max-width:none}
.contact-form form{display:grid;gap:14px;margin-top:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){ .row2{grid-template-columns:1fr} }
.contact-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem}
.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-weight:400;padding:10px 12px;border:1.5px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);width:100%}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--koi)}
.contact-form textarea{resize:vertical}
.contact-form label.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
.contact-form label.check input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--koi)}
.contact-form .btn{border:0;cursor:pointer;font-size:1rem;justify-self:start}
.hint{margin:0;color:var(--muted);font-size:.85rem}
.hp{position:absolute;left:-9999px}
.notice{padding:12px 14px;border-radius:9px;margin-top:12px;font-weight:600}
.notice.ok{background:rgba(30,150,60,.12);color:#1e8a3c}
.notice.err{background:rgba(217,15,15,.10);color:var(--koi)}
.contact-info h3:first-child{margin-top:0}

/* Gründungs-Banner */
.banner{display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--koi);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px;margin-bottom:36px}
.banner h2{margin:0 0 8px;color:var(--koi);font-size:1.3rem}
.banner p{margin:0 0 6px;color:var(--text)}
.banner .banner-sign{margin:10px 0 0;font-weight:600}
.banner-icon{flex:none;width:52px;height:52px;border-radius:50%;background:rgba(217,15,15,.10);display:grid;place-items:center}
.banner-icon svg{width:28px;height:28px;fill:none;stroke:var(--koi);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:560px){ .banner{flex-direction:column;gap:12px;padding:18px} }

/* Servicebereich */
.login-box{max-width:440px;margin:20px auto;text-align:center}
.login-box .lock{width:56px;height:56px;border-radius:50%;background:rgba(217,15,15,.10);display:grid;place-items:center;margin:0 auto 10px}
.login-box .lock svg{width:28px;height:28px;fill:none;stroke:var(--koi);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-form{text-align:left;display:grid;gap:14px;margin-top:16px}
.login-form .btn{justify-self:stretch;text-align:center}
.service-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.service-head h2{margin:0}
.service-head .btn{cursor:pointer;font:inherit;font-weight:600}

/* Cookie-Hinweis */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:900px;margin:0 auto;background:var(--surface);color:var(--text);border:1px solid var(--line);border-top:4px solid var(--koi);border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.25);padding:18px 20px;display:flex;align-items:center;gap:18px;transition:opacity .3s,transform .3s}
.cookie-bar.cookie-hide{opacity:0;transform:translateY(20px)}
.cookie-text p{margin:4px 0 0;font-size:.92rem;color:var(--muted)}
.cookie-actions{flex:none}
.cookie-actions .btn{border:0;cursor:pointer;font:inherit;font-weight:600}
@media (max-width:640px){ .cookie-bar{flex-direction:column;align-items:stretch;gap:12px} .cookie-actions .btn{width:100%} }
