:root{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#5b677a;
  --card:#f3f5f8;
  --line:#e5e9f0;
  --blue:#0b4aa2;
  --blue2:#0a66c2;
  --tile1:#86b5ff;
  --tile2:#39c8d6;
  --tile3:#f1de46;
  --shadow: 0 12px 30px rgba(2,6,23,.08);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:var(--bg);
  line-height:1.55;
}
a:focus-visible, button:focus-visible{outline:3px solid rgba(11,74,162,.35); outline-offset:2px}

/* Reduced motion: keep things calm */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none !important; animation:none !important}
}

/* Scroll-Fortschritt */
.progress{
  position:fixed;left:0;top:0;right:0;height:3px;
  background:transparent;z-index:100;
}
.progress__bar{
  height:100%;width:0%;
  background:linear-gradient(90deg, var(--blue), var(--blue2));
}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1100px;margin:0 auto;padding:0 18px}
.section{padding:28px 0}

.skip{
  position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden
}
.skip:focus{left:18px;top:18px;width:auto;height:auto;background:#fff;border:1px solid var(--line);padding:10px;border-radius:10px;z-index:9999}

.topbar{
  background: #0b1220;
  color:#e6edf7;
  font-size:14px;
}
.topbar__inner{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;flex-wrap:wrap}
.topbar__left{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.topbar__right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pill{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  padding:4px 10px;border-radius:999px;
}
.toplink{color:#e6edf7;opacity:.95}
.toplink:hover{opacity:1;text-decoration:none}
.topbar__right{display:flex;gap:14px;align-items:center}

.nav{
  position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--line);z-index:50
}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.brand__logo{height:40px;width:auto;max-width:190px;object-fit:contain}
.brand__text strong{display:block;font-size:16px}
.brand__text span{display:block;font-size:12.5px;color:var(--muted)}
.nav__links{display:flex;gap:18px;align-items:center}
.nav__links a{padding:8px 10px;border-radius:10px;color:var(--text);white-space:nowrap;word-break:keep-all;hyphens:none}
.nav__links a.is-active{background:var(--card)}
.nav__toggle{display:none;background:transparent;border:0;cursor:pointer;padding:10px;border-radius:12px}
.nav__toggle span{display:block;width:24px;height:2px;background:var(--text);margin:5px 0;border-radius:2px}

/* (SOS entfernt) */

.hero{
  display:grid;
  grid-template-columns: 1.35fr .65fr;
  gap:18px;
  align-items:stretch;
  margin-top:10px;
}
.hero__text h1{font-size:40px;line-height:1.08;margin:0 0 10px}
.lead{font-size:18px;color:var(--muted);margin:0 0 16px}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap}
.hero__card .card{height:100%}
.hero__card--desktop{display:block}

.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  box-shadow: var(--shadow);
}
.stack{display:grid;gap:10px;margin:10px 0}
.small{font-size:13px}
.muted{color:var(--muted)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:14px;
  background:var(--blue);color:#fff;
  border:1px solid rgba(0,0,0,0);
  font-weight:600;
  text-decoration:none;
}
.btn:hover{background:var(--blue2);text-decoration:none}
.btn--ghost{
  background:var(--bg);color:var(--text);border:1px solid var(--line);
}
.btn--ghost:hover{background:#f8fafc}

.btn--small{padding:8px 12px;border-radius:12px;font-size:14px}

/* (SOS entfernt) */

.btn--inline{margin-left:8px;vertical-align:middle}

.grid{
  display:grid;gap:14px;
  grid-template-columns: repeat(12, 1fr);
}
.col-4{grid-column: span 4}
.col-6{grid-column: span 6}
.col-12{grid-column: span 12}
.kpi{
  padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;
}
.kpi h3{margin:0 0 6px;font-size:16px}
.kpi p{margin:0;color:var(--muted)}

.list{
  margin:0;padding-left:18px
}
.list li{margin:6px 0}

.notice{
  padding:14px;border-radius:var(--radius);background:#fff;border:1px dashed var(--line);
}

.footer{
  margin-top:30px;
  background:#0b1220;
  color:#e6edf7;
  padding:26px 0 18px;
}
.footer a{color:#e6edf7}
.footer__grid{
  display:grid;gap:18px;
  grid-template-columns: repeat(12, 1fr);
}
.footer__grid > div:nth-child(1){grid-column: span 4}
.footer__grid > div:nth-child(2){grid-column: span 3}
.footer__grid > div:nth-child(3){grid-column: span 3}
.footer__grid > div:nth-child(4){grid-column: span 2}
.footer__bottom{padding-top:14px;border-top:1px solid rgba(255,255,255,.12);margin-top:18px}
.footer__loc{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.footer__loc a{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:4px 8px;border-radius:999px;font-size:13px;text-decoration:none}
.footer__loc a:hover{background:rgba(255,255,255,.14)}


/* Utility: hide elements on mobile (keeps desktop clean) */
.hide-on-mobile{}

/* Mobile callbar improvements */
.callbar{
  transition: transform .22s ease, opacity .22s ease;
  transform: translateY(0);
  opacity: 1;
}
.callbar.is-hidden{
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;
}
.callbar.is-compact a:nth-child(3){
  display:none;
}

.callbar{
  position:fixed;
  left:0;right:0;bottom:0;
  display:none;
  background:#fff;
  border-top:1px solid var(--line);
  box-shadow: 0 -10px 22px rgba(2,6,23,.08);
  z-index:60;
}
.callbar a{
  flex:1;
  text-align:center;
  padding:11px 6px;
  color:var(--text);
  font-weight:700;
  font-size:13px;
  line-height:1.1;
}
.callbar a + a{border-left:1px solid var(--line)}

.content h2{margin-top:22px}
.content p{margin:0 0 10px}
.content .card{box-shadow:none}

/* --- Kachel-Design (Startseite) --- */
.subhead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.subhead p{margin:4px 0 0;color:var(--muted);max-width:78ch}
.subhead a{font-weight:700}

/* Vertrauensleiste (Effekt/UX) */
.truststrip{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:10px;
  margin-top:14px;
}
.truststrip__item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 12px;
  font-weight:800;
  font-size:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow: 0 10px 22px rgba(2,6,23,.06);
}
.truststrip__item svg{width:18px;height:18px;opacity:.9}

/* Hilfe-Finder */
.helper{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  padding:18px;
}
.helper__grid{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.helper__item{margin:0}
.helper__btn{
  width:100%;
  text-align:left;
  border:1px solid var(--line);
  background:var(--card);
  border-radius:var(--radius);
  padding:14px;
  cursor:pointer;
  font-weight:800;
}
.helper__btn small{display:block;color:var(--muted);font-weight:600;margin-top:4px}
.helper__btn.is-selected{border-color: rgba(11,74,162,.45); box-shadow: 0 14px 34px rgba(11,74,162,.12)}
.helper__result{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.helper__result h3{margin:0 0 6px;font-size:16px}
.helper__result p{margin:0 0 10px;color:var(--muted)}

/* Performance-Balken (Beispiel) */
.bars{display:grid;gap:10px;margin-top:12px}
.barrow{display:grid;gap:6px}
.barrow__top{display:flex;justify-content:space-between;gap:10px;font-weight:800}
.bartrack{height:12px;background: #e9eef6;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.barfill{height:100%;background:linear-gradient(90deg, var(--blue), var(--blue2));width:0%}

/* Scroll-to-top */
.scrolltop{
  position:fixed;
  right:16px;
  bottom:140px;
  z-index:65;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  border-radius:999px;
  padding:10px 12px;
  font-weight:900;
  box-shadow: 0 16px 38px rgba(2,6,23,.14);
  cursor:pointer;
}
.scrolltop:hover{filter:brightness(.98)}

.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:14px}
.tile{border-radius:var(--radius);overflow:hidden;border:1px solid rgba(2,6,23,.06);box-shadow:0 14px 34px rgba(2,6,23,.10);background:#fff}
.tile{transition:transform .18s ease, box-shadow .18s ease}
.tile:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(2,6,23,.14)}
.tile__top{min-height:150px;padding:18px;position:relative;display:flex;align-items:flex-end}
.tile__top h3{margin:0;font-size:22px;line-height:1.18;letter-spacing:-.01em;max-width:18ch}
.tile__icon{position:absolute;right:16px;top:16px;width:42px;height:42px;opacity:.85}
.tile__body{padding:14px 18px 18px;background:#fff}
.tile__body p{margin:0;color:#111827}
.tile--1 .tile__top{background:var(--tile1)}
.tile--2 .tile__top{background:var(--tile2)}
.tile--3 .tile__top{background:var(--tile3)}

/* Reveal beim Scrollen (Effekt) */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}

/* --- FAQ --- */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow: var(--shadow)}
.faq summary{cursor:pointer;font-weight:800;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin:10px 0 0;color:var(--muted)}

/* Floating Kontakt (Desktop) */
.float-contact{position:fixed;right:16px;bottom:86px;z-index:55;background:#e11d48;color:#fff;border-radius:999px;padding:12px 14px;font-weight:800;box-shadow:0 16px 38px rgba(2,6,23,.18);text-decoration:none;display:none}
.float-contact:hover{filter:brightness(.95);text-decoration:none}

/* Toast */
.toast{
  position:fixed;left:50%;bottom:76px;transform:translateX(-50%);
  background:#111827;color:#fff;
  padding:10px 14px;border-radius:999px;
  box-shadow:0 18px 44px rgba(2,6,23,.22);
  font-weight:700;font-size:14px;
  z-index:80;
}

@media (min-width: 821px){
  .toast{bottom:24px}
}

@media (max-width: 920px){
  .hero{grid-template-columns:1fr}
  .hero__text h1{font-size:34px}
  .footer__grid{grid-template-columns:1fr}
  .footer__grid > div{grid-column: auto}
}

@media (max-width: 980px){
  .tiles{grid-template-columns:1fr}
  .faq{grid-template-columns:1fr}
  .truststrip{grid-template-columns:1fr 1fr}
  .helper__grid{grid-template-columns:1fr}
}

@media (min-width: 981px){
  .float-contact{display:inline-flex}
}

@media (max-width: 820px){
  /* Mobile: obere Leiste schlank halten (nur Telefon & Mobil) */
  .topbar{
    display:block;
    background:#fff;
    color:var(--text);
    border-bottom:1px solid var(--line);
  }
  .topbar__inner{padding:8px 0}
  .topbar__left{display:none}
  .topbar__right{width:100%;justify-content:space-between;gap:8px}
  .toplink{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:8px 10px;
    border-radius:999px;
    border:1px solid var(--line);
    background:var(--card);
    color:var(--text);
    text-decoration:none;
    flex:1;
  }
  .toplink--wa{display:none}
  .col-4,.col-6{grid-column: span 12}
  .hero__cta{flex-direction:column}
  .hero__cta .btn{width:100%;justify-content:center}
  /* Auf Mobil reichen die Buttons + die Sticky-Leiste unten: Schnellkontakt-Karte ausblenden */
  .hero__card--desktop{display:none}
  /* Auf Mobil keine doppelte WhatsApp-CTA im Hero (WhatsApp ist unten in der Sticky-Leiste) */
  .hero__cta .btn--ghost{display:none}

  .nav__toggle{display:inline-block}
  .nav__links{
    position:fixed;left:0;right:0;top:64px;bottom:0;
    background:#fff;
    border-top:1px solid var(--line);
    display:none;flex-direction:column;align-items:stretch;
    padding:14px 18px;
    overflow:auto;
  }
  .nav__links.is-open{display:flex}
  .nav__links a, .nav__links button{width:100%}
  .callbar{display:flex}
  body{padding-bottom:52px}

  .hide-on-mobile{display:none !important;}
}



@media (max-width: 480px){
  .wrap{padding:0 14px}
  .hero__text h1{font-size:28px}
  .lead{font-size:16px}
  .pill{display:inline-flex;max-width:100%}
  .topbar{font-size:13px}
  .btn{width:100%;justify-content:center}
  .float-contact{display:none}
}



/* WhatsApp Datenschutz-Dialog (HTML5 <dialog>) */
.wa-dialog{
  border:0;
  padding:0;
  border-radius: var(--radius);
  width:min(560px, calc(100% - 28px));
  box-shadow: var(--shadow);
}
.wa-dialog::backdrop{
  background: rgba(2,6,23,.55);
}
.wa-dialog__card{
  margin:0;
  padding:18px;
  background:#fff;
  border-radius: var(--radius);
  border:1px solid var(--line);
}
.wa-dialog__card h2{
  margin:0 0 10px;
  font-size:18px;
}
.wa-dialog__actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  flex-wrap:wrap;
  margin-top:12px;
}
.wa-dialog__check{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:10px;
}
.wa-dialog__check input{transform: translateY(1px)}
