*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:#0f172a;background:#ffffff}
a{color:#046dd9;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}
header{position:sticky;top:0;background:#ffffff;border-bottom:1px solid #e5e7eb;z-index:40}
.nav{display:flex;align-items:center;justify-content:space-between;max-width:1100px;margin:0 auto;padding:10px 16px}
.logo-wrap{display:flex;align-items:center;gap:10px}
.logo-wrap img{height:72px} /* größeres Logo, nur Icon */
.menu{display:flex;gap:16px;font-size:15px}
.menu a{padding:6px 10px;border-radius:999px}
.menu a:hover{background:#eff6ff}
.hamburger{display:none;border:1px solid #e5e7eb;border-radius:8px;padding:6px 10px;background:#ffffff;cursor:pointer}
.mobile-menu{display:none;position:absolute;right:16px;top:58px;background:#ffffff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.15);padding:10px;z-index:50}
.mobile-menu a{display:block;padding:8px 10px;border-radius:8px}
.hero{display:grid;grid-template-columns:1fr;gap:18px;max-width:1100px;margin:0 auto;padding:18px 16px 10px}
.hero h1{font-size:28px;margin:0 0 6px;color:#0f172a}
.hero p.lead{font-size:16px;color:#374151;margin:0 0 12px}
.hero-media{border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.18);background:#e5e7eb}
.btn{display:inline-block;padding:11px 20px;border-radius:999px;border:none;background:#046dd9;color:#ffffff;font-weight:600;cursor:pointer;font-size:15px}
.btn.secondary{background:#eff6ff;color:#046dd9;border:1px solid #bfdbfe}
section{padding:14px 0}
.max{max-width:1100px;margin:0 auto;padding:0 16px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.card{border:1px solid #e5e7eb;border-radius:16px;padding:14px 14px 16px;box-shadow:0 2px 5px rgba(15,23,42,.04);background:#ffffff}
.card h3{margin:0 0 4px;font-size:17px}
.small{font-size:13px;color:#4b5563}
.tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#eff6ff;color:#0f172a;font-size:11px}
ul{padding-left:20px}
footer{border-top:1px solid #e5e7eb;margin-top:24px;background:#f9fafb;padding:20px 16px 80px}
footer a{color:#046dd9}
.columns{display:grid;grid-template-columns:1fr;gap:10px}
.faq dt{font-weight:600;margin-top:10px}
.faq dd{margin:0 0 6px}
.cta-bar{position:fixed;left:0;right:0;bottom:0;border-top:1px solid #e5e7eb;background:#ffffff;padding:8px 12px;display:flex;gap:8px;z-index:60}
.cta-bar a{flex:1;text-align:center}
#cookie-banner{position:fixed;left:0;right:0;bottom:60px;background:#0f172a;color:#ffffff;padding:12px 14px;font-size:14px;display:none;z-index:70}
#cookie-banner button{border-radius:999px;border:none;padding:7px 14px;margin-right:6px;cursor:pointer}
#cookie-banner .accept{background:#22c55e;color:#022c22}
#cookie-banner .decline{background:#f97316;color:#111827}
.badge-city{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:999px;background:#eff6ff;font-size:11px;color:#4b5563}
.contact-form input,.contact-form textarea{width:100%;padding:9px 10px;border-radius:10px;border:1px solid #d1d5db;font:inherit}
.contact-form textarea{min-height:120px;resize:vertical}
@media(min-width:720px){.hero{grid-template-columns:1.1fr .9fr}.hero h1{font-size:32px}.columns{grid-template-columns:2fr 1.3fr}}
@media(min-width:900px){.menu{display:flex}.hamburger{display:none}.mobile-menu{display:none}}
@media(max-width:899px){.menu{display:none}.hamburger{display:block}}