/* ==========================================================================
   BAFA-Landingpages – Zusatz-Stylesheet
   Basiert auf den Onepage-Vorlagen, umgestellt auf die Design-Token der
   Gesamtwebseite (Farben, Radien, Schriften aus css/style.css).
   Gilt nur innerhalb von <main class="bafa"> auf den beiden BAFA-Seiten.
   ========================================================================== */

.bafa {
  --p: #1A1F2B;            /* Navy – Markenfarbe */
  --p2: #232A3B;
  --ink: #12192A;          /* tiefes Nachtblau */
  --ink2: #1A2740;
  --a: #4A9FD8;            /* Hellblau – Akzent */
  --al: #82C0E8;
  --ad: #2C7CB4;           /* Akzent auf hellem Grund */
  --t: #1D2026;
  --m: #5A6A7A;
  --mw: 1600px;
  --w: #fff;
  --soft: #F4F7FB;
  --alt: #EDF3F8;
  --bd: #E2E8F0;
  --ok: #00A86B;
  --gold: #C9A24B;
  --r: 12px; --rl: 20px; --rxl: 28px;
  --sh1: 0 1px 3px rgba(26,31,43,.06), 0 6px 22px rgba(26,31,43,.07);
  --sh2: 0 2px 6px rgba(26,31,43,.05), 0 18px 50px rgba(26,31,43,.11);
  --shnav: 0 24px 70px rgba(18,25,42,.42);
  color: var(--t);
  line-height: 1.7;
}
.bafa * { box-sizing: border-box; }
.bafa img { max-width: 100%; height: auto; display: block; }
.bafa a { color: var(--ad); text-decoration: none; }

/* ====================================================== TYPOGRAPHY */

.bafa h1, .bafa h2, .bafa h3{font-family:var(--font-heading);font-weight:700;line-height:1.12;letter-spacing:-.01em;hyphens:none;color:var(--t);text-wrap:balance}
.bafa h2{font-size:clamp(1.7rem,1.2rem+1.8vw,2.6rem)}
.bafa .lead{font-size:clamp(1.02rem,.97rem+.4vw,1.18rem);color:var(--m);line-height:1.65;text-wrap:pretty}

/* ====================================================== LAYOUT PRIMITIVES */

.bafa .ct{max-width:var(--mw);margin:0 auto;padding:0 clamp(1.2rem,3.5vw,2.4rem)}
.bafa .sec{padding:clamp(3.8rem,8vw,6.5rem) 0;position:relative;overflow:hidden}
.bafa .sec--dk{background:var(--ink);color:rgba(255,255,255,.82)}
.bafa .sec--alt{background:var(--alt)}
.bafa .sec--soft{background:var(--soft)}
.bafa .sec-head{max-width:760px;margin:0 auto clamp(2.4rem,5vw,3.6rem);text-align:center}
.bafa .sec-head .lead{margin-top:.85rem}

.bafa .ey{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-body);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ad);margin-bottom:1rem}
.bafa .ey::before{content:'';width:26px;height:1.5px;background:currentColor;opacity:.55}
.bafa .ey--c::after{content:'';width:26px;height:1.5px;background:currentColor;opacity:.55}
.bafa .sec-head .ey{justify-content:center}
.bafa .ey--lt{color:var(--al)}

/* buttons */
.bafa .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:.01em;padding:1rem 1.9rem;border-radius:60px;border:1.5px solid transparent;cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.25,1),box-shadow .3s,background .3s,color .3s,border-color .3s;text-decoration:none!important;line-height:1}
.bafa .btn svg{width:18px;height:18px;flex:none;transition:transform .3s}
.bafa .btn--a{background:var(--a);color:#06243a;box-shadow:0 6px 22px rgba(74,159,216,.4)}
.bafa .btn--a:hover{background:var(--al);transform:translateY(-3px);box-shadow:0 12px 30px rgba(74,159,216,.5)}
.bafa .btn--a:hover svg{transform:translateX(4px)}
.bafa .btn--p{background:var(--p);color:#fff;box-shadow:0 6px 22px rgba(27,59,95,.28)}
.bafa .btn--p:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(27,59,95,.4)}
.bafa .btn--p:hover svg{transform:translateX(4px)}
.bafa .btn--ghost{background:transparent;color:var(--p);border-color:var(--bd)}
.bafa .btn--ghost:hover{border-color:var(--p);transform:translateY(-3px)}
.bafa .btn--gd{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.22)}
.bafa .btn--gd:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);transform:translateY(-3px)}
.bafa .midcta{display:flex;justify-content:center;margin-top:clamp(1.8rem,3.5vw,2.6rem)}

/* progress + reveal */
.bafa-progress{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--a),var(--al));z-index:1200}
.bafa .fa{opacity:0;transform:translateY(34px);transition:opacity 1s cubic-bezier(.23,1,.32,1),transform 1s cubic-bezier(.23,1,.32,1)}.bafa .fa.vis{opacity:1;transform:none}
.bafa .fal{opacity:0;transform:translateX(-38px);transition:opacity 1s cubic-bezier(.23,1,.32,1),transform 1s cubic-bezier(.23,1,.32,1)}.bafa .fal.vis{opacity:1;transform:none}
.bafa .far{opacity:0;transform:translateX(38px);transition:opacity 1s cubic-bezier(.23,1,.32,1),transform 1s cubic-bezier(.23,1,.32,1)}.bafa .far.vis{opacity:1;transform:none}
.bafa .d1{transition-delay:.08s}.bafa .d2{transition-delay:.16s}.bafa .d3{transition-delay:.24s}.bafa .d4{transition-delay:.32s}.bafa .d5{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){.bafa .fa, .bafa .fal, .bafa .far{opacity:1!important;transform:none!important;transition:none!important}}
@media print{.bafa .fa, .bafa .fal, .bafa .far{opacity:1!important;transform:none!important}}

/* ====================================================== HERO */
.bafa .hero{position:relative;background:radial-gradient(120% 130% at 80% 0%,#1d4368 0%,var(--p) 38%,var(--ink) 100%);color:#fff;padding:clamp(3rem,7vw,5.2rem) 0 clamp(3.5rem,8vw,6rem);overflow:hidden}
.bafa .hero::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='3' cy='3' r='1.4' fill='%234A9FD8' fill-opacity='0.10'/%3E%3C/svg%3E");pointer-events:none}
.bafa .hero::after{content:'';position:absolute;top:-30%;left:-12%;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(74,159,216,.16),transparent 62%);pointer-events:none}
.bafa .hero .ct{position:relative;z-index:5}
.bafa .hero-bg{position:absolute;inset:0;z-index:0;background-image:url("../img/hero-netzwerk.webp");background-repeat:no-repeat;background-position:center right;background-size:cover;opacity:.5;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 38%,#000 82%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 38%,#000 82%)}
.bafa .hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--ink) 18%,rgba(11,23,38,.78) 48%,rgba(11,23,38,.32) 100%)}
.bafa .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center;text-align:center}
.bafa .hero h1{font-size:clamp(2.1rem,1.35rem+3vw,3.5rem);color:#fff;margin-bottom:1.15rem;letter-spacing:-.02em}
.bafa .hero h1 .hl{color:var(--al);position:relative;white-space:nowrap}
.bafa .hero-sub{font-size:clamp(1rem,.96rem+.35vw,1.14rem);color:rgba(255,255,255,.78);max-width:600px;margin:0 auto 1.7rem;line-height:1.62}
.bafa .hero-eyebadge{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.07);border:1px solid rgba(130,192,232,.3);border-radius:60px;padding:.55rem 1.1rem;margin-bottom:1.5rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.9)}
.bafa .hero-ul{list-style:none;display:flex;flex-direction:column;gap:.95rem;margin-bottom:2rem;align-items:center}
.bafa .hero-ul li{display:flex;align-items:flex-start;gap:.7rem;font-size:.98rem;color:rgba(255,255,255,.9);text-align:left}
.bafa .hero-ul li b{color:#fff;font-weight:600}
.bafa .chk{flex:none;width:23px;height:23px;border-radius:50%;background:rgba(31,157,107,.18);border:1px solid rgba(31,157,107,.45);display:flex;align-items:center;justify-content:center;margin-top:1px}
.bafa .chk svg{width:12px;height:12px;stroke:#52d39d;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.bafa .hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;justify-content:center}
.bafa .hero-phone{display:inline-flex;align-items:center;gap:.55rem;color:#fff!important;font-weight:600;font-size:.98rem;padding:.6rem .4rem}
.bafa .hero-phone svg{width:18px;height:18px;stroke:var(--al);fill:none;stroke-width:1.8}
.bafa .hero-phone small{display:block;font-weight:400;font-size:.72rem;color:rgba(255,255,255,.5);letter-spacing:.02em}
.bafa .hero-trust{display:flex;align-items:center;gap:1rem;margin-top:1.9rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap;justify-content:center}
.bafa .stars{display:inline-flex;gap:2px}
.bafa .stars svg{width:17px;height:17px;fill:#FBBF24}
.bafa .hero-trust .tt{font-size:.85rem;color:rgba(255,255,255,.72)}
.bafa .hero-trust .tt b{color:#fff;font-weight:700}

/* hero highlight glass card */
.bafa .hero-figure{position:relative;justify-self:center;width:100%;max-width:380px}
.bafa .seal{position:absolute;top:-30px;left:-30px;z-index:20;width:106px;height:106px;filter:drop-shadow(0 10px 24px rgba(11,23,38,.4))}
.bafa .seal .ring{transform-origin:center;transform-box:fill-box;animation:spin 24s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.bafa .seal text{font-family:var(--font-body);font-size:9.4px;font-weight:700;letter-spacing:.3px;fill:var(--p)}
.bafa .seal-core{fill:var(--p)}
.bafa .seal-disc{fill:#fff;stroke:var(--p);stroke-width:1.5}
.bafa .seal-check{stroke:#fff;stroke-width:5.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.bafa .hero-hl{position:relative;background:rgba(255,255,255,.07);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(130,192,232,.3);border-radius:var(--rxl);padding:2.5rem 2rem 2rem;box-shadow:var(--shnav);overflow:hidden}
.bafa .hero-hl::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--a),var(--al))}
.bafa .hero-hl-amt{text-align:center;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.13);margin-bottom:1.4rem}
.bafa .hero-hl-amt .pre{display:block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--al);font-weight:700}
.bafa .hero-hl-amt strong{font-family:var(--font-heading);font-size:clamp(3rem, 1.8rem + 5vw, 4.2rem);font-weight:800;color:#fff;line-height:1.05;display:block;margin:.25rem 0 .35rem;white-space:nowrap}
.bafa .hero-hl-amt .post{font-size:.92rem;color:rgba(255,255,255,.72)}
.bafa .hero-hl-amt .post s{color:rgba(255,255,255,.45)}
.bafa .hero-hl-list{list-style:none;display:flex;flex-direction:column;gap:.9rem}
.bafa .hero-hl-list li{display:flex;align-items:center;gap:.7rem;font-size:.92rem;color:rgba(255,255,255,.86)}
.bafa .hero-hl-list li b{color:var(--al);font-weight:700}
.bafa .hero-hl-list .chk{width:21px;height:21px}
@media(max-width:900px){
  .bafa .hero-grid{grid-template-columns:1fr;gap:2.8rem}
  .bafa .hero-figure{max-width:340px;margin-top:1.4rem}
  .bafa .hero-sub, .bafa .hero-ul{max-width:none}
  .bafa .seal{top:-26px;left:auto;right:-18px}
}
@media(max-width:520px){.bafa .seal{width:78px;height:78px;left:auto;right:-10px;top:-22px}}

/* ====================================================== LOGO MARQUEE */
.bafa .refs{padding:clamp(2.2rem,4vw,3rem) 0;background:var(--w);border-bottom:1px solid var(--bd)}
.bafa .refs-label{text-align:center;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--m);margin-bottom:1.6rem}
.bafa .refs-label b{color:var(--t)}
.bafa .marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.bafa .marquee-track{display:flex;gap:1rem;width:max-content;animation:scroll 48s linear infinite}
.bafa .marquee:hover .marquee-track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}

.bafa .logo-tile{flex:none;width:168px;height:92px;background:#fff;border:1px solid var(--bd);border-radius:var(--r);display:flex;align-items:center;justify-content:center;padding:1.1rem 1.4rem;transition:border-color .35s,box-shadow .35s,transform .35s}
.bafa .logo-tile:hover{border-color:#c9d6e3;box-shadow:var(--sh1);transform:translateY(-2px)}
.bafa .logo-tile img{max-width:100%;max-height:100%;width:auto;object-fit:contain;filter:grayscale(1) opacity(.62) contrast(1.05);transition:filter .35s}
.bafa .logo-tile:hover img{filter:grayscale(0) opacity(1)}

/* ====================================================== STATS BAND */
.bafa .stats{background:linear-gradient(135deg,var(--p) 0%,var(--ink2) 100%);position:relative;overflow:hidden}
.bafa .stats::after{content:'';position:absolute;top:-40%;right:-8%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(74,159,216,.16),transparent 62%)}
.bafa .stats .ct{position:relative;z-index:1}
.bafa .stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.bafa .stat{text-align:center;padding:.6rem clamp(.6rem,2vw,1.4rem);position:relative}
.bafa .stat+.stat::before{content:'';position:absolute;left:0;top:14%;height:72%;width:1px;background:rgba(255,255,255,.13)}
.bafa .stat-num{font-family:var(--font-heading);font-size:clamp(1.9rem, 1.5rem + 1.2vw, 2.5rem);font-weight:800;color:#fff;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.bafa .stat-num .u{color:var(--al)}
.bafa .stat-lb{font-size:clamp(.76rem,.72rem+.2vw,.9rem);color:rgba(255,255,255,.66);margin-top:.7rem;line-height:1.4}
@media(max-width:680px){.bafa .stats-grid{grid-template-columns:1fr 1fr;gap:2.2rem 0}.bafa .stat:nth-child(odd)::before{display:none}.bafa .stat:nth-child(3)::before{content:''}}

/* ====================================================== MODELL (2-col text + card) */
.bafa-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.2rem,5vw,4rem);align-items:center}
.bafa-txt h2{margin-bottom:1.1rem}
.bafa-txt p{font-size:1rem;color:var(--m);line-height:1.78;margin-bottom:1rem}
.bafa-txt p strong{color:var(--t);font-weight:600}
.bafa .pcard{background:var(--w);border-radius:var(--rxl);padding:clamp(1.8rem,4vw,2.5rem);box-shadow:var(--sh2);border:1px solid var(--bd);position:relative;overflow:hidden}
.bafa .pcard::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--p),var(--a))}
.bafa .pcard h3{font-family:var(--font-body);font-weight:700;font-size:1.08rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.6rem;color:var(--t)}
.bafa .pcard h3 svg{width:20px;height:20px;stroke:var(--ad);fill:none;stroke-width:1.8;flex:none}
.bafa .pcheck{list-style:none;display:flex;flex-direction:column;gap:1.1rem}
.bafa .pcheck li{display:flex;gap:.85rem;align-items:flex-start}
.bafa .pcheck .ci{flex:none;width:28px;height:28px;border-radius:9px;background:rgba(31,157,107,.13);display:flex;align-items:center;justify-content:center;margin-top:1px}
.bafa .pcheck .ci svg{width:15px;height:15px;stroke:var(--ok);fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.bafa .pcheck b{display:block;font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--t);margin-bottom:.12rem}
.bafa .pcheck span{font-size:.86rem;color:var(--m);line-height:1.5}
.bafa .pcard-note{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--bd);font-size:.86rem;color:var(--m);display:flex;align-items:center;gap:.5rem;font-style:italic}
.bafa .pcard-note svg{width:16px;height:16px;stroke:var(--ad);fill:none;stroke-width:2;flex:none}
@media(max-width:880px){.bafa-grid{grid-template-columns:1fr}}

/* ====================================================== VORTEILE (dark) */
.bafa .fund-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bafa .fund-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:var(--rl);padding:1.8rem;transition:background .4s,border-color .4s,transform .4s;position:relative;overflow:hidden}
.bafa .fund-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--a),var(--al));transform:scaleX(0);transform-origin:left;transition:transform .45s}
.bafa .fund-card:hover{background:rgba(74,159,216,.07);border-color:rgba(74,159,216,.28);transform:translateY(-5px)}
.bafa .fund-card:hover::before{transform:scaleX(1)}
.bafa .fund-ico{width:48px;height:48px;border-radius:13px;background:rgba(74,159,216,.13);display:flex;align-items:center;justify-content:center;color:var(--al);margin-bottom:1.2rem;transition:background .4s}
.bafa .fund-card:hover .fund-ico{background:rgba(74,159,216,.22)}
.bafa .fund-ico svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bafa .fund-card h3{font-family:var(--font-body);font-weight:700;font-size:1.04rem;color:#fff;margin-bottom:.55rem}
.bafa .fund-card p{font-size:.88rem;color:rgba(255,255,255,.55);line-height:1.62}
@media(max-width:980px){.bafa .fund-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bafa .fund-grid{grid-template-columns:1fr}}

/* ====================================================== ABLAUF */
.bafa .proc{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.bafa .proc-step{background:var(--w);border-radius:var(--rl);padding:2rem 1.6rem;border:1px solid var(--bd);position:relative;transition:transform .35s,box-shadow .35s,border-color .35s}
.bafa .proc-step:hover{transform:translateY(-5px);box-shadow:var(--sh2);border-color:rgba(74,159,216,.35)}
.bafa .proc-num{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--a));color:#fff;font-family:var(--font-heading);font-size:1.35rem;font-weight:700;margin-bottom:1.1rem;box-shadow:0 6px 16px rgba(27,59,95,.25)}
.bafa .proc-step h3{font-family:var(--font-body);font-weight:700;font-size:1rem;margin-bottom:.5rem;color:var(--t)}
.bafa .proc-step p{font-size:.85rem;color:var(--m);line-height:1.6}
.bafa .proc-step .connector{position:absolute;right:-10px;top:46px;color:#cdd9e5;z-index:2}
.bafa .proc-step:last-child .connector{display:none}
.bafa .proc-step .connector svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
@media(max-width:980px){.bafa .proc{grid-template-columns:1fr 1fr}.bafa .proc-step .connector{display:none}}
@media(max-width:560px){.bafa .proc{grid-template-columns:1fr}}

/* ====================================================== RECHNER */
.bafa .calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.bafa .calc-card{background:var(--w);border:1px solid var(--bd);border-radius:var(--rxl);padding:clamp(1.6rem,3.5vw,2.2rem);box-shadow:var(--sh1);position:relative;transition:transform .35s,box-shadow .35s}
.bafa .calc-card:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.bafa .calc-card--hl{border-color:rgba(74,159,216,.4);box-shadow:var(--sh2)}
.bafa .calc-card--hl::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--rxl) var(--rxl) 0 0;background:linear-gradient(90deg,var(--p),var(--a))}
.bafa .calc-tag{position:absolute;top:1.2rem;right:1.2rem;font-family:var(--font-body);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ad);background:var(--soft);border:1px solid var(--bd);border-radius:60px;padding:.3rem .65rem}
.bafa .calc-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.3rem;padding-right:5rem}
.bafa .calc-region{font-family:var(--font-body);font-weight:700;font-size:1.02rem;color:var(--t);line-height:1.25}
.bafa .calc-region small{display:block;font-weight:400;font-size:.78rem;color:var(--m);margin-top:.15rem}
.bafa .calc-pct{flex:none;font-family:var(--font-heading);font-weight:800;font-size:1.8rem;color:var(--ad);line-height:1;white-space:nowrap}
.bafa .calc-rows{display:flex;flex-direction:column;margin-bottom:.4rem}
.bafa .calc-row{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--bd);font-size:.92rem;color:var(--m)}
.bafa .calc-row b{color:var(--t);font-weight:600;font-variant-numeric:tabular-nums}
.bafa .calc-row--fund b{color:var(--ad)}
.bafa .calc-bar{height:14px;border-radius:60px;overflow:hidden;display:flex;margin:1.15rem 0 .6rem;background:var(--soft)}
.bafa .calc-bar .fund{background:linear-gradient(90deg,var(--ad),var(--a))}
.bafa .calc-bar .own{background:#cdd9e5}
.bafa .calc-legend{display:flex;gap:1.3rem;font-size:.74rem;color:var(--m);margin-bottom:1.2rem}
.bafa .calc-legend span{display:inline-flex;align-items:center;gap:.4rem}
.bafa .calc-legend i{width:10px;height:10px;border-radius:3px;display:block}
.bafa .calc-result{display:flex;justify-content:space-between;align-items:baseline;padding-top:1rem;border-top:2px solid var(--bd)}
.bafa .calc-result .lbl{font-family:var(--font-body);font-weight:600;color:var(--t);font-size:.92rem;max-width:55%}
.bafa .calc-result .val{font-family:var(--font-heading);font-weight:800;font-size:clamp(1.9rem,1.3rem+1.7vw,2.5rem);color:var(--p);line-height:1;font-variant-numeric:tabular-nums}
.bafa .calc-note{text-align:center;font-size:.8rem;color:var(--m);margin-top:1.8rem;display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap}
.bafa .calc-note svg{width:14px;height:14px;stroke:var(--ok);fill:none;stroke-width:2.2;flex:none}
@media(max-width:760px){.bafa .calc-grid{grid-template-columns:1fr}}

/* ====================================================== BRANCHEN / PROJEKTE */
.bafa .proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.bafa .proj-card{background:var(--w);border:1px solid var(--bd);border-radius:var(--rl);padding:1.6rem;display:flex;gap:1rem;align-items:flex-start;transition:transform .35s,box-shadow .35s,border-color .35s}
.bafa .proj-card:hover{transform:translateY(-4px);box-shadow:var(--sh1);border-color:rgba(74,159,216,.3)}
.bafa .proj-ic{flex:none;width:46px;height:46px;border-radius:13px;background:var(--soft);display:flex;align-items:center;justify-content:center}
.bafa .proj-ic svg{width:22px;height:22px;stroke:var(--ad);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bafa .proj-tx h3{font-family:var(--font-body);font-weight:700;font-size:.98rem;color:var(--t);margin-bottom:.3rem}
.bafa .proj-tx p{font-size:.85rem;color:var(--m);line-height:1.55}
@media(max-width:880px){.bafa .proj-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bafa .proj-grid{grid-template-columns:1fr}}

/* ====================================================== PARTNER (Berater) */
.bafa .berater{background:var(--alt)}
.bafa .berater-card{background:var(--w);border-radius:var(--rxl);box-shadow:var(--sh2);border:1px solid var(--bd);display:grid;grid-template-columns:300px 1fr;overflow:hidden}
.bafa .berater-photo{position:relative;background:#cfd6dd;min-height:100%}
.bafa .berater-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;position:absolute;inset:0}
.bafa .berater-photo .tag{position:absolute;left:1rem;bottom:1rem;z-index:2;background:rgba(11,23,38,.78);backdrop-filter:blur(6px);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.45rem .8rem;border-radius:60px;display:flex;align-items:center;gap:.45rem}
.bafa .berater-photo .tag i{width:7px;height:7px;border-radius:50%;background:#52d39d;box-shadow:0 0 0 3px rgba(82,211,157,.25)}
.bafa .berater-body{padding:clamp(1.8rem,4vw,3rem)}
.bafa .berater-body .ey{margin-bottom:.7rem}
.bafa .berater-body h2{font-size:clamp(1.5rem,1.2rem+1.2vw,2.1rem);margin-bottom:.4rem}
.bafa .berater-role{font-size:.92rem;color:var(--ad);font-weight:600;margin-bottom:1.3rem}
.bafa .berater-quote{font-family:var(--font-heading);font-size:clamp(1.1rem,1rem+.5vw,1.35rem);font-style:italic;font-weight:500;color:var(--t);line-height:1.5;margin-bottom:1.4rem;position:relative;padding-left:1.2rem}
.bafa .berater-quote::before{content:'';position:absolute;left:0;top:.2em;bottom:.2em;width:3px;border-radius:3px;background:var(--a)}
.bafa .berater-body p{font-size:.95rem;color:var(--m);line-height:1.75;margin-bottom:1.5rem}
.bafa .cred{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.7rem}
.bafa .cred span{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:600;color:var(--p);background:var(--soft);border:1px solid var(--bd);border-radius:60px;padding:.5rem .9rem}
.bafa .cred span svg{width:14px;height:14px;stroke:var(--ad);fill:none;stroke-width:2}
.bafa .berater-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem}
@media(max-width:760px){.bafa .berater-card{grid-template-columns:1fr}.bafa .berater-photo{height:300px;min-height:0}}

/* ====================================================== FAQ */
.bafa .faq-wrap{max-width:840px;margin:0 auto}
.bafa .faq{border:1px solid var(--bd);border-radius:var(--r);background:var(--w);margin-bottom:.8rem;overflow:hidden;transition:box-shadow .3s,border-color .3s}
.bafa .faq[open]{box-shadow:var(--sh1);border-color:#cdd9e5}
.bafa .faq summary{list-style:none;cursor:pointer;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem;font-weight:600;font-size:1.02rem;color:var(--t);user-select:none}
.bafa .faq summary::-webkit-details-marker{display:none}
.bafa .faq summary .q-ico{flex:none;margin-left:auto;width:26px;height:26px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;transition:transform .35s,background .3s}
.bafa .faq summary .q-ico svg{display:none}
/* Das Pluszeichen als zwei exakte Balken statt als SVG – bei 14 px landete
   die Linienstärke auf halben Bildpunkten und wirkte dadurch verschoben. */
.bafa .faq summary .q-ico{position:relative}
.bafa .faq summary .q-ico::before,
.bafa .faq summary .q-ico::after{content:'';position:absolute;top:50%;left:50%;background:var(--ad);border-radius:1px;transition:background .3s}
.bafa .faq summary .q-ico::before{width:12px;height:2px;transform:translate(-50%,-50%)}
.bafa .faq summary .q-ico::after{width:2px;height:12px;transform:translate(-50%,-50%)}
.bafa .faq[open] summary .q-ico::before,
.bafa .faq[open] summary .q-ico::after{background:#06243a}
.bafa .faq[open] summary .q-ico{transform:rotate(45deg);background:var(--a)}

.bafa .faq-body{padding:0 1.5rem 1.4rem;font-size:.94rem;color:var(--m);line-height:1.72}
.bafa .faq-body strong{color:var(--t);font-weight:600}

/* ====================================================== FAQ + ANFRAGE LAYOUT */
.bafa .faq-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(1.6rem,4vw,3rem);align-items:start}
.bafa .faq-aside{position:sticky;top:104px}
.bafa .faq-cta{background:var(--w);border:1px solid var(--bd);border-radius:var(--rxl);overflow:hidden;box-shadow:var(--sh2)}
.bafa .faq-cta-photo{position:relative;aspect-ratio:4/3.2;background:#cfd6dd}
.bafa .faq-cta-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;position:absolute;inset:0}
.bafa .faq-cta-photo .tag{position:absolute;left:.9rem;bottom:.9rem;z-index:2;background:rgba(11,23,38,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:.4rem .75rem;border-radius:60px;display:flex;align-items:center;gap:.45rem}
.bafa .faq-cta-photo .tag i{width:7px;height:7px;border-radius:50%;background:#52d39d;box-shadow:0 0 0 3px rgba(82,211,157,.25)}
.bafa .faq-cta-body{padding:1.5rem 1.5rem 1.6rem}
.bafa .faq-cta-body .ey{margin-bottom:.55rem}
.bafa .faq-cta-body h3{font-family:var(--font-heading);font-size:1.45rem;font-weight:700;color:var(--t);margin-bottom:.25rem;line-height:1.1}
.bafa .faq-cta-name{font-size:.85rem;color:var(--ad);font-weight:600;margin-bottom:.95rem}
.bafa .faq-cta-body p{font-size:.9rem;color:var(--m);line-height:1.6;margin-bottom:1.25rem}
.bafa .faq-cta-body .btn{width:100%;margin-bottom:.6rem;padding:.85rem 1.4rem}
.bafa .faq-cta-body .btn:last-child{margin-bottom:0}
.bafa .faq-head{margin-bottom:1.5rem}
.bafa .faq-head .ey{margin-bottom:.7rem}
.bafa .faq-head h2{font-size:clamp(1.5rem,1.2rem+1.2vw,2.2rem)}
@media(max-width:860px){.bafa .faq-layout{grid-template-columns:1fr;gap:1.8rem}.bafa .faq-aside{position:static}.bafa .faq-cta-photo{aspect-ratio:16/9}}

/* ====================================================== SEO TEXT */
.bafa .seo{max-width:880px;margin:0 auto}
.bafa .seo p{font-size:.95rem;color:var(--m);line-height:1.85;margin-bottom:1.1rem}
.bafa .seo p strong{color:var(--t);font-weight:600}

/* ====================================================== FINAL CTA */
.bafa .final{position:relative}
.bafa .cta-box{background:radial-gradient(120% 140% at 85% 0%,#1d4368,var(--p) 45%,var(--ink) 100%);border-radius:var(--rxl);padding:clamp(2.6rem,6vw,4.2rem) clamp(1.5rem,5vw,3.5rem);text-align:center;position:relative;overflow:hidden;color:#fff}
.bafa .cta-box::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='3' cy='3' r='1.4' fill='%234A9FD8' fill-opacity='0.1'/%3E%3C/svg%3E")}
.bafa .cta-box::after{content:'';position:absolute;bottom:-40%;left:-10%;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(74,159,216,.18),transparent 62%)}
.bafa .cta-box>*{position:relative;z-index:1}
.bafa .cta-box h2{color:#fff;margin-bottom:.7rem}
.bafa .cta-box .lead{color:rgba(255,255,255,.72);max-width:560px;margin:0 auto 1.8rem}
.bafa .cta-actions{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center;align-items:center}
.bafa .cta-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;margin-top:1.8rem;font-size:.82rem;color:rgba(255,255,255,.55)}
.bafa .cta-meta span{display:inline-flex;align-items:center;gap:.45rem}
.bafa .cta-meta svg{width:14px;height:14px;stroke:var(--al);fill:none;stroke-width:2.2}

/* ====================================================== CROSS-LINK BANNER */
.bafa .pbanner{background:radial-gradient(120% 150% at 88% 0%,#1d4368,var(--p) 46%,var(--ink) 100%);border-radius:var(--rxl);padding:clamp(2.2rem,5vw,3.4rem);color:#fff;position:relative;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(1.6rem,4vw,3rem);align-items:center}
.bafa .pbanner::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='44' height='44' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='3' cy='3' r='1.4' fill='%234A9FD8' fill-opacity='0.1'/%3E%3C/svg%3E");pointer-events:none}
.bafa .pbanner::after{content:'';position:absolute;bottom:-45%;right:-8%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(74,159,216,.18),transparent 62%);pointer-events:none}
.bafa .pbanner>*{position:relative;z-index:1}
.bafa .pbanner h2{color:#fff;margin-bottom:.7rem;font-size:clamp(1.5rem,1.2rem+1.2vw,2.1rem)}
.bafa .pbanner p{color:rgba(255,255,255,.76);font-size:1rem;line-height:1.66;margin-bottom:1.6rem;max-width:540px}
.bafa .pbanner-cta{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.bafa .pbanner-list{list-style:none;display:flex;flex-direction:column;gap:.95rem}
.bafa .pbanner-list li{display:flex;align-items:flex-start;gap:.65rem;font-size:.96rem;color:rgba(255,255,255,.92)}
.bafa .pbanner-list li b{color:#fff;font-weight:600}
@media(max-width:820px){.bafa .pbanner{grid-template-columns:1fr;gap:2rem}}

/* ====================================================== OHNE-TRIO */
.bafa .ohne-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.bafa .ohne-card{background:var(--w);border:1px solid var(--bd);border-radius:var(--rl);padding:2.1rem 1.9rem;position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}
.bafa .ohne-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--a),var(--al));transform:scaleX(0);transform-origin:left;transition:transform .45s}
.bafa .ohne-card:hover{transform:translateY(-5px);box-shadow:var(--sh2);border-color:rgba(74,159,216,.3)}
.bafa .ohne-card:hover::before{transform:scaleX(1)}
.bafa .ohne-ico{width:52px;height:52px;border-radius:14px;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--ad);margin-bottom:1.3rem}
.bafa .ohne-ico svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bafa .ohne-card h3{font-family:var(--font-heading);font-weight:700;font-size:1.35rem;color:var(--t);margin-bottom:.6rem;line-height:1.18}
.bafa .ohne-card h3 .x{color:var(--ad)}
.bafa .ohne-card p{font-size:.93rem;color:var(--m);line-height:1.68}
@media(max-width:880px){.bafa .ohne-grid{grid-template-columns:1fr}}

/* ====================================================== VERGLEICH (ohne / mit) */
.bafa .vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;align-items:stretch}
.bafa .vs-col{border-radius:var(--rxl);padding:clamp(1.8rem,3.5vw,2.5rem);border:1px solid var(--bd);position:relative;overflow:hidden}
.bafa .vs-col--bad{background:var(--w)}
.bafa .vs-col--good{background:linear-gradient(160deg,#1d4368,var(--p) 55%,var(--ink2));color:#fff;border-color:transparent;box-shadow:var(--sh2)}
.bafa .vs-col--good::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--a),var(--al))}
.bafa .vs-h{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem;padding-bottom:1.2rem;border-bottom:1px solid var(--bd)}
.bafa .vs-col--good .vs-h{border-color:rgba(255,255,255,.16)}
.bafa .vs-h .vs-ic{flex:none;width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center}
.bafa .vs-h .vs-ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bafa .vs-col--bad .vs-ic{background:rgba(190,90,90,.1);color:#c0625c}
.bafa .vs-col--good .vs-ic{background:rgba(255,255,255,.12);color:var(--al)}
.bafa .vs-h .vs-tt{font-family:var(--font-body);font-weight:700;font-size:1.06rem;color:var(--t);line-height:1.25}
.bafa .vs-col--good .vs-tt{color:#fff}
.bafa .vs-h .vs-tt small{display:block;font-weight:400;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.2rem;color:var(--m)}
.bafa .vs-col--good .vs-tt small{color:var(--al)}
.bafa .vs-list{list-style:none;display:flex;flex-direction:column;gap:1.05rem}
.bafa .vs-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:.95rem;line-height:1.55}
.bafa .vs-col--bad li{color:var(--m)}
.bafa .vs-col--good li{color:rgba(255,255,255,.9)}
.bafa .vs-col--good li b{color:#fff;font-weight:600}
.bafa .vs-mk{flex:none;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px}
.bafa .vs-mk svg{width:13px;height:13px;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.bafa .vs-mk--x{background:rgba(190,90,90,.1);border:1px solid rgba(190,90,90,.3)}
.bafa .vs-mk--x svg{stroke:#c0625c}
.bafa .vs-mk--c{background:rgba(82,211,157,.16);border:1px solid rgba(82,211,157,.4)}
.bafa .vs-mk--c svg{stroke:#52d39d}
@media(max-width:760px){.bafa .vs-grid{grid-template-columns:1fr}}


/* ====================================================== PORTRÄT, .bafa FÖRDERSÄTZE & ZIELGRUPPEN (Förderseite) */
/* hero portrait card */
.bafa .hero-figure{position:relative;justify-self:center;width:100%;max-width:380px}
.bafa .portrait{position:relative;border-radius:var(--rxl);overflow:hidden;box-shadow:var(--shnav);border:1px solid rgba(255,255,255,.12);aspect-ratio:4/4.4;background:#cfd6dd}
.bafa .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.bafa .portrait::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,18,30,.78) 0%,rgba(8,18,30,.12) 42%,transparent 70%)}
.bafa .portrait-name{position:absolute;left:1.3rem;right:1.3rem;bottom:1.2rem;z-index:2}
.bafa .portrait-name strong{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:#fff;display:block;line-height:1.1}
.bafa .portrait-name span{font-size:.82rem;color:var(--al);font-weight:600;letter-spacing:.02em}
/* floating 80% badge */
.bafa .float-badge{position:absolute;top:-18px;right:-14px;z-index:3;background:#fff;border-radius:18px;padding:.85rem 1.1rem;box-shadow:0 16px 40px rgba(11,23,38,.3);text-align:center;transform:rotate(2.5deg)}
.bafa .float-badge strong{font-family:var(--font-heading);font-size:1.7rem;font-weight:800;color:var(--ad);display:block;line-height:1;white-space:nowrap}
.bafa .float-badge span{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--m)}
/* certified seal */
.bafa .seal{position:absolute;top:-30px;left:-30px;z-index:20;width:106px;height:106px;filter:drop-shadow(0 10px 24px rgba(11,23,38,.4))}
.bafa .seal .ring{transform-origin:center;transform-box:fill-box;animation:spin 24s linear infinite}

.bafa .seal text{font-family:var(--font-body);font-size:9.4px;font-weight:700;letter-spacing:.3px;fill:var(--p)}
.bafa .seal-core{fill:var(--p)}
.bafa .seal-disc{fill:#fff;stroke:var(--p);stroke-width:1.5}
.bafa .seal-check{stroke:#fff;stroke-width:5.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.bafa .seal-sub{font-family:var(--font-heading);font-size:9px;font-weight:700;fill:var(--p)}


.bafa-card{background:var(--w);border-radius:var(--rxl);padding:clamp(1.8rem,4vw,2.6rem);box-shadow:var(--sh2);border:1px solid var(--bd);position:relative;overflow:hidden}
.bafa-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--p),var(--a))}
.bafa-card h3{font-family:var(--font-body);font-weight:700;font-size:1.05rem;margin-bottom:1.4rem;display:flex;align-items:center;gap:.6rem;color:var(--t)}
.bafa-card h3 svg{width:20px;height:20px;stroke:var(--ad);fill:none;stroke-width:1.8}
.bafa .rate{display:flex;align-items:center;gap:1.1rem;padding:1.1rem 1.2rem;border-radius:var(--r);background:var(--soft);margin-bottom:.8rem;border:1px solid transparent;transition:transform .3s,box-shadow .3s}
.bafa .rate:hover{transform:translateX(3px)}
.bafa .rate--hl{background:linear-gradient(135deg,rgba(74,159,216,.1),rgba(27,59,95,.05));border-color:rgba(74,159,216,.25)}
.bafa .rate-pct{flex:none;font-family:var(--font-heading);font-size:1.75rem;font-weight:800;color:var(--ad);min-width:68px;text-align:center;line-height:1;white-space:nowrap}
.bafa .rate-txt{font-size:.86rem;color:var(--m);line-height:1.55}
.bafa .rate-txt strong{color:var(--t);font-weight:600;display:block;margin-bottom:.1rem}
.bafa .rate-note{margin-top:1.1rem;font-size:.78rem;color:var(--m);text-align:center;display:flex;align-items:center;justify-content:center;gap:.45rem}
.bafa .rate-note svg{width:14px;height:14px;stroke:var(--ok);fill:none;stroke-width:2.2}

/* ====================================================== WER */
.bafa .who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.bafa .who-card{background:var(--w);border-radius:var(--rl);padding:1.8rem 1.4rem;border:1px solid var(--bd);text-align:center;transition:border-color .35s,transform .35s,box-shadow .35s}
.bafa .who-card:hover{border-color:#c9d6e3;transform:translateY(-4px);box-shadow:var(--sh1)}
.bafa .who-ico{width:54px;height:54px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem}
.bafa .who-ico svg{width:26px;height:26px;stroke:var(--ad);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.bafa .who-card h3{font-family:var(--font-body);font-weight:700;font-size:.96rem;margin-bottom:.35rem;color:var(--t)}
.bafa .who-card p{font-size:.82rem;color:var(--m);line-height:1.5}
@media(max-width:720px){.bafa .who-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.bafa .who-grid{grid-template-columns:1fr}}



/* ====================================================== EINBETTUNGS-EINWILLIGUNG (Calendly) */
.bafa .embed-consent{display:flex;justify-content:center}
.bafa .embed-consent__box{max-width:560px;width:100%;background:var(--w);border:1px solid var(--bd);border-radius:var(--rxl);padding:clamp(1.8rem,4vw,2.6rem);text-align:center;box-shadow:var(--sh1)}
.bafa .embed-consent__box svg{width:44px;height:44px;margin:0 auto 1.1rem;color:var(--ad)}
.bafa .embed-consent__box h3{font-family:var(--font-heading);font-size:1.35rem;margin-bottom:.7rem;color:var(--t)}
.bafa .embed-consent__box p{font-size:.92rem;color:var(--m);line-height:1.65;margin-bottom:1.4rem}
.bafa .embed-consent__alt{margin:1.1rem 0 0;font-size:.86rem}
.bafa-progress{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#4A9FD8,#82C0E8);z-index:1200}

/* ====================================================== SEITENVARIANTEN */
/* Förderseite: Hero linksbündig wie in der Vorlage */
.bafa--foerderung .hero-grid{text-align:left}
.bafa--foerderung .hero-ul{align-items:flex-start}
.bafa--foerderung .hero-cta,
.bafa--foerderung .hero-trust{justify-content:flex-start}
.bafa--foerderung .hero-sub{max-width:560px;margin-left:0;margin-right:0}
@media(max-width:900px){
  .bafa--foerderung .hero-sub{max-width:none}
}

/* Siegel etwas weiter nach außen, damit es die Karte nicht überdeckt */
.bafa .seal{top:-40px;left:-42px;width:96px;height:96px}
@media(max-width:900px){ .bafa .seal{top:-34px;left:auto;right:-24px} }
@media(max-width:520px){ .bafa .seal{width:74px;height:74px;right:-12px;top:-26px} }

/* ====================================================== BEWEGTE HINTERGRUND-EBENEN */
.bafa .ct { position: relative; z-index: 1; }
.bafa .sec > .fx { z-index: 0; }
.bafa .sec--dk .fx--rings::before { border-color: rgba(130, 192, 232, .20); }
.bafa .sec--dk .fx--rings::after  { border-color: rgba(255, 255, 255, .10); }
.bafa .sec--dk .fx--report img    { opacity: .13; filter: saturate(.5) brightness(1.06); }
.bafa .sec--dk .fx--beam::before  { background: linear-gradient(90deg, transparent, rgba(130, 192, 232, .16), transparent); }
.bafa .hero > .fx { z-index: 2; }

/* ====================================================== TERMINBUCHUNG (Zwei-Klick) */
.bafa .cal-placeholder{max-width:900px;margin:0 auto;text-align:center;padding:clamp(2.5rem,6vw,4rem) 2rem;border:2px dashed var(--bd);border-radius:var(--rl);background:var(--w)}
.bafa .cal-placeholder svg{width:46px;height:46px;stroke:var(--a);margin-bottom:1.1rem}
.bafa .cal-placeholder h3{font-size:1.35rem;margin-bottom:.7rem}
.bafa .cal-placeholder>p{color:var(--m);max-width:640px;margin:0 auto 1.6rem}
.bafa .cal-note{font-size:.86rem;color:var(--m);max-width:660px;margin:1.3rem auto 0;line-height:1.6}
.bafa .cal-frame{max-width:900px;margin:0 auto}
.bafa .cal-frame iframe{width:100%;height:720px;border:0;border-radius:var(--rl);background:#fff;box-shadow:var(--sh1)}

/* ====================================================== KOMPATIBILITÄT
   Die BAFA-Seiten laden zusätzlich css/style.css. Dort sind .stats, .hero
   und .faq eigenständige Bausteine des Haupt-Designsystems – auf diesen
   Seiten sind es aber nur Modifier-Klassen an <section>. Ohne diesen Block
   macht z. B. `.stats { display:grid }` aus der Sektion ein Raster und der
   Inhalt rutscht als schmale Spalte an den linken Rand.               */
.bafa .sec.stats,
.bafa .sec.faq,
.bafa .sec.final,
.bafa .sec.berater { display: block; grid-template-columns: none; gap: normal; text-align: left; }
.bafa .hero {
    min-height: 0;
    display: block;
    align-items: initial;
}
.bafa .sec.faq { max-width: none; margin: 0; }

/* Kennzahlen-Band: mittig ausrichten und luftiger stellen */
.bafa .stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1rem, 3vw, 3rem);
    max-width: 1240px;
    margin: 0 auto;
    align-items: start;
}
/* Der Block oben steht später im Stylesheet als die Umbruchregel weiter
   vorn und hat dieselbe Gewichtung – deshalb muss der Umbruch hier
   wiederholt werden, sonst bleibt das Kennzahlenband am Handy vierspaltig. */
@media (max-width: 680px) {
    .bafa .stats-grid { grid-template-columns: 1fr 1fr; gap: 2rem 0; max-width: none; }
}
@media (max-width: 420px) {
    .bafa .stats-grid { grid-template-columns: 1fr; gap: 1.5rem 0; }
    .bafa .stat::before { display: none !important; }
}
.bafa .stat { padding: .4rem clamp(.4rem, 1.6vw, 1.6rem); }
.bafa .stat-lb { max-width: 220px; margin-left: auto; margin-right: auto; }

/* Kleinstschriften auf dem Handy anheben – unter rund 10 Pixel sind
   Beschriftungen auf einem Telefon kaum noch zu entziffern. */
@media (max-width: 767px) {
    .bafa .seal-sub { font-size: .68rem; }
    .bafa .float-badge span { font-size: .7rem; }
    .bafa .calc-tag { font-size: .7rem; }
}
