
.fb24h100-breakout{position:relative!important;width:100vw!important;max-width:none!important;margin-left:0!important;overflow:hidden!important}
.fb24h100{font-family:Arial,Helvetica,sans-serif;color:#1f2b33;background:#fff;line-height:1.48}
.fb24h100 *{box-sizing:border-box}
.fb24h100 h1,.fb24h100 h2,.fb24h100 h3{font-family:Georgia,"Times New Roman",serif;color:#0a2f5e}
.fb24h100-wrap{width:min(1180px,90vw);margin:0 auto}
.fb24h100 a{text-decoration:none}
.fb24h100-btn{display:inline-flex;align-items:center;gap:14px;background:#083d73;color:#fff!important;padding:13px 20px;border-radius:24px;font-weight:700;font-size:14px;box-shadow:0 6px 18px rgba(6,41,77,.15)}
.gold-rule{width:46px;height:2px;background:#d0a24b;margin:12px auto 30px}
.gold-rule.left{margin:12px 0 22px}

/* HERO */
.fb24h100-hero{height:565px;background-image:var(--hero);background-size:cover;background-position:center center;position:relative}
.fb24h100-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,247,229,.16) 0%,rgba(255,247,229,.08) 25%,rgba(255,247,229,0) 55%)}
.fb24h100-hero-copy{position:relative;z-index:2;width:min(1180px,90vw);margin:0 auto;padding-top:95px}
.fb24h100-hero-copy>*{max-width:560px}
.fb24h100-hero h1{font-size:52px;line-height:1.04;font-weight:500;margin:0 0 18px;color:#0a2f5e}
.fb24h100-hero p{font-size:16px;line-height:1.55;margin:0 0 25px;color:#27333a}

/* SERVICES */
.fb24h100-services{padding:42px 0 46px;background:linear-gradient(180deg,#fffdf9,#fbf6ef)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-grid article{background:rgba(255,255,255,.94);border:1px solid #e3d8ca;border-radius:13px;padding:30px 32px 28px;text-align:center;min-height:250px}
.icon-disc{width:78px;height:78px;border-radius:50%;background:#fbf8f1;border:1px solid #eee4d8;display:grid;place-items:center;margin:0 auto 14px}
.service-grid svg{width:45px;height:45px;fill:none;stroke:#0c3c72;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-grid h2{font-size:23px;font-weight:500;margin:0 0 12px}
.service-grid p{font-size:13.5px;line-height:1.55;margin:0 auto 18px;max-width:300px;color:#2c3438}
.service-grid a{color:#0c61a9;font-weight:700;font-size:13px}

/* TRUST */
.fb24h100-trust{padding:48px 0 36px}
.fb24h100-trust h2{text-align:center;font-size:31px;font-weight:500;margin:0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:18px}
.trust-grid article{text-align:center;padding:0 30px;position:relative}
.trust-grid article:not(:last-child):after{content:"";position:absolute;right:0;top:25px;width:1px;height:120px;background:#e3ddd4}
.trust-grid svg{width:50px;height:50px;fill:none;stroke:#0c3c72;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.trust-grid h3{font-family:Arial,Helvetica,sans-serif;font-size:14px;margin:10px 0 8px;color:#0a2f5e}
.trust-grid p{font-size:12.7px;line-height:1.55;margin:0;color:#344148}

/* ABOUT */
.fb24h100-about{padding:38px 0 54px}
.about-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:58px;align-items:center}
.about-image{border-radius:14px;overflow:hidden}.about-image img{width:100%;height:365px;object-fit:cover;object-position:center center;border-radius:14px;display:block}
.about-copy h2{font-size:33px;font-weight:500;margin:0}
.about-copy p{font-size:14px;line-height:1.65;margin:0 0 18px;max-width:520px}
.about-copy ul{list-style:none;margin:0 0 24px;padding:0}
.about-copy li{font-size:13.5px;margin:10px 0}
.about-copy li:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border:1.8px solid #d9a129;border-radius:50%;color:#c08b17;margin-right:9px;font-size:10px;font-weight:800}

/* CTA */
.fb24h100-cta{position:relative;padding:40px 0 42px;text-align:center;background-image:linear-gradient(rgba(255,240,214,.78),rgba(255,240,214,.78)),var(--cta);background-size:cover;background-position:center 48%}
.fb24h100-cta h2{font-size:31px;font-weight:500;margin:0 auto 8px;max-width:720px}
.fb24h100-cta p{margin:0 0 20px;font-size:14px}

/* FOOTER */
.fb24h100-footer{background:linear-gradient(90deg,#063a66,#032b52);color:#fff;padding:36px 0 0}
.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.15fr;gap:42px}
.fb24h100-footer h3{font-family:Arial,Helvetica,sans-serif;color:#fff;font-size:14px;margin:0 0 16px}
.fb24h100-footer a{display:block;color:#fff;font-size:12.5px;margin:0 0 12px}
.fb24h100-footer p{font-size:12px;line-height:1.55;color:#fff}
.footer-brand img{max-width:255px;max-height:70px;object-fit:contain;filter:brightness(0) invert(1)}
.footer-brand p{max-width:280px;margin-top:18px}
.contact-row{display:flex;gap:8px;align-items:flex-start;margin:0 0 8px!important}
.contact-row svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2}
.footer-bottom{margin-top:30px;padding:17px 4vw;background:rgba(0,0,0,.12);display:flex;justify-content:center;gap:9px;flex-wrap:wrap;font-size:11px;color:rgba(255,255,255,.78)}
.footer-bottom a{display:inline;color:rgba(255,255,255,.78);font-size:11px;margin:0}

@media(max-width:900px){
 .fb24h100-hero{height:520px;background-position:58% center}
 .fb24h100-hero h1{font-size:42px}
 .fb24h100-hero-copy>*{max-width:58%}
 .service-grid{grid-template-columns:1fr}
 .trust-grid{grid-template-columns:1fr 1fr;gap:32px 0}
 .trust-grid article:nth-child(2):after{display:none}
 .about-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .fb24h100-hero{height:590px;background-position:64% center}
 .fb24h100-hero:before{background:linear-gradient(90deg,rgba(255,249,238,.96) 0%,rgba(255,249,238,.82) 55%,rgba(255,249,238,.18) 100%)}
 .fb24h100-hero-copy{padding-top:70px}
 .fb24h100-hero-copy>*{max-width:85%}
 .fb24h100-hero h1{font-size:37px}
 .trust-grid,.footer-grid{grid-template-columns:1fr}
 .trust-grid article:after{display:none!important}
 .about-image img{height:270px;object-fit:cover;object-position:center center}
}

/* v1.0.2 – sharp hero/CTA rendering + same footer logo as the other FB24 pages */
.fb24h100-hero{
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  image-rendering:auto;
}
.fb24h100-cta{
  background-size:cover!important;
  background-repeat:no-repeat!important;
  image-rendering:auto;
}
.fb24h100-footer .footer-brand img{
  width:255px!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  filter:none!important;
}


/* ===== Startseite V2 – Hero exakt nach freigegebener Referenz ===== */
@media(min-width:901px){
  .fb24h100-hero.fb24h100-hero-v2{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1536 / 625!important;
    background-image:var(--hero)!important;
    background-size:100% 100%!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }

  .fb24h100-hero.fb24h100-hero-v2:before{
    display:none!important;
  }

  /* Text/Button sind im Referenzbild enthalten. HTML bleibt semantisch vorhanden,
     wird auf Desktop aber visuell ausgeblendet. */
  .fb24h100-hero.fb24h100-hero-v2 .fb24h100-hero-copy{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .fb24h100-hero.fb24h100-hero-v2 .fb24h100-hero-copy h1,
  .fb24h100-hero.fb24h100-hero-v2 .fb24h100-hero-copy p,
  .fb24h100-hero.fb24h100-hero-v2 .fb24h100-hero-copy .fb24h100-btn{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip-path:inset(50%)!important;
    white-space:nowrap!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  /* Klickfläche genau über dem eingebrannten blauen CTA */
  .fb24h100-hero-v2-click{
    position:absolute!important;
    z-index:5!important;
    left:10.9%!important;
    top:63.0%!important;
    width:23.8%!important;
    height:9.3%!important;
    display:block!important;
  }
}

/* Mobil bleibt das bisherige dynamische Hero-Layout erhalten */
@media(max-width:900px){
  .fb24h100-hero-v2-click{display:none!important}
}

/* V2.1: Hero etwas kompakter */
@media(min-width:901px){
.fb24h100-hero.fb24h100-hero-v2{aspect-ratio:auto!important;height:clamp(500px,35vw,670px)!important;min-height:0!important;background-size:100% 100%!important;background-position:center center!important;}
}


/* ===== Startseite V2.3 – Hero korrektes Seitenverhältnis =====
   Keine horizontale Verzerrung mehr. Breite/Layout bleiben unverändert.
*/
@media(min-width:901px){
  .fb24h100-hero.fb24h100-hero-v2{
    height:clamp(500px, 35vw, 670px)!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
}


/* ===== Startseite V2.4 – Hero-Text als separate HTML-Gruppe ===== */
@media(min-width:901px){
  .fb24h100-hero.fb24h100-hero-v2{
    position:relative!important;
    overflow:hidden!important;
    height:clamp(500px,35vw,670px)!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }

  .fb24h100-hero-v2 .fb24h100-hero-inner,
  .fb24h100-hero-v2 .fb24h100-hero-content{
    position:relative!important;
    z-index:3!important;
  }

  .fb24h100-hero-v2 h1,
  .fb24h100-hero-v2 .fb24h100-hero-title{
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(40px,3.15vw,62px)!important;
    line-height:1.04!important;
    font-weight:500!important;
    letter-spacing:-.018em!important;
    color:#082f5f!important;
    max-width:650px!important;
    margin:0 0 22px!important;
    text-shadow:none!important;
  }

  .fb24h100-hero-v2 p,
  .fb24h100-hero-v2 .fb24h100-hero-text{
    font-size:clamp(16px,1.05vw,20px)!important;
    line-height:1.55!important;
    font-weight:400!important;
    color:#0a2c50!important;
    max-width:660px!important;
    text-shadow:none!important;
  }
}


/* ===== Startseite V2.6 – Button-Hitbox + Footer wie Vorlage ===== */
@media(min-width:901px){
  .fb24h100-hero-v2-click{
    position:absolute!important;
    z-index:50!important;
    left:8.25%!important;
    top:78.0%!important;
    width:21.5%!important;
    height:11.0%!important;
    display:block!important;
    background:transparent!important;
    border:0!important;
    cursor:pointer!important;
  }
}

.fb24h100-cta h2,
.fb24h100-cta p{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.fb24h100-cta h2{
  padding:0!important;
  width:auto!important;
  max-width:760px!important;
  color:#0a2f5e!important;
}

.fb24h100-footer{
  background:linear-gradient(100deg,#073c69 0%,#052f58 50%,#03284d 100%)!important;
  color:#fff!important;
  padding:52px 0 0!important;
}
.fb24h100-footer .footer-grid{
  grid-template-columns:1.55fr .95fr .95fr 1.15fr!important;
  gap:56px!important;
  align-items:start!important;
}
.fb24h100-footer .footer-brand img{
  width:360px!important;
  max-width:100%!important;
  max-height:none!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
  background:transparent!important;
}
.fb24h100-footer .footer-brand p{
  max-width:330px!important;
  margin:22px 0 0!important;
  font-size:13px!important;
  line-height:1.6!important;
  color:#fff!important;
}
.fb24h100-footer h3{
  display:block!important;
  background:transparent!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:8px 0 22px!important;
  min-height:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
}
.fb24h100-footer a{
  display:block!important;
  background:transparent!important;
  color:#fff!important;
  border:0!important;
  padding:0!important;
  margin:0 0 15px!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.fb24h100-footer .contact-row{
  background:transparent!important;
  color:#fff!important;
  display:flex!important;
  gap:11px!important;
  align-items:flex-start!important;
  margin:0 0 13px!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.fb24h100-footer .contact-row svg{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  margin-top:1px!important;
  stroke:#fff!important;
}
.fb24h100-footer .footer-bottom{
  width:min(1180px,90vw)!important;
  margin:34px auto 0!important;
  padding:18px 0 20px!important;
  border-top:1px solid rgba(255,255,255,.22)!important;
  background:transparent!important;
  color:rgba(255,255,255,.82)!important;
  font-size:11px!important;
}
.fb24h100-footer .footer-bottom a{
  display:inline!important;
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:11px!important;
}
@media(max-width:900px){
  .fb24h100-footer .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:36px!important;
  }
  .fb24h100-footer .footer-brand img{
    width:300px!important;
  }
}
@media(max-width:600px){
  .fb24h100-footer .footer-grid{
    grid-template-columns:1fr!important;
  }
}


/* ===== Startseite V3.0 – finaler CTA/Footer-Finish ===== */
.fb24h100-cta{
  position:relative!important;
  background-position:center 48%!important;
  background-size:cover!important;
}
.fb24h100-cta:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:rgba(7,31,56,.08)!important;
  pointer-events:none!important;
}
.fb24h100-cta .fb24h100-wrap{
  position:relative!important;
  z-index:2!important;
}
.fb24h100-cta h2{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
}
.fb24h100-cta p{
  background:transparent!important;
  box-shadow:none!important;
}

/* Footer: Referenzlayout beibehalten */
.fb24h100-footer{
  background:linear-gradient(100deg,#073c69 0%,#052f58 52%,#03284d 100%)!important;
}


/* ===== V3.0.6 – Social Media im Footer ===== */
.fb24h100-footer .fb24h100-social{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:18px!important;
}
.fb24h100-footer .fb24h100-social-link{
  width:38px!important;
  height:38px!important;
  margin:0!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:50%!important;
  color:#fff!important;
  background:rgba(255,255,255,.06)!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease!important;
}
.fb24h100-footer .fb24h100-social-link:hover,
.fb24h100-footer .fb24h100-social-link:focus-visible{
  transform:translateY(-2px)!important;
  background:rgba(255,255,255,.16)!important;
  border-color:rgba(255,255,255,.8)!important;
}
.fb24h100-footer .fb24h100-social-link svg{
  width:20px!important;
  height:20px!important;
  display:block!important;
  fill:currentColor!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
}
.fb24h100-footer .fb24h100-social-link:first-child svg{fill:none!important;}
.fb24h100-footer .fb24h100-social-link:last-child svg{stroke:none!important;}


/* ===== Startseite V3.0.7 – Headerabstand + Profisportler ===== */

/* Der sichtbare Abstand entsteht vor dem Plugin-Wrapper.
   Nur auf dieser Startseite wird der Wrapper um den bisherigen Leerraum nach oben gezogen. */
.fb24h100-breakout{
  margin-top:-54px!important;
  padding-top:0!important;
}
.fb24h100-breakout .fb24h100,
.fb24h100-breakout .fb24h100-hero{
  margin-top:0!important;
  padding-top:0!important;
}

/* Vier gleichwertige Leistungskarten:
   Gewerbe | PKV | Profisportler | Private Absicherung */
.service-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.service-grid article{
  padding:28px 22px 26px!important;
  min-height:265px!important;
}
.service-grid h2{
  font-size:20px!important;
}
.service-grid p{
  font-size:13px!important;
  max-width:250px!important;
}

@media(max-width:1050px){
  .service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  .fb24h100-breakout{
    margin-top:0!important;
  }
}
@media(max-width:600px){
  .service-grid{
    grid-template-columns:1fr!important;
  }
}

/* v3.0.17 – Startseiten-Footer exakt wie globaler Footer */
.fb24h100-footer .footer-brand img{
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
