/*
Theme Name:  Dan Berlin (Divi Child)
Description: Child-Theme für danberlin.de — CI 2025, Wirkungs-Formel-Design. Von 3 Plus Solutions.
Author:      3 Plus Solutions
Template:    Divi
Version:     4.51.7
*/

/* ============ Lokale Fonts (DSGVO, variabel) ============ */
@font-face{font-family:"Montserrat";src:url("fonts/Montserrat-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("fonts/OpenSans-latin.woff2") format("woff2");font-weight:300 800;font-style:normal;font-display:swap}

/* ============ Divi-5-Adapter ============ */
/* Sections tragen db5 + Originalklasse; Rows tragen db5-row (volle Breite, .wrap im Code-Modul regelt max-width) */
#page-container{overflow-x:hidden}
.db5.et_pb_section, .db5.et_flex_section{padding:0}
.db5 .db5-row{width:100%;max-width:none;padding:0;margin:0}
.db5 .et_pb_module{margin-bottom:0}
.db5 .et_pb_code_inner{width:100%}
/* Divi-Standard-Footer aus (eigener Footer als Section) */
#main-footer{display:none}
/* Divi-Text-Module erben unsere Typo */
.db5 .et_pb_text_inner{font-family:'Open Sans',sans-serif;color:inherit}

:root{
  --navy:#1E3674;
  --ink:#102336;
  --dark:#0E1B33;
  /* CI 2025 (Logo-Farbcode-Doc): #EA4C1F #F3905B #F0755D #EB4D61 */
  --orange:#EA4C1F;
  --orange-text:#C93E17; /* CI-Orange fuer kleinen Text, WCAG-AA-konform */
  --orange-dark:#D13F15;
  --brand-grad:linear-gradient(135deg,#EA4C1F 0%,#F0755D 55%,#EB4D61 100%);
  --paper:#FFFFFF;
  --mist:#F5F7FA;
  --line:#E3E8EF;
  --gray:#5B6B80;
  --radius:16px;
  --maxw:1200px;
  --narrow:720px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Open Sans',sans-serif;font-size:18px;line-height:1.6;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:'Montserrat',sans-serif;font-weight:700;line-height:1.15;color:var(--navy)}
.dark h1,.dark h2,.dark h3{color:#fff}
p{margin:0 0 1em}
a{color:var(--navy)}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.narrow{max-width:var(--narrow);margin:0 auto;padding:0 24px}
.db5{padding:96px 0}
.eyebrow{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:28px;height:3px;border-radius:3px;background:var(--brand-grad);flex:0 0 auto}
.proof .eyebrow,.quiet .eyebrow{justify-content:center}
.dark .eyebrow{color:#A9B8DC}

/* Buttons */
.btn{display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;text-decoration:none;padding:16px 32px;border-radius:12px;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;cursor:pointer;border:none}
.btn-primary{background:var(--brand-grad);color:#fff}
.btn-primary:hover{filter:brightness(.93);transform:translateY(-2px)}
.btn-secondary{background:var(--navy);color:#fff}
.btn-secondary:hover{background:#16295a;transform:translateY(-2px)}
.btn-ghost{background:none;color:var(--navy);padding:16px 8px;font-weight:600;text-decoration:none;font-size:15px}
.dark .btn-ghost{color:#B9C6E4}
.micro-trust{font-size:14px;color:var(--gray);margin-top:12px}
.dark .micro-trust{color:#8FA1C7}

/* Echte Bilder */
.photo{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);display:block}
figure.media{position:relative;margin:0}
figure.media figcaption{position:absolute;right:12px;bottom:10px;font-size:11px;color:rgba(255,255,255,.75);background:rgba(14,27,51,.45);padding:3px 10px;border-radius:100px}
.banner{margin:88px auto 0;max-width:var(--maxw);padding:0 24px}
.banner .media{height:440px;overflow:hidden;border-radius:var(--radius)}
.banner img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.banner .media::after{content:'';position:absolute;inset:40% 0 0 0;background:linear-gradient(180deg,transparent,rgba(10,20,38,.82))}
.banner .overlay{position:absolute;left:32px;bottom:28px;right:32px;color:#fff;z-index:1}
.banner .overlay b{font-family:'Montserrat',sans-serif;font-size:clamp(18px,2.2vw,26px);font-weight:600;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.banner .overlay span{display:block;font-size:16.5px;color:rgba(255,255,255,.85);text-shadow:0 1px 8px rgba(0,0,0,.5)}

/* Bild-Platzhalter */
.ph{position:relative;border-radius:var(--radius);overflow:hidden;background:
  repeating-linear-gradient(45deg,#E9EEF6 0 14px,#F2F5FA 14px 28px);
  border:1.5px dashed #B9C6E4;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px;min-height:280px}
.dark .ph{background:repeating-linear-gradient(45deg,#16274A 0 14px,#1B2E54 14px 28px);border-color:#3A507F}
.ph-inner{max-width:420px}
.ph-tag{display:inline-block;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;background:var(--navy);color:#fff;padding:5px 12px;border-radius:100px;margin-bottom:12px}
.dark .ph-tag{background:#B9C6E4;color:var(--dark)}
.ph-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;color:var(--navy);margin-bottom:8px}
.dark .ph-title{color:#fff}
.ph-desc{font-size:13.5px;line-height:1.55;color:#5B6B84}
.dark .ph-desc{color:#93A5C8}
.ph-desc b{color:var(--navy)}
.dark .ph-desc b{color:#C9D5EE}

/* Hero */
.hero{padding:72px 0 40px}
.hero .wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(38px,4.6vw,62px);margin-bottom:24px}
.hero .sub{font-size:20px;color:#3D4C63;margin-bottom:32px;max-width:540px}
.hero .ph{min-height:520px}
.hero-cta{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.hero-bullets{list-style:none;margin:0 0 32px;padding:0}
.hero-bullets li{position:relative;padding:6px 0 6px 34px;font-size:19px;color:#3D4C63;font-weight:600}
.hero-bullets li::before{content:'✓';position:absolute;left:0;top:6px;width:24px;height:24px;border-radius:50%;background:var(--brand-grad);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.hero-caption{font-size:13px;color:var(--gray);margin-top:10px;text-align:right}
.mirror-conclusion{font-family:'Montserrat',sans-serif;font-weight:600;font-size:18px;color:var(--navy);margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.way-audience{font-size:13.5px;color:var(--gray);margin:0 0 12px}
.anspruch{text-align:center;font-size:clamp(20px,2.4vw,26px);max-width:760px;margin:0 auto 40px}
.vsl{margin-top:64px}
.vsl .ph{min-height:360px}

/* Proof bar */
.db5.proof{background:var(--mist);padding:56px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof .eyebrow{text-align:center;margin-bottom:24px}
.logo-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:48px}
.logo-chip{font-family:'Montserrat',sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;color:#5B6B80;border:1px solid var(--line);border-radius:10px;padding:14px 26px;background:#fff;display:flex;align-items:center;gap:8px}
.logo-chip span{display:none}
.logo-chip .stars{display:inline;color:var(--orange);font-size:12px;letter-spacing:.1em}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}
.stat b{display:block;font-family:'Montserrat',sans-serif;font-weight:300;font-size:44px;color:var(--navy);line-height:1.1}
.stat span{font-size:14px;color:var(--gray)}

/* Spiegel */
.db5.mirror{padding:112px 0 80px}
.mirror-quotes{display:flex;flex-direction:column;gap:28px;margin:40px 0 0}
.mq{font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(20px,2.4vw,26px);line-height:1.4;color:var(--navy);padding-left:24px;border-left:3px solid var(--orange)}

/* Wende (dark) */
.dark{background:var(--dark);color:#E4EAF7}
.db5.wende{padding:96px 0}
.wende .lead{font-size:20px;max-width:680px;margin:0 auto 56px;text-align:center;color:#E4EAF7}
.wende .lead b{color:#fff}
.factors{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1040px;margin:0 auto}
.factor{border:1px solid #2E4270;border-radius:var(--radius);padding:32px}
.factor .num{font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--brand-grad);color:#fff;margin-bottom:16px}
.factor h3{font-size:21px;margin-bottom:10px}
.factor p{font-size:17px;line-height:1.7;color:#F0F4FB;margin:0}
.wende .source,.dark .source{font-size:14.5px;color:#A9B8DC;text-align:center;margin-top:32px;letter-spacing:.04em}
.cliff{font-family:'Montserrat',sans-serif;font-weight:600;font-size:19px;color:#fff;text-align:center;margin-top:40px}

/* Straße */
.db5.strasse{padding:0 0 112px}
.strasse .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.strasse h2{font-size:clamp(30px,3.6vw,46px);margin-bottom:24px}
.strasse .body{font-size:18px;color:#D5DEF2;margin-bottom:32px}
.numbers{display:flex;flex-wrap:wrap;gap:8px 28px;margin-bottom:24px}
.numbers b{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;color:#fff}
.tvline{font-size:13.5px;letter-spacing:.1em;color:#8FA1C7;margin-bottom:28px}
.strasse .ph{min-height:560px}

/* Transformationen */
.cases h2{text-align:center;font-size:clamp(30px,3.6vw,44px);margin-bottom:64px}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:32px}
.case{border:1px solid var(--line);border-radius:var(--radius);padding:32px;transition:transform .25s ease,border-color .25s ease;background:#fff}
.case:hover{transform:translateY(-4px);border-color:var(--navy)}
.case-num{display:flex;align-items:baseline;gap:14px;font-family:'Montserrat',sans-serif;color:var(--navy);margin-bottom:6px}
.case-num .from{font-weight:300;font-size:34px;color:var(--gray)}
.case-num .arrow{flex:0 0 auto;width:34px;height:2px;background:var(--orange);position:relative;transform-origin:left;transition:transform .6s ease .2s}
.case-num .arrow::after{content:'';position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left-color:var(--orange)}
.case-num .to{font-weight:600;font-size:46px}
.case-label{font-size:14px;color:var(--gray);margin-bottom:20px;min-height:42px}
.case-quote{font-size:16px;font-style:italic;color:var(--ink);margin-bottom:20px;min-height:76px}
.case-person{display:flex;align-items:center;gap:12px}
.case-avatar{width:52px;height:52px;border-radius:50%;flex:0 0 auto;background:repeating-linear-gradient(45deg,#E9EEF6 0 8px,#F2F5FA 8px 16px);border:1.5px dashed #B9C6E4;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--navy);font-family:'Montserrat',sans-serif;text-align:center;line-height:1.2}
.case-person b{display:block;font-size:15px;color:var(--navy)}
.case-person span{font-size:13px;color:var(--gray)}
.video-row .ph{min-height:420px;margin-bottom:32px}
.cases .after-line{text-align:center;font-size:15px;color:var(--gray)}
.cases .after-line a{font-weight:600}
.mid-cta{text-align:center;margin-top:40px}

/* Drei Wege */
.wege-sec{background:var(--mist)}
.wege-sec h2{text-align:center;font-size:clamp(30px,3.4vw,42px);margin-bottom:12px}
.wege-sec .sub{text-align:center;color:#3D4C63;max-width:560px;margin:0 auto 56px}
.way-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.way{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease;text-decoration:none;color:var(--ink)}
.way:hover{transform:translateY(-4px);border-color:var(--navy)}
.way .img{aspect-ratio:16/10;overflow:hidden}
.way .img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.way:hover .img img{transform:scale(1.03)}
.way .body{padding:28px 32px 32px;display:flex;flex-direction:column;flex:1}
.way .tag{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-text);margin-bottom:8px}
.way h3{font-size:21px;margin-bottom:10px}
.way p{font-size:15.5px;color:#3D4C63;margin-bottom:16px}
.way .proof-line{font-size:13.5px;color:var(--gray);margin-bottom:16px}
.way .more{margin-top:auto;font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;color:var(--navy)}
.wege-exit{text-align:center;margin-top:32px;font-size:16px;color:#3D4C63}
.wege-exit b{color:var(--navy)}
.wege-exit a{font-weight:600}
/* Als Link erkennbar (Feedback Dan 04.10.: „hier muss noch der Link rein") */
.wege-exit a,.nx-center a[href="/erstgespraech/"]{color:var(--orange-text)!important;text-decoration:underline;text-underline-offset:3px}

/* Arbeitsweise */
.method{background:#fff}
.method h2{text-align:center;font-size:clamp(30px,3.4vw,42px);margin-bottom:12px}
.method .sub{text-align:center;color:#3D4C63;max-width:560px;margin:0 auto 64px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative;margin-bottom:24px}
.steps::before{content:'';position:absolute;top:26px;left:12%;right:12%;height:2px;background:var(--line)}
.step{position:relative;text-align:center;padding:0 12px}
.step-n{width:52px;height:52px;border-radius:50%;background:var(--brand-grad);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative;z-index:1}
.facts-context{text-align:center;font-size:16px;color:#3D4C63;margin:8px 0 16px}
.facts-context b{color:var(--navy)}
.step h3{font-size:19px;margin-bottom:10px}
.step p{font-size:15.5px;color:#3D4C63}
.facts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:16px 0 8px}
.fact{font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:100px;padding:9px 18px}
.no-mass{text-align:center;font-size:16px;color:var(--ink);font-weight:600;margin:20px 0 64px}
.method-media{margin-bottom:64px}
.method-media .ph{min-height:380px}
.fit{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:900px;margin:0 auto}
.fit-col{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 36px}
.fit-col h3{font-size:18px;margin-bottom:18px}
.fit-col ul{list-style:none}
.fit-col li{padding:7px 0 7px 32px;position:relative;font-size:16px}
.fit-yes li::before{content:'✓';position:absolute;left:0;color:var(--navy);font-weight:700}
.fit-no li::before{content:'✕';position:absolute;left:0;color:var(--gray);font-weight:700}

/* Stille Tür */
.db5.quiet{padding:80px 0}
.quiet-card{max-width:820px;margin:0 auto;border:1px solid var(--line);border-radius:20px;padding:48px;background:var(--mist);text-align:center}
.quiet h2{font-size:clamp(24px,2.8vw,32px);margin-bottom:16px}
.quiet p.body{max-width:560px;margin:0 auto 28px;color:#3D4C63}
.quiet-steps{display:flex;justify-content:center;gap:40px;margin-bottom:36px;flex-wrap:wrap}
.quiet-steps > div{font-size:14px;color:var(--gray)}
.quiet-steps b{display:block;font-family:'Montserrat',sans-serif;color:var(--navy);font-size:15px;margin-bottom:4px}
.privacy{font-size:13px;color:var(--gray);margin-top:16px}

/* FAQ */
.faq h2{text-align:center;font-size:clamp(28px,3.2vw,40px);margin-bottom:48px}
.acc{border-bottom:1px solid var(--line)}
.acc:first-of-type{border-top:1px solid var(--line)}
.acc-q{width:100%;background:none;border:none;text-align:left;font-family:'Montserrat',sans-serif;font-weight:600;font-size:17.5px;color:var(--navy);padding:22px 44px 22px 0;cursor:pointer;position:relative}
.acc-q::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:26px;font-weight:300;color:var(--gray);transition:transform .25s ease}
.acc.open .acc-q::after{transform:translateY(-50%) rotate(45deg)}
.acc-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.acc-a p{font-size:16.5px;color:#3D4C63;padding-bottom:24px;max-width:640px}

/* Final CTA */
.db5.final{padding:112px 0}
.final h2{text-align:center;font-size:clamp(30px,3.6vw,46px);margin-bottom:16px}
.final .sub{text-align:center;color:#D5DEF2;max-width:620px;margin:0 auto 64px}
/* Empfehlungen bekannter Persönlichkeiten */
.vips{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:40px 0 32px}
.vip{border:1px solid var(--line);border-radius:var(--radius);padding:32px;text-align:center;background:#fff}
.vip .vip-ph{width:84px;height:84px;border-radius:50%;margin:0 auto 16px;background:repeating-linear-gradient(45deg,#E9EEF6 0 8px,#F2F5FA 8px 16px);border:1.5px dashed #B9C6E4;display:flex;align-items:center;justify-content:center;font:700 9px 'Montserrat',sans-serif;color:var(--navy);line-height:1.3}
.vip q{font-size:15.5px;font-style:italic;color:#3D4C63;display:block;margin-bottom:14px}
.vip b{font-family:'Montserrat',sans-serif;font-size:15px;color:var(--navy)}
.vip span{display:block;font-size:13px;color:var(--gray)}
@media(max-width:980px){.vips{grid-template-columns:1fr}}
.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.expect li{list-style:none;padding:10px 0 10px 36px;position:relative;font-size:17px;color:#C9D5EE}
.expect li::before{content:'✓';position:absolute;left:0;color:var(--orange);font-weight:700;font-size:18px}
.final-person{display:flex;align-items:center;gap:16px;margin-top:36px}
.final-person .case-avatar{width:64px;height:64px}
.final-person p{font-size:15px;color:#93A5C8;margin:0;max-width:320px}
.calendly-ph{border:1.5px dashed #3A507F;border-radius:var(--radius);min-height:480px;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px;background:#132446}
.final .quiet-link{display:block;text-align:center;margin-top:32px;font-size:15px;color:#8FA1C7}
.final .quiet-link a{color:#B9C6E4}

/* Footer */
footer{background:#0A1426;color:#8FA1C7;padding:64px 0 40px;font-size:14.5px}
footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
footer .logo{color:#fff;margin-bottom:12px;display:inline-block}
footer .logo small{color:#7E92BC}
footer h3{font-family:'Montserrat',sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#7E92BC;margin-bottom:14px}
footer a{color:#B9C6E4;text-decoration:none;display:block;padding:4px 0}
footer .legal{grid-column:1/-1;border-top:1px solid #1B2E54;margin-top:32px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:#7E92BC}

/* Sticky mobile CTA */
.sticky-cta{display:none;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px 16px;z-index:200;box-shadow:0 -4px 24px rgba(16,35,54,.08)}
.sticky-cta .btn{width:100%;text-align:center;padding:14px}

/* Reveal animations */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}

/* Responsive */
@media(max-width:980px){
  .db5{padding:64px 0}
  .hero .wrap,.strasse .wrap,.final-grid{grid-template-columns:1fr;gap:40px}
  .hero{padding-top:40px}
  .hero .ph{min-height:420px;order:-1}
  .stats{grid-template-columns:repeat(2,1fr)}
  .case-grid,.factors,.fit,.steps,.way-grid{grid-template-columns:1fr}
  .case,.factor,.way{min-width:0}
  .case-num{flex-wrap:wrap;row-gap:4px}
  .case-num .to{font-size:38px}
  .case-num .from{font-size:28px}
  .banner .media{height:260px}
  .steps::before{display:none}
  .strasse .ph{min-height:380px}
  .nav-links{display:none}
  .nav-links.open{display:flex;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);padding:8px 24px 20px;box-shadow:0 12px 32px rgba(16,35,54,.08)}
  .nav-links.open a{padding:14px 0;border-bottom:1px solid var(--mist)}
  .nav-links.open .btn{margin-top:12px;text-align:center;border-bottom:none}
  .nav-burger{display:block;background:none;border:none;font-size:24px;color:var(--navy);cursor:pointer}
  .logo small{display:none}
  .sticky-cta.show{display:block}
  footer .wrap{grid-template-columns:1fr}
  .quiet-card{padding:32px 24px}
  body{padding-bottom:0}
}

/* ============ Divi-Header im Site-Design ============ */
#main-header{background:rgba(255,255,255,.94);box-shadow:none;border-bottom:1px solid var(--line)}
#main-header .logo_container img{max-height:46px;width:auto}
#top-header{display:none}
#et-top-navigation nav > ul > li > a{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;color:var(--ink)}
#et-top-navigation nav > ul > li > a:hover{color:var(--navy);opacity:1}
/* CTA-Menüpunkt */
#et-top-navigation .menu-cta > a{background:var(--brand-grad);color:#fff !important;padding:11px 22px !important;border-radius:12px}
#et-top-navigation .menu-cta > a:hover{filter:brightness(.93)}
/* Trust-Menüpunkt (ohne Link-Optik) */
#et-top-navigation .menu-trust > a{color:var(--gray);font-size:12.5px;pointer-events:none}
#et-top-navigation .menu-trust > a::before{content:"★★★★★ ";color:var(--orange);letter-spacing:.08em}

/* FAQ als Divi-Toggles */
.db-faq .et_pb_toggle{border:none;border-bottom:1px solid var(--line);padding:0;background:none}
.db-faq .et_pb_toggle:first-child{border-top:1px solid var(--line)}
.db-faq .et_pb_toggle_title{font-family:'Montserrat',sans-serif!important;font-weight:600!important;font-size:17.5px!important;color:var(--navy)!important;padding:22px 44px 22px 0}
.db-faq .et_pb_toggle_content{font-size:16.5px;color:#3D4C63;padding:0 0 24px;max-width:640px}
.db-faq .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title{color:var(--navy)!important}
.db-faq h2.faq-h{ text-align:center;font-size:clamp(28px,3.2vw,40px);margin-bottom:48px;font-family:'Montserrat',sans-serif;font-weight:700;color:var(--navy)}

/* Hero nativ (Divi-Module) */
.db-hero-h1 h1{font-family:'Montserrat',sans-serif;font-weight:700;line-height:1.15;color:var(--navy);font-size:clamp(38px,4.6vw,62px);padding-bottom:24px}
.db-hero-sub .et_pb_text_inner{font-size:20px;color:#3D4C63;max-width:540px;padding-bottom:8px}
.db-hero-eyebrow .et_pb_text_inner{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);display:flex;align-items:center;gap:10px;padding-bottom:16px}
.db-hero-eyebrow .et_pb_text_inner::before{content:'';width:28px;height:3px;border-radius:3px;background:var(--brand-grad);flex:0 0 auto}
.db-btn-primary.et_pb_button, a.db-btn-primary{background:var(--brand-grad);color:#fff!important;font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;padding:16px 32px!important;border-radius:12px;border:none}
.db-btn-primary.et_pb_button:hover{filter:brightness(.93)}
.db-btn-primary.et_pb_button::after{display:none}
.db-hero-img img{border-radius:var(--radius);object-fit:cover;width:100%}
.db-hero-caption .et_pb_text_inner{font-size:13px;color:var(--gray);margin-top:10px;text-align:right}
.db5.db-hero-sec{padding:72px 0 40px}
.db5.db-hero-sec .et_pb_row,.db5.db-hero-sec .et_flex_row{align-items:center}
@media(max-width:980px){.db5.db-hero-sec{padding:40px 0}}

/* Section-Style-Mappings aus Preview */
.db5.bg-mist{background:var(--mist)}
.db5.pt0{padding-top:0}

/* ============ Fixes Runde 1 ============ */
/* Hero-Row: eigener Container (native Module, kein .wrap) */
.db-hero-row{max-width:1200px !important;margin:0 auto !important;padding:0 24px !important;display:flex !important;column-gap:64px;align-items:center;width:100%}
.db-hero-row > .et_pb_column:first-child,.db-hero-row > .et_flex_column:first-child{flex:1.15;width:auto}
.db-hero-row > .et_pb_column:last-child,.db-hero-row > .et_flex_column:last-child{flex:1;width:auto}
@media(max-width:980px){.db-hero-row{flex-direction:column-reverse;row-gap:32px}}
/* Divi-Nav aufräumen */
#et_top_search,.et_search_outer,#et_search_icon{display:none !important}
#top-menu a{color:var(--ink);font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px}
#top-menu li.current-menu-item > a,#top-menu li.current_page_item > a,#top-menu a:hover{color:var(--navy);opacity:1}
#top-menu .menu-cta > a{background:var(--brand-grad);color:#fff !important;padding:11px 22px !important;border-radius:12px}
#top-menu .menu-trust > a{color:var(--gray);font-size:12.5px;pointer-events:none}
#top-menu .menu-trust > a::before{content:"★★★★★ ";color:var(--orange);letter-spacing:.08em}
#main-header{line-height:normal}
.et_header_style_left #et-top-navigation{padding-top:24px !important}
/* Buttons: Divi-Button-Modul im CI */
.et_pb_button_module_wrapper .db-btn-primary{background:var(--brand-grad);color:#fff !important;font-family:'Montserrat',sans-serif;font-weight:600;font-size:16px;padding:16px 32px;border-radius:12px;border:none}
.db-btn-primary:hover{filter:brightness(.93)}
a.et_pb_button.db-btn-primary:after,.db-btn-primary.et_pb_button:after{display:none !important;content:none !important}
/* Code-Module: kein Zusatz-Margin */
.db5 .et_pb_code{margin-bottom:0}

/* ============ Fixes Runde 2 ============ */
.hero-bullets,.hero-bullets li,.fit-col ul,.fit-col li,.expect,.expect li{list-style:none !important;padding-left:0}
.hero-bullets li{padding-left:34px !important}
.fit-col li{padding-left:32px !important}
.expect li{padding-left:36px !important}
.db5.db-footer-sec{padding:0}
.db5 .et_pb_text{margin-bottom:0}
/* Divi-Code-Module: Preview-Body-Basis sicherstellen */
.db5 .et_pb_code_inner{font-family:'Open Sans',sans-serif;font-size:18px;line-height:1.6;color:var(--ink)}
.db5.dark .et_pb_code_inner{color:#E4EAF7}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ═══════════ Sektions-Abstände (Original section{}-Default auf Divi-Sections gemappt) ═══════════ */
.db5.et_pb_section{padding:96px 0}
.db5.et_pb_section.db-hero-sec{padding:72px 0 40px}
.db5.et_pb_section.proof{padding:56px 0}
.db5.et_pb_section.mirror{padding:112px 0 80px}
.db5.et_pb_section.wende{padding:96px 0}
.db5.et_pb_section.strasse{padding:0 0 112px}
.db5.et_pb_section.quiet{padding:80px 0}
.db5.et_pb_section.final{padding:112px 0}
.db5.et_pb_section.pt0{padding-top:0}
.db5.et_pb_section.db-footer-sec{padding:0}
@media(max-width:980px){
  .db5.et_pb_section{padding:64px 0}
  .db5.et_pb_section.db-hero-sec{padding:40px 0}
  .db5.et_pb_section.mirror{padding:80px 0 56px}
  .db5.et_pb_section.strasse{padding:0 0 80px}
  .db5.et_pb_section.final{padding:80px 0}
  .db5.et_pb_section.pt0{padding-top:0}
  .db5.et_pb_section.db-footer-sec{padding:0}
}

/* ═══════════ FAQ: native Toggles in zentrierter 720px-Spalte ═══════════ */
.db5.db-faq .et_pb_row{display:block;width:100%;max-width:720px;margin:0 auto;padding:0 24px}

/* ═══════════ Seitenspezifische Styles (vorher nur im HTML-Head) ═══════════ */
/* aus ueber-dan.html */
/* Seiten-spezifisch: Timeline */
.timeline{max-width:760px;margin:64px auto 0;position:relative;padding-left:44px}
.timeline::before{content:'';position:absolute;left:16px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl-item{position:relative;padding-bottom:44px}
.tl-item::before{content:'';position:absolute;left:-36px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--brand-grad)}
.tl-item .tl-year{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--gray);text-transform:uppercase}
.tl-item h3{font-size:20px;margin:4px 0 8px}
.tl-item p{font-size:16.5px;color:#3D4C63;margin:0;max-width:600px}
.werte-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:56px auto 0}
.wert{border:1px solid #2E4270;border-radius:var(--radius);padding:32px}
.wert h3{font-size:18px;margin-bottom:8px}
.wert p{font-size:16px;line-height:1.7;color:#F0F4FB;margin:0}
.zert-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:40px}
.zert{font-family:'Montserrat',sans-serif;font-size:13.5px;font-weight:600;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:100px;padding:10px 20px}
.privat-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
@media(max-width:980px){.werte-grid{grid-template-columns:1fr}.privat-grid{grid-template-columns:1fr;gap:32px}.timeline{padding-left:36px}}
/* aus mit-freude-verkaufen.html */
.lite-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1000px;margin:56px auto 0}
.lite-card{border:1px solid var(--line);border-radius:var(--radius);padding:32px;background:#fff}
.lite-card h3{font-size:19px;margin-bottom:8px}
.lite-card p{font-size:16px;color:#3D4C63;margin:0}
.upgrade-note{text-align:center;font-size:15px;color:var(--gray);margin-top:24px}
@media(max-width:980px){.lite-cards{grid-template-columns:1fr}}

/* ═══════════ Rechtsseiten (Impressum / Datenschutz) ═══════════ */
.db5.legal-sec{padding:72px 0 96px}
.legal-content{max-width:760px;margin:0 auto;padding:0 24px;font-size:16px;color:#3D4C63;line-height:1.75}
.legal-content h1{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--navy);font-size:clamp(30px,3.4vw,42px);margin-bottom:32px}
.legal-content h2{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--navy);font-size:21px;margin:40px 0 12px}
.legal-content p{margin:0 0 16px}
.legal-content ul,.legal-content ol{margin:0 0 16px 22px}
.legal-content .legal-3plus{margin-top:48px;padding-top:32px;border-top:1px solid rgba(15,35,70,.12)}
.legal-content .legal-3plus #DreiPlus-Wrap .dp-titel{font-family:'Montserrat',sans-serif;color:var(--navy);font-size:17px}
.legal-content a{color:var(--orange-text);word-break:break-word}
.legal-content b,.legal-content strong{color:var(--ink)}

/* ═══════════ 404 ═══════════ */
.db-404{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:96px 24px;background:var(--dark,#0E1B33)}
.db-404 .code{font-family:'Montserrat',sans-serif;font-weight:700;font-size:clamp(90px,14vw,160px);line-height:1;background:var(--brand-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.db-404 h1{font-family:'Montserrat',sans-serif;font-weight:700;color:#fff;font-size:clamp(26px,3.4vw,40px);margin:16px 0 12px}
.db-404 p{color:#B9C6E4;font-size:17.5px;max-width:560px;margin:0 auto 32px}
.db-404 .db-404-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.db-404 .btn-ghost404{color:#B9C6E4;font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;text-decoration:none;padding:16px 8px}
.db-404 .btn-ghost404:hover{color:#fff}

/* ═══════════ Echte Kundenlogos, Experten-Fotos, Video-Elemente, Team ═══════════ */
.logo-row{align-items:center}
.logo-img{height:44px;width:auto;filter:grayscale(1);opacity:.5;transition:filter .2s,opacity .2s}
.logo-img:hover{filter:none;opacity:1}
.vip-foto{width:84px;height:84px;border-radius:50%;object-fit:cover;margin:0 auto 16px;display:block}
.case-avatar.hat-foto{border:none;background:none;overflow:hidden}
.case-avatar.hat-foto img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.case-video{display:inline-block;margin-top:6px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;color:var(--orange-text);text-decoration:none}
.case-video:hover{text-decoration:underline}
.strip-label{text-align:center;font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;letter-spacing:.04em;color:var(--gray);margin:36px 0 0}
.video-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin:24px 0 8px}
.vclip{text-decoration:none}
.vclip-thumb{position:relative;display:block;border-radius:12px;overflow:hidden;aspect-ratio:16/10;background:#0E1B33}
.vclip-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.vclip:hover .vclip-thumb img{transform:scale(1.05)}
.vplay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;background:rgba(14,27,51,.22);transition:background .2s}
.vclip:hover .vplay{background:rgba(14,27,51,.05)}
.vclip b{display:block;margin-top:10px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;color:var(--navy)}
.vclip span{font-size:12.5px;color:var(--gray)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:56px}
.tm{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 20px 28px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.tm:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(16,35,54,.10)}
.tm-foto{display:inline-flex;width:104px;height:104px;border-radius:50%;padding:3px;background:var(--brand-grad);margin-bottom:16px}
.tm-foto img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid #fff}
.tm b{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15.5px;color:var(--navy);display:block}
.tm-role{display:block;margin-top:4px;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--gray);text-transform:uppercase}
@media(max-width:980px){
  .video-strip{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .logo-img{height:34px}
}

/* ═══════════ Ergebnisse-Seite ═══════════ */
.erg-head{max-width:760px}
.erg-head h1{font-size:clamp(34px,4vw,52px);margin-bottom:20px}
.erg-head .sub{font-size:19px;color:#3D4C63;max-width:640px}
.vg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.vg{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.vg:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(16,35,54,.10)}
.vg .vclip-thumb{border-radius:0;aspect-ratio:16/9}
.vg q{quotes:"\201E" "\201C";display:block;padding:20px 24px 0;font-size:15.5px;font-style:italic;color:#3D4C63;line-height:1.55}
.vg q b,.vg q strong{color:var(--ink)}
.vg > b{display:block;padding:14px 24px 0;font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;color:var(--navy)}
.vg > span{display:block;padding:2px 24px 22px;font-size:12.5px;color:var(--gray)}
.erg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.erg-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;display:flex;flex-direction:column}
.erg-card h3{font-size:19px;margin-bottom:18px}
.erg-card ul{list-style:none;margin:0 0 20px;padding:0;flex:1}
.erg-card li{position:relative;padding:7px 0 7px 30px;font-size:15.5px;color:#3D4C63}
.erg-card li::before{content:'✓';position:absolute;left:0;top:7px;width:20px;height:20px;border-radius:50%;background:var(--brand-grad);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.erg-card li b{color:var(--navy)}
.erg-card .btn-ghost{padding-left:0}
.logo-wall{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:48px}
.logo-wall img{width:100%;height:64px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 18px;filter:grayscale(1);opacity:.6;transition:filter .2s,opacity .2s}
.logo-wall img:hover{filter:none;opacity:1}
@media(max-width:980px){
  .vg-grid{grid-template-columns:1fr}
  .erg-grid{grid-template-columns:1fr}
  .logo-wall{grid-template-columns:repeat(3,1fr)}
}

/* ═══════════ Nativer Divi-Build (nx-*) — Feinschliff für native Module ═══════════ */
/* Text-Module: p-Margin-Reset wo das Modul selbst den Abstand steuert */
.et_pb_text.eyebrow p,.et_pb_text.mq p,.et_pb_text.nx-micro p{margin:0}
.et_pb_text.eyebrow{overflow:visible}
.eyebrow.nx-center{justify-content:center}
.eyebrow.nx-center::before{flex:0 0 auto}
/* Hero-Bullets (Icon-List) */
.nx-bullets .et_pb_icon_list_item,.nx-bullets li{padding:6px 0;font-weight:600}
/* Nummern-Badge (Wende-Faktoren, Method-Steps) */
.num-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--brand-grad);color:#fff;font-size:15px;font-weight:700;margin-right:10px;vertical-align:middle}
/* Faktor-Karten (dunkle Sektion): Blurb-Variante */
.et_pb_blurb.factor{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);border-radius:var(--radius);padding:32px;backdrop-filter:blur(6px)}
.et_pb_blurb.factor .et_pb_module_header{color:#fff;font-size:19px;margin-bottom:10px}
.et_pb_blurb.factor .et_pb_blurb_description,.et_pb_blurb.factor p{color:#DCE4F5;font-size:15.5px;margin:0}
/* Method-Steps */
.et_pb_blurb.step-native{padding:0 12px;text-align:center}
.et_pb_blurb.step-native .et_pb_module_header{color:var(--navy);font-size:19px;margin-bottom:10px}
.et_pb_blurb.step-native p{color:#3D4C63;font-size:15.5px;margin:0}
/* Way-Karten */
/* Video-Strip-Karten */
/* Experten (Testimonial-Modul) */
.et_pb_testimonial.vip-native{text-align:center}
.et_pb_testimonial.vip-native .et_pb_testimonial_portrait{width:84px;height:84px;border-radius:50%;margin:0 auto 16px;overflow:hidden}
.et_pb_testimonial.vip-native .et_pb_testimonial_portrait img{width:100%;height:100%;object-fit:cover}
.et_pb_testimonial.vip-native .et_pb_testimonial_description{font-size:16.5px;font-style:normal;line-height:1.55;color:#23304A}
.et_pb_testimonial.vip-native .et_pb_testimonial_author{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;color:var(--navy);font-style:normal}
.et_pb_testimonial.vip-native .et_pb_testimonial_meta{font-size:13px;color:var(--gray);font-style:normal}
.et_pb_testimonial.vip-native .et_pb_testimonial_icon,.et_pb_testimonial.vip-native:before{display:none}
/* Karten-Spalten */

.et_pb_column.quiet-card{text-align:center}
.et_pb_column.quiet-card .eyebrow{justify-content:center}


/* Bild-Feinheiten */
.et_pb_image.logo-img{margin:0;width:auto;flex:0 0 auto}
.et_pb_image.logo-img img{height:44px !important;width:auto !important}
@media(max-width:980px){.et_pb_image.logo-img img{height:34px !important}}
.et_pb_image.logo-img img{filter:grayscale(1);opacity:.5;transition:filter .2s,opacity .2s}
.et_pb_image.logo-img:hover img{filter:none;opacity:1}
.et_pb_image.method-media-native img{width:100%;max-height:420px;object-fit:cover;object-position:center 35%;border-radius:var(--radius)}
/* Banner (Straße) */
.banner-native{margin-top:88px}
/* Platzhalter-Wrapper */
.ph-wrap .ph{min-height:300px;display:flex;align-items:center;justify-content:center}
.nx-final .ph-wrap .ph,.dark .ph-wrap .ph{background:repeating-linear-gradient(45deg,#16274A 0 14px,#1B2E54 14px 28px);border:1.5px dashed #3A507F;border-radius:var(--radius)}
.nx-cases .ph-wrap .ph,.nx-method .ph-wrap .ph{background:repeating-linear-gradient(45deg,#E9EEF6 0 14px,#F2F5FA 14px 28px);border:1.5px dashed #B9C6E4;border-radius:var(--radius)}
/* Anker-Offset (Sticky-Nav) */
.et_pb_section[id]{scroll-margin-top:84px}
@media(max-width:980px){
  .et_pb_column.quiet-card{padding:32px 24px!important}
  .et_pb_column.case{padding:24px}
}
.et_pb_image.nx-tall-img img{width:100%;height:520px;object-fit:cover;border-radius:var(--radius)}
@media(max-width:980px){.et_pb_image.nx-tall-img img{height:360px}}
/* Testimonial vip-native: Portrait zentriert oben (Divi-5-Inner-Flex) */
.et_pb_testimonial.vip-native .et_pb_testimonial_inner{display:flex;flex-direction:column;align-items:center;gap:0}
.et_pb_testimonial.vip-native .et_pb_testimonial_description{margin-left:0;text-align:center}
.et_pb_testimonial.vip-native .et_pb_testimonial_author{margin-top:12px}
/* Ergebnisse-Seite: native Video-Galerie + Erg-Karten + Team-Member */
.et_pb_column.erg-card-col{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px}
.et_pb_team_member.tm-native{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 20px 28px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}
.et_pb_team_member.tm-native:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(16,35,54,.10)}
.et_pb_team_member.tm-native .et_pb_team_member_image{width:104px;height:104px;border-radius:50%;padding:3px;background:var(--brand-grad);margin:0 auto 16px;overflow:visible}
.et_pb_team_member.tm-native .et_pb_team_member_image img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center top;border:3px solid #fff}
.et_pb_team_member.tm-native .et_pb_module_header{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15.5px;color:var(--navy)}
.et_pb_team_member.tm-native .et_pb_member_position{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--gray);text-transform:uppercase}
.et_pb_team_member.tm-native .et_pb_member_social_links{display:none}
/* Number-Counter: Suffix per CSS (Divi braucht reine Zahlen im Feld) */
.et_pb_number_counter.has-plus .percent-value::after{content:"+"}
.et_pb_number_counter.nx-counter .percent p{margin:0}
/* Native Stat-Gruppen */
.et_pb_group.nx-stat{text-align:center}
.nx-stat-label p{margin:0}
/* ═══ Entwurfstreue: Eyebrow-Zeile und Hero-Bullets ═══ */
.et_pb_text.eyebrow{flex-direction:row!important;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:nowrap}
.et_pb_text.eyebrow.nx-center{justify-content:center}
.et_pb_text.eyebrow .et_pb_text_inner{display:inline}
.et_pb_text.eyebrow::before{content:'';width:28px;height:3px;border-radius:3px;background:var(--brand-grad);flex:0 0 auto}
.et_pb_text.eyebrow p::before{content:none}
/* Hero-Bullets: Gradient-Kreis mit weißem Häkchen wie im Entwurf */
.nx-bullets .et_pb_icon_list_item{align-items:center;gap:10px;padding:6px 0}
.nx-bullets .et-pb-icon{width:24px;height:24px;min-width:24px;border-radius:50%;background:var(--brand-grad);color:#fff!important;font-size:13px!important;display:flex;align-items:center;justify-content:center;line-height:1}
.nx-bullets .et_pb_icon_list_text{font-weight:600;color:#3D4C63}
/* Checklisten in hellen Karten (fit/erg): kleinere Kreise */
/* Dunkle CTA-Checkliste */
.expect-native .et-pb-icon{color:var(--orange)!important;background:none;font-size:18px!important}
.expect-native .et_pb_icon_list_text{color:#C9D5EE}
/* ═══ Gleich hohe Karten (Entwurf nutzt Grid) ═══ */
.nx-wende .et_pb_row,.nx-cases .et_pb_row,.nx-wege .et_pb_row,.nx-method .et_pb_row,
.nx-generic .et_pb_row,.nx-final .et_pb_row{align-items:stretch}
.et_pb_blurb.factor,.et_pb_testimonial.vip-native,.et_pb_team_member.tm-native{height:100%}
.et_pb_column.case,.et_pb_column.fit-col,.et_pb_column.erg-card-col{height:100%}
.et_pb_column.case,.et_pb_column.erg-card-col{display:flex;flex-direction:column}
/* Divi-Module in Karten-Spalten sollen nicht auseinanderfliegen */
.et_pb_column.case > .et_pb_module:last-child{margin-top:auto}
/* ═══ Theme-Builder-Header (Menu-Modul) im Dan-Berlin-Stil ═══ */
.db-header{z-index:100}
.db-header .et_pb_menu{background:transparent!important}
.db-header .et_pb_menu_inner_container{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:24px;width:100%;flex-wrap:nowrap}
.db-header .et_pb_menu__wrap{display:flex;flex:1 1 auto;justify-content:flex-end;align-items:center}
.db-header .et_pb_menu__menu{display:flex;flex:1 1 auto;justify-content:flex-end}
.db-header .et_pb_menu__menu > nav{display:flex;flex:1 1 auto;justify-content:flex-end}
.db-header ul.et-menu{justify-content:flex-end;width:100%}
.db-header .et_pb_menu__logo-wrap{margin:0;flex:0 0 auto}
.db-header .et_pb_menu__logo img{height:46px;width:auto;border-radius:6px;display:block}
.db-header .et_pb_menu__menu{flex:1 1 auto;justify-content:flex-end}
.db-header .et_pb_menu__menu > nav > ul,.db-header ul.et-menu{display:flex!important;align-items:center;gap:32px;list-style:none!important;margin:0;padding:0}
.db-header ul.et-menu > li{list-style:none!important;margin:0;padding:0;display:flex;align-items:center}
.db-header ul.et-menu > li > a{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;padding:0;opacity:1}
.db-header ul.et-menu > li > a:hover{color:var(--navy)}
.db-header ul.et-menu > li.menu-trust > a{font-size:12.5px;color:var(--gray);pointer-events:none}
.db-header ul.et-menu > li.menu-trust > a::before{content:'★★★★★';color:var(--orange);letter-spacing:.08em;margin-right:6px}
.db-header ul.et-menu > li.menu-cta > a{background:var(--brand-grad);color:#fff!important;border-radius:12px;padding:11px 22px;font-weight:700}
.db-header ul.et-menu > li.menu-cta > a:hover{filter:brightness(.93)}
.db-header .et_pb_menu__search-button,.db-header .et_pb_menu__cart-button{display:none}
.db-header .mobile_menu_bar::before{color:var(--navy)}
@media(max-width:980px){
  .db-header .et_pb_menu__menu{display:none}
  .db-header .et_mobile_nav_menu{display:block}
  .db-header .et_mobile_menu li a{font-family:'Montserrat',sans-serif;font-weight:600;color:var(--ink)}
  .db-header .et_mobile_menu li.menu-cta a{color:var(--orange-text)!important}
}
/* ═══ Theme-Builder-Footer ═══ */
.db-footer-tb .et_pb_row{padding-left:24px;padding-right:24px}
.db-footer-tb .db-footer-h .et_pb_heading_container h3{font-family:'Montserrat',sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#7E92BC}
.db-footer-tb .db-footer-links a:hover{color:#fff}
/* Divi wrappt den Text in .et_pb_text_inner — das Flex muss auf den
   Absatz, sonst sitzt die ganze Zeile als ein Block in der Mitte. */
.db-footer-tb .db-footer-legal{border-top:1px solid #1B2E54;padding-top:24px;margin-top:32px}
.db-footer-tb .db-footer-legal .et_pb_text_inner{width:100%}
.db-footer-tb .db-footer-legal .et_pb_text_inner p{display:flex;
  justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:0}
.db-footer-tb .db-footer-legal .db-legal-right{display:flex;align-items:center;
  flex-wrap:wrap;gap:0}
.db-footer-tb .db-footer-legal a{color:#8FA1C7;text-decoration:none}
.db-footer-tb .db-footer-legal a:hover{color:#fff}
.db-footer-tb .db-footer-legal p{margin:0;display:flex;justify-content:space-between;width:100%;flex-wrap:wrap;gap:12px}
.db-footer-tb .et_pb_image.db-footer-logo{margin-bottom:24px!important}
.db-footer-tb .et_pb_image.db-footer-logo img{height:56px!important;width:auto!important;border-radius:6px}
.db-footer-tb .et_pb_image.db-footer-logo{width:auto}

/* ═══════════════════════════════════════════════════════════════════════
   NATIVER BUILD — Konfliktauflösung mit dem Entwurfs-CSS
   Regel: Was jetzt ein Divi-Modul ist, wird von Divi gestylt. Die
   Pseudo-Element-Dekorationen des Entwurfs werden dort abgeschaltet,
   sonst rendern Icon und ::before doppelt.
   ═══════════════════════════════════════════════════════════════════════ */
.et_pb_icon_list_item::before,
.nx-bullets li::before,.expect-native li::before,
.fit-col li::before,.erg-card-col li::before{content:none!important}

/* Icon-Listen: Kreis-Variante (Gradient-Badge wie im Entwurf) */
.et_pb_icon_list.nx-list-circle .et_pb_icon_list_item{align-items:center;gap:12px;padding:7px 0}
.et_pb_icon_list.nx-list-circle .et-pb-icon{width:24px;height:24px;min-width:24px;border-radius:50%;
  background:var(--brand-grad);color:#fff!important;font-size:13px!important;
  display:flex;align-items:center;justify-content:center;line-height:1}
.nx-bullets.nx-list-circle .et_pb_icon_list_text{font-weight:600}
/* Icon-Listen: schlichte Variante (Negativliste) */
.et_pb_icon_list.nx-list-plain .et_pb_icon_list_item{align-items:center;gap:12px;padding:7px 0}
.et_pb_icon_list.nx-list-plain .et-pb-icon{width:24px;min-width:24px;font-size:15px!important;background:none}
/* Dunkler CTA: Häkchen ohne Fläche, CI-orange */
.expect-native.nx-list-circle .et-pb-icon{background:none;color:var(--orange)!important;font-size:18px!important;width:22px;min-width:22px}

/* Testimonial: Portrait oben, Text volle Breite, zentriert (align-items:center
   würde die Flex-Kinder auf Inhaltsbreite schrumpfen — das erzeugte die
   schmalen, rechtsbündigen Textspalten) */
.et_pb_testimonial.vip-native .et_pb_testimonial_inner{display:flex;flex-direction:column;
  align-items:stretch!important;text-align:center;gap:0}
.et_pb_testimonial.vip-native .et_pb_testimonial_portrait{margin:0 auto 16px;float:none;position:relative;width:84px;height:84px;flex:0 0 auto}
.et_pb_testimonial.vip-native .et_pb_testimonial_description{margin:0!important;width:100%;text-align:center}
.et_pb_testimonial.vip-native .et_pb_testimonial_description_inner{width:100%}
.et_pb_testimonial.vip-native .et_pb_testimonial_author,
.et_pb_testimonial.vip-native .et_pb_testimonial_meta{width:100%;text-align:center;display:block}
.et_pb_testimonial.vip-native .et_pb_testimonial_author{margin-top:14px}

/* Buttons sind jetzt nativ gestylt — Alt-Klassen dürfen nicht mehr eingreifen */
.et_pb_button.db-btn-primary,.et_pb_button.db-btn-secondary,.et_pb_button.db-btn-ghost{
  transition:transform .2s ease,filter .2s ease}
.et_pb_button.db-btn-primary:hover,.et_pb_button.db-btn-secondary:hover{transform:translateY(-2px)}
.et_pb_button.db-btn-ghost{border:none!important}
.et_pb_button.db-btn-ghost:hover{color:var(--orange-text)!important}
.et_pb_button.db-btn-primary::after,.et_pb_button.db-btn-secondary::after,
.et_pb_button.db-btn-ghost::after{display:none!important}
.et_pb_icon_list.nx-list-plain .et-pb-icon{background:none!important;background-image:none!important;border-radius:0;width:22px;min-width:22px;font-size:15px!important}

/* ═══ Karten aus Einzelmodulen (Reihenfolge + Optik wie im Entwurf) ═══ */
.et_pb_column.way-card,.et_pb_column.vg-card,.et_pb_column.vclip-card{overflow:hidden;display:flex;flex-direction:column}
.et_pb_column.vclip-card{border:none;background:none;overflow:visible}

.way-card .et_pb_image,.vg-card .et_pb_image,.vclip-card .et_pb_image{margin:0}
.way-card .et_pb_image img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.vg-card .et_pb_image img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.vclip-card .et_pb_image img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px;display:block;transition:transform .25s ease}
.vclip-card:hover .et_pb_image img{transform:scale(1.04)}
/* Innenabstand für die Textmodule der Karte */
.way-card > .et_pb_module:not(.et_pb_image),
.vg-card > .et_pb_module:not(.et_pb_image){padding-left:32px;padding-right:32px}
.way-card > .et_pb_module:nth-child(2),.vg-card > .et_pb_module:nth-child(2){padding-top:28px}
.way-card > .et_pb_module:last-child,.vg-card > .et_pb_module:last-child{padding-bottom:32px;margin-top:auto}
.vclip-card > .et_pb_module:not(.et_pb_image){padding:0}
.vclip-card > .et_pb_heading{margin-top:10px}
/* Typo in den Karten */
.way-tag p{font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0}
.way-card h3 a,.vg-card h3 a,.vclip-card h3 a{color:var(--navy);text-decoration:none}
.way-card h3 a:hover,.vg-card h3 a:hover,.vclip-card h3 a:hover{color:var(--orange-text)}
.way-more p{font-family:'Montserrat',sans-serif;font-weight:600;margin:0}
.way-more a{color:var(--orange-text);text-decoration:none}
.proof-line p{font-size:13.5px;color:var(--gray);margin:0}
.way-audience p,.vg-role p{margin:0}
.vg-quote p{font-style:italic;line-height:1.55;margin:0}
.vg-quote a{color:#3D4C63;text-decoration:none}
.vg-quote a:hover{color:var(--navy)}
/* Play-Overlay auf Video-Thumbs */
.vg-card .et_pb_image,.vclip-card .et_pb_image{position:relative}
.vg-card .et_pb_image::after,.vclip-card .et_pb_image::after{content:'▶';position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;
  background:rgba(14,27,51,.22);pointer-events:none;transition:background .2s}
.vclip-card .et_pb_image::after{border-radius:12px}
.vg-card:hover .et_pb_image::after,.vclip-card:hover .et_pb_image::after{background:rgba(14,27,51,.06)}
/* Platzhalter-Kästen: Mindesthöhe wie im Entwurf */
.ph-wrap .ph{min-height:280px;padding:32px}
/* ═══ Feinabgleich mit dem Entwurf ═══ */
/* Beweis-Banner: feste Bildhöhe wie im Entwurf (war 804px statt 440px) */
.banner-native .media{height:440px;overflow:hidden;border-radius:var(--radius);position:relative;margin:0}
.banner-native .media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.banner-native .media::after{content:'';position:absolute;inset:40% 0 0 0;background:linear-gradient(180deg,transparent,rgba(10,20,38,.82))}
.banner-native .overlay{position:absolute;left:32px;bottom:28px;right:32px;color:#fff;z-index:1}
.banner-native .overlay b{font-family:'Montserrat',sans-serif;font-size:clamp(18px,2.2vw,26px);font-weight:600;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.banner-native .overlay span{display:block;font-size:16.5px;color:rgba(255,255,255,.85);text-shadow:0 1px 8px rgba(0,0,0,.5)}
@media(max-width:980px){.banner-native .media{height:260px}}
/* Platzhalterkästen kompakter (Entwurf: min-height 280) */
.ph-wrap .ph{min-height:0;padding:28px 32px}
.ph-wrap .ph-desc{font-size:13px;line-height:1.5}
/* Zeilenhöhe der großen Sektions-H2 wie im Entwurf */
.et_pb_heading h2{line-height:1.15em}
/* Stille-Tür-Karte: Button und Schritte mittig wie im Entwurf */
.quiet-card .et_pb_button_module_wrapper,.quiet-card .et_pb_button_wrapper{text-align:center}
.quiet-card .quiet-steps{justify-content:center}
/* Calendly-Platzhalter: Höhe wie im Entwurf */
.nx-final .calendly-ph{min-height:480px;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px;background:#132446;border:1.5px dashed #3A507F;border-radius:var(--radius)}
.nx-final .ph-wrap .ph{min-height:480px}
/* ═══ Footer-Feinschliff ═══ */
.db-footer-tb .db-footer-links a.db-fl{display:block;line-height:1.5;padding:7px 0;color:#8FA1C7;text-decoration:none}
.db-footer-tb .db-footer-links a.db-fl:hover{color:#fff}
.db-footer-tb .db-footer-links p{margin:0}
.db-footer-tb .db-legal-right{white-space:nowrap;flex:0 0 auto}
.db-footer-tb .db-footer-legal p{align-items:center}
/* Method: Bild volle Breite, Anspruch-Satz mit Luft */
.et_pb_image.method-media-native{width:100%}
.et_pb_image.method-media-native img{width:100%!important;height:420px;object-fit:cover;object-position:center 35%;border-radius:var(--radius)}
.et_pb_image.nx-tall-img{width:100%}
/* Mid-CTA: Abstand exakt wie im Entwurf */

.nx-vsl .et_pb_column,.nx-vph .et_pb_column{margin-bottom:0}
.ph-wrap .ph p:last-child{margin-bottom:0}
/* Divi-Bild-Wrapper muss mitwachsen, sonst bleibt das Bild auf Naturbreite */
.et_pb_image.method-media-native .et_pb_image_wrap,
.et_pb_image.nx-tall-img .et_pb_image_wrap,
.et_pb_image.way-img .et_pb_image_wrap,
.et_pb_image.vg-img .et_pb_image_wrap,
.et_pb_image.vclip-img .et_pb_image_wrap,
.way-card .et_pb_image .et_pb_image_wrap,
.vg-card .et_pb_image .et_pb_image_wrap,
.vclip-card .et_pb_image .et_pb_image_wrap{width:100%;display:block}
.et_pb_image.method-media-native,.et_pb_image.nx-tall-img{display:block;width:100%}
/* Legal-Zeile darf nicht umbrechen */
.db-footer-tb .db-legal-right{white-space:nowrap;flex:0 0 auto;min-width:max-content}
.db-footer-tb .db-footer-legal p{flex-wrap:nowrap}
@media(max-width:600px){.db-footer-tb .db-footer-legal p{flex-wrap:wrap}}
.db-footer-tb .db-footer-legal a{display:inline!important;white-space:nowrap}
.db-footer-tb .db-footer-legal span{display:inline-block}
/* ═══ Detailabgleich Entwurf (Runde 3) ═══ */
/* Divi setzt font-weight 500 als Body-Default — Entwurf nutzt 400 */
body,.et_pb_text p,.et_pb_blurb p,.et_pb_toggle_content p,.et_pb_icon_list_text,
.et_pb_testimonial_description p{font-weight:400}
/* Große Case-Zahlen brauchen ihre eigene Zeilenhöhe (waren auf 28.8px gequetscht) */
.case-num{line-height:1.1;display:flex;align-items:center;gap:10px}
.case-num .from,.case-num .to{line-height:1.6}
.case-num .to{font-size:46px;font-weight:600;color:var(--navy)}
.case-num .from{font-size:28px;color:var(--gray)}
/* Schritt-Nummern: 52px-Kreis wie im Entwurf, Titel darunter zentriert */
.et_pb_blurb.step-native .et_pb_module_header{display:flex;flex-direction:column;align-items:center;gap:0;font-size:19px}
.step-badge{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;
  background:var(--brand-grad);color:#fff;font-size:19px;font-weight:700;margin:0 auto 20px;line-height:1}
.step-title{display:block;text-align:center}
.et_pb_blurb.step-native .et_pb_blurb_description,.et_pb_blurb.step-native p{text-align:center}
/* Sekundär-Button: gleiche Maße wie Primär */
.et_pb_button.db-btn-secondary{padding:16px 32px!important;font-size:16px}
/* Spiegel-Fazit: Trennlinie wie im Entwurf */
.mirror-conclusion{border-top:1px solid var(--line);padding-top:28px;margin-top:40px}
.mirror-conclusion p{margin:0}
/* Zitatbalken der Spiegel-Sätze */
.et_pb_text.mq{padding-left:24px;border-left:3px solid var(--orange);margin-bottom:28px}
.et_pb_text.mq p{margin:0}
/* Dunkle Sektionen: Quellen- und TV-Zeile exakt */
.source p{font-size:14.5px;color:#A9B8DC}
.tvline p{font-size:13.5px;color:#8FA1C7;letter-spacing:.1em}
/* Faktor-Karten: Typo wie im Entwurf */
.et_pb_blurb.factor .et_pb_module_header{font-size:21px}
.et_pb_blurb.factor p{font-size:17px;color:#F0F4FB;line-height:1.7}
/* Final-Checkliste: Einzug wie im Entwurf */
.expect-native .et_pb_icon_list_item{padding:10px 0}
.expect-native .et_pb_icon_list_text{font-size:17px;color:#C9D5EE}
/* Verbindungslinie zwischen den drei Schritten (Entwurf: .steps::before) */
.nx-method .nx-steps-row{position:relative}
.nx-method .nx-steps-row::before{content:'';position:absolute;top:26px;left:16%;right:16%;height:2px;background:var(--line);z-index:0}
.nx-method .nx-steps-row .et_pb_column{position:relative;z-index:1}
@media(max-width:980px){.nx-method .nx-steps-row::before{display:none}}
/* Divi positioniert das Portrait-Bild absolut — der Kreis MUSS relative sein */
.et_pb_testimonial.vip-native .et_pb_testimonial_portrait img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
/* Vertikaler Rhythmus: Schluss-Elemente nicht doppelt abstandshalten */
.mid-cta{margin-top:40px}
.mid-cta .micro-trust{margin-bottom:0}
.after-line p{margin-bottom:8px}
.ph-wrap .ph{padding:24px 32px}
.ph-wrap .ph-desc{font-size:12.5px;line-height:1.45}
.ph-wrap .ph-title{margin-bottom:6px}
/* ═══ Premium-Feinschliff ═══ */
/* Karten-Innenabstand kommt jetzt aus Divi — CSS nur noch für Feinheiten */
.et_pb_column.way-card,.et_pb_column.vg-card{overflow:hidden}
.et_pb_column.vclip-card{background:none!important;border:none!important;box-shadow:none!important}
/* Bilder in Karten randlos an die Kartenkante */
.way-card > .et_pb_image:first-child img,.vg-card > .et_pb_image:first-child img{border-radius:16px 16px 0 0}
/* Buttons: Glow nur im Ruhezustand, beim Hover enger */
.et_pb_button.db-btn-primary:hover{box-shadow:0 6px 18px rgba(234,76,31,.34)!important}
.et_pb_button.db-btn-ghost{box-shadow:none!important}
/* Feine Trennlinie unter dem Header statt harter Kante */
.db-header{border-bottom:1px solid rgba(16,35,54,.07)!important;box-shadow:0 1px 24px rgba(16,35,54,.04)}
/* Dunkle Sektionen: Text auf Textur ruhig halten */
.dark .et_pb_row{position:relative;z-index:1}
/* Fakten-Pills mit leichter Tiefe */
.fact{box-shadow:0 2px 10px rgba(16,35,54,.05)}
/* Logo-Chip wie eine Karte */
.logo-chip{box-shadow:0 2px 10px rgba(16,35,54,.05);border-color:rgba(16,35,54,.06)}
/* Karten-Spalten gleich hoch (Divi setzt height:auto bei card-Columns) */
.nx-cases .et_pb_row,.nx-wege .et_pb_row,.nx-method .et_pb_row,.nx-generic .et_pb_row{align-items:stretch}
.et_pb_column.case,.et_pb_column.way-card,.et_pb_column.vg-card,
.et_pb_column.fit-col,.et_pb_column.erg-card-col,.nx-vips .et_pb_column{height:auto;align-self:stretch}
/* Platzhalterkästen ruhiger: weniger Kontrast, kleinere Schrift */
.ph-wrap .ph{background:repeating-linear-gradient(45deg,#F3F6FA 0 14px,#F7F9FC 14px 28px)!important;
  border:1px dashed rgba(30,54,116,.18)!important}
.ph-wrap .ph-tag{background:rgba(30,54,116,.9);font-size:10px;letter-spacing:.12em}
.ph-wrap .ph-title{font-size:15px}
.dark .ph-wrap .ph{background:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 14px,rgba(255,255,255,.055) 14px 28px)!important;
  border:1px dashed rgba(255,255,255,.16)!important}
/* Kennzahlen mit CI-Verlaufsfüllung (Divi zielt auf h3, das Modul rendert direkt im DIV) */
/* ═══ Video-Lightbox ═══ */
.db-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:32px}
.db-lightbox.is-open{display:flex}
.db-lb-backdrop{position:absolute;inset:0;background:rgba(6,13,28,.82);backdrop-filter:blur(8px);animation:dbFade .25s ease}
.db-lb-stage{position:relative;width:min(1080px,92vw);animation:dbPop .32s cubic-bezier(.2,.7,.3,1)}
.db-lb-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;
  background:#0A1426;box-shadow:0 40px 90px rgba(0,0,0,.55)}
.db-lb-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.db-lb-close{position:absolute;top:-52px;right:0;width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;
  background:rgba(255,255,255,.14);color:#fff;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:background .2s}
.db-lb-close:hover{background:rgba(255,255,255,.28)}
body.db-lb-open{overflow:hidden}
@keyframes dbFade{from{opacity:0}to{opacity:1}}
@keyframes dbPop{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.db-lb-close{top:auto;bottom:-52px;right:50%;transform:translateX(50%)}}
/* Klickbare Video-Elemente */
[data-vimeo]{cursor:pointer}
.vclip-card [data-vimeo],.vg-card [data-vimeo]{display:block}
.case-video{cursor:pointer}
/* ═══ Eigene Videos: Vorschaubild + Play, Wiedergabe in der Lightbox ═══
   Bis zum Klick lädt nur das Bild. Im Hero wird das Seitenfoto zum Poster. */
.db-lb-frame video{position:absolute;inset:0;width:100%;height:100%;background:#000;display:block}
.dbv-module .et_pb_code_inner{width:100%}
.dbv{position:relative;display:block;width:100%;margin:0;padding:0;border:0;background:#0A1426;
  border-radius:16px;overflow:hidden;cursor:pointer;font:inherit;color:#fff;text-align:left;
  isolation:isolate;box-shadow:0 24px 60px rgba(14,27,58,.18)}
.dbv img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.dbv::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,20,38,0) 50%,rgba(10,20,38,.78) 100%)}
.dbv-play{position:absolute;left:50%;top:50%;z-index:2;width:84px;height:84px;margin:-42px 0 0 -42px;
  border-radius:50%;background:#fff;box-shadow:0 0 0 10px rgba(255,255,255,.22),0 14px 34px rgba(0,0,0,.32);
  transition:transform .25s ease,box-shadow .25s ease}
.dbv-play::before{content:"";position:absolute;left:34px;top:27px;border-style:solid;
  border-width:15px 0 15px 24px;border-color:transparent transparent transparent var(--navy,#23336B)}
.dbv-label{position:absolute;left:24px;right:24px;bottom:20px;z-index:2;display:flex;flex-direction:column;gap:3px}
.dbv-label b{font-family:'Montserrat',sans-serif;font-size:19px;font-weight:700;line-height:1.3;color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.35)}
.dbv-label span{font-size:13.5px;line-height:1.4;color:rgba(255,255,255,.85)}
.dbv:hover img{transform:scale(1.03)}
.dbv:hover .dbv-play{transform:scale(1.07);box-shadow:0 0 0 14px rgba(255,255,255,.26),0 16px 38px rgba(0,0,0,.36)}
.dbv:focus-visible{outline:3px solid var(--orange,#EA4C1F);outline-offset:4px}
/* Hero: das Foto behält Format und Ausschnitt der bisherigen Bildmodule */
.dbv-hero .dbv img{aspect-ratio:3/2;object-position:center 40%}
.dbv-hero-tall .dbv img{aspect-ratio:auto;height:520px}
@media(max-width:980px){
  .dbv-hero .dbv img{aspect-ratio:16/10}
  .dbv-hero-tall .dbv img{height:360px}
}
@media(max-width:600px){
  .dbv-play{width:64px;height:64px;margin:-32px 0 0 -32px;box-shadow:0 0 0 8px rgba(255,255,255,.22),0 10px 26px rgba(0,0,0,.3)}
  .dbv-play::before{left:26px;top:20px;border-width:12px 0 12px 19px}
  .dbv-label{left:16px;right:16px;bottom:14px}
  .dbv-label b{font-size:16px}
  .dbv-label span{font-size:12.5px}
}
@media(prefers-reduced-motion:reduce){.dbv img,.dbv-play{transition:none}.dbv:hover img{transform:none}}
/* Empfehlungen kompakter (Feedback Dan 05.10.): kein Extra-Rand über
   „Und viele mehr", Zitat und Name enger zusammen */
.nx-cases-b .strip-label{margin-top:0!important}
.et_pb_testimonial.vip-native .et_pb_testimonial_description p{margin-bottom:0}
.et_pb_testimonial.vip-native .et_pb_testimonial_author{margin-top:12px!important}
/* Videokarten: Ergebnis-Zitat unter dem Vorschaubild, letzte Reihe zentriert */
.et_pb_row.nx-strip{justify-content:center}
.vclip-quote,.vclip-quote p{font-style:normal;line-height:1.5}
.vclip-quote b{color:var(--navy);font-weight:700}
.vclip-card > .et_pb_text.vclip-quote{margin-top:14px}
/* ═══ Durchlaufende Logo-Bänder (Endlosschleife) ═══ */
.db-marquee-wrap{display:flex;flex-direction:column;gap:20px;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.db-marquee{overflow:hidden;width:100%}
.db-marquee-track{display:flex;align-items:center;gap:56px;width:max-content;
  animation:dbMarquee var(--dur,50s) linear infinite;will-change:transform}
.db-marquee.is-reverse .db-marquee-track{animation-direction:reverse}
.db-marquee-wrap:hover .db-marquee-track{animation-play-state:paused}
.db-logo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:46px}
.db-logo img{max-height:46px;width:auto;filter:grayscale(1);opacity:.42;
  transition:filter .25s ease,opacity .25s ease}
.db-logo:hover img{filter:none;opacity:1}
@keyframes dbMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .db-marquee-track{animation:none;flex-wrap:wrap;justify-content:center;width:100%}
}
@media(max-width:980px){
  .db-marquee-track{gap:36px}
  .db-logo,.db-logo img{height:34px;max-height:34px}
  .db-marquee-wrap{gap:14px}
}
.logo-chip-row{display:flex;justify-content:center;margin-top:28px}
/* ═══ Native Ersetzungen (statt Code-Module) ═══ */
/* Video-Thumbnail: natives Image-Modul + Play-Overlay per CSS */
.et_pb_image.vclip-thumb-native,.et_pb_image.vg-thumb-native{position:relative;cursor:pointer;margin:0}
.et_pb_image.vclip-thumb-native img,.et_pb_image.vg-thumb-native img{width:100%;display:block;border-radius:12px}
.et_pb_image.vclip-thumb-native img{aspect-ratio:16/10;object-fit:cover}
.et_pb_image.vg-thumb-native img{aspect-ratio:16/9;object-fit:cover;border-radius:16px 16px 0 0}
/* Kein eigenes Play-Zeichen mehr: die Vimeo-Thumbnails bringen bereits eines
   mit, es stand doppelt im Bild (Feedback Jessica). Der abdunkelnde Schleier
   bleibt — er zeigt beim Überfahren, dass die Karte klickbar ist. */
.et_pb_image.vclip-thumb-native::after,.et_pb_image.vg-thumb-native::after{
  content:'';position:absolute;inset:0;background:rgba(14,27,51,.18);
  pointer-events:none;transition:background .2s;border-radius:12px}
.et_pb_image.vg-thumb-native::after{border-radius:16px 16px 0 0}
.vclip-card:hover .vclip-thumb-native::after,.vg-card:hover .vg-thumb-native::after{background:rgba(14,27,51,.06)}
.vclip-card:hover .vclip-thumb-native img,.vg-card:hover .vg-thumb-native img{transform:scale(1.03)}
.et_pb_image.vclip-thumb-native img,.et_pb_image.vg-thumb-native img{transition:transform .25s ease}
/* Personen-Block als Blurb: rundes Foto links, Name + Rolle rechts */
.et_pb_blurb.person-native{margin-top:auto}
.et_pb_blurb.person-native .et_pb_blurb_content{display:flex;align-items:center;gap:14px;text-align:left;max-width:none}
.et_pb_blurb.person-native .et_pb_main_blurb_image{margin:0;width:52px;flex:0 0 52px}
.et_pb_blurb.person-native .et_pb_main_blurb_image img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.et_pb_blurb.person-native .et_pb_blurb_container{padding:0;flex:1}
.et_pb_blurb.person-native .et_pb_module_header{font-family:'Montserrat',sans-serif;font-size:15px;
  font-weight:600;color:var(--navy);margin:0 0 2px}
.et_pb_blurb.person-native p{margin:0;font-size:13px;color:var(--gray);line-height:1.45}
/* Rolle und Video-Link in EINER Zeile: sonst sitzt der Personenblock
   der Karte mit Video eine Zeile höher als der der anderen. */
.et_pb_blurb.person-native .p-role{display:inline}
.et_pb_blurb.person-native .p-video::before{content:"·";margin:0 9px;color:#C7D0DE}
.et_pb_blurb.person-native .p-video{display:inline;margin-top:0;white-space:nowrap;font-family:'Montserrat',sans-serif;
  font-weight:600;font-size:12.5px;color:var(--orange-text);cursor:pointer}
.et_pb_blurb.person-native .p-video:hover{text-decoration:underline}
/* Vorher/Nachher-Zahl aus zwei Textmodulen, Pfeil per CSS */
.et_pb_group.case-num-native{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.case-num-native .cn-from p{font-size:28px;font-weight:600;color:var(--gray);margin:0;line-height:1.2}
.case-num-native .cn-to p{font-size:46px;font-weight:600;color:var(--navy);margin:0;line-height:1.2}
.case-num-native .cn-to{position:relative;padding-left:34px}
.case-num-native .cn-to::before{content:'';position:absolute;left:0;top:50%;width:24px;height:2px;
  background:var(--orange);transform:translateY(-50%)}
.case-num-native .cn-to::after{content:'';position:absolute;left:19px;top:50%;
  border:5px solid transparent;border-left-color:var(--orange);transform:translateY(-50%)}
@media(max-width:980px){.et_pb_group.case-num-native{flex-wrap:wrap;row-gap:4px}}
/* Personen-Block kompakt (Blurb-Layout) */
.et_pb_blurb.person-native .et_pb_blurb_content{align-items:center}
.et_pb_blurb.person-native{padding:0}
.et_pb_blurb.person-native .et_pb_blurb_container{display:flex;flex-direction:column;justify-content:center}
/* Karten-Spalten wirklich gleich hoch */
.nx-cases .et_pb_row{align-items:stretch}
.nx-cases .et_pb_column.case{display:flex;flex-direction:column}
/* Karten-Spalten zwingend gleich hoch (Divi setzt align-self:flex-start) */
.nx-cases .et_pb_row > .et_pb_column,
.nx-vips .et_pb_column,
.nx-wege .et_pb_row > .et_pb_column{align-self:stretch!important}
/* ═══ Above the fold: Hero kompakter, Bild größengetreu ═══ */
/* Nutzen-Häkchen nebeneinander (spart ~90px Höhe) */
.et_pb_icon_list.nx-bullets-row{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:10px 26px}
.et_pb_icon_list.nx-bullets-row .et_pb_icon_list_item{padding:0;flex:0 0 auto;margin:0}
.et_pb_icon_list.nx-bullets-row .et_pb_icon_list_text{font-weight:600;font-size:16px;white-space:nowrap}
.et_pb_icon_list.nx-bullets-row .et-pb-icon{width:22px;height:22px;min-width:22px;font-size:12px!important}
@media(max-width:600px){
  .nx-bullets-row .et_pb_icon_list{flex-direction:column;gap:6px}
  .et_pb_icon_list.nx-bullets-row .et_pb_icon_list_text{white-space:normal}
}
/* Bewertungszeile unter dem CTA */
.hero-rating{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:15px;color:var(--gray)}
.hero-rating .stars{color:var(--orange);letter-spacing:.08em;font-size:16px}
/* Hero-Bild: Original-Seitenverhältnis 3:2, nicht auf Hochformat beschnitten */
.et_pb_image.nx-hero-img{width:100%}
.et_pb_image.nx-hero-img .et_pb_image_wrap{width:100%;display:block}
.et_pb_image.nx-hero-img img{width:100%!important;height:auto!important;aspect-ratio:3/2;
  object-fit:cover;object-position:center 40%;border-radius:16px;display:block}
@media(max-width:980px){
  .et_pb_image.nx-hero-img img{aspect-ratio:16/10}
}
/* Kennzahlen: Suffix "+" und Typo (Divi-Counter zählt nur Ziffern) */
.et_pb_number_counter.has-plus .percent-value::after{content:"+"}
.et_pb_number_counter.nx-counter .percent{margin-bottom:6px}
.et_pb_number_counter.nx-counter .percent p{margin:0}
.et_pb_number_counter.nx-counter .title{font-weight:400}
/* Kennzahl-Typo: Montserrat fett (Divi setzt sonst die Body-Schrift) */
.et_pb_number_counter.nx-counter .percent-value,
.et_pb_number_counter.nx-counter .percent{font-family:'Montserrat',sans-serif!important;
  font-weight:700!important;letter-spacing:-.01em}
.et_pb_number_counter.has-plus .percent-value::after{content:none}

/* ── Einblenden ohne Divis Waypoint ────────────────────────────────────
   Divis Scroll-Animationen lösen in dieser Installation nicht aus; die
   Module blieben dauerhaft unsichtbar. global.js blendet sie per
   Inline-Style ein (Divi schreibt Modul-Klassen nach uns neu). Ohne JS
   ist alles sofort sichtbar. */
html:not(.nx-js) .et_animated{opacity:1!important;animation:none!important}
.et_animated{animation:none!important;
  transition:opacity .6s cubic-bezier(.22,.61,.36,1),
             transform .6s cubic-bezier(.22,.61,.36,1)}
@media (prefers-reduced-motion:reduce){
  /* Wer „Bewegung reduzieren" eingeschaltet hat, bekommt keinen Effekt —
     und muss trotzdem alles sehen. Vorher blieb hier die komplette
     Wirkungs-Formel unsichtbar: global.js zeigte die Module sofort, Divi
     setzte danach seinen Startzustand per Inline-Style neu, und weil das
     Sicherheitsnetz in diesem Modus nicht läuft, holte sie niemand zurück.
     Die Regel hier schlägt jeden Inline-Style ohne !important. */
  .et_animated{opacity:1!important;transition:none!important;transform:none!important}
}

/* ── Experten-Zitate: Name und Rolle auf eine Linie ────────────────────
   Divi setzt Autor und Rolle direkt unter das Zitat — bei unterschiedlich
   langen Zitaten steht der Name dann auf drei verschiedenen Höhen. Der
   Zitatbereich wird deshalb gedehnt, sodass der Autorenblock am Kartenfuss
   sitzt. Achtung auf die Verschachtelung: das Zitat steckt in
   _description_inner, nicht direkt in _description. */
.et_pb_testimonial{display:flex;flex-direction:column}
.et_pb_testimonial .et_pb_testimonial_inner,
.et_pb_testimonial .et_pb_testimonial_description{display:flex;flex-direction:column;
  flex:1 1 auto;width:100%;row-gap:0}   /* Divi-Flex-Gap (--vertical-gap) killen */
.et_pb_testimonial .et_pb_testimonial_description_inner{flex:1 1 auto}
.et_pb_testimonial .et_pb_testimonial_author{margin-top:16px;padding-top:0}
.et_pb_testimonial .et_pb_testimonial_meta{margin-top:2px}

/* ── Fallkarten: Personenblock auf einer Linie ─────────────────────────
   Das Zitat wird gedehnt, damit Foto, Name und Rolle in allen drei Karten
   auf gleicher Höhe beginnen — unabhängig von der Zitatlänge. */
.et_pb_column.case{display:flex;flex-direction:column}
.et_pb_column.case .case-quote{flex:1 1 auto}
.et_pb_column.case .person-native{margin-bottom:0}

/* ── Empfehlungs-Band: Scherer, Beck, Schäfer ──────────────────────────
   Die Fotos zeigen Dan MIT ihnen — das ist der eigentliche Beweis und
   braucht Größe. Die Originale sind nur 300px breit, mehr als 140px
   Darstellung würde unscharf. Divi rendert portrait.decoration.sizing für
   dieses Modul nicht, die Größe muss deshalb hier stehen. */
.et_pb_testimonial.vip-band{background:#FFFFFF;border:1px solid rgba(16,35,54,.06);
  border-radius:var(--radius);padding:32px;
  box-shadow:0 18px 40px -24px rgba(16,35,54,.22)}
.et_pb_testimonial.vip-band .et_pb_testimonial_portrait{width:140px;height:140px;
  margin:0 auto 22px;box-shadow:0 12px 28px -10px rgba(16,35,54,.35);
  border:3px solid #FFFFFF}
.et_pb_testimonial.vip-band .et_pb_testimonial_description{font-size:16.5px;
  line-height:1.55}
.et_pb_testimonial.vip-band .et_pb_testimonial_author{font-size:16px;margin-top:18px}
.et_pb_testimonial.vip-band .et_pb_testimonial_meta{font-size:13.5px}
@media (max-width:980px){
  .et_pb_testimonial.vip-band .et_pb_testimonial_portrait{width:120px;height:120px}
}
/* Divi rendert portrait.decoration.sizing für dieses Modul nicht —
   die Grösse muss deshalb hier stehen. */
.et_pb_testimonial.vip-dark .et_pb_testimonial_portrait{width:140px;height:140px;
  margin:0 auto 22px;box-shadow:0 10px 30px rgba(0,0,0,.35);
  border:3px solid rgba(255,255,255,.14)}
.et_pb_testimonial.vip-dark .et_pb_testimonial_meta{color:#93A5C8}
.et_pb_testimonial.vip-dark .et_pb_testimonial_description{font-size:16.5px;
  line-height:1.55;color:#E4EAF7}
.et_pb_testimonial.vip-dark .et_pb_testimonial_author{font-size:16px;margin-top:18px}
.et_pb_testimonial.vip-dark .et_pb_testimonial_meta{font-size:13.5px}
@media (max-width:980px){
  .et_pb_testimonial.vip-dark .et_pb_testimonial_portrait{width:120px!important;height:120px!important}
}

/* Divis Counter-CSS startet das Modul auf opacity:0 und lässt es per JS
   einblenden. Da wir Divis Counter stilllegen (er würde die rohe Zahl über
   unseren formatierten Wert schreiben), muss die Sichtbarkeit hierher. */
.et_pb_number_counter.nx-counter{opacity:1!important}

/* ── Footer-Feinschliff ────────────────────────────────────────────────
   Das Logo sass ohne Abstand auf dem Claim; die Spaltentitel standen zu
   weit von ihren Links entfernt. */
.db-footer-tb .db-footer-trust{margin-top:18px}
.db-footer-tb .db-footer-h{margin-bottom:6px!important}
.db-footer-tb .db-footer-links a.db-fl{padding:6px 0}
.db-footer-tb .db-agentur{margin-left:auto;color:#5F739B;text-decoration:none}
.db-footer-tb .db-agentur:hover{color:#8FA1C7}

/* ── Wirkungs-Formel ───────────────────────────────────────────────────
   Der Sektionsname steht jetzt oben im Eyebrow-Stil; die Formel selbst
   wird darunter sichtbar, statt nur im Namen behauptet zu werden. */
/* Divi wrappt die Überschrift in .et_pb_heading_container — der Strich
   gehört an den Wrapper, sonst steht er über dem Text statt daneben. */
.eyebrow-h2 .et_pb_heading_container{display:flex;align-items:center;
  justify-content:center;gap:10px}
.eyebrow-h2 .et_pb_heading_container::before{content:'';width:28px;height:3px;
  border-radius:3px;background:var(--brand-grad);flex:0 0 auto}
.eyebrow-h2 h2{font-family:'Montserrat',sans-serif;font-size:13px!important;
  letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin:0}
.nx-formel p{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:14px;margin:0;font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.nx-formel i{font-style:normal;color:var(--orange);font-size:18px;line-height:1}
@media (max-width:600px){
  .nx-formel p{gap:7px;font-size:12px;letter-spacing:.03em}
  .nx-formel i{font-size:15px}
}

/* ── Potenzialanalyse-Strecke (Conversational Form) ────────────────────
   Das Add-on deckelt das Logo bei 40px Höhe. Dans Logo ist hochformatig,
   dadurch bleiben nur 32px Breite — für die Wiedererkennung zu wenig. */
.gform-conversational__logo{max-height:56px!important;max-width:none!important;
  width:auto!important;height:auto!important}
@media (max-width:600px){
  .gform-conversational__logo{max-height:44px!important}
}

/* Kartentitel der Wirkungs-Formel: „Vertrauen aufbauen“ brach auf zwei
   Zeilen und zog die Karte auseinander (Feedback Jessica). */
.et_pb_blurb.factor .et_pb_module_header{white-space:nowrap;font-size:19px}
@media (max-width:1100px){
  .et_pb_blurb.factor .et_pb_module_header{white-space:normal}
}

/* Absatzabstand: Divi legt auf <p> zusätzlich zum margin noch padding-bottom
   von 1em — zusammen 35px. Das liess Textblöcke auseinanderfallen. */
.et_pb_text p:not(:last-child){padding-bottom:0;margin-bottom:.85em}

/* Eckdaten in „Warum Dan Berlin“ mit kleinem Sinnbild */
.numbers b{display:inline-flex;align-items:center;gap:8px}
.fakt-ico{width:17px;height:17px;flex:0 0 auto;opacity:.75}

/* ── Passt-/Passt-nicht-Listen: Farbe sagt, was gemeint ist ────────────
   Vorher trugen beide Listen den Markenakzent — das las sich wie eine
   Warnung, obwohl die linke Spalte die Zusagen enthält (Feedback Jessica). */
.fit-yes .et_pb_icon_list.nx-list-circle .et-pb-icon{background:#17845A!important}
.fit-no .et_pb_icon_list.nx-list-circle .et-pb-icon{background:#C4342A!important;
  color:#fff!important}

/* Stille Tür im Kontaktbereich: der Hinweis war zu gedämpft zum Lesen.
   Die Sektion heisst nx-final — die alte Regel griff ins Leere. */
.nx-final .quiet-link,.final .quiet-link{font-size:16px;color:#C3D0EA}
.nx-final .quiet-link a,.final .quiet-link a{color:#FFFFFF;text-decoration:underline;
  text-underline-offset:3px}

/* Micro-Zeile unter jedem Button: überall derselbe Abstand (Feedback
   Jessica — die Abstände unterschieden sich von Sektion zu Sektion). */
.nx-micro{margin-top:0!important}
.et_pb_button_module_wrapper + .et_pb_text.nx-micro{margin-top:0!important}
.nx-micro .et_pb_text_inner{line-height:1.5}

/* „Empfohlen von“ und „Und viele mehr …“ waren als Überschriften zu leise
   (Feedback Jessica) — sie führen jeweils einen ganzen Block an. */
.nx-vips-band .et_pb_text.eyebrow{font-size:16px!important;letter-spacing:.1em}
.nx-vips-band .et_pb_text.eyebrow .et_pb_text_inner{font-size:16px}
.et_pb_text.strip-label{font-size:17px!important;color:var(--body)!important;font-weight:600}
.et_pb_text.strip-label .et_pb_text_inner{font-size:17px}

/* Wirkungs-Formel (dunkel) */
.et_pb_blurb.factor .et_pb_module_header{display:flex;align-items:center;
  white-space:normal;gap:0}
.et_pb_blurb.factor .kt{white-space:nowrap}
.et_pb_blurb.factor .karten-ico{color:#FFFFFF}

/* Methoden-Schritte */

/* Stille Analyse */
.quiet-steps .qs-head .karten-ico{color:var(--navy);margin-right:0}
.quiet-steps .qs-num{margin-bottom:0}

/* ── Symbole in den Schritt-Karten ─────────────────────────────────────
   Divis eigenes Icon-Feld (Blurb) statt selbstgebauter SVGs: im Builder
   austauschbar, Grösse und Farbe sind Moduloptionen. Das Symbol steht
   gross über dem Titel, die Ziffer bleibt als kleine Marke daneben. */
.et_pb_blurb.factor .et_pb_main_blurb_image{margin-bottom:18px;line-height:1}
.et_pb_blurb.factor .et-pb-icon{font-size:34px!important;line-height:1}
/* Die Ziffer trägt die Karte allein — entsprechend gross (Feedback Marco).
   Hier stand vorher zusätzlich „.et_pb_blurb.factor .et_pb_module_header,"
   vor dem Kommentar — dadurch bekam die ganze Titelzeile die Masse der
   Ziffer (38×38px), der Titel brach Wort für Wort um und lief über den Text. */
.et_pb_blurb.factor .num-badge{width:38px;height:38px;font-size:17px;margin-right:0;
  flex:0 0 auto}
.et_pb_blurb.factor .et_pb_module_header{gap:14px}
@media (max-width:1100px){
  /* Der verwaiste Selektor, der hier stand, hat die Media-Query ungültig
     gemacht: "Einwandbehandlung & Abschluss" blieb dadurch auf dem Handy
     einzeilig und ragte 33px über den Bildschirmrand. */
  .et_pb_blurb.factor .kt{white-space:normal}
}

/* FontAwesome-Symbole bringen ihre Schrift selbst mit — nicht überschreiben */
.quiet-steps .qs-num{margin-bottom:0}

/* ── FAQ ───────────────────────────────────────────────────────────────
   Vorher eine lange Spalte geschlossener Balken. Jetzt zwei Spalten, die
   erste Frage je Spalte offen, Karten-Optik wie im Rest der Seite, und am
   Ende eine Handlungsaufforderung. */
/* Die Spalte ist Flex mit row-gap 0 — ein margin an den Fragen wirkt dort
   nicht. Der Abstand gehört deshalb an die Spalte. */
.nx-faq-grid > .et_pb_column{row-gap:22px}
.nx-faq-grid .et_pb_toggle{background:#FFFFFF;border:1px solid var(--line);
  border-radius:14px;margin-bottom:0;padding:0;transition:border-color .2s,box-shadow .2s}
.nx-faq-grid .et_pb_toggle:hover{border-color:#C7D3E8;
  box-shadow:0 12px 28px -22px rgba(16,35,54,.35)}
.nx-faq-grid .et_pb_toggle_open{border-color:#C7D3E8;
  box-shadow:0 16px 34px -24px rgba(16,35,54,.3)}
.nx-faq-grid .et_pb_toggle_title{padding:18px 52px 18px 22px;font-size:16.5px;
  line-height:1.45;color:var(--navy);font-family:'Montserrat',sans-serif;font-weight:600}
.nx-faq-grid .et_pb_toggle_content{padding:0 22px 20px;color:var(--body);font-size:15.5px}
.nx-faq-grid .et_pb_toggle_title:before{right:20px;color:var(--orange);font-size:20px}
.nx-faq-cta{font-family:'Montserrat',sans-serif;font-weight:600}
@media (max-width:980px){
  .nx-faq-grid .et_pb_toggle_title{padding-right:46px;font-size:16px}
}

/* Pfeil in die Lücke zwischen zwei Schritten, auf Kreishöhe */
.quiet-steps div:not(:last-child)::after{content:'→';position:absolute;
  top:8px;right:-11px;font-size:22px;line-height:1;color:#C6D0E2;pointer-events:none}
.quiet-steps b{display:block;font-family:'Montserrat',sans-serif;color:var(--navy);
  font-size:17px;line-height:1.35;margin:0 0 8px}
.quiet-steps .qs-txt{display:block;font-size:14.5px;color:var(--gray);line-height:1.6}
@media (max-width:820px){
  .quiet-steps{grid-template-columns:1fr;gap:26px;max-width:380px}
  .quiet-steps div:not(:last-child)::after{content:'↓';top:auto;bottom:-22px;
    right:auto;left:50%;transform:translateX(-50%)}
}

/* ── Die drei Schritte der stillen Analyse ─────────────────────────────
   Native Divi-Module (ein Blurb je Schritt), damit sie im Builder einzeln
   editierbar sind — vorher ein Code-Block. Optik: Ziffer im gefüllten
   Kreis, Pfeile in der Lücke dazwischen. */
.et_pb_row.quiet-steps{max-width:860px;width:100%;margin:10px auto 32px;
  padding-left:0;padding-right:0;column-gap:0}
.quiet-steps > .et_pb_column{position:relative;width:33.333%!important;
  max-width:none!important;padding:0 14px;text-align:center;margin:0}
.quiet-steps .et_pb_blurb.qstep{background:none;border:none;box-shadow:none;padding:0}
.quiet-steps .qstep .et_pb_module_header{display:flex;flex-direction:column;
  align-items:center;gap:0;margin:0}
.quiet-steps .qs-num{display:inline-flex;align-items:center;justify-content:center;
  width:46px;height:46px;border-radius:50%;background:var(--brand-grad);color:#fff;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:17px;line-height:1;
  margin-bottom:20px;box-shadow:0 8px 20px -10px rgba(234,76,31,.55)}
.quiet-steps .qs-t{display:flex;align-items:flex-start;justify-content:center;
  font-family:'Montserrat',sans-serif;color:var(--navy);font-size:17px;
  line-height:1.35;text-align:center}
.quiet-steps .et_pb_blurb_description,
.quiet-steps .et_pb_blurb_description p{font-size:14.5px;color:var(--gray);
  line-height:1.6;margin:10px 0 0}
/* Pfeil in die Lücke zwischen zwei Schritten, auf Kreishöhe */
.quiet-steps > .et_pb_column:not(:last-child)::after{content:'→';position:absolute;
  top:8px;right:-11px;font-size:22px;line-height:1;color:#C6D0E2;pointer-events:none}
@media (max-width:980px){
  .quiet-steps > .et_pb_column{padding:0;margin-bottom:26px}
  .quiet-steps > .et_pb_column:not(:last-child)::after{content:'↓';top:auto;
    bottom:-20px;right:auto;left:50%;transform:translateX(-50%)}
}

/* Linie an der SPALTE, nicht an der Reihe. Höhe = halber Icon-Kreis plus
   der Innenabstand, den Divi über dem Blurb-Bild setzt (--step-ico-top). */
.nx-steps-row{--step-ico:76px;--step-ico-top:14px}
.nx-steps-row > .et_pb_column:not(:last-child)::before{content:'';
  position:absolute;top:calc(var(--step-ico-top) + var(--step-ico) / 2);
  left:50%;width:100%;height:2px;background:var(--line);z-index:0}
/* Der weisse Kreis liegt über der Linie und unterbricht sie sauber —
   dadurch stimmen die Abstände links und rechts von selbst. */
.step-native .et_pb_main_blurb_image{position:relative;z-index:1}
.nx-steps-row > .et_pb_column{position:relative;z-index:1;text-align:center}
.step-native{text-align:center}
/* Symbol als Punkt auf der Linie */
.step-native .et_pb_main_blurb_image{display:flex;align-items:center;
  justify-content:center;width:var(--step-ico,76px);height:var(--step-ico,76px);margin:0 auto 14px;
  border-radius:50%;background:#FFFFFF;border:2px solid var(--line);
  box-shadow:0 10px 24px -18px rgba(16,35,54,.45);line-height:1}
.step-native .et-pb-icon{font-size:32px!important;line-height:1;color:var(--orange)}
/* Ziffer klein unter dem Punkt, darunter der Titel */
.step-native .et_pb_module_header{display:flex;flex-direction:column;
  align-items:center;gap:12px;margin:0}
.step-native .step-badge{display:inline-flex;align-items:center;
  justify-content:center;width:24px;height:24px;border-radius:50%;
  background:var(--brand-grad);color:#fff;font-family:'Montserrat',sans-serif;
  font-weight:700;font-size:12px;line-height:1;flex:0 0 auto}
.step-native .step-title{display:block;font-family:'Montserrat',sans-serif;
  color:var(--navy);font-size:19px;line-height:1.3}
.step-native .et_pb_blurb_description,
.step-native .et_pb_blurb_description p{font-size:15.5px;color:var(--body);
  line-height:1.6;margin:12px 0 0}
@media (max-width:980px){
  .nx-steps-row > .et_pb_column:not(:last-child)::before{display:none}
  .nx-steps-row > .et_pb_column{margin-bottom:34px}
  .step-native .et_pb_main_blurb_image{width:64px;height:64px}
}
/* ── Methode als Zeitleiste ────────────────────────────────────────────
   Die grosse Ziffer ist selbst die Station auf der Linie — kein Symbol
   daneben (Feedback Marco). Die Linie läuft hinter den Kreisen durch. */
.et_pb_row.nx-steps-row{position:relative;--step-punkt:72px;--step-punkt-top:14px}
.nx-steps-row > .et_pb_column{position:relative;z-index:1;text-align:center}
.nx-steps-row > .et_pb_column:not(:last-child)::before{content:'';
  position:absolute;top:calc(var(--step-punkt-top) + var(--step-punkt) / 2);
  left:50%;width:100%;
  height:2px;background:var(--line);z-index:0}
.step-native{text-align:center}
.step-native .et_pb_module_header{display:flex;flex-direction:column;
  align-items:center;gap:22px;margin:0}
/* Ziffer als Punkt auf der Linie */
.step-native .step-badge{display:inline-flex;align-items:center;
  justify-content:center;width:var(--step-punkt,72px);height:var(--step-punkt,72px);
  border-radius:50%;background:var(--brand-grad);color:#fff;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:28px;line-height:1;
  flex:0 0 auto;position:relative;z-index:1;
  box-shadow:0 12px 26px -14px rgba(234,76,31,.6)}
.step-native .step-title{display:block;font-family:'Montserrat',sans-serif;
  color:var(--navy);font-size:19px;line-height:1.3}
.step-native .et_pb_blurb_description,
.step-native .et_pb_blurb_description p{font-size:15.5px;color:var(--body);
  line-height:1.6;margin:12px 0 0}
@media (max-width:980px){
  .nx-steps-row{--step-punkt:60px}
  .nx-steps-row > .et_pb_column:not(:last-child)::before{display:none}
  .nx-steps-row > .et_pb_column{margin-bottom:34px}
}

/* Wege-Karten: richtiger Button statt Textlink — von hier geht es zu den
   Hauptangeboten (Feedback Marco). */
.way-card .et_pb_button_module_wrapper{margin:6px 0 0;padding:0 32px 32px}
.way-card .et_pb_button_module_wrapper .et_pb_button_wrapper{display:block}
.way-card .et_pb_button.way-btn{display:block!important;width:100%!important;
  max-width:none!important;text-align:center;font-size:16px;
  padding-top:16px!important;padding-bottom:16px!important}

/* Kontaktbereich: Bild statt Buchungs-Widget.
   Das Bild ist hochformatig und würde die Reihe aufziehen — links entstünde
   Leerraum. Deshalb liegt es absolut in seiner Spalte: die Textspalte gibt
   die Höhe vor, das Bild füllt den Rest (Feedback Marco). */
/* Mindesthöhe nur als Untergrenze — sonst gibt sie die Reihe vor und das
   Bild ragt über die kürzere Textspalte der Unterseiten hinaus. */
.nx-final-imgcol{position:relative;min-height:300px}
.nx-final-imgcol .nx-final-img{position:absolute;inset:0;margin:0;height:auto}
.nx-final-imgcol .nx-final-img .et_pb_image_wrap{display:block;height:100%;width:100%}
.nx-final-imgcol .nx-final-img img{width:100%;height:100%;object-fit:cover;
  object-position:center 30%;border-radius:16px}
@media (max-width:980px){
  .nx-final-imgcol{position:static;min-height:0}
  .nx-final-imgcol .nx-final-img{position:static}
  .nx-final-imgcol .nx-final-img img{height:320px}
}

/* Luft zwischen Dans Zitat und dem Button darunter (Feedback Marco) */
.final-person-wrap{margin-bottom:30px!important}
.nx-final .final-person{gap:16px}

/* Eyebrow als Heading-Modul (Kennzahlen-Sektion): Divi legt den Text in
   .et_pb_heading_container, die Flex-Regeln der Klasse greifen sonst ins Leere. */
.et_pb_heading.eyebrow .et_pb_heading_container{display:flex;align-items:center;gap:10px;justify-content:inherit}
.et_pb_heading.eyebrow.nx-center .et_pb_heading_container{justify-content:center}
.et_pb_heading.eyebrow h1,.et_pb_heading.eyebrow h2,.et_pb_heading.eyebrow h3{
  font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin:0}
.et_pb_heading.eyebrow::before{display:none}
.et_pb_heading.eyebrow .et_pb_heading_container::before{
  content:'';width:28px;height:3px;border-radius:3px;background:var(--brand-grad);flex:0 0 auto}

/* Zwei dunkle Sektionen hintereinander: Hier trennt die Farbe nicht, deshalb
   klaffen sonst 88+88=176px statt der 128px, die zwischen zwei hellen
   Sektionen gelten. Betrifft Startseite (Wende→Straße) und Über Dan. */
.et_pb_section.dark:has(+ .et_pb_section.dark){padding-bottom:44px}
.et_pb_section.dark + .et_pb_section.dark{padding-top:44px}

/* Sekundär-Button: Divis Voreinstellung (blauer Text, blauer 2px-Rahmen)
   schlägt hier die nativ gesetzten Modulwerte durch — sichtbar als
   #2EA3F2 auf Weiss, Kontrast 2.75. Der Entwurf sieht Navy mit weisser
   Schrift vor, wie beim Primär-Button nur ohne Verlauf. */
.et_pb_button.db-btn-secondary,
.et_pb_button.db-btn-secondary:hover{
  background-color:var(--navy)!important;
  color:#FFFFFF!important;
  border:0!important;
  border-radius:12px}
.et_pb_button.db-btn-secondary:hover{background-color:#16295A!important}

/* Ghost-Button (Textlink ohne Fläche) hatte dasselbe Problem: Divi-Blau
   statt Navy. Auf dunklem Grund die helle Variante wie im Entwurf. */
.et_pb_button.db-btn-ghost{color:var(--navy)!important;background:none!important}
.dark .et_pb_button.db-btn-ghost{color:#B9C6E4!important}

/* ═══════════════════════════════════════════════════════════════════════
   Design-Durchgang Oktober 2026
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Schritte (Methode + stille Tür) als Code-Block ───────────────────
   Vorher Blurb-Module: Titel zentriert, Text linksbündig, dazwischen eine
   Lücke von bis zu 90px. Jetzt eine geordnete Liste — Titel und Text
   bilden eine Einheit, die Ziffer trägt die Reihenfolge. */
.nx-steps-mod{width:100%}
.nx-steps{list-style:none!important;margin:0 auto!important;padding:0!important;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:48px;
  align-items:start;position:relative}
.nx-steps .nx-step{display:flex;flex-direction:column;align-items:center;text-align:center;
  position:relative;margin:0!important;padding:0!important;list-style:none!important}
.nx-steps .nx-step::marker{content:none}
.nx-steps .nx-step-num{position:relative;z-index:1;display:flex;align-items:center;
  justify-content:center;width:64px;height:64px;border-radius:50%;
  background:var(--brand-grad);color:#fff;font:700 24px/1 'Montserrat',sans-serif;
  /* weisser Ring deckt die Verbindungslinie rund um die Ziffer ab */
  box-shadow:0 0 0 8px #fff,0 16px 30px -12px rgba(234,76,31,.55);margin:0 0 22px}
.nx-steps .nx-step-t{font-family:'Montserrat',sans-serif;font-weight:700;font-size:19px;
  line-height:1.3;color:var(--navy);margin:0 0 8px!important;padding:0!important;
  text-wrap:balance}
.nx-steps .nx-step-d{font-size:16px;line-height:1.6;color:#3D4C63;margin:0!important;
  padding:0!important;max-width:30ch}

/* Linie hinter den Ziffern — von Mitte erster bis Mitte letzter Spalte */
.nx-steps--linie::before{content:'';position:absolute;z-index:0;top:31px;height:2px;
  left:calc((100% - 96px) / 6);right:calc((100% - 96px) / 6);
  background:linear-gradient(90deg,rgba(234,76,31,.45),rgba(30,54,116,.14))}

/* Stille Tür: kompakter, mit Pfeilen in der Lücke zwischen den Schritten */
.nx-steps--pfeil{column-gap:40px}
.nx-steps--pfeil .nx-step-num{width:52px;height:52px;font-size:19px;margin-bottom:16px;
  box-shadow:0 12px 24px -12px rgba(234,76,31,.6)}
.nx-steps--pfeil .nx-step-t{font-size:17px}
.nx-steps--pfeil .nx-step-d{font-size:15px;color:#5B6B80;max-width:24ch}
.nx-steps--pfeil .nx-step:not(:last-child)::after{content:'→';position:absolute;
  left:100%;width:40px;top:13px;text-align:center;color:#B5C0D0;
  font:600 20px/26px 'Montserrat',sans-serif}

@media(max-width:767px){
  .nx-steps{grid-template-columns:1fr;row-gap:36px}
  .nx-steps--linie::before{display:none}
  .nx-steps--pfeil .nx-step:not(:last-child)::after{content:'↓';left:50%;width:40px;
    margin-left:-20px;top:auto;bottom:-31px}
}

/* ── Fallkarten: Foto links, Name und Rolle rechts daneben ─────────────
   Die Regel stand schon da, Divis Blurb-Position „oben" zwingt den
   Inhalt aber in eine Spalte — Foto mittig, Name versetzt darunter. */
.et_pb_blurb.person-native .et_pb_blurb_content{flex-direction:row!important;
  justify-content:flex-start!important}

/* ── Ghost- und Sekundär-Button ────────────────────────────────────────
   Divi schreibt Modulfarben mit #page-container-Spezifität — Klassen-
   regeln kommen dagegen nicht an. Auf dunklem Grund stand der Link
   „Die ganze Geschichte" deshalb navy auf navy. Die Schrift kam in Open
   Sans, weil Divi die Schriftangabe doppelt in Anführungszeichen setzt
   und der Browser sie verwirft. */
body #page-container .dark .et_pb_button.db-btn-ghost{color:#C9D4EE!important}
body #page-container .dark .et_pb_button.db-btn-ghost:hover{color:#FFFFFF!important}
body #page-container .et_pb_button.db-btn-ghost{font-family:'Montserrat',sans-serif!important;
  font-weight:600!important}
body #page-container .et_pb_button.db-btn-secondary{font-family:'Montserrat',sans-serif!important;
  font-weight:700!important}

/* ── Pro/Contra-Listen bündig unter ihrer Überschrift ─────────────────── */
.nx-fit .et_pb_icon_list li{padding-left:0!important}

/* ── Videogalerie: Play-Symbol bei allen Karten ────────────────────────
   Bei sechs der neun Vorschaubilder ist das Symbol eingebrannt, bei
   Erhard, Wiens und Stancke fehlt es — die wirkten nicht klickbar.
   Nachgebaut in Lage, Grösse und Farbe des eingebrannten Symbols. */
.et_pb_image:has(img[src*="video-bjorn-erhard"]) .et_pb_image_wrap,
.et_pb_image:has(img[src*="video-eugen-wiens"]) .et_pb_image_wrap,
.et_pb_image:has(img[src*="video-tobias-stancke"]) .et_pb_image_wrap{position:relative}
.et_pb_image:has(img[src*="video-bjorn-erhard"]) .et_pb_image_wrap::after,
.et_pb_image:has(img[src*="video-eugen-wiens"]) .et_pb_image_wrap::after,
.et_pb_image:has(img[src*="video-tobias-stancke"]) .et_pb_image_wrap::after{
  content:'';position:absolute;left:47.1%;top:54.4%;width:17.5%;aspect-ratio:3/2;
  transform:translate(-50%,-50%);border-radius:8px;pointer-events:none;
  background:#23336B url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 12'%3E%3Cpath d='M0 0l10 6-10 6z' fill='%23fff'/%3E%3C/svg%3E") 54% 50%/26% no-repeat}

/* ── Logo-Band bei „Bewegung reduzieren" ohne Doppel ──────────────────── */
@media(prefers-reduced-motion:reduce){
  .db-marquee-track .db-dup{display:none}
}

/* Ghost-Link bündig mit der Textkante statt 12px eingerückt */
body #page-container .et_pb_button.db-btn-ghost{padding-left:0!important;padding-right:0!important}

/* ── Trainings-Karten: lange Titel umbrechen statt aus der Karte ragen ──
   „Einwandbehandlung & Abschluss" lief auf Desktop über den Kartenrand,
   weil der Titel nicht umbrechen durfte. nx-titel gleicht die Höhen an. */
.et_pb_blurb.factor .kt{white-space:normal!important}
.et_pb_blurb.factor .et_pb_module_header{align-items:flex-start!important}
.et_pb_blurb.factor .num-badge{margin-top:-6px}

/* ── Überschriften ausgewogen umbrechen ────────────────────────────────
   Verhindert einzelne Wörter in der letzten Zeile („…dich / selbst."). */
.et_pb_section h1,.et_pb_section h2,.et_pb_section h3{text-wrap:balance}

/* ── Team (Über Dan): Rundbild oben, Name und Rolle darunter ───────────
   So ist die Karte gestaltet — Divi 5 rendert das Team-Modul aber als
   Zeile. Dann drückt der Text das Bild zusammen (31–98px breit bei 98px
   Höhe, Helene Kleinfeld als schmales Oval) und die Karten der zweiten
   Reihe werden unterschiedlich breit. */
.et_pb_team_member.tm-native{flex-direction:column!important;align-items:center!important}
.et_pb_team_member.tm-native .et_pb_team_member_image{flex:0 0 auto!important;
  width:104px!important;height:104px!important}
.et_pb_team_member.tm-native .et_pb_team_member_description{text-align:center;width:100%}
.et_pb_row:has(.et_pb_team_member.tm-native){max-width:1080px!important}
/* Nur ab Desktop: auf Tablet und Handy bricht Divi die Karten in Zweier-
   Reihen um — mit dieser Regel standen dort alle vier nebeneinander und
   die Bilder ragten über den Rand. */
@media(min-width:981px){
  .et_pb_row:has(.et_pb_team_member.tm-native) > .et_pb_column{flex:1 1 0!important;min-width:0}
}

/* ── Zeitleiste: schmaler, damit sie optisch unter der Überschrift steht ── */
.timeline{max-width:640px}

/* ── Privatfoto neben dem Text ─────────────────────────────────────────── */
.et_pb_image.nx-privat-img img{width:100%!important;aspect-ratio:4/3;object-fit:cover;
  border-radius:16px;display:block}
.et_pb_team_member.tm-native .et_pb_team_member_description,
.et_pb_team_member.tm-native .et_pb_module_header,
.et_pb_team_member.tm-native .et_pb_member_position{text-align:center!important}

/* ── Videokarten (Ergebnisse): Name und Rolle als Einheit unten ─────────
   Vorher hatte nur die Rolle margin-top:auto — der Name blieb am Zitat
   hängen, und bei kurzen Zitaten klaffte zwischen Name und Rolle eine
   Lücke. Jetzt rutschen beide gemeinsam an die Unterkante. */
.et_pb_column.vg-card > .et_pb_module:last-child{margin-top:0!important}
.et_pb_column.vg-card > .et_pb_heading{margin-top:auto!important;padding-top:18px}

.et_pb_blurb.factor .et_pb_blurb_container,
.et_pb_blurb.factor .et_pb_module_header{width:100%}
.et_pb_blurb.factor .kt{flex:1 1 auto;min-width:0}

/* ── Vorher/Nachher-Zahlen mit langen Werten ───────────────────────────
   „250.000 €" lief in 46px aus der Karte, „7-stellig" brach am Bindestrich. */
.case-num-native .cn-from p,.case-num-native .cn-to p{white-space:nowrap}
.case-num-native.case-num-lang .cn-from p{font-size:20px}
.case-num-native.case-num-lang .cn-to p{font-size:34px}
.case-num-native.case-num-lang .cn-to{padding-left:30px}

/* ═══ Feedback Dan 06.10.: kompakter, Fazit im Spiegel kräftiger ═══ */
body #page-container .mirror-conclusion{border-top:0!important;padding-top:0!important;margin-top:20px!important}
body #page-container .mirror-conclusion,body #page-container .mirror-conclusion p{
  font-family:'Montserrat',sans-serif!important;font-size:clamp(19px,2vw,22px)!important;font-weight:700!important;
  line-height:1.45!important;color:var(--navy)!important}
.banner-native{margin-top:48px}
.banner-native .media{height:320px}
@media(max-width:980px){.banner-native{margin-top:32px}.banner-native .media{height:240px}}

/* DB-Success-Logo im Footer: sichtbar, aber zurückhaltend */
body #page-container .db-footer-legal .db-legal-left{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:14px}
body #page-container .db-footer-legal .db-legal-left > span{display:inline!important}
.db-footer-legal img.db-dbsuccess{height:26px;width:auto;display:block;opacity:.9}
@media(max-width:600px){.db-legal-left{gap:10px}.db-footer-legal img.db-dbsuccess{height:22px}}

/* ═══ Übernommene Seiten der alten danberlin.de ═══ */
body.db-alt-seite .et-l--header,body.db-alt-seite .sticky-cta,body.db-alt-seite #stickyCta{display:none!important}
body.db-alt-seite #page-container{padding-top:0!important;margin-top:0!important}
/* Funnel: nur die schlichte Rechtszeile im Footer, wie bisher */
body.db-alt-funnel .db-footer-tb .et_pb_row:not(.db-footer-legal-row){display:none!important}
body.db-alt-funnel .db-footer-tb{padding-top:8px!important}
body.db-alt-funnel .db-footer-tb .db-footer-legal{border-top:0!important;margin-top:0!important}
/* Bestätigungsseiten (bisher leere Vorlage): ganz ohne Footer */
body.db-alt-leer .et-l--footer{display:none!important}
/* Divi-4-Popups (Klasse „popup“ aus „Popups for Divi“): erst auf Abruf zeigen */
body.db-alt-seite .et_pb_section.popup{display:none!important}
.db-popup{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}
.db-popup-bg{position:absolute;inset:0;background:rgba(6,13,28,.72)}
.db-popup-box{position:relative;max-width:760px;width:100%;max-height:92vh;overflow:auto;border-radius:12px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.4)}
body.db-alt-seite .db-popup-box > .et_pb_section.popup{display:block!important;margin:0!important}
.db-popup-zu{position:absolute;top:10px;right:12px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:rgba(0,0,0,.08);font-size:24px;line-height:36px;cursor:pointer;color:#222}
body.db-popup-offen{overflow:hidden}
/* Grundfarben der alten Seite (Divi-Theme-Optionen dort: Akzent/Links/Buttons
   #f3920a, Schrift/Überschriften #102336). Nur auf den übernommenen Seiten und
   so schwach gewichtet, dass fest eingestellte Modul-Farben weiter gelten. */
body.db-alt-seite{color:#102336}
body.db-alt-seite a{color:#f3920a}
body.db-alt-seite .et-pb-icon,body.db-alt-seite .et_pb_icon .et-pb-icon{color:#f3920a}
body.db-alt-seite .et_pb_button{color:#fff;background-color:#f3920a;border-color:#f3920a}
/* Divi-4-Einblendanimationen (et-waypoint) lösen hier nicht aus → sofort zeigen */
body.db-alt-seite .et-waypoint:not(.et_pb_counters),body.db-alt-seite .et_animated{opacity:1!important;animation:none!important;transform:none!important}
