/* ============================================================
   Certvia — Homepage Styles (Neubau)
   Marke: GEFIM-Farbwelt · Poppins + Open Sans
   Mobile-first · Fonts optional selbst gehostet (siehe fonts/README.md)
   ============================================================ */

/* ---------- Self-hosted Fonts (optional) ----------
   Legt die .woff2 in /fonts ab (siehe fonts/README.md). Ohne die Dateien
   greift automatisch der System-Font-Fallback — die Seite bleibt sauber. */
@font-face{font-family:"Poppins";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/poppins-300.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-400.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-500.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-600.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/poppins-700.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/opensans-400.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/opensans-600.woff2") format("woff2")}
@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/opensans-700.woff2") format("woff2")}

/* ---------- Design Tokens ---------- */
:root{
  /* Markenfarben (Logo, Print, Akzente) */
  --violet:#5d52a3;
  --violet-600:#514795;
  --magenta:#812d80;
  --blue:#8dc4e0;
  --anthracite:#3b3b3a;

  /* UI / Produkt Dark-Theme (Mockup + dunkle Sektion) */
  --ui-violet:#7d6fd6;
  --ui-magenta:#b45bb0;
  --ui-bg0:#0e1220;
  --ui-bg1:#141a2e;
  --ui-elev:#1a2138;
  --ui-txt:#e8ecf7;
  --ui-muted:#8b93ad;
  --ok:#39c07f;
  --warn:#f0ad4e;
  --risk:#ff6b6b;

  /* Flächen / Neutrals */
  --paper:#ffffff;
  --soft:#f5f5f9;
  --soft-2:#eef0f6;
  --line:#e6e6ec;
  --text:#3b3b3a;
  --muted:#6b6b74;

  /* Verläufe */
  --brand-gradient:linear-gradient(135deg,#5d52a3 0%,#812d80 55%,#8dc4e0 135%);
  --btn-gradient:linear-gradient(135deg,#5d52a3,#812d80);

  --maxw:1160px;
  --radius:20px;
  --radius-sm:12px;
  --shadow:0 24px 60px rgba(59,50,90,.13);
  --shadow-soft:0 10px 30px rgba(59,50,90,.08);

  --font-head:"Poppins",system-ui,"Segoe UI",Roboto,sans-serif;
  --font-body:"Open Sans",system-ui,"Segoe UI",Roboto,sans-serif;

  --nav-h:70px;
}

/* ---------- Reset / Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 14px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:var(--font-body);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{color:var(--violet);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--anthracite);margin:0;line-height:1.14;letter-spacing:-.015em;overflow-wrap:break-word}
p{margin:0}
strong{font-weight:700}

.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:88px 0}
.section--soft{background:var(--soft)}

.eyebrow{
  font-family:var(--font-head);font-weight:600;font-size:12.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--violet);
  display:inline-block;margin-bottom:14px;
}
.eyebrow--inv{color:var(--blue)}
.grad-text{
  background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

.section__head{max-width:760px;margin-bottom:48px}
.section__head--center{margin-left:auto;margin-right:auto;text-align:center}
.section__title{font-size:clamp(27px,3.5vw,40px);font-weight:600}
.section__lead{margin-top:16px;color:var(--muted);font-size:18px;line-height:1.6}
.section__head--inv .section__title{color:#fff}
.section__head--inv .section__lead{color:rgba(232,236,247,.72)}

/* Wortmarke */
.w1{font-family:var(--font-head);font-weight:300;color:var(--anthracite)}
.w2{font-family:var(--font-head);font-weight:700;color:var(--magenta)}

/* Accessibility helpers */
.skip-link{
  position:absolute;left:12px;top:-52px;z-index:200;background:var(--violet);color:#fff;
  padding:10px 16px;border-radius:10px;transition:top .15s ease;
}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid rgba(125,111,214,.6);outline-offset:2px;border-radius:6px}

/* Reveal-Animation */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-head);font-weight:600;font-size:15px;
  padding:12px 22px;border-radius:12px;border:1px solid transparent;
  cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .2s ease,color .2s ease;
  text-decoration:none;white-space:nowrap;
}
.btn:hover{text-decoration:none}
.btn--primary{background:var(--btn-gradient);color:#fff;box-shadow:0 10px 24px rgba(93,82,163,.30)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(129,45,128,.34)}
.btn--primary:active{transform:translateY(0)}
.btn--lg{font-size:16px;padding:15px 28px}
.btn--block{width:100%}
.btn--ghost{background:#fff;color:var(--violet);border-color:var(--line);box-shadow:var(--shadow-soft)}
.btn--ghost:hover{transform:translateY(-2px);border-color:var(--violet);color:var(--magenta)}

/* ---------- Navigation ---------- */
.nav{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid transparent;
  transition:box-shadow .2s ease,border-color .2s ease,background .2s ease;
}
.nav.is-scrolled{border-bottom-color:var(--line);box-shadow:0 8px 24px rgba(59,50,90,.06)}
.nav__inner{
  max-width:var(--maxw);margin:0 auto;padding:0 24px;height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.nav__brand{display:flex;align-items:center;gap:10px}
.nav__brand:hover{text-decoration:none}
.nav__wm{font-size:27px;line-height:1}
.nav__links{display:flex;align-items:center;gap:30px}
.nav__links>a:not(.btn){
  font-family:var(--font-head);font-weight:500;font-size:15px;color:var(--anthracite);
  position:relative;
}
.nav__links>a:not(.btn)::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
  background:var(--magenta);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;border-radius:2px;
}
.nav__links>a:not(.btn):hover{color:var(--magenta);text-decoration:none}
.nav__links>a:not(.btn):hover::after{transform:scaleX(1)}
.nav__cta-mobile{display:none}
.nav__burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.nav__burger span{width:24px;height:2.5px;background:var(--anthracite);border-radius:2px;transition:.2s}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:84px 0 96px}
.hero__aurora{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(760px 480px at 92% -6%,rgba(141,196,224,.42),transparent 62%),
    radial-gradient(620px 500px at 4% 2%,rgba(93,82,163,.18),transparent 60%),
    radial-gradient(520px 420px at 62% 108%,rgba(129,45,128,.12),transparent 60%);
}
.hero__grid-lines{
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(93,82,163,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(93,82,163,.05) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(circle at 50% 30%,#000,transparent 78%);
  mask-image:radial-gradient(circle at 50% 30%,#000,transparent 78%);
}
.hero__inner{
  position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;
  gap:56px;align-items:center;
}
.hero__copy{min-width:0}
.pill{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--font-head);font-weight:600;
  font-size:13px;color:var(--violet);background:rgba(93,82,163,.08);
  border:1px solid rgba(93,82,163,.18);border-radius:999px;padding:7px 15px;
}
.pill__dot{width:8px;height:8px;border-radius:50%;background:var(--magenta);box-shadow:0 0 0 4px rgba(129,45,128,.14)}
.hero__title{font-size:clamp(30px,5.4vw,62px);font-weight:600;letter-spacing:-.025em;margin-top:22px;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}
.hero__sub{margin-top:22px;font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:560px}
.hero__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:32px}
.hero__trust{
  list-style:none;margin:34px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 26px;
}
.hero__trust li{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:var(--muted)}
.hero__trust svg{color:var(--violet)}

/* Produkt-Cockpit-Mockup */
.hero__visual{position:relative}
.app{
  background:radial-gradient(720px 460px at 15% -20%,#1c2340 0,transparent 60%),var(--ui-bg0);
  border:1px solid #232c48;border-radius:var(--radius);box-shadow:var(--shadow);
  display:grid;grid-template-columns:132px 1fr;overflow:hidden;
}
.app__side{padding:18px 14px;border-right:1px solid rgba(120,135,180,.14);display:flex;flex-direction:column;gap:6px;background:rgba(10,14,26,.4)}
.app__brand{display:flex;align-items:center;gap:8px;color:var(--ui-txt);font-family:var(--font-head);font-weight:600;font-size:14px;margin-bottom:12px}
.app__nav{font-size:12.5px;color:var(--ui-muted);padding:8px 10px;border-radius:9px}
.app__nav--on{color:var(--ui-txt);background:rgba(125,111,214,.16);font-weight:600}
.app__main{padding:20px}
.app__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:8px}
.app__crumb{font-family:var(--font-head);font-weight:600;color:var(--ui-txt);font-size:15px}
.app__scope{font-size:11.5px;color:var(--ui-muted);background:rgba(120,135,180,.12);border-radius:999px;padding:4px 10px}
.app__stats{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.ring{
  --p:80;width:82px;height:82px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:conic-gradient(var(--ui-violet) calc(var(--p)*1%),rgba(120,135,180,.16) 0);
  position:relative;
}
.ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--ui-bg1)}
.ring span{position:relative;font-family:var(--font-head);font-weight:700;color:var(--ui-txt);font-size:19px}
.app__kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;flex:1}
.kpi{background:var(--ui-elev);border:1px solid rgba(120,135,180,.16);border-radius:12px;padding:12px 10px}
.kpi b{display:block;font-family:var(--font-head);font-size:20px;color:var(--ui-violet)}
.kpi small{color:var(--ui-muted);font-size:11px}
.app__card{background:rgba(30,38,64,.7);border:1px solid rgba(120,135,180,.18);border-radius:12px;padding:13px 15px;margin-bottom:11px}
.app__card--dim{opacity:.82}
.app__card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ui-txt);font-family:var(--font-head);font-weight:600;font-size:13px}
.app__card-m{color:var(--ui-muted);font-size:11.5px;margin-top:3px}
.tagpill{font-family:var(--font-head);font-weight:600;font-size:11px;border-radius:999px;padding:3px 10px;white-space:nowrap}
.tagpill--ok{background:rgba(57,192,127,.16);color:#5fe0a6}
.tagpill--warn{background:rgba(240,173,78,.16);color:#f2c078}
.track{height:7px;border-radius:999px;background:rgba(120,135,180,.16);margin-top:11px;overflow:hidden}
.track span{display:block;height:100%;background:linear-gradient(90deg,var(--ui-violet),var(--ui-magenta))}
.float-card{
  position:absolute;right:-14px;bottom:-26px;background:#fff;border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--shadow);padding:14px 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:min(88%,320px);
}
.float-card__lbl{font-family:var(--font-head);font-weight:600;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);width:100%}
.float-card__chip{font-family:var(--font-head);font-weight:600;font-size:12px;border-radius:999px;padding:4px 11px;background:var(--soft);color:var(--muted);border:1px solid var(--line)}
.float-card__chip--on{background:rgba(93,82,163,.1);color:var(--violet);border-color:rgba(93,82,163,.24)}

/* ---------- Problem → Lösung (before/after) ---------- */
.ba{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:stretch}
.ba__col{border-radius:var(--radius);padding:30px 30px 34px;border:1px solid var(--line)}
.ba__col--pain{background:var(--soft)}
.ba__col--gain{background:#fff;border-color:rgba(93,82,163,.28);box-shadow:var(--shadow-soft);position:relative}
.ba__col--gain::before{content:"";position:absolute;inset:0;border-radius:var(--radius);padding:1px;background:var(--brand-gradient);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.5}
.ba__label{font-family:var(--font-head);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:inline-block;margin-bottom:18px}
.ba__label--on{color:var(--magenta)}
.ba__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.ba__list li{position:relative;padding-left:30px;color:var(--muted);font-size:15.5px}
.ba__list li::before{content:"✕";position:absolute;left:0;top:0;color:#b9737f;font-weight:700;font-family:var(--font-head)}
.ba__list--on li{color:var(--text)}
.ba__list--on li::before{content:"✓";color:#fff;background:var(--btn-gradient);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:12px;top:1px}
.ba__bridge{display:grid;place-items:center;color:var(--magenta)}

/* ---------- Nutzen (Bento) ---------- */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-soft)}
.section--soft .card{background:#fff}
.bento__lead{grid-row:span 2;display:flex;flex-direction:column}
.bento__lead h3{font-size:22px}
.bento__lead p{font-size:16px}
.bento__meta{margin-top:auto;padding-top:22px;display:flex;gap:8px;flex-wrap:wrap}
.mini-chip{font-family:var(--font-head);font-weight:600;font-size:12px;border-radius:999px;padding:5px 12px;background:rgba(93,82,163,.09);color:var(--violet);border:1px solid rgba(93,82,163,.2)}
.card h3{font-size:19px;font-weight:600}
.card p{margin-top:11px;color:var(--muted);font-size:15.5px}
.ic{
  width:48px;height:48px;border-radius:13px;display:grid;place-items:center;flex:none;
  color:var(--violet);background:rgba(93,82,163,.09);border:1px solid rgba(93,82,163,.16);margin-bottom:18px;
}
.ic--grad{color:#fff;background:var(--btn-gradient);border:0;box-shadow:0 10px 22px rgba(93,82,163,.28)}
.card{transition:transform .18s ease,box-shadow .18s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.bento__lead:hover,.cta__form:hover{transform:none;box-shadow:var(--shadow-soft)}

/* ---------- Frameworks (Toggle-Kacheln) ---------- */
.fw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fw-tile{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;
  box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease,border-color .2s ease,opacity .2s ease;
  cursor:pointer;
}
.fw-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.fw-tile:not(.is-on){opacity:.72}
.fw-tile.is-on{border-color:rgba(93,82,163,.34)}
.fw-tile__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.fw-tile__tag{font-family:var(--font-head);font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--violet);background:rgba(93,82,163,.1);border-radius:999px;padding:4px 11px}
.fw-tile__tag--m{color:var(--magenta);background:rgba(129,45,128,.1)}
.fw-tile__tag--b{color:#3f7fa3;background:rgba(141,196,224,.22)}
.fw-tile h3{font-size:21px;font-weight:600}
.fw-tile p{margin-top:11px;color:var(--muted);font-size:15.5px}
.fw-tile__state{display:inline-block;margin-top:18px;font-family:var(--font-head);font-weight:600;font-size:12.5px;color:var(--muted)}
.fw-tile.is-on .fw-tile__state{color:var(--violet)}
/* Toggle-Switch */
.switch{width:44px;height:26px;border-radius:999px;border:0;background:#d5d5de;position:relative;cursor:pointer;padding:0;flex:none;transition:background .2s ease}
.switch.is-on{background:var(--btn-gradient)}
.switch__knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:transform .2s ease}
.switch.is-on .switch__knob{transform:translateX(18px)}
.fw-note{text-align:center;margin-top:36px;color:var(--muted);font-size:16px}
.fw-note a{font-family:var(--font-head);font-weight:600;color:var(--magenta)}

/* ---------- Ablauf (Timeline) ---------- */
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.timeline::before{content:"";position:absolute;top:26px;left:6%;right:6%;height:2px;background:linear-gradient(90deg,var(--violet),var(--magenta),var(--blue));opacity:.35;border-radius:2px}
.tl-step{position:relative;padding-top:0}
.tl-step__num{
  position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;
  font-family:var(--font-head);font-weight:700;font-size:21px;color:#fff;
  background:var(--btn-gradient);box-shadow:0 12px 24px rgba(93,82,163,.28);margin-bottom:18px;
}
.tl-step h3{font-size:18px;font-weight:600}
.tl-step p{margin-top:9px;color:var(--muted);font-size:15px}

/* ---------- Personas ---------- */
.persona-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.persona{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-soft);transition:transform .18s ease,box-shadow .18s ease}
.persona:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.persona__ic{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--violet);
  background:rgba(93,82,163,.09);border:1px solid rgba(93,82,163,.16);margin-bottom:16px;
}
.persona h3{font-size:17px;font-weight:600;color:var(--violet)}
.persona p{margin-top:9px;color:var(--muted);font-size:15px}

/* ---------- Vertrauen (dunkle Sektion) ---------- */
.section--dark{
  background:radial-gradient(900px 500px at 12% -10%,#1c2340 0,transparent 60%),var(--ui-bg0);
  color:var(--ui-txt);
}
.trust-grid{list-style:none;margin:0 auto 46px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1000px}
.trust-item{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;
  background:rgba(30,38,64,.5);border:1px solid rgba(120,135,180,.18);border-radius:16px;padding:22px 14px;
  font-family:var(--font-head);font-weight:500;font-size:14.5px;color:var(--ui-txt);
}
.trust-item svg{color:var(--ui-violet)}
.trust-refs{text-align:center;padding:30px 0 6px;border-top:1px solid rgba(120,135,180,.16);max-width:640px;margin:0 auto}
.trust-refs__label{font-family:var(--font-head);font-weight:600;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-muted);margin-bottom:18px}
.trust-refs__slots{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.ref-slot{width:160px;height:66px;border:1px dashed rgba(120,135,180,.3);border-radius:12px;display:grid;place-items:center;color:var(--ui-muted);font-size:13px;background:rgba(30,38,64,.35)}
.trust-parent{text-align:center;margin-top:34px;color:var(--ui-muted);font-size:15px}
.trust-parent strong{color:var(--ui-txt)}

/* ---------- FAQ ---------- */
.faq__wrap{max-width:820px}
.faq__list{margin-top:8px}
.faq__item{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:12px;box-shadow:var(--shadow-soft);overflow:hidden}
.faq__item summary{
  list-style:none;cursor:pointer;padding:20px 22px;font-family:var(--font-head);font-weight:600;
  font-size:17px;color:var(--anthracite);display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";font-size:24px;font-weight:400;color:var(--violet);transition:transform .2s ease;line-height:1}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item p{padding:0 22px 20px;color:var(--muted);font-size:15.5px;margin-top:-4px}

/* ---------- Abschluss-CTA ---------- */
.cta{position:relative;overflow:hidden;color:#fff}
.cta__bg{position:absolute;inset:0;z-index:0;background:var(--brand-gradient)}
.cta__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(760px 420px at 88% 120%,rgba(141,196,224,.4),transparent 60%)}
.cta__grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 460px;gap:52px;align-items:center}
.cta__title{color:#fff;font-size:clamp(28px,3.7vw,44px);font-weight:600}
.cta__lead{color:rgba(255,255,255,.92);margin-top:18px;font-size:18px;max-width:480px}
.cta__reassure{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px}
.cta__reassure li{color:#fff;font-family:var(--font-head);font-weight:500;font-size:15px;display:flex;align-items:center;gap:9px}
.cta__reassure li::before{content:"✓";color:var(--blue);font-weight:700}

/* ---------- Formular ---------- */
.cta__form{background:var(--paper);color:var(--text);padding:30px;box-shadow:0 30px 70px rgba(20,12,40,.32)}
.form__title{font-family:var(--font-head);font-weight:600;font-size:21px;color:var(--anthracite);margin-bottom:20px}
.field{margin-bottom:15px}
.field label{display:block;font-family:var(--font-head);font-weight:500;font-size:14px;margin-bottom:6px;color:var(--anthracite)}
.field .opt{color:var(--muted);font-weight:400}
.req{color:var(--magenta);margin-left:2px}
.field input,.field textarea{
  width:100%;font-family:var(--font-body);font-size:15px;color:var(--text);
  padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ui-violet);box-shadow:0 0 0 3px rgba(125,111,214,.2)}
.field textarea{resize:vertical}
.field--invalid input,.field--invalid textarea{border-color:var(--risk);box-shadow:0 0 0 3px rgba(255,107,107,.16)}
.field--check{display:flex;gap:10px;align-items:flex-start;margin-top:18px}
.field--check input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--violet)}
.field--check label{font-family:var(--font-body);font-weight:400;font-size:13.5px;color:var(--muted);line-height:1.5;margin:0}
.form__note{margin-top:12px;font-size:14px;font-weight:600;min-height:1px}
.form__note.is-ok{color:#1f9d5f}
.form__note.is-err{color:#c0392b}
.form__hint{margin-top:10px;font-size:12.5px;color:var(--muted)}

/* ---------- Footer ---------- */
.footer{background:#1c1c20;color:#cfcfd6}
.footer__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:32px;padding:60px 24px 42px}
.footer__logo{display:flex;align-items:center;gap:10px}
.footer__logo:hover{text-decoration:none}
.footer__wm{font-size:25px;line-height:1}
.footer__wm .w1{color:#fff}
.footer__tagline{margin-top:14px;font-size:14px;color:#9a9aa4}
.footer__parent{display:flex;align-items:center;gap:10px;margin-top:24px;font-size:13px;color:#9a9aa4}
.footer__col h4{font-family:var(--font-head);font-weight:600;font-size:14px;color:#fff;margin-bottom:14px}
.footer__col a{display:block;color:#c4c4cc;font-size:14.5px;margin-bottom:10px}
.footer__col a:hover{color:#fff;text-decoration:none}
.footer__bar{border-top:1px solid #313136}
.footer__bar-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;font-size:13px;color:#8f8f98;flex-wrap:wrap}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1000px){
  .hero__inner{grid-template-columns:1fr;gap:48px}
  .hero__visual{order:2;max-width:560px;margin:0 auto;width:100%}
  .bento{grid-template-columns:repeat(2,1fr)}
  .bento__lead{grid-row:auto;grid-column:span 2}
  .fw-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .timeline{grid-template-columns:repeat(2,1fr);gap:32px 24px}
  .timeline::before{display:none}
  .persona-grid{grid-template-columns:repeat(2,1fr)}
  .trust-grid{grid-template-columns:repeat(3,1fr);max-width:640px}
  .cta__grid{grid-template-columns:1fr;gap:36px}
  .cta__form{max-width:500px}
  .footer__grid{grid-template-columns:1fr 1fr 1fr}
  .footer__brand{grid-column:1 / -1}
}

@media (max-width:760px){
  .section{padding:64px 0}
  .hero{padding:60px 0 72px}
  /* Nav → Burger */
  .nav__cta{display:none}
  .nav__burger{display:flex}
  .nav__links{
    position:absolute;top:var(--nav-h);left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:#fff;border-bottom:1px solid var(--line);
    padding:8px 24px 18px;box-shadow:0 20px 30px rgba(59,50,90,.1);display:none;
  }
  .nav__links.is-open{display:flex}
  .nav__links>a:not(.btn){padding:14px 0;border-bottom:1px solid var(--line)}
  .nav__links>a:not(.btn)::after{display:none}
  .nav__cta-mobile{display:inline-flex;margin-top:14px}

  .ba{grid-template-columns:1fr;gap:16px}
  .ba__bridge{transform:rotate(90deg)}
  .bento{grid-template-columns:1fr}
  .bento__lead{grid-column:auto}
  .float-card{right:8px;bottom:-20px}
}

@media (max-width:520px){
  body{font-size:16px}
  .persona-grid,.trust-grid,.timeline{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .hero__actions .btn{width:100%}
  .app__stats{flex-direction:column;align-items:flex-start;gap:14px}
  .app__kpis{width:100%}
}
