@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/mulish-400.woff2) format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/mulish-600.woff2) format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/mulish-700.woff2) format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/mulish-800.woff2) format('woff2')}
@font-face{font-family:'Mulish';font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/mulish-900.woff2) format('woff2')}
body{margin:0;font-family:'Mulish',system-ui,sans-serif;color:#0F2236;background:#ffffff}
*{box-sizing:border-box}
a{color:#087380}a:hover{color:#0B406E}
button{font-family:inherit}
.kc-btn{transition:transform .15s ease, box-shadow .15s ease}
.kc-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(11,64,110,.18)}
.kc-card{transition:transform .2s ease, box-shadow .2s ease}
.kc-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(11,64,110,.12)}
.kc-nav a{color:#0F2236;text-decoration:none}
.kc-nav a:hover{color:#087380}
.kc-dark a{color:#7FE6EF}
.kc-dark a:hover{color:#ffffff}
@media (max-width: 960px){.kc-hide-sm{display:none !important}}

/* ---------- Grundlagen ---------- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{transition:none !important}}
[id]{scroll-margin-top:96px}
img{max-width:100%}
:focus-visible{outline:3px solid #2ED3E1;outline-offset:3px;border-radius:6px}
.kc-skip{position:absolute;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:10px;background:#0B2D4D;color:#ffffff !important;font-weight:800;text-decoration:none}
.kc-skip:focus{top:16px}

/* ---------- Prototyp im Hero ---------- */
.kc-progress{display:flex;align-items:center}
.kc-dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:#DCE7ED}
.kc-dot.is-on{background:#2ED3E1}
.kc-dot.kc-dot-last.is-on{background:#0B406E}
.kc-line{display:inline-block;width:26px;height:3px;background:#DCE7ED}
.kc-line.is-on{background:#2ED3E1}
.kc-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:0 18px;border-radius:14px;font-size:17px;font-weight:700;color:#0B2D4D;cursor:pointer;text-align:left;background:#ffffff;border:2px solid #D5E3EA}
.kc-opt.is-on{background:#E6F8FA;border-color:#22B3C9}
.kc-radio{flex:none;width:20px;height:20px;border-radius:50%;box-sizing:border-box;border:2px solid #9FB3C2;background:#ffffff}
.kc-opt.is-on .kc-radio{border:6px solid #0B406E}
.kc-prev{min-height:48px;padding:0 22px;border-radius:12px;background:#ffffff;color:#0B406E;border:2px solid #D5E3EA;font-size:16px;font-weight:800;cursor:pointer}
.kc-next{min-height:48px;padding:0 26px;border-radius:12px;border:none;background:#0B406E;color:#ffffff;font-size:16px;font-weight:800;cursor:pointer}

/* ---------- Wegweiser ---------- */
.kc-pill{min-height:48px;padding:0 20px;border-radius:999px;font-size:16px;font-weight:800;cursor:pointer;background:#ffffff;color:#0B2D4D;border:2px solid #C5DCE6}
.kc-pill:hover{border-color:#22B3C9}
.kc-pill.is-on{background:#0B2D4D;color:#ffffff;border-color:#0B2D4D}

/* ---------- Kontaktformular ---------- */
#kontaktformular input,#kontaktformular textarea{color:#0F2236;background:#ffffff}
#kontaktformular input:focus,#kontaktformular textarea:focus{border-color:#22B3C9}
.kc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.kc-form-status{margin:0;padding:12px 14px;border-radius:12px;font-size:15px;font-weight:700}
.kc-form-status.is-ok{background:#E5F4E4;color:#1F5A2A}
.kc-form-status.is-error{background:#FBEBEB;color:#8A1F1F}

/* ---------- Mobil ---------- */
@media (max-width: 960px){
  .kc-nav{order:3;width:100%;overflow-x:auto;gap:22px !important;padding:4px 0 2px;font-size:15px !important;white-space:nowrap;scrollbar-width:none}
  .kc-nav::-webkit-scrollbar{display:none}
  .kc-nav a{display:inline-flex;align-items:center;min-height:44px}
}
@media (max-width: 600px){
  section > div{padding-left:20px !important;padding-right:20px !important}
  header > div{padding-left:20px !important;padding-right:20px !important}
  header img{height:40px !important}
  header{position:static !important}
  header .kc-btn{display:none !important}
  header > div{gap:8px !important}
}

/* Lange deutsche Wörter in schmalen Karten trennen */
#leistungen article li, #leistungen article p{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
#leistungen article h3{font-size:19px !important;hyphens:manual;overflow-wrap:break-word}
#leistungen article span{white-space:nowrap}

/* Bildband Leistungen (eigenes Foto) */
.kc-weg{min-height:430px;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(11,45,77,.55) 0%,rgba(11,45,77,.25) 45%,rgba(11,45,77,0) 65%),linear-gradient(180deg,rgba(11,45,77,0) 55%,rgba(11,45,77,.35) 100%),url(../assets/img/weg.jpg) center 55%/cover no-repeat;scroll-margin-top:80px}
.kc-weg-inner{max-width:1240px;margin:0 auto;width:100%;padding:0 32px 44px;color:#fff}
.kc-weg-eyebrow{font-size:14px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#7FE6EF}
.kc-weg h2{margin:10px 0 0;font-size:clamp(28px,3.6vw,46px);line-height:1.1;font-weight:900;letter-spacing:-.02em;max-width:780px;text-shadow:0 2px 12px rgba(7,31,54,.45)}
@media (max-width:600px){.kc-weg{min-height:340px;background:linear-gradient(180deg,rgba(11,45,77,.05) 20%,rgba(11,45,77,.7) 100%),url(../assets/img/weg.jpg) 50% 55%/cover no-repeat}.kc-weg-inner{padding:0 20px 28px !important}}
