
:root{
  --navy:#0D2A4A;
  --teal:#18A7A3;
  --bg:#F6F8FB;
  --text:#18212B;
  --muted:#5B6675;
  --border:#D9E2EF;
  --card:#FFFFFF;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.45;
}
.wrap{width:min(1040px, 92vw);margin:0 auto;}
.site-header{background:var(--navy);color:#fff;padding:18px 0 18px;}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.brand{display:flex;align-items:center;gap:12px;min-width:0;}
.brand-logo{width:56px;height:56px;border-radius:12px;flex:0 0 auto;}
.brand-text{min-width:0}
.brand-name{font-weight:800;font-size:22px;letter-spacing:0.2px;}
.brand-tagline{font-weight:700;font-size:14.5px;opacity:0.95;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:800;font-size:14px;white-space:nowrap;}
.btn-primary{background:var(--teal);color:#fff;}
.hero{padding:14px 0 6px;max-width:860px;}
.hero-kicker{margin:0 0 6px 0;font-weight:800;font-size:15px;}
.hero-sub{margin:0;color:#D7E6F5;font-size:14.5px;}
.main{padding:18px 0 34px;}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 16px 14px;position:relative;overflow:hidden;}
.card-accent{position:absolute;top:0;left:0;right:0;height:7px;background:var(--teal);}
h1{margin:10px 0 10px;font-size:22px;color:var(--navy);}
h2{margin:8px 0 8px;font-size:18px;color:var(--navy);}
h3{margin:12px 0 6px;font-size:14.5px;color:var(--navy);}
p{margin:8px 0}
ul{margin:6px 0 8px 18px;padding:0;}
li{margin:6px 0}
.muted{color:var(--muted)}
.tiny{font-size:12px}
a{color:var(--navy)}
a:hover{opacity:.85}
.contact-row{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;margin-top:10px;}
.contact-box{border:1px dashed var(--border);border-radius:12px;padding:12px;}
.contact-label{font-size:12px;color:var(--muted);font-weight:700;margin-top:8px;}
.contact-label:first-child{margin-top:0}
.contact-value{font-weight:700;margin-top:2px; word-break:break-word;}
.embed{width:100%;height:520px;border:1px solid var(--border);border-radius:12px;background:#fff;}
.site-footer{padding:18px 0 26px;}
.footer-inner{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;}
.footer-links{display:flex;gap:12px;flex-wrap:wrap;}
.badge{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--border);background:var(--card);border-radius:999px;padding:6px 10px;}
@media (max-width: 860px){
  .grid{grid-template-columns:1fr}
  .contact-row{grid-template-columns:1fr}
  .brand-name{font-size:20px}
}

/* Cookie Banner (DSGVO) – dunkel passend zum Design */
#cookie-banner{
  position:fixed;
  left:0; right:0;
  bottom:0;
  z-index:9999;
  padding:14px 0;
  background: rgba(13, 42, 74, 0.96);
  border-top: 1px solid rgba(217,226,239,0.35);
  backdrop-filter: blur(6px);
}
#cookie-banner .cookie-inner{
  width:min(1040px, 92vw);
  margin:0 auto;
  display:flex;
  gap:14px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}
#cookie-banner .cookie-text{
  color:#D7E6F5;
  font-size:13.5px;
  line-height:1.35;
  max-width: 720px;
}
#cookie-banner .cookie-text strong{ color:#fff; }
#cookie-banner .cookie-text a{
  color:#D7E6F5;
  text-decoration: underline;
}
#cookie-banner .cookie-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.btn-secondary{
  background: transparent;
  color:#D7E6F5;
  border: 1px solid rgba(217,226,239,0.55);
}
.btn-secondary:hover{ opacity: 0.9; }
.btn-primary:hover{ opacity: 0.92; }
