:root{
  /* Core */
  --bg: #F7F4EE;
  --card: #FFFFFF;
  --text: #2F3337;
  --muted: #5D666E;
  --line: rgba(47,51,55,.12);

  /* CI – Primary */
  --primary: #9400D3;
  --primaryDark: #6E00A3;

  /* Secondary (aus Primary abgeleitet, bewusst hell für Kontraste) */
  --secondary: #E8D7FF;
  --secondaryDark: #C9A8FF;

  /* Shadows / Radius / Layout */
  --shadow: 0 10px 30px rgba(0,0,0,.06);
  --shadowStrong: 0 22px 55px rgba(0,0,0,.12);

  --r: 18px;
  --r2: 26px;
  --max: 1120px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(148,0,211,.14), transparent 60%),
    radial-gradient(900px 500px at 80% 0%, rgba(201,168,255,.20), transparent 55%),
    var(--bg);
  line-height:1.45;
}

a{ color:inherit; }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 22px; }

.section{ padding:56px 0; }
.section-white{ background: rgba(255,255,255,0); }
.section-soft-primary{ background: rgba(148,0,211,.05); }
.section-soft-secondary{ background: rgba(201,168,255,.12); }

.h2{ font-size:22px; letter-spacing:-.01em; margin:0 0 8px; }
.sub{ color:var(--muted); margin:0 0 18px; }

/* =========================
   Topbar / Navigation
========================= */
.topbar{
  position:sticky; top:0; z-index:20;
  backdrop-filter: blur(10px);
  background: rgba(247,244,238,.72);
  border-bottom:1px solid var(--line);
}

.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0; gap:16px;
}

.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand img{ height:42px; width:auto; display:block; }

.navlinks{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.navlinks a{
  text-decoration:none;
  padding:8px 10px;
  border-radius:12px;
  color:var(--muted);
  transition: background .2s ease, color .2s ease;
}
.navlinks a:hover{ background:rgba(148,0,211,.08); color:var(--text); }

.cta{
  background: linear-gradient(135deg, var(--primary), var(--primaryDark));
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 10px 22px rgba(148,0,211,.18);
}
.cta:hover{ filter:brightness(1.02); }

/* =========================
   Pill / Badges
========================= */
.pill{
  display:inline-flex; gap:10px; align-items:center;
  padding:8px 12px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.55);
  border-radius:999px;
  color:var(--muted);
  font-size:14px;
}

.badge{
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(47,51,55,.10);
  background: rgba(255,255,255,.70);
}
.badge strong{ display:block; font-size:13px; }
.badge span{ display:block; font-size:12.5px; color:var(--muted); margin-top:3px; }

/* =========================
   Buttons
========================= */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  text-decoration:none;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow);
  font-weight:600;
  transition: transform .2s ease, filter .2s ease, background .2s ease;
}
.btn.primary{
  background: linear-gradient(135deg, var(--secondary), var(--secondaryDark));
  border-color: rgba(0,0,0,.06);
  color:#1F2327;
}
.btn.ghost{ background: rgba(255,255,255,.45); }
.btn:hover{ transform: translateY(-1px); }

.btnrow{ display:flex; gap:12px; flex-wrap:wrap; }

/* =========================
   Cards / Notice
========================= */
.card{
  background: rgba(255,255,255,.78);
  border:1px solid var(--line);
  border-radius: var(--r2);
  box-shadow: var(--shadow);
}

.notice{
  margin:18px 0 0;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(201,168,255,.55);
  background: rgba(201,168,255,.18);
  color: var(--text);
  font-size:14px;
}

/* =========================
   HERO
========================= */
.hero{ padding:56px 0 34px; position:relative; overflow:hidden; }
.hero-topline{ margin-bottom:14px; }

.hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:22px;
  align-items:stretch;
}

h1{
  margin:14px 0 10px;
  font-size: clamp(30px, 3.2vw, 46px);
  letter-spacing:-.02em;
  line-height:1.06;
}

.lead{ font-size:18px; color:var(--muted); margin:0 0 18px; }

.hero-cta{ display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }

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

/* hero text fade (used by JS) */
.hero-copy{ transition: opacity 240ms ease, transform 240ms ease; }
.hero-copy.is-fading{ opacity:0; transform: translateY(2px); }

/* HERO Slider (Background images) */
.hero-slider{ position:relative; }
.hero-slides{ position:absolute; inset:0; z-index:0; }

.hero-slide{
  position:absolute; inset:0;
  opacity:0;
  transition: opacity 900ms ease;

  background-image:
    linear-gradient(90deg,
      rgba(247,244,238,.92) 0%,
      rgba(247,244,238,.78) 42%,
      rgba(247,244,238,.55) 62%,
      rgba(247,244,238,.30) 100%),
    radial-gradient(700px 420px at 25% 20%, rgba(148,0,211,.18), transparent 60%),
    radial-gradient(700px 420px at 80% 40%, rgba(201,168,255,.22), transparent 60%),
    var(--hero-img);

  background-size: auto, auto, auto, cover;
  background-position: center, center, center, center;
}

.hero-slide.is-active{ opacity:1; }

.hero-slider .wrap,
.hero-slider .hero-grid{ position:relative; z-index:1; }

/* slider dots */
.hero-slider-controls{
  position:relative;
  z-index:1;
  display:flex;
  gap:8px;
  margin-top:14px;
}

.hero-dot{
  width:10px; height:10px;
  border-radius:999px;
  border:1px solid rgba(47,51,55,.18);
  background: rgba(255,255,255,.55);
  cursor:pointer;
  padding:0;
}
.hero-dot.is-active{
  background: rgba(148,0,211,.72);
  box-shadow: 0 0 0 4px rgba(148,0,211,.14);
}

@media (prefers-reduced-motion: reduce){
  .hero-slide{ transition:none; }
  .hero-copy{ transition:none; }
}

/* Hero Visual Card */
.hero-visual{ padding:16px; position:relative; overflow:hidden; }
.hero-visual::before{
  content:"";
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(420px 240px at 30% 20%, rgba(148,0,211,.16), transparent 55%),
    radial-gradient(420px 240px at 80% 70%, rgba(201,168,255,.20), transparent 55%);
  pointer-events:none;
}
.hero-visual > *{ position:relative; }
.hero-visual-title{ font-weight:900; letter-spacing:-.01em; }
.hero-visual-sub{ color:var(--muted); font-size:13.5px; margin-top:4px; }

.hero-visual-art{
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(47,51,55,.10);
  background: rgba(255,255,255,.65);
  box-shadow: var(--shadowStrong);
  margin-top:10px;
}
.hero-visual-art svg{ display:block; width:100%; height:auto; }

.hero-visual-foot{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

.mini-kpi{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(47,51,55,.10);
  background: rgba(255,255,255,.65);
  font-size:12.5px;
  color:var(--muted);
}
.mini-kpi strong{ color:var(--text); }

.mini-kpi-dot{
  width:10px; height:10px;
  border-radius:999px;
  background: rgba(148,0,211,.72);
  box-shadow: 0 0 0 4px rgba(148,0,211,.12);
}
.mini-kpi-dot.secondary{
  background: rgba(201,168,255,.92);
  box-shadow: 0 0 0 4px rgba(201,168,255,.14);
}

/* =========================
   Strip
========================= */
.strip{ padding:18px 0; }
.strip-primary{
  background: rgba(148,0,211,.05);
  border-top: 1px solid rgba(47,51,55,.08);
  border-bottom: 1px solid rgba(47,51,55,.08);
}
.strip-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; }
.strip-item{
  display:flex; gap:10px; align-items:center;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(47,51,55,.10);
  background: rgba(255,255,255,.70);
}
.strip-icon{
  width:34px; height:34px;
  display:grid; place-items:center;
  border-radius:14px;
  background: rgba(148,0,211,.10);
  color: var(--primaryDark);
}
.strip-icon svg{ width:20px; height:20px; display:block; }
.strip-text strong{ display:block; font-size:13.5px; }
.strip-text span{ display:block; font-size:12.5px; color:var(--muted); margin-top:2px; }

/* =========================
   Tiles
========================= */
.tiles{ display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; }
.tile{ padding:16px 16px 14px; }
.tile-ico{
  width:38px; height:38px;
  display:grid; place-items:center;
  border-radius:16px;
  background: rgba(148,0,211,.10);
  color:#2F3337;
  border:1px solid rgba(47,51,55,.10);
  margin-bottom:10px;
}
.tile-ico svg{ width:20px; height:20px; display:block; }
.tile h3{ margin:0 0 6px; font-size:16px; }
.tile p{ margin:0; color:var(--muted); font-size:14px; }
.tile ul{ margin:10px 0 0; padding-left:18px; color:var(--muted); font-size:14px; }
.tile li{ margin:6px 0; }

/* =========================
   Prozesslandkarte Hero
========================= */
.process-hero{ padding:62px 0; }
.process-heroHead{
  display:flex; justify-content:space-between; gap:16px;
  align-items:flex-end; margin-bottom:14px;
}
.process-heroCtas{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.process-heroGrid{
  display:grid; grid-template-columns: 1.12fr .88fr;
  gap:14px; align-items:stretch;
}

.process-heroFigure{ padding:16px; position:relative; overflow:hidden; }
.process-heroFigure::before{
  content:"";
  position:absolute;
  inset:-60px;
  background:
    radial-gradient(380px 240px at 20% 20%, rgba(148,0,211,.14), transparent 55%),
    radial-gradient(380px 240px at 80% 70%, rgba(201,168,255,.18), transparent 55%);
  pointer-events:none;
}
.process-heroFigure > *{ position:relative; }

.process-heroLink{
  display:block;
  position:relative;
  border-radius:18px;
  overflow:hidden;
}

.process-heroFigure img{
  width:100%; height:auto; display:block;
  border-radius:18px;
  border:1px solid rgba(47,51,55,.10);
  background:#fff;
  transform: scale(1);
  transition: transform .35s ease, filter .35s ease;
  box-shadow: var(--shadowStrong);
}

/* subtle hover */
.process-heroLink:hover img,
.process-heroLink:focus img{
  transform: scale(1.015);
  filter: saturate(1.02) contrast(1.02);
}

.process-heroOverlay{
  position:absolute; inset:0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:14px;
  pointer-events:none;
}

.process-heroOverlayInner{
  font-size:13px;
  color:#fff;
  background: rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:8px 12px;
  transform: translateY(6px);
  opacity:0;
  transition: opacity .25s ease, transform .25s ease;
}
.process-heroLink:hover .process-heroOverlayInner,
.process-heroLink:focus .process-heroOverlayInner{
  opacity:1;
  transform: translateY(0);
}

.micro{ margin-top:10px; font-size:12.5px; color:var(--muted); }

.process-miniFacts{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
  margin-top:12px;
}
.process-miniFact{
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(47,51,55,.10);
  background: rgba(255,255,255,.70);
}
.process-miniFact strong{ display:block; font-size:13.5px; }
.process-miniFact span{ display:block; font-size:12.5px; color:var(--muted); margin-top:3px; }

/* =========================
   Prozesslandkarte (SVG) – minimal, externes CSS
   (keine Dopplungen)
========================= */
.prozesslandkarte{
  width:100%;
  height:auto;
  display:block;
}

/* SVG Basiselemente */
.prozesslandkarte .bg{ fill: var(--bg); }

.prozesslandkarte .panel,
.prozesslandkarte .infraCard{
  fill: rgba(255,255,255,0.94);
  stroke: rgba(47,51,55,.14);
  stroke-width: 2;
}

.prozesslandkarte .head{ fill: var(--primaryDark); }

.prozesslandkarte .divider{
  stroke: rgba(47,51,55,.18);
  stroke-width: 2;
}

.prozesslandkarte .flow{
  stroke: rgba(148,0,211,.45);
  stroke-width: 8;
  stroke-linecap: round;
}
.prozesslandkarte .flowArrow{
  fill: rgba(148,0,211,.55);
}
.prozesslandkarte .arrow{
  fill: rgba(148,0,211,.40);
}

/* SVG Typo */
.prozesslandkarte .t-title{
  font: 800 56px system-ui,-apple-system,Segoe UI,Roboto,Arial;
  fill: var(--text);
  letter-spacing:-0.02em;
}
.prozesslandkarte .t-sub{
  font: 500 22px system-ui,-apple-system,Segoe UI,Roboto,Arial;
  fill: rgba(47,51,55,.65);
}
.prozesslandkarte .headText{
  font: 800 26px system-ui,-apple-system,Segoe UI,Roboto,Arial;
  fill: #fff;
  letter-spacing:.08em;
}
.prozesslandkarte .headSub{
  font: 600 20px system-ui,-apple-system,Segoe UI,Roboto,Arial;
  fill: rgba(255,255,255,.85);
}
.prozesslandkarte .ptTitle{
  font: 800 26px system-ui,-apple-system,Segoe UI,Roboto,Arial;
  fill: var(--text);
  letter-spacing:.10em;
}
.prozesslandkarte .stepLabel{
  font: 700 20px system-ui,-apple-system,Segoe UI,Roboto,Arial;
  fill: var(--primaryDark);
}
.prozesslandkarte .tileLabel{
  font: 600 16px system-ui,-apple-system,Segoe UI,Roboto,Arial;
  fill: rgba(47,51,55,.75);
}
.prozesslandkarte .caption{
  font: 600 13px system-ui,-apple-system,Segoe UI,Roboto,Arial;
  fill: rgba(47,51,55,.55);
  letter-spacing:.06em;
}

/* SVG Icons */
.prozesslandkarte .chip{
  fill: rgba(148,0,211,.10);
  stroke: rgba(148,0,211,.22);
  stroke-width: 2;
}
.prozesslandkarte .iStroke{
  stroke: var(--primaryDark);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

/* SVG Tiles */
.prozesslandkarte .infraTileTop{
  fill: rgba(255,255,255,.96);
  stroke: rgba(47,51,55,.12);
  stroke-width: 2;
}
.prozesslandkarte .infraTileBottom{
  fill: rgba(148,0,211,.05);
  stroke: rgba(47,51,55,.12);
  stroke-width: 2;
}

/* Optional: sehr subtiler Hover */
.prozesslandkarte .infraTileTop,
.prozesslandkarte .infraTileBottom{
  transition: transform .2s ease;
}
.prozesslandkarte .infraTileTop:hover,
.prozesslandkarte .infraTileBottom:hover{
  transform: translateY(-3px);
}

/* =========================
   Check / How / About / Contact / Footer
========================= */
.how{ display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; }
.step{ padding:16px; }
.step .n{
  width:34px; height:34px;
  border-radius:12px;
  display:grid; place-items:center;
  background: rgba(148,0,211,.10);
  border:1px solid rgba(148,0,211,.18);
  font-weight:900;
  margin-bottom:10px;
  color: var(--primaryDark);
}
.step strong{ display:block; margin-bottom:6px; }
.step span{ color:var(--muted); font-size:14px; }

.about-grid{
  display:grid;
  grid-template-columns: .92fr 1.08fr;
  gap:18px;
  align-items:stretch;
}
.about-image{ padding:14px; overflow:hidden; }
.about-image img{
  width:100%; height:auto; display:block;
  border-radius:20px;
  border:1px solid rgba(47,51,55,.10);
  box-shadow: var(--shadowStrong);
}
.about-content h3{ margin: 6px 0 10px; letter-spacing:-.01em; }
.about-content p{ margin:0; color:var(--muted); }
.about-highlights{ margin-top:14px; display:grid; gap:10px; }
.about-highlight{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(47,51,55,.10);
  background: rgba(255,255,255,.70);
}
.about-highlight strong{ display:block; font-size:14px; margin-bottom:3px; }
.about-highlight span{ display:block; font-size:13px; color:var(--muted); }
.about-cta{ margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; }

.contact{ display:grid; grid-template-columns: 1fr 1fr; gap:14px; align-items:stretch; }
.box{ padding:18px; }
.contact a{ color: var(--primaryDark); text-decoration:none; font-weight:800; }
.contact a:hover{ text-decoration:underline; }

footer{
  padding:22px 0 30px;
  border-top:1px solid rgba(47,51,55,.08);
  color:var(--muted);
  font-size:13px;
  background: rgba(255,255,255,.10);
}
.foot{
  display:flex; gap:12px;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
}
.footLinks{ display:flex; gap:12px; flex-wrap:wrap; }
.foot a{ color:var(--muted); text-decoration:none; }
.foot a:hover{ text-decoration:underline; }

/* =========================
   Responsive
========================= */
@media (max-width: 980px){
  .brand img{ height:38px; }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-badges{ grid-template-columns:1fr; }

  .strip-grid{ grid-template-columns:1fr 1fr; }
  .tiles{ grid-template-columns:1fr; }

  .process-heroHead{ align-items:flex-start; flex-direction:column; }
  .process-heroCtas{ justify-content:flex-start; }
  .process-heroGrid{ grid-template-columns:1fr; }
  .process-miniFacts{ grid-template-columns:1fr; }

  .how{ grid-template-columns:1fr; }
  .about-grid{ grid-template-columns:1fr; }
  .contact{ grid-template-columns:1fr; }
}

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

/* =========================
   Mobile Navigation
========================= */
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow);
  cursor:pointer;
  align-items:center;
  justify-content:center;
  transition: transform .2s ease, background .2s ease;
}
.nav-toggle:hover{ transform: translateY(-1px); }

.nav-toggle-bars{
  width:18px;
  height:12px;
  position:relative;
  display:block;
}
.nav-toggle-bars::before,
.nav-toggle-bars::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:2px;
  border-radius:2px;
  background: rgba(47,51,55,.85);
  transition: transform .2s ease, top .2s ease, bottom .2s ease, opacity .2s ease;
}
.nav-toggle-bars::before{ top:0; }
.nav-toggle-bars::after{ bottom:0; }
.nav-toggle.is-open .nav-toggle-bars::before{ top:5px; transform: rotate(45deg); }
.nav-toggle.is-open .nav-toggle-bars::after{ bottom:5px; transform: rotate(-45deg); }

.nav-mobile{
  border-top:1px solid var(--line);
  background: rgba(247,244,238,.92);
  backdrop-filter: blur(10px);
}

.navlinks-mobile{
  display:grid;
  gap:6px;
  padding:12px 0 14px;
}
.navlinks-mobile a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(47,51,55,.08);
  background: rgba(255,255,255,.65);
  color: var(--text);
  text-decoration:none;
}
.navlinks-mobile a:hover{ background:rgba(148,0,211,.08); }

@media (max-width: 980px){
  .navlinks-desktop{ display:none; }
  .nav-toggle{ display:flex; }
}

/* ===== Process Panel: "Was Sie typischerweise gewinnen" ===== */

.process-heroPanel{
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.process-heroPanel h3{
  margin:0;
}

/* Punkte sauber untereinander + klarer Abstand */
.process-points{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.process-point{
  padding:12px 14px;
  border-radius:16px;
  border:1px dashed rgba(47,51,55,.18);
  background: rgba(255,255,255,.70);

  /* verhindert "Inline-Verkleben" visuell */
  display:flex;
  flex-direction:column;
  gap:4px;
}

.process-point strong{
  display:block;
  font-size:14px;
  line-height:1.25;
  margin:0;
}

.process-point span{
  display:block;
  font-size:13px;
  line-height:1.35;
  color:var(--muted);
  margin:0;
}

/* CTA-Box am Ende: klar getrennt */
.process-ctaBox{
  margin-top:auto;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(47,51,55,.10);
  background: rgba(255,255,255,.72);
}

.process-ctaTitle{
  font-weight:900;
  margin:0 0 6px;
}

.process-ctaText{
  margin:0 0 12px;
  color:var(--muted);
  font-size:14px;
}

.process-ctaRow{
  margin:0;
  gap:10px;
}

.process-ctaMeta{
  margin-top:10px;
  font-size:12.5px;
  color:var(--muted);
}

/* ===== Check CTA (Direkt anfragen) – robustes Layout ===== */

.check-cta{
  margin-top:14px;
  padding:14px;
  display:grid;
  grid-template-columns: 1fr auto;
  gap:12px;
  align-items:center;
}

.check-ctaCopy{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width: 0;
}

.check-ctaCopy strong{
  display:block;
  font-size:14px;
  line-height:1.25;
  margin:0;
}

.check-ctaCopy span{
  display:block;
  font-size:13px;
  line-height:1.35;
  color:var(--muted);
  margin:0;
}

.check-ctaBtns{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
}

@media (max-width: 740px){
  .check-cta{
    grid-template-columns: 1fr;
    align-items:flex-start;
  }
  .check-ctaBtns{
    justify-content:flex-start;
  }
}

/* ===== Deliverables: Leitplanke / Notice ===== */

.checkNotice,
.notice.checkNotice,
.notice{
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;

  /* subtil statt "Pill" */
  border:1px solid rgba(148,0,211,.22);
  background: rgba(148,0,211,.08);

  box-shadow: none;
}

.checkNotice strong,
.notice.checkNotice strong{
  display:inline;
  font-weight:900;
  color: var(--text);
}

.checkNotice{
  font-size:13.5px;
  line-height:1.35;
}

.checkNotice{
  margin-top:12px;
  margin-left:15px;
  margin-right:15px;
  margin-bottom: 12px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(148,0,211,.22);
  background: rgba(148,0,211,.08);
  font-size:13.5px;
  line-height:1.35;
  box-shadow:none;
}
.checkNotice strong{ font-weight:900; }

/* ===== Deliverables – Headline Einzug ===== */

.checkDeliverables h3{
  margin: 0 0 14px 0;
  padding-left: 18px;   /* exakt wie UL */
}

/* ===== Vertikaler Rhythmus zwischen Cards ===== */

.card + .card{
  margin-top: 18px;
}

.checkDeliverables{
  margin-top: 18px;
}

/* ===== Kontakt – Unverbindliches Erstgespräch ===== */

.contact .box{
  display:flex;
  flex-direction:column;
  gap:16px;
}

/* Textabsätze sauber trennen */
.contactText{
  margin:0;
  line-height:1.5;
}

/* Kontaktzeilen */
.contactLine{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.contactLine a{
  font-weight:700;
  color:#9400D3;
  text-decoration:none;
}

.contactLine a:hover{
  text-decoration:underline;
}

/* Quick Facts unten */
.contactQuick{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
  margin-top:8px;
}

.contactQuickItem{
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(47,51,55,.10);
  background: rgba(148,0,211,.05);
}

.contactQuickItem strong{
  display:block;
  font-size:14px;
  margin-bottom:3px;
}

.contactQuickItem span{
  display:block;
  font-size:13px;
  color:var(--muted);
}

/* ===== Kontakt: Harmonisierung der beiden Cards ===== */

.contact .box{
  display:flex;
  flex-direction:column;
  padding:22px;              /* einheitliches Innenmaß */
  gap:14px;                  /* einheitlicher Rhythmus */
}

.contact .box h3{
  margin:0 0 4px;
}

.contact .box ul{
  margin:0;
  padding-left:18px;
}

.contact .box li{ margin:6px 0; }

/* Kontaktzeilen links kompakter + konsistent */
.contactLine{ margin:0; }
.contactMeta{ margin:0; }

/* ===== Quick Facts links: von 3 großen Cards -> kompakte Chips ===== */
.contactQuick{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}

.contactQuickItem{
  flex: 1 1 calc(33.333% - 10px);
  min-width: 150px;

  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(47,51,55,.10);
  background: rgba(148,0,211,.05);
}

.contactQuickItem strong{
  display:block;
  font-size:13.5px;
  margin:0 0 2px;
}

.contactQuickItem span{
  display:block;
  font-size:12.5px;
  color:var(--muted);
  margin:0;
}

/* ===== Rechte Box: Actions-Block sauber darstellen ===== */
.contactBtns{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

/* Buttons in Kontaktbereich: gleiche Höhe + ruhigere Breiten */
#kontakt .btn{
  min-height:44px;
}

/* Primär-Button darf breiter, die kleinen bleiben kompakt */
#kontakt .btn.primary{
  padding-left:16px;
  padding-right:16px;
}

/* Optional: "Impressum/Datenschutz" als Secondary kleiner wirken lassen */
#kontakt .contactBtns .btn:not(.primary){
  background: rgba(255,255,255,.65);
}

/* Mobile: 2 Spalten Chips -> 1 Spalte */
@media (max-width: 740px){
  .contactQuickItem{ flex: 1 1 100%; }
}



