:root{--blue:#087fc7;--navy:#06233f;--deep:#04182b;--light:#f5f9fd;--text:#102033;--muted:#5c6f84;--line:#dce8f4;--gold:#ffc832;--shadow:0 16px 40px rgba(5,35,65,.12);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#fff;box-shadow:0 3px 18px rgba(0,0,0,.08);position:sticky;top:0;z-index:20}.brand{
    display:flex;
    align-items:center;
    gap:16px;
    text-decoration:none;
    color:var(--navy);
}
.brand-logo{
    width:64px;
    height:64px;
    object-fit:contain;
    flex-shrink:0;
    display:block;
}
.brand-text{
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.brand-text strong{
    font-size:20px;
    letter-spacing:.02em;
    color:var(--navy);
}
.brand-text small{
    display:block;
    font-size:11px;
    line-height:1.25;
    color:#2a5d83;
}.brand strong{font-size:20px;letter-spacing:.02em}.brand small{display:block;font-size:11px;line-height:1.25;color:#2a5d83}.nav{display:flex;gap:30px;align-items:center}.nav a{font-weight:700;font-size:14px;color:var(--text);text-decoration:none}.nav a:hover{color:var(--blue)}.nav-cta,.btn,button{background:linear-gradient(135deg,#0d8fdf,#075fae);color:#fff!important;border:0;border-radius:7px;padding:13px 20px!important;box-shadow:0 10px 24px rgba(8,127,199,.25);cursor:pointer}.hero{background:#09213a;color:#fff;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(23,154,230,.3),transparent 35%),linear-gradient(90deg,#071b31 0%,#0b2f51 55%,#0b4774);opacity:.96}.hero-bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,#000,transparent)}.hero-inner{position:relative;max-width:1280px;margin:auto;min-height:700px;padding:70px 6vw 90px;display:grid;grid-template-columns:1fr 520px;align-items:end;gap:40px}.hero-copy{align-self:center}.hero h1{font-size:56px;line-height:1.08;margin:0 0 28px}.lead{font-size:20px;max-width:680px;font-weight:700}.highlight{color:var(--gold);font-size:26px;font-weight:900}.hero-copy p:not(.lead):not(.highlight){max-width:650px}.hero-photo{width:520px;height:580px;object-fit:cover;object-position:center top;border-radius:46% 46% 0 0;filter:drop-shadow(0 28px 40px rgba(0,0,0,.35));align-self:end}.hero-icons{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:44px;margin-bottom:28px;max-width:690px}.hero-icons span{text-align:center;font-size:13px}.hero-icons img{display:block;width:54px;height:54px;object-fit:contain;margin:0 auto 12px;filter:none;opacity:1;background:#fff;border-radius:18px;padding:9px;box-shadow:0 10px 24px rgba(0,0,0,.18)}.hero-icons b{display:block;color:#fff;font-size:16px}.down{width:58px;height:58px;border-radius:50%;background:#1689d1;color:#fff;text-decoration:none;display:grid;place-items:center;margin:-29px auto 34px;position:relative;z-index:5;border:5px solid #fff;box-shadow:0 10px 25px rgba(0,0,0,.15)}.down svg{width:32px;height:32px}.down path{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.section{max-width:1280px;margin:auto;padding:80px 6vw;position:relative}.number{position:absolute;left:5vw;top:50px;font-size:88px;font-weight:900;color:rgba(8,127,199,.15);line-height:1}.numbered>*:not(.number){position:relative}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.eyebrow{text-transform:uppercase;color:var(--blue);font-size:13px;font-weight:900;letter-spacing:.05em;margin:0 0 8px}h2{font-size:39px;line-height:1.13;margin:0 0 20px;color:var(--navy)}.sub{margin-top:-8px;color:var(--muted)}.checklist{list-style:none;padding:0;margin:24px 0}.checklist li{margin:12px 0;padding-left:31px;position:relative}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}.secondary{display:inline-block;background:#fff!important;color:var(--blue)!important;border:1px solid var(--blue);box-shadow:none;text-decoration:none}.stats-card{padding:50px;border-radius:28px;background:linear-gradient(145deg,#fff,#f5fbff);box-shadow:var(--shadow);border:1px solid var(--line)}.stats-card>strong{display:block;font-size:92px;color:var(--blue);line-height:1}.stats-card>span{font-size:22px;font-weight:900;color:var(--blue)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:35px;padding-top:24px;gap:20px}.stats-grid b{display:block;font-size:38px;color:var(--blue)}.stats-grid small{color:var(--text)}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.tiles article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 26px;box-shadow:var(--shadow);min-height:245px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.tiles span{font-size:34px;color:var(--blue)}.tile-icon{display:block;width:76px;height:76px;object-fit:contain;margin:0 auto 20px}.tiles h3{font-size:18px;margin:0 0 10px;color:var(--navy)}.tiles p{font-size:15px;margin:0}.trust{grid-template-columns:1fr .9fr .9fr;align-items:start}.cert-block,.education-block{background:#fff;border-left:1px solid var(--line);padding-left:34px}.cert-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.cert-gallery a{display:block;background:#fff;border-radius:9px;box-shadow:0 10px 20px rgba(0,0,0,.12);overflow:hidden;height:145px}.cert-gallery img{width:100%;height:100%;object-fit:cover;object-position:top}.mini-list{font-size:14px;color:#26435e}.mini-list li{margin:8px 0}.education-block dl{display:grid;grid-template-columns:64px 1fr;margin:0}.education-block dt,.education-block dd{border-bottom:1px solid var(--line);padding:10px 0;margin:0;font-size:14px}.education-block dt{color:var(--blue);font-weight:900}.compact{background:var(--light);max-width:none}.compact>*{max-width:1120px;margin-left:auto;margin-right:auto}.pill-grid{display:flex;flex-wrap:wrap;gap:12px}.pill-grid span{padding:10px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:800;color:#27425d}.about{max-width:980px}.contact{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:start}.trust-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}.trust-icons span{display:block;text-align:center}.trust-icons img{display:block;width:56px;height:56px;object-fit:contain;margin:0 auto 12px}.trust-icons b{display:block;color:var(--navy)}.trust-icons small{display:block;color:var(--muted);font-size:13px}.contact-form{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form h3{grid-column:1/-1;margin:0 0 10px;color:var(--navy)}label{font-size:13px;font-weight:700;color:#3b4c5f}.full{grid-column:1/-1}input,textarea{width:100%;border:1px solid #ccdbea;border-radius:4px;padding:12px;margin-top:6px;font:inherit}textarea{resize:vertical}.consent{display:flex;gap:9px;align-items:flex-start}.consent input{width:auto;margin-top:3px}.contact-form button{grid-column:2;justify-self:end;font-weight:900}.footer{background:#061d34;color:#fff;padding:34px 6vw;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:26px;align-items:start}.footer small{color:#b4c7da}.footer-links{grid-column:1/-1;display:flex;gap:26px;border-top:1px solid rgba(255,255,255,.16);padding-top:18px}.footer a{color:#fff;text-decoration:none}@media(max-width:1050px){.site-header{height:auto;display:block;padding:18px 5vw}.nav{margin-top:16px;flex-wrap:wrap;gap:14px}.hero-inner,.split,.trust,.contact{grid-template-columns:1fr}.hero-inner{padding-top:45px;padding-bottom:70px}.hero-photo{width:min(460px,100%);height:480px;margin:auto}.hero h1{font-size:40px}.hero-icons,.tiles{grid-template-columns:repeat(2,1fr)}.footer{grid-template-columns:1fr}.cert-block,.education-block{border-left:0;padding-left:0}.number{position:static;margin-bottom:10px;font-size:60px}.stats-grid,.trust-icons{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form button{grid-column:1;justify-self:stretch}}@media(max-width:620px){.hero-icons,.tiles,.cert-gallery{grid-template-columns:1fr}.tiles article{padding:26px 22px;min-height:auto}.tile-icon{width:68px;height:68px}.section{padding:55px 5vw}h2{font-size:31px}.hero h1{font-size:34px}.hero-photo{height:390px}.footer-links{flex-wrap:wrap}}

/* Anpassungen: Originalverhältnis Zertifikate, Lightbox und ausklappbare Weiterbildungen */
.cert-gallery{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  padding:8px 4px 22px;
  margin-left:-4px;
}
.cert-gallery::-webkit-scrollbar{height:10px}.cert-gallery::-webkit-scrollbar-track{background:#edf4fb;border-radius:999px}.cert-gallery::-webkit-scrollbar-thumb{background:#9fc8e8;border-radius:999px}
.cert-card{
  flex:0 0 190px;
  display:flex!important;
  flex-direction:column;
  gap:12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 10px 20px rgba(0,0,0,.10);
  padding:10px;
  text-decoration:none;
  color:var(--navy);
  scroll-snap-align:start;
  height:auto!important;
  overflow:visible!important;
}
.cert-card img{
  width:100%!important;
  height:230px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f8fbff;
  border-radius:9px;
}
.cert-card span{font-weight:900;font-size:13px;line-height:1.25}.cert-card small{display:block;color:var(--blue);font-size:12px;margin-top:4px}.mini-list strong{color:var(--blue);margin-right:6px}.education-list.collapsed dt:nth-of-type(n+7),.education-list.collapsed dd:nth-of-type(n+7){display:none}.small-toggle{margin-top:16px;padding:10px 14px!important;font-size:13px;border-radius:7px;font-weight:900}.lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(3,18,32,.86);z-index:100;padding:42px 5vw}.lightbox.open{display:flex}.lightbox img{max-width:min(1100px,92vw);max-height:88vh;object-fit:contain;background:#fff;border-radius:6px;box-shadow:0 24px 80px rgba(0,0,0,.45)}.lightbox-close{position:fixed;top:24px;right:28px;width:52px;height:52px;border-radius:50%;padding:0!important;font-size:36px;line-height:1;background:#fff!important;color:var(--navy)!important;box-shadow:0 10px 30px rgba(0,0,0,.25)}
@media(max-width:620px){.cert-card{flex-basis:165px}.cert-card img{height:210px!important}}

/* Layout-Korrektur Zertifizierungen/Weiterbildungen: kompakter Zertifikats-Slider, Weiterbildung rückt nach links */
.trust{
  grid-template-columns:minmax(300px,1fr) 260px minmax(360px,.95fr);
  gap:36px;
}
.cert-block{
  padding-left:24px;
}
.education-block{
  padding-left:28px;
}
.cert-gallery{
  max-width:238px;
  overflow-x:hidden;
  scroll-snap-type:x mandatory;
  padding:8px 0 18px;
  margin:0;
}
.cert-gallery::-webkit-scrollbar{display:none}
.cert-card{
  flex:0 0 238px;
  scroll-snap-align:center;
  padding:10px;
}
.cert-card img{
  height:285px!important;
}
.mini-list{
  padding-left:18px;
  margin-top:12px;
}
.education-block dl{
  grid-template-columns:58px minmax(0,1fr);
}
.education-block dd{
  overflow-wrap:anywhere;
}
@media(max-width:1050px){
  .trust{grid-template-columns:1fr;gap:34px}
  .cert-gallery{max-width:100%;overflow-x:auto;scroll-snap-type:x proximity}
  .cert-gallery::-webkit-scrollbar{display:block}
  .cert-card{flex-basis:190px}
  .cert-card img{height:230px!important}
}
@media(max-width:620px){
  .cert-card{flex-basis:175px}
  .cert-card img{height:220px!important}
}


/* Kompetenz-Badges */
.competence-section{
  text-align:center;
}
.competence-section .sub{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.competence-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-top:28px;
}
.hidden-tags{
  display:none;
  margin-top:18px;
}
.hidden-tags.open{
  display:flex;
}
.tag{
  background:#fff;
  color:#0b5cab;
  border:2px solid #0b5cab;
  border-radius:999px;
  padding:12px 20px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:0 8px 20px rgba(5,35,65,.06);
  transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.tag:hover{
  background:#0b5cab;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(11,92,171,.20);
}
.competence-toggle{
  margin-top:30px;
}
@media(max-width:620px){
  .tag{
    font-size:14px;
    padding:10px 15px;
  }
}

/* Korrektur: Anker-Sprünge mit fixierter Navigation */
:root{
  --header-height: 92px;
}

section[id],
.hero[id]{
  scroll-margin-top: calc(var(--header-height) + 28px);
}

@media (max-width:1050px){
  :root{
    --header-height: 150px;
  }
}

@media (max-width:620px){
  :root{
    --header-height: 170px;
  }
}

/* Mobile-Fix Zertifikats-Autoslider: auf kleinen Displays nur eine Zertifikatskarte anzeigen,
   damit der Slider nicht die komplette Seitenbreite sprengt. */
@media (max-width: 620px){
  .trust{
    overflow:hidden;
  }
  .cert-block{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .cert-block h3,
  .cert-block .mini-list{
    text-align:left;
  }
  .cert-gallery{
    width:190px;
    max-width:190px;
    margin:0 auto;
    overflow:hidden;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:0;
    scroll-snap-type:x mandatory;
    padding:8px 0 16px;
  }
  .cert-card{
    flex:0 0 190px!important;
    width:190px!important;
    max-width:190px!important;
    min-width:190px!important;
    margin:0;
    scroll-snap-align:center;
  }
  .cert-card img{
    height:235px!important;
  }
}

@media (max-width: 380px){
  .cert-gallery{
    width:175px;
    max-width:175px;
  }
  .cert-card{
    flex-basis:175px!important;
    width:175px!important;
    max-width:175px!important;
    min-width:175px!important;
  }
  .cert-card img{
    height:220px!important;
  }
}


/* Rechtstexte als Lightbox: progressive Enhancement, Links funktionieren ohne JavaScript normal */
body.modal-open{overflow:hidden}.legal-lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(3,18,32,.82);z-index:120;padding:32px 5vw}.legal-lightbox.open{display:flex}.legal-lightbox-panel{position:relative;width:min(1040px,96vw);height:min(86vh,820px);background:#fff;border-radius:18px;box-shadow:0 26px 90px rgba(0,0,0,.38);overflow:hidden;color:var(--text);display:flex;flex-direction:column}.legal-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line);background:#fff}.legal-lightbox-head h2{font-size:22px;margin:0;color:var(--navy)}.legal-lightbox-close{flex:0 0 auto;width:44px;height:44px;border-radius:50%;padding:0!important;font-size:30px;line-height:1;background:#fff!important;color:var(--navy)!important;border:1px solid var(--line)!important;box-shadow:0 8px 22px rgba(0,0,0,.12)}.legal-lightbox-frame{width:100%;height:100%;border:0;background:#fff}.legal-lightbox a{color:var(--blue)}@media(max-width:620px){.legal-lightbox{padding:14px}.legal-lightbox-panel{width:96vw;height:90vh;border-radius:14px}.legal-lightbox-head{padding:14px 16px}.legal-lightbox-head h2{font-size:18px}.legal-lightbox-close{width:40px;height:40px;font-size:28px}}


/* Hero-Update: freigestelltes Bild und abgerundeter Homeblock */
.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding-bottom:34px;
}
.hero::after{
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  bottom:-86px;
  height:150px;
  background:#fff;
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  z-index:2;
  pointer-events:none;
}
.hero-bg,
.hero-inner{
  z-index:1;
}
.hero-inner{
  padding-bottom:126px;
}
.hero-photo{
  width:min(540px, 100%);
  height:auto;
  max-height:650px;
  object-fit:contain;
  object-position:center bottom;
  border-radius:0;
  align-self:end;
  filter:drop-shadow(0 30px 42px rgba(0,0,0,.32));
  margin-bottom:-28px;
}
.hero-icons{
  margin-bottom:62px;
}
.down{
  margin:-80px auto 54px;
  z-index:6;
}

@media(max-width:1050px){
  .hero-inner{
    align-items:center;
    padding-bottom:110px;
  }
  .hero-photo{
    width:min(440px, 92vw);
    max-height:520px;
    margin-bottom:-18px;
  }
  .hero-icons{
    margin-bottom:46px;
  }
  .hero::after{
    bottom:-72px;
    height:130px;
  }
  .down{
    margin:-70px auto 46px;
  }
}

@media(max-width:620px){
  .hero{
    padding-bottom:24px;
  }
  .hero-inner{
    padding-bottom:96px;
  }
  .hero-photo{
    width:min(360px, 96vw);
    max-height:440px;
  }
  .hero-icons{
    margin-bottom:34px;
  }
  .hero::after{
    left:-18%;
    right:-18%;
    bottom:-62px;
    height:112px;
  }
  .down{
    margin:-62px auto 40px;
  }
}


/* Hero-Korrektur: Rundung umgedreht und freigestelltes Bild größer gesetzt */
.hero{
  min-height:700px;
  padding-bottom:0;
}
.hero::after{
  display:none!important;
}
.hero-inner{
  position:relative;
  z-index:2;
  min-height:700px;
  grid-template-columns:minmax(0, 1fr) 560px;
  align-items:center;
  padding-top:70px;
  padding-bottom:150px;
}
.hero-copy{
  position:relative;
  z-index:3;
  max-width:720px;
}
.hero-photo{
  position:absolute;
  right:clamp(-40px, 3vw, 42px);
  bottom:8px;
  z-index:2;
  height:calc(100% - 28px);
  width:auto;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:right bottom;
  border-radius:0;
  margin:0;
  filter:drop-shadow(0 30px 42px rgba(0,0,0,.34));
}
.hero-curve{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:128px;
  z-index:4;
  pointer-events:none;
}
.hero-curve svg{
  display:block;
  width:100%;
  height:100%;
}
.hero-curve path{
  fill:#fff;
}
.hero-icons{
  position:relative;
  z-index:3;
  margin-bottom:0;
  max-width:700px;
}
.down{
  margin:-70px auto 58px;
  z-index:8;
}

@media(max-width:1050px){
  .hero{min-height:auto;}
  .hero-inner{
    min-height:auto;
    grid-template-columns:1fr;
    padding-top:50px;
    padding-bottom:130px;
  }
  .hero-photo{
    position:relative;
    right:auto;
    bottom:auto;
    width:min(520px, 94vw);
    height:auto;
    max-height:none;
    justify-self:center;
    margin:12px auto -40px;
  }
  .hero-curve{height:110px;}
  .down{margin:-62px auto 46px;}
}

@media(max-width:620px){
  .hero-inner{
    padding-bottom:112px;
  }
  .hero-photo{
    width:min(430px, 105vw);
    margin-top:8px;
    margin-bottom:-34px;
  }
  .hero-curve{height:94px;}
  .hero-icons{margin-bottom:0;}
  .down{margin:-54px auto 38px;}
}


@media (max-width:620px){
    .brand{gap:12px;}
    .brand-logo{width:56px;height:56px;}
    .brand-text strong{font-size:16px;}
    .brand-text small{font-size:10px;}
}

/* =========================================================
   FINALER HEADER-/BRAND-FIX
   Ziel: kleines, dezentes Compliance-Logo im Header
   Diese Regeln stehen absichtlich am Ende und überschreiben
   frühere .brand- und .brand-logo-Definitionen.
   ========================================================= */

.site-header{
    height:78px;
}

.brand{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    text-decoration:none !important;
    color:var(--navy) !important;
}

.brand-logo{
    width:48px !important;
    height:48px !important;
    max-width:54px !important;
    max-height:54px !important;
    object-fit:contain !important;
    flex:0 0 48px !important;
    display:block !important;
}

.brand-text{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
}

.brand-text strong,
.brand strong{
    font-size:18px !important;
    line-height:1.1 !important;
    letter-spacing:.02em !important;
    color:var(--navy) !important;
}

.brand-text small,
.brand small{
    display:block !important;
    font-size:10px !important;
    line-height:1.2 !important;
    color:#2a5d83 !important;
}

@media (max-width:1050px){
    .site-header{
        height:auto;
    }

    .brand-logo{
        width:34px !important;
        height:34px !important;
        max-width:34px !important;
        max-height:34px !important;
        flex-basis:34px !important;
    }
}

@media (max-width:620px){
    .brand{
        gap:8px !important;
    }

    .brand-logo{
        width:30px !important;
        height:30px !important;
        max-width:30px !important;
        max-height:30px !important;
        flex-basis:30px !important;
    }

    .brand-text strong,
    .brand strong{
        font-size:15px !important;
    }

    .brand-text small,
    .brand small{
        font-size:9px !important;
    }
}
