:root{
  --ci-blue:#002050;
  --ci-blue-dark:#001030;
  --text:#111827;
  --muted:#6b7280;
  --bg:#ffffff;
  --soft:#f5f7fa;
  --soft2:#eef2ff;
  --card:#ffffff;
  --line:#e5e7eb;
  --accent:#0ea5e9;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--bg);}
a{color:var(--ci-blue);text-decoration:none}
a:hover{text-decoration:underline}

.container{width:min(1100px, 92vw);margin:0 auto;}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid var(--line);
}

.header-inner{
  display:flex;align-items:center;gap:18px;
  padding:12px 0;
}

.brand-logo{height:60px;width:auto;display:block}
.nav{margin-left:auto;display:flex;gap:16px;align-items:center}
.nav a{font-weight:600;color:var(--text)}
.nav a:hover{color:var(--ci-blue)}

@media (max-width: 880px){
  .header-inner{flex-wrap:wrap}
  .nav{margin-left:0;flex-wrap:wrap;gap:12px}
  .brand-logo{height:48px}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 16px;border-radius:10px;border:1px solid transparent;
  font-weight:700;cursor:pointer;white-space:nowrap;
}
.btn-small{padding:10px 12px;border-radius:9px;font-size:14px}
.btn-primary{background:var(--ci-blue);color:#fff}
.btn-primary:hover{filter:brightness(.95);text-decoration:none}
.btn-outline{background:transparent;border-color:var(--ci-blue);color:var(--ci-blue)}
.btn-outline:hover{background:rgba(0,32,80,.06);text-decoration:none}

.hero{position:relative;isolation:isolate}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.92) 55%, rgba(255,255,255,1) 100%),
    radial-gradient(900px 300px at 15% 20%, rgba(0,32,80,.14), transparent 60%),
    radial-gradient(800px 260px at 85% 25%, rgba(14,165,233,.10), transparent 60%);
  z-index:-1;
}

.hero-inner{padding:34px 0 22px}
.hero-copy{max-width:820px}
h1{font-size:42px;line-height:1.1;margin:0 0 12px;color:var(--ci-blue)}
.lead{font-size:18px;line-height:1.5;margin:0 0 14px;color:#111827}

/* goneo-inspirierte Hierarchie (klar, scannbar) */
.eyebrow{
  margin:0 0 10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(0,32,80,.70);
  font-size:12px;
}

.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 0}

.hero-grid{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:16px;
  align-items:start;
}

.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.hero-panel .panel-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:14px;
  box-shadow:0 10px 30px rgba(17,24,39,.07);
}
.hero-panel h2{margin:0;color:var(--ci-blue);font-size:18px}
.panel-actions{display:grid;gap:10px;margin-top:12px}
.panel-meta{margin-top:12px;border-top:1px dashed rgba(0,0,0,.10);padding-top:12px}
.meta-row{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:6px 0}
.meta-k{color:var(--muted);font-weight:800;font-size:12.5px}
.meta-v{font-weight:900}

@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-panel{order:2}
}

.hero-bullets{margin:0 0 18px;padding-left:18px;color:#111827}
.hero-bullets li{margin:6px 0}

.cta-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:16px 16px 14px;
  box-shadow:0 8px 26px rgba(17,24,39,.08);
}
.cta-card h2{font-size:18px;margin:0 0 6px;color:var(--ci-blue)}
.cta-card p{margin:0 0 8px}
.cta-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.muted{color:var(--muted)}
.legal-hint{margin-top:12px;font-size:12.5px;color:var(--muted)}

.section{padding:34px 0}

.trust{padding:10px 0 28px}
.trust-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:14px;
  align-items:stretch;
}
.trust-card{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 30px rgba(17,24,39,.08);
}
.trust-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.trust-usp{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:14px 14px 12px;
  box-shadow:0 10px 30px rgba(17,24,39,.06);
}
.trust-usp h2{
  margin:0 0 10px;
  color:var(--ci-blue);
  font-size:22px;
}
.trust-usp ul{margin:0;padding-left:18px}
.trust-usp li{margin:8px 0}
.trust-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

@media (max-width: 920px){
  .trust-grid{grid-template-columns:1fr}
  .trust-card img{height:auto}
}
.section-soft{background:var(--soft)}
.section-head h2{margin:0 0 6px;font-size:28px;color:var(--ci-blue)}
.section-head p{margin:0}

.center-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:16px;
}
.feature{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:14px 14px 12px;
}
.feature h3{margin:0 0 8px;color:var(--ci-blue);font-size:16.5px}
.feature p{margin:0}

.product-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:16px;
}

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:16px;
}

.faq{display:grid;gap:10px;margin-top:16px}
.faq-item{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:12px 12px;
}
.faq-item summary{cursor:pointer;font-weight:900;color:var(--ci-blue)}
.faq-item p{margin:10px 0 0}

@media (max-width: 980px){
  .feature-grid,.product-grid,.pricing-grid{grid-template-columns:1fr}
}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
  margin-top:16px;
}

.grid-2{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:14px;
  margin-top:16px;
}

/* One-column stacks (conversion-friendly, less overwhelming) */
.stack{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:16px;
}

/* Landingpage: Feature- & Produktkacheln */
.feature-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
  margin-top:16px;
}
.feature{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:14px;
}
.feature h3{margin:0 0 6px;color:var(--ci-blue);font-size:16px}
.feature p{margin:0;line-height:1.5}

.center-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.product-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:16px;
}

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:16px;
}

.faq{margin-top:16px;display:grid;gap:10px}
.faq-item{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:12px 14px;
}
.faq-item > summary{
  cursor:pointer;
  font-weight:900;
  color:var(--ci-blue);
  list-style:none;
}
.faq-item > summary::-webkit-details-marker{display:none}
.faq-item p{margin:10px 0 0}

@media (max-width: 1100px){
  .feature-grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
}

@media (max-width: 920px){
  .product-grid, .pricing-grid{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:1fr;}
}

/* Form controls */
.input{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-weight:650;
}
.input:focus{outline:2px solid rgba(14,165,233,.35);outline-offset:2px}

/* Tables */
.table{
  width:100%;
  border-collapse:collapse;
  margin-top:10px;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
}
.table th,.table td{
  padding:10px 10px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  text-align:left;
}
.table th{background:rgba(0,32,80,.04);font-weight:800}
.table tr:last-child td{border-bottom:none}

/* Pflegegradrechner */
.pg-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.pg-badges{display:flex;gap:8px;flex-wrap:wrap}
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-weight:800;
  font-size:13px;
}
.pg-module summary{
  cursor:pointer;
  list-style:none;
}
.pg-module summary::-webkit-details-marker{display:none}
.pg-module .summary-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.pg-module .summary-title{margin:0;color:var(--ci-blue);font-size:18px;font-weight:900}
.pg-module .summary-meta{color:var(--muted);font-weight:700;font-size:13px;white-space:nowrap}
.pg-items{margin-top:12px}
.pg-modsum{
  margin-top:12px;
  padding:10px 12px;
  border-top:1px dashed var(--line);
  color:var(--text);
  font-weight:800;
  font-size:14px;
}
.pg-modsum .pg-ms-raw,.pg-modsum .pg-ms-w{font-weight:900;color:var(--ci-blue)}
.pg-item{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:10px;
  padding:10px 0;
  border-top:1px solid var(--line);
}
.pg-item:first-child{border-top:none;padding-top:0}
.pg-code{font-weight:900;color:var(--ci-blue)}
.pg-label{font-weight:700}
.pg-help{color:var(--muted);font-size:13px;margin-top:4px}

/* Modul 5: Frequenz-Einheiten als Klick-Option (statt Dropdown) */
.pg-freqgrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px, 360px);
  gap:10px;
  align-items:start;
}
.unit-group{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:stretch;
}
.unit-btn{
  flex:1 1 auto;
  padding:10px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  font-weight:850;
  font-size:13px;
  cursor:pointer;
  line-height:1.1;
  white-space:nowrap;
}
.unit-btn.is-active{border-color:var(--ci-blue);box-shadow:0 0 0 2px rgba(0,32,80,.12);background:rgba(0,32,80,.03)}

@media (max-width: 720px){
  .pg-freqgrid{grid-template-columns:1fr;}
  .unit-btn{justify-content:center;}
}

/* Pflegegradrechner: Klick-Auswahl statt Dropdown */
/* Grid verhindert unschone Umbruche (z.B. Option 2/3 untereinander) */
.choice-group{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  align-items:stretch;
}

/* Modul 2: immer nebeneinander (eine Zeile). Bei schmalen Displays horizontal scrollen. */
.choice-group.choice-group--m2{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px;
  overflow-x:auto;
  padding-bottom:4px;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter: stable;
}

.choice-group.choice-group--m2 .choice-btn{
  flex:0 0 calc((100% - 24px) / 4);
  min-width:190px;
}
.choice-btn{
  width:100%;
  text-align:center;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
  line-height:1.2;

  /* ruhigere Optik bei mehrzeiligen Labels */
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  white-space:normal;
  word-break:normal;
  overflow-wrap:anywhere;
  hyphens:auto;
}

/* Modul 2: etwas mehr Höhe für lange Labels */
.choice-group.choice-group--m2 .choice-btn{min-height:54px;}
.choice-btn.is-active{border-color:var(--ci-blue);box-shadow:0 0 0 2px rgba(0,32,80,.12);background:rgba(0,32,80,.03)}
.choice-btn:disabled{opacity:.55;cursor:not-allowed}
.pg-check{display:inline-flex;align-items:center;gap:10px;font-weight:800}
.pg-special-item{border-top:none;background:rgba(0,32,80,.03);border:1px solid rgba(0,32,80,.10);border-radius:12px;padding:12px;margin-bottom:12px}

/* Wizard (Schritt-für-Schritt) */
.pg-wizardbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:12px;
  margin-bottom:12px;
}
.pg-wizardbar .wb-left{min-width:240px;flex:1}
.pg-wizardbar .wb-title{font-weight:900;color:var(--ci-blue);margin:0}
.pg-wizardbar .wb-sub{color:var(--muted);font-weight:700;font-size:13px;margin-top:2px}
.pg-wizardbar .wb-progress{height:8px;border-radius:999px;background:rgba(0,32,80,.08);overflow:hidden;margin-top:8px}
.pg-wizardbar .wb-progress > span{display:block;height:100%;background:var(--ci-blue);width:0%}
.pg-wizardbar .wb-right{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.wizard-toggle{
  appearance:none;
  background:transparent;
  border:0;
  padding:0;
  font-weight:900;
  font-size:13px;
  color:var(--ci-blue);
  text-decoration:underline;
  cursor:pointer;
}

.pgcalc.wizard-enabled .pg-module{display:none;}
.pgcalc.wizard-enabled .pg-module.is-current{display:block;}

@media (max-width: 720px){
  .pg-wizardbar .wb-left{min-width:unset}
}

@media (max-width: 980px){
  .choice-group{grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media (max-width: 520px){
  .choice-group{grid-template-columns:1fr;}
  /* Modul 2 bleibt eine Zeile; bei Bedarf per horizontalem Scroll nutzbar */
  .choice-group.choice-group--m2{display:flex !important;}
  .choice-group.choice-group--m2 .choice-btn{min-height:64px; padding:10px 10px; min-width:240px;}
}

/* Mini-Hilfen im Pflegegradrechner (klappbar, kurz) */
.pg-minihelp{
  margin:10px 0 0;
  border:1px solid rgba(0,32,80,.10);
  background:rgba(0,32,80,.03);
  border-radius:12px;
  padding:10px 12px;
}
.pg-minihelp > summary{cursor:pointer;font-weight:900;color:var(--ci-blue)}
.pg-minihelp-list{margin:8px 0 0;padding-left:18px;color:var(--muted);font-weight:700;font-size:13px;}
.pg-minihelp-list li{margin:6px 0;}

.pg-field{margin-top:8px}

@media (max-width: 720px){
  .pg-item{grid-template-columns:1fr}
  .pg-module .summary-line{align-items:flex-start}
}
.card{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--card);
  padding:14px 14px 12px;
  box-shadow:0 10px 28px rgba(17,24,39,.06);
}
.card-top{display:flex;align-items:flex-start;gap:10px}
.card h3{margin:0;font-size:16.5px;line-height:1.25}
.badge{
  margin-left:auto;
  background:var(--ci-blue);
  color:#fff;
  font-weight:800;
  padding:6px 10px;
  border-radius:999px;
  font-size:14px;
  white-space:nowrap;
}
.card ul{margin:10px 0 0;padding-left:18px}
.card li{margin:6px 0}

.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

/* Quiz */
.quiz-wrap{margin-top:16px}
.quiz{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:16px;
  margin-bottom:16px;
}
.quiz h2{margin:0 0 6px;color:var(--ci-blue)}
.quiz p{margin:0 0 10px}
.quiz .q{
  padding:10px 0;
  border-top:1px solid rgba(0,0,0,.08);
}
.quiz .q:first-of-type{border-top:none}
.quiz .q p{margin:0 0 8px;font-weight:650}
.quiz .answers{display:flex;gap:14px;flex-wrap:wrap}
.quiz label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.quiz input[type="radio"]{transform:translateY(1px)}

.result-box{
  margin-top:14px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  background:rgba(0,32,80,.03);
}
.result-box p{margin:0 0 10px}
.result-box p:last-child{margin-bottom:0}
.result-unauffaellig{background:rgba(14,165,233,.06)}
.result-auffaellig{background:rgba(255,247,237,1)}
.result-deutlich{background:rgba(254,226,226,1)}

.strip{padding:0;margin:0}
.strip img{width:100%;height:auto;display:block}

.steps{
  list-style:none;padding:0;margin:18px 0 0;
  display:grid;gap:10px;
}
.steps li{
  display:flex;gap:12px;align-items:flex-start;
  background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:12px 12px;
}
.step-no{
  width:34px;height:34px;border-radius:10px;
  background:var(--ci-blue);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
}
.steps h3{margin:0 0 4px;font-size:16px}
.steps p{margin:0;color:var(--muted)}

.note{
  margin-top:14px;
  background:#fff7ed;
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 12px;
}

.contact-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:14px;
  margin-top:14px;
}
.contact-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:14px 14px 12px;
}
.contact-card h3{margin:0 0 10px;color:var(--ci-blue)}
.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.small{font-size:14px;color:#111827}
.hr{border:none;border-top:1px solid var(--line);margin:18px 0}

.site-footer{
  border-top:1px solid var(--line);
  background:#fff;
  padding:14px 0;
}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:10px}
.footer-inner a{font-weight:700}

/* Postcheck / Quiz */
.quiz-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:16px;
}
.quiz-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:14px 14px 12px;
  box-shadow:0 10px 30px rgba(17,24,39,.06);
}
.quiz-card h2{margin:0 0 6px;color:var(--ci-blue);font-size:22px}
.quiz-card p{margin:0 0 10px}
.quiz-note{font-size:13px;color:var(--muted)}

.quiz-question{
  border-top:1px solid var(--line);
  padding:10px 0;
}
.quiz-question:first-of-type{border-top:none;padding-top:0}
.quiz-qtext{margin:0 0 8px;font-weight:650}
.quiz-answers{display:flex;gap:14px;flex-wrap:wrap}
.quiz-answers label{display:inline-flex;gap:8px;align-items:center;font-weight:600}

.quiz-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.quiz-result{margin-top:12px}
.result-box{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  background:#fff;
}
.result-box p{margin:0 0 10px}
.result-box p:last-child{margin-bottom:0}
.result-green{background:rgba(14,165,233,.06)}
.result-yellow{background:rgba(245,158,11,.08)}
.result-red{background:rgba(239,68,68,.08)}

/* Responsive */
@media (max-width: 920px){
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .quiz-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  h1{font-size:34px}
  .nav{display:none}
  .brand-logo{height:52px;}
}


/* ===== Landingpage (hero mit Bild) ===== */
.site-header-clean{
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 24px rgba(17,24,39,.06);
}
.site-header-clean .brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.site-header-clean .brand-name{font-weight:800;color:var(--ci-blue);letter-spacing:.2px}
.site-header-clean .nav{display:flex;gap:18px;align-items:center}
.site-header-clean .nav a{color:#0f172a;text-decoration:none;font-weight:600;font-size:15px;opacity:.92}
.site-header-clean .nav a:hover{opacity:1}
.site-header-clean .nav-legal{gap:14px}
.site-header-clean .nav-legal a{font-size:13px;font-weight:600;opacity:.65}
.site-header-clean .nav-legal a:hover{opacity:.9}

@media(max-width:980px){
  .site-header-clean .nav-legal{display:none}
}
@media(max-width:820px){
  .site-header-clean .nav-main{display:none}
}

/* Page banner (Headerbild auf Unterseiten) */
.page-banner{
  position:relative;
  background-image:url("img/hands-banner.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  min-height:220px;
}
.page-banner .page-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(0,16,48,.55) 0%, rgba(0,16,48,.28) 55%, rgba(0,16,48,.14) 100%);
}
@media(max-width:720px){
  .page-banner{min-height:160px}
}

/* Hero banner */
.hero-banner{
  position:relative;
  background-image:url("img/hands-banner.png");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  min-height:420px;
  display:flex;
  align-items:center;
}
.hero-banner .hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(0,16,48,.72) 0%, rgba(0,16,48,.42) 58%, rgba(0,16,48,.18) 100%);
}
.hero-banner-inner{position:relative;padding:74px 0 64px}
.hero-banner-copy{max-width:820px}
.hero-banner h1{
  margin:0 0 14px;
  color:#fff;
  font-size:56px;
  line-height:1.05;
  letter-spacing:.2px;
  text-shadow:0 14px 40px rgba(0,0,0,.25);
}
.hero-banner-lead{
  margin:0 0 18px;
  max-width:640px;
  color:rgba(255,255,255,.88);
  font-size:18px;
  line-height:1.55;
}
.hero-banner-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-outline-light{
  background:rgba(255,255,255,.92);
  border-color:rgba(255,255,255,.92);
  color:var(--ci-blue);
}
.btn-outline-light:hover{
  background:#fff;
  border-color:#fff;
}

@media(max-width:720px){
  .hero-banner h1{font-size:40px}
  .hero-banner-inner{padding:56px 0 52px}
}

/* Tools row */
.tools-strip{background:#f8fafc}
.tools-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
  padding:18px 0 28px;
}
.tool-card{
  display:flex;gap:14px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  padding:16px;
  text-decoration:none;
  color:inherit;
  box-shadow:0 10px 30px rgba(17,24,39,.06);
  min-height:120px;
}
.tool-card:hover{transform:translateY(-1px);box-shadow:0 16px 44px rgba(17,24,39,.08)}
.tool-ic{
  width:44px;height:44px;border-radius:12px;
  background:#f1f5ff;
  color:var(--ci-blue);
  display:flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}
.tool-ic svg{display:block}
.tool-txt h3{margin:0 0 6px;font-size:18px;color:var(--ci-blue)}
.tool-txt p{margin:0}
.tool-card-contact{
  background:#eef2ff;
  border-color:#dbeafe;
}
.tool-card-contact .tool-ic{display:none}
.contact-mini{margin-top:10px;display:grid;gap:10px}
.contact-row{display:flex;gap:10px;align-items:center}
.contact-ic{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;color:var(--ci-blue)}
.contact-val{font-weight:800;color:var(--ci-blue)}
.contact-mail{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ci-blue);font-weight:700}
.contact-mail:hover{text-decoration:underline}

@media(max-width:1100px){
  .tools-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media(max-width:560px){
  .tools-grid{grid-template-columns:1fr}
}

/* Why section cards */
.why{padding:26px 0 10px}
.why h2{margin:0 0 14px;font-size:34px;color:var(--ci-blue)}
.why-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
}
.why-card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 30px rgba(17,24,39,.06);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.why-card h3{margin:0;color:var(--ci-blue);font-size:20px}
.why-card p{margin:0}
.why-card .btn{align-self:flex-start;margin-top:2px}

@media(max-width:1100px){
  .why-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media(max-width:560px){
  .why-grid{grid-template-columns:1fr}
}


/* Datenschutz-Hinweisleiste (keine Tracking-Cookies) */
.privacy-bar{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:rgba(10,18,36,.96);color:#fff;border-top:1px solid rgba(255,255,255,.15);}
.privacy-bar__inner{max-width:1100px;margin:0 auto;display:flex;gap:14px;align-items:center;justify-content:space-between;padding:10px 14px;}
.privacy-bar__text{font-size:13px;line-height:1.3;opacity:.95;}
.privacy-bar__actions{display:flex;gap:10px;align-items:center;flex-shrink:0;}
.privacy-bar__link{color:#fff;text-decoration:underline;opacity:.95;font-size:13px;}
.privacy-bar__btn{background:#fff;color:#0a1224;border:0;border-radius:10px;padding:7px 12px;font-weight:700;font-size:13px;cursor:pointer;}
@media (max-width:720px){.privacy-bar__inner{flex-direction:column;align-items:flex-start}.privacy-bar__actions{width:100%}}


/* Hero trust line */
.hero-trust{
  margin: 10px 0 18px;
  font-weight: 600;
  color: rgba(255,255,255,.95);
}

/* Offer section */
.offer-grid{
  display: grid;
  grid-template-columns: 1.4fr .9fr;
  gap: 18px;
  align-items: stretch;
}

.offer-card{
  padding: 18px;
}

.offer-list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.offer-list li{
  padding-left: 28px;
  position: relative;
  margin: 10px 0;
  line-height: 1.45;
}

.offer-list li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
}

.offer-aside h3{
  margin-top: 0;
}

@media (max-width: 900px){
  .offer-grid{ grid-template-columns: 1fr; }
}


/* --- Mobile Fix: Modul 2 darf nicht horizontal die Seite sprengen --- */
/* Auf großen Screens: 4 Optionen nebeneinander. Auf kleinen Screens: 2 Spalten (weiterhin nebeneinander). */
.choice-group.choice-group--m2{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:8px !important;
  overflow:visible !important;
  max-width:100% !important;
  box-sizing:border-box;
}
.choice-group.choice-group--m2 .choice-btn{
  min-width:0 !important;
  flex:initial !important;
  white-space:normal;
  overflow-wrap:anywhere;
  hyphens:auto;
}

/* Tablet/Phone: 2 Spalten, damit es ohne Scroll/Overflow passt */
@media (max-width: 720px){
  .choice-group.choice-group--m2{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 420px){
  .choice-group.choice-group--m2 .choice-btn{
    min-height:56px;
    padding:10px 10px;
  }
}

/* Sicherheitsnetz: keine horizontale Seite durch einzelne Elemente */
html, body{overflow-x:hidden;}
