@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/IBMPlexMono-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/IBMPlexMono-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/IBMPlexSans.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/Sora.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* Fürbringer IT – Seiteninhalt (ohne Header/Footer). Alles unter body .fit-page, damit dein Theme nicht beeinflusst wird. */
body .fit-page {
  --main: #6EB6FF; --txt: #FFFFFF; --bg: #11171E; --box: #18212B; --line: #51575E;
  --muted: #FFFFFF;
  --f-display: "Sora", "Segoe UI", system-ui, sans-serif;
  --f-body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;
  background: var(--bg); color: var(--txt); font: 16px/1.6 var(--f-body);
}
body .fit-page *, body .fit-page *::before, body .fit-page *::after { box-sizing: border-box; }
body .fit-page h1, body .fit-page h2, body .fit-page h3 { font-family: var(--f-display); color: var(--txt); text-wrap: balance; line-height: 1.2; margin: 0; }
body .fit-page p { margin: 0; }
body .fit-page a { color: var(--main); }
body .fit-page img { max-width: 100%; display: block; }
body .fit-page :focus-visible { outline: 2px solid var(--main); outline-offset: 2px; }
body .fit-page .wrap { max-width: 1120px; margin: 0 auto; padding-inline: 20px; }
body .fit-page .band { padding-block: 72px; }
body .fit-page .band.alt { background: var(--box); }
body .fit-page .head { display: grid; gap: 10px; margin-bottom: 32px; max-width: 64ch; }
body .fit-page .eyebrow { font: 500 12px var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--main); }
body .fit-page h1 { font-size: clamp(32px, 4.8vw, 52px); letter-spacing: -.02em; }
body .fit-page h2 { font-size: clamp(26px, 3.4vw, 34px); letter-spacing: -.01em; }
body .fit-page h3 { font-size: 19px; }
body .fit-page .lead { color: var(--muted); font-size: 17px; }
body .fit-page .fine { font-size: 13px; color: var(--muted); }
body .fit-page .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 20px; border-radius: 8px; font: 600 15px var(--f-body); text-decoration: none; border: 1px solid transparent; cursor: pointer; }
body .fit-page .btn.primary { background: var(--main); color: var(--bg); }
body .fit-page .btn.primary:hover { filter: brightness(1.1); }
body .fit-page .btn.ghost { border-color: var(--line); color: var(--txt); background: transparent; }
body .fit-page .btn.ghost:hover { border-color: var(--main); }
body .fit-page .row { display: flex; flex-wrap: wrap; gap: 10px; }
body .fit-page .card { background: var(--box); border: 1px solid var(--line); border-radius: 12px; min-width: 0; }
body .fit-page .alt .card { background: var(--bg); }
body .fit-page .ph { display: grid; place-content: center; gap: 6px; padding: 20px; text-align: center; color: var(--muted); font: 13px/1.5 var(--f-mono); border: 2px dashed var(--line); border-radius: 12px; background: var(--bg); min-height: 180px; }
body .fit-page .ph b { color: var(--txt); font: 600 15px var(--f-body); }

/* Hero */
body .fit-page .hero { position: relative; overflow: hidden; padding-block: clamp(72px, 10vw, 128px); }
body .fit-page .hero .bgimg { position: absolute; inset: 0; background-size: cover; background-position: 72% 30%; background-repeat: no-repeat; }
body .fit-page .hero .bgimg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #11171E 0%, rgba(17,23,30,.92) 38%, rgba(17,23,30,.45) 70%, rgba(17,23,30,.2) 100%); }
body .fit-page .hero .wrap { position: relative; }
body .fit-page .hero-text { display: grid; gap: 22px; max-width: 620px; }
body .fit-page .hero h1 em { font-style: normal; color: var(--main); }
body .fit-page .hero .sub { font-size: 18px; color: #FFFFFF; max-width: 52ch; }
body .fit-page .proof { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px; color: #FFFFFF; }
body .fit-page .proof b, body .fit-page .stars { color: var(--main); }
body .fit-page .hero.small { padding-block: 64px 48px; border-bottom: 1px solid var(--line); }

/* Vorteile */
body .fit-page .usps { background: var(--box); border-block: 1px solid var(--line); }
body .fit-page .usps .wrap { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .fit-page .usp { padding: 22px 20px; display: grid; gap: 4px; border-right: 1px solid var(--line); min-width: 0; }
body .fit-page .usp:first-child { padding-left: 0; }
body .fit-page .usp:last-child { border-right: 0; }
body .fit-page .usp b { font: 600 16px var(--f-display); }
body .fit-page .usp span { color: var(--muted); font-size: 14px; }

/* Leistungs-Karten */
body .fit-page .grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
body .fit-page .svc { display: grid; grid-template-rows: auto auto 1fr auto; gap: 12px; padding: 24px 22px; text-decoration: none; color: inherit; }
body .fit-page .svc:hover { border-color: var(--main); }
body .fit-page .svc p { color: var(--muted); font-size: 15px; }
body .fit-page ul.tick { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 15px; align-content: start; }
body .fit-page ul.tick li { padding-left: 24px; position: relative; }
body .fit-page ul.tick li::before { content: "✓"; position: absolute; left: 0; color: var(--main); font-weight: 700; }
body .fit-page .more { font: 500 14px var(--f-body); color: var(--main); border-top: 1px solid var(--line); padding-top: 12px; }
body .fit-page .svc.key { border-color: var(--main); box-shadow: 0 0 0 1px var(--main); }

/* Bild + Text */
body .fit-page .split { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; align-items: center; }
body .fit-page .shot { aspect-ratio: 4 / 5; max-width: 100%; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); }
body .fit-page .shot img { width: 100%; height: 100%; object-fit: cover; }
body .fit-page .stack { display: grid; gap: 18px; min-width: 0; }
body .fit-page .kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
body .fit-page .kpi { padding: 16px; display: grid; gap: 2px; }
body .fit-page .kpi b { font: 700 26px var(--f-display); color: var(--main); font-variant-numeric: tabular-nums; }
body .fit-page .kpi span { font-size: 13px; color: var(--muted); }

/* Preise */
body .fit-page .prices { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 32px; align-items: start; }
body .fit-page .rates { overflow: hidden; }
body .fit-page .rate { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
body .fit-page .rate b { font: 700 26px var(--f-display); color: var(--main); white-space: nowrap; font-variant-numeric: tabular-nums; }
body .fit-page .rate b small { font: 400 14px var(--f-body); color: var(--muted); }
body .fit-page .rates .note { padding: 14px 24px 20px; font-size: 13px; color: var(--muted); }
body .fit-page .packs { overflow: hidden; }
body .fit-page .pack { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 20px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
body .fit-page .pack:last-child { border-bottom: 0; }
body .fit-page .pack h3 { font-size: 16px; }
body .fit-page .pack p { grid-column: 1; color: var(--muted); font-size: 14px; }
body .fit-page .pack .p { grid-column: 2; grid-row: 1 / span 2; text-align: right; font: 600 18px var(--f-display); white-space: nowrap; font-variant-numeric: tabular-nums; }
body .fit-page .pack .p small { display: block; font: 400 12px var(--f-body); color: var(--muted); }
body .fit-page .rates3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
body .fit-page .rates3 .card { padding: 20px 22px; display: grid; gap: 2px; }
body .fit-page .rates3 b { font: 700 30px var(--f-display); color: var(--main); font-variant-numeric: tabular-nums; }
body .fit-page .rates3 span { color: var(--muted); font-size: 14px; }
body .fit-page .rates3.r2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 620px) { body .fit-page .rates3.r2 { grid-template-columns: minmax(0, 1fr); } }

/* Ablauf */
body .fit-page .steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; counter-reset: s; }
body .fit-page .step { display: grid; gap: 8px; padding-top: 16px; border-top: 3px solid var(--main); min-width: 0; }
body .fit-page .step::before { counter-increment: s; content: "Schritt " counter(s); font: 500 12px var(--f-mono); color: var(--main); text-transform: uppercase; letter-spacing: .08em; }
body .fit-page .step b { font: 600 18px var(--f-display); }
body .fit-page .step span { color: var(--muted); }

/* Referenzen */
body .fit-page .cases { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
body .fit-page .case { display: grid; grid-template-rows: auto 1fr; overflow: hidden; }
body .fit-page .case .img { aspect-ratio: 16 / 9; max-width: 100%; }
body .fit-page .case .img img { width: 100%; height: 100%; object-fit: cover; }
body .fit-page .case .img .ph { height: 100%; border-radius: 0; border-width: 0 0 1px; }
body .fit-page .case .body { padding: 22px; display: grid; gap: 14px; align-content: start; }
body .fit-page .facts { display: flex; flex-wrap: wrap; gap: 6px; }
body .fit-page .facts span { font: 12px var(--f-mono); padding: 3px 8px; border-radius: 4px; background: var(--bg); border: 1px solid var(--line); }
body .fit-page dl.psr { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 16px; margin: 0; font-size: 15px; }
body .fit-page dl.psr dt { font: 500 12px/2 var(--f-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
body .fit-page dl.psr dd { margin: 0; }
body .fit-page blockquote { margin: 0; padding-left: 14px; border-left: 3px solid var(--line); color: var(--muted); font-size: 15px; }

/* Bewertungen */
body .fit-page .score { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-bottom: 26px; }
body .fit-page .score .big { font: 700 44px/1 var(--f-display); }
body .fit-page .reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body .fit-page .rev { display: grid; grid-template-rows: auto 1fr auto; gap: 12px; padding: 22px; }
body .fit-page .rev p { font-size: 15px; }
body .fit-page .rev .who { font-size: 14px; color: var(--muted); }
body .fit-page .rev .who b { color: var(--txt); }

/* Über mich */
body .fit-page .about { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 44px; align-items: start; }
body .fit-page .about.compact { grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 32px; align-items: center; }
body .fit-page .portrait { aspect-ratio: 4 / 5; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); max-width: 100%; }
body .fit-page .portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
body .fit-page .chips { display: flex; flex-wrap: wrap; gap: 6px; }
body .fit-page .chips span, body .fit-page .chips a { font-size: 14px; padding: 5px 12px; border-radius: 999px; background: var(--bg); border: 1px solid var(--line); color: var(--txt); text-decoration: none; }
body .fit-page .chips a:hover { border-color: var(--main); color: var(--main); }
body .fit-page .values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body .fit-page .values .card { padding: 20px; display: grid; gap: 6px; }
body .fit-page .values span { color: var(--muted); font-size: 15px; }

/* IT-Lösungen Detail */
body .fit-page .detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; scroll-margin-top: 100px; }
body .fit-page .detail .side { padding: 22px; display: grid; gap: 12px; }
body .fit-page .detail .side h3 { font-size: 15px; font-family: var(--f-mono); font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: var(--main); }
body .fit-page .detail .side .price { border-top: 1px solid var(--line); padding-top: 12px; font: 600 16px var(--f-display); }
body .fit-page .detail + .detail { margin-top: 64px; padding-top: 64px; border-top: 1px solid var(--line); }

/* FAQ */
body .fit-page .faq { display: grid; max-width: 820px; border-top: 1px solid var(--line); }
body .fit-page .faq details { border-bottom: 1px solid var(--line); padding: 16px 4px; }
body .fit-page .faq summary { cursor: pointer; font: 600 17px var(--f-display); list-style: none; display: flex; justify-content: space-between; gap: 16px; }
body .fit-page .faq summary::-webkit-details-marker { display: none; }
body .fit-page .faq summary::after { content: "+"; color: var(--main); font-weight: 700; }
body .fit-page .faq details[open] summary::after { content: "–"; }
body .fit-page .faq details p { margin-top: 10px; color: var(--muted); max-width: 66ch; }

/* Gebiet */
body .fit-page .places { display: flex; flex-wrap: wrap; gap: 8px; }
body .fit-page .places span { font-size: 15px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--box); }

/* Kontakt-Band und Kontaktseite */
body .fit-page .cta { position: relative; background-size: cover; background-position: center 30%; }
body .fit-page .cta::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,23,30,.78), rgba(17,23,30,.93)); }
body .fit-page .cta .wrap { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px; align-items: center; }
body .fit-page .num { font: 700 30px var(--f-display); color: var(--main); font-variant-numeric: tabular-nums; user-select: all; }
body .fit-page .contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 32px; align-items: start; }
body .fit-page .cbox { padding: 28px; display: grid; gap: 14px; }
body .fit-page .cbox dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 16px; margin: 0; font-size: 15px; }
body .fit-page .cbox dt { color: var(--muted); }
body .fit-page .cbox dd { margin: 0; }
body .fit-page .formslot { min-height: 360px; }

@media (max-width: 900px) {
  body .fit-page .prices, body .fit-page .split, body .fit-page .about, body .fit-page .about.compact, body .fit-page .detail, body .fit-page .cta .wrap, body .fit-page .contact { grid-template-columns: minmax(0, 1fr); }
  body .fit-page .shot, body .fit-page .portrait { max-width: 340px; }
  body .fit-page .grid4, body .fit-page .usps .wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .fit-page .usp { padding-left: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  body .fit-page .usp:nth-last-child(-n+2) { border-bottom: 0; }
  body .fit-page .reviews, body .fit-page .cases, body .fit-page .steps, body .fit-page .values, body .fit-page .rates3 { grid-template-columns: minmax(0, 1fr); }
  body .fit-page .hero .bgimg::after { background: linear-gradient(180deg, rgba(17,23,30,.75), rgba(17,23,30,.95)); }
}
@media (max-width: 560px) {
  body .fit-page .band { padding-block: 52px; }
  body .fit-page .grid4, body .fit-page .usps .wrap, body .fit-page .kpis { grid-template-columns: minmax(0, 1fr); }
  body .fit-page .usp:nth-last-child(2) { border-bottom: 1px solid var(--line); }
}

/* Wettbewerber-Update */
body .fit-page .tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
body .fit-page .tier { position: relative; padding: 22px; display: grid; gap: 8px; align-content: start; }
body .fit-page .tier h3 { font-size: 17px; }
body .fit-page .tier .p { font: 700 28px var(--f-display); color: var(--main); font-variant-numeric: tabular-nums; }
body .fit-page .tier.rec { border-color: var(--main); }
body .fit-page .badge { position: absolute; top: -11px; left: 22px; background: var(--main); color: var(--bg); font: 600 11px var(--f-mono); text-transform: uppercase; letter-spacing: .06em; padding: 4px 9px; border-radius: 4px; }
body .fit-page .notinc { margin-top: 14px; padding: 18px 22px; }
body .fit-page .notinc h3 { font-size: 15px; margin-bottom: 8px; }
body .fit-page .notinc ul { margin: 0; padding-left: 18px; color: var(--muted); display: grid; gap: 4px; }
body .fit-page .steps.s5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 900px) { body .fit-page .tiers, body .fit-page .steps.s5 { grid-template-columns: minmax(0, 1fr); } body .fit-page .tier.rec { margin-top: 8px; } }
/* Header, Footer und Seitenrahmen – nur die 5 Farben aus dem Corporate Design */
body.fit-site { margin: 0; background: #11171E; }
.fit-main { display: block; background: #11171E; }
body .fit-page .formslot-live { min-width: 0; }

#fit-header, #fit-footer { --main: #6EB6FF; --txt: #FFFFFF; --bg: #11171E; --box: #18212B; --line: #51575E; --muted: #FFFFFF;
  font-family: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; color: var(--txt); box-sizing: border-box; }
#fit-header *, #fit-footer * { box-sizing: border-box; }

#fit-header { position: sticky; top: 0; z-index: 9999; background: var(--bg); border-bottom: 1px solid var(--line); }
body.admin-bar #fit-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar #fit-header { top: 46px; } }
#fit-header .fit-hdr-in { max-width: 1120px; margin: 0 auto; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
#fit-header .fit-hdr-logo { display: block; line-height: 0; flex-shrink: 0; }
#fit-header .fit-hdr-logo img { height: 32px; width: auto; display: block; }
#fit-header .fit-hdr-nav { display: flex; align-items: center; gap: 4px; }
#fit-header .fit-hdr-item { position: relative; }
#fit-header .fit-hdr-link { display: flex; align-items: center; gap: 6px; padding: 8px 12px; color: var(--txt); text-decoration: none; font-size: 15px; font-weight: 500; white-space: nowrap; border-bottom: 2px solid transparent; }
#fit-header .fit-hdr-link:hover { color: var(--main); }
#fit-header .fit-hdr-link.on { border-bottom-color: var(--main); }
#fit-header .fit-hdr-caret { width: 9px; height: 9px; transition: transform .2s; }
#fit-header .fit-hdr-drop { position: absolute; top: calc(100% + 4px); left: 0; min-width: 260px; background: var(--box); border: 1px solid var(--line); border-radius: 10px; padding: 6px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .15s, transform .15s, visibility .15s; }
#fit-header .fit-hdr-item:hover .fit-hdr-drop, #fit-header .fit-hdr-item:focus-within .fit-hdr-drop { opacity: 1; visibility: visible; transform: none; }
#fit-header .fit-hdr-item:hover .fit-hdr-caret { transform: rotate(180deg); }
#fit-header .fit-hdr-drop a { display: block; padding: 9px 12px; border-radius: 6px; color: var(--muted); text-decoration: none; font-size: 14.5px; white-space: nowrap; }
#fit-header .fit-hdr-drop a:hover { color: var(--main); background: var(--bg); }
#fit-header .fit-hdr-right { display: flex; align-items: center; gap: 10px; }
#fit-header .fit-hdr-cta { display: inline-flex; align-items: center; gap: 8px; background: var(--main); color: var(--bg); padding: 10px 16px; border-radius: 8px; text-decoration: none; font-size: 14.5px; font-weight: 600; white-space: nowrap; }
#fit-header .fit-hdr-cta:hover { filter: brightness(1.1); }
#fit-header .fit-hdr-cta svg { width: 16px; height: 16px; }
#fit-header .fit-hdr-burger { display: none; background: none; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; padding: 10px 9px; flex-direction: column; gap: 5px; }
#fit-header .fit-hdr-burger span { display: block; width: 22px; height: 2px; background: var(--txt); border-radius: 2px; transition: transform .2s, opacity .2s; }
#fit-header.is-open .fit-hdr-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#fit-header.is-open .fit-hdr-burger span:nth-child(2) { opacity: 0; }
#fit-header.is-open .fit-hdr-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 980px) {
  #fit-header .fit-hdr-burger { display: flex; }
  #fit-header .fit-hdr-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: var(--bg); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 0; padding: 8px 16px 18px; max-height: calc(100vh - 70px); overflow-y: auto; }
  #fit-header.is-open .fit-hdr-nav { display: flex; }
  #fit-header .fit-hdr-link { padding: 13px 4px; font-size: 16px; justify-content: space-between; border-bottom: 1px solid var(--box); }
  #fit-header .fit-hdr-link.on { border-bottom-color: var(--main); }
  #fit-header .fit-hdr-drop { position: static; opacity: 1; visibility: visible; transform: none; background: transparent; border: 0; padding: 0 0 6px 12px; display: none; min-width: 0; }
  #fit-header .fit-hdr-item.open .fit-hdr-drop { display: block; }
  #fit-header .fit-hdr-item.open .fit-hdr-caret { transform: rotate(180deg); }
}
@media (max-width: 560px) {
  #fit-header .fit-hdr-cta .fit-hdr-num { display: none; }
  #fit-header .fit-hdr-cta { padding: 10px 12px; }
  #fit-header .fit-hdr-logo img { height: 28px; }
}

#fit-footer { background: var(--box); border-top: 1px solid var(--line); color: var(--muted); font-size: 14.5px; }
#fit-footer .fit-ftr-in { max-width: 1120px; margin: 0 auto; padding: 44px 20px 22px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; }
#fit-footer img { height: 30px; width: auto; display: block; margin-bottom: 12px; }
#fit-footer p { margin: 0 0 12px; line-height: 1.6; max-width: 300px; }
#fit-footer .fit-ftr-h { font: 500 12px "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--main); margin: 0 0 10px; }
#fit-footer a { display: block; color: var(--muted); text-decoration: none; line-height: 2; }
#fit-footer a:hover { color: var(--main); }
#fit-footer .fit-ftr-copy { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 16px; font-size: 13px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
@media (max-width: 780px) { #fit-footer .fit-ftr-in { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px) { #fit-footer .fit-ftr-in { grid-template-columns: 1fr; } }

/* Farben gegen Theme/Elementor absichern */
body .fit-page p, body .fit-page li, body .fit-page span, body .fit-page dd, body .fit-page dt, body .fit-page small, body .fit-page strong, body .fit-page b, body .fit-page summary, body .fit-page blockquote, body .fit-page label { color: inherit; }
body .fit-page h1, body .fit-page h2, body .fit-page h3, body .fit-page h4 { color: #FFFFFF; }
body .fit-page h1 em { color: #6EB6FF; }
body #fit-header a.fit-hdr-cta, body .fit-page a.btn.primary { color: #11171E; }
body.fit-site, body.fit-site .fit-main { background: #11171E; color: #FFFFFF; }
body #fit-header, body #fit-header a, body #fit-header span, body #fit-header button { color: #FFFFFF; }
body #fit-header a.fit-hdr-cta, body #fit-header a.fit-hdr-cta span { color: #11171E; }
body #fit-header a.fit-hdr-link:hover, body #fit-header .fit-hdr-drop a:hover { color: #6EB6FF; }
body #fit-footer, body #fit-footer p, body #fit-footer span, body #fit-footer a { color: #FFFFFF; }
body #fit-footer a:hover { color: #6EB6FF; }
body #fit-footer .fit-ftr-h { color: #6EB6FF; }

/* Formulare: Kontakt und Selbstcheck */
body .fit-page .fit-form { padding: 26px; display: block; min-width: 0; }
body .fit-page .ff-progress { height: 4px; background: #11171E; border-radius: 4px; overflow: hidden; margin-bottom: 22px; }
body .fit-page .ff-progress span { display: block; height: 100%; background: #6EB6FF; transition: width .25s; }
body .fit-page .ff-step { display: none; }
body .fit-page .ff-step.is-on { display: grid; gap: 14px; }
body .fit-page .ff-kicker { font: 500 12px var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: #6EB6FF; }
body .fit-page .ff-step h3 { font-size: 20px; }
body .fit-page .ff-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body .fit-page .ff-opts.col { grid-template-columns: minmax(0, 1fr); }
body .fit-page .ff-opt { text-align: left; font: 500 15px var(--f-body); color: #FFFFFF; background: #11171E; border: 1px solid #51575E; border-radius: 8px; padding: 14px 16px; cursor: pointer; min-height: 52px; }
body .fit-page .ff-opt:hover, body .fit-page .ff-opt.is-sel { border-color: #6EB6FF; }
body .fit-page .ff-opt.is-sel { background: #6EB6FF; color: #11171E; }
body .fit-page .ff-back { justify-self: start; background: none; border: 0; color: #FFFFFF; font: 500 14px var(--f-body); cursor: pointer; padding: 6px 0; }
body .fit-page .ff-back:hover { color: #6EB6FF; }
body .fit-page .ff-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body .fit-page .ff { display: grid; gap: 6px; font-size: 14px; }
body .fit-page .ff input, body .fit-page .ff textarea { width: 100%; font: 400 16px var(--f-body); color: #FFFFFF; background: #11171E; border: 1px solid #51575E; border-radius: 8px; padding: 12px 14px; }
body .fit-page .ff input:focus, body .fit-page .ff textarea:focus { outline: none; border-color: #6EB6FF; }
body .fit-page .ff-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; cursor: pointer; }
body .fit-page .ff-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: #6EB6FF; flex-shrink: 0; }
body .fit-page .ff-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
body .fit-page .ff-err { color: #6EB6FF; font-weight: 600; min-height: 0; margin: 0; }
body .fit-page .ff-err:empty { display: none; }
body .fit-page .ff-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
body .fit-page .ff-result { display: flex; gap: 16px; align-items: center; padding: 16px; border: 1px solid #51575E; border-radius: 10px; background: #11171E; }
body .fit-page .ff-result b { font: 600 18px var(--f-display); display: block; margin-bottom: 4px; }
body .fit-page .ff-result p { font-size: 14px; }
body .fit-page .ff-lamp { display: grid; gap: 5px; padding: 7px; border-radius: 8px; background: #18212B; border: 1px solid #51575E; flex-shrink: 0; }
body .fit-page .ff-lamp i { width: 14px; height: 14px; border-radius: 50%; background: #11171E; border: 1px solid #51575E; display: block; }
body .fit-page .ff-result.rot .ff-lamp i:nth-child(1), body .fit-page .ff-result.gelb .ff-lamp i:nth-child(2), body .fit-page .ff-result.gruen .ff-lamp i:nth-child(3) { background: #6EB6FF; border-color: #6EB6FF; box-shadow: 0 0 10px #6EB6FF; }
body .fit-page .ff-done p a { color: #6EB6FF; }
body .fit-page .formslot-live .fit-form { height: 100%; }
@media (max-width: 560px) {
  body .fit-page .fit-form { padding: 18px; }
  body .fit-page .ff-opts, body .fit-page .ff-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Impressum & Datenschutz */
body .fit-page .legal { max-width: 760px; display: grid; gap: 10px; }
body .fit-page .legal h2 { margin-bottom: 8px; }
body .fit-page .legal h3 { font-size: 17px; margin-top: 14px; color: #6EB6FF; }
body .fit-page .legal ul { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
body .fit-page section[id] { scroll-margin-top: 80px; }
body .fit-page .tiers.t4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .fit-page .detail .side .tick { font-size: 14px; }
@media (max-width: 1100px) { body .fit-page .tiers.t4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { body .fit-page .tiers.t4 { grid-template-columns: minmax(0, 1fr); } }

/* Datenschutz-Hinweis */
#fit-notice { position: fixed; left: 50%; bottom: 16px; z-index: 10000; width: min(680px, calc(100% - 32px)); transform: translate(-50%, 20px); opacity: 0; transition: opacity .25s, transform .25s;
  display: flex; align-items: center; gap: 16px; padding: 14px 16px 14px 18px; background: #18212B; border: 1px solid #51575E; border-radius: 12px; box-shadow: 0 10px 30px rgba(17,23,30,.6);
  font: 400 14px/1.5 "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; color: #FFFFFF; box-sizing: border-box; }
#fit-notice.is-on { opacity: 1; transform: translate(-50%, 0); }
#fit-notice[hidden] { display: none; }
body #fit-notice p { margin: 0; color: #FFFFFF; }
body #fit-notice a { color: #6EB6FF; }
#fit-notice button { flex-shrink: 0; background: #6EB6FF; color: #11171E; border: 0; border-radius: 8px; padding: 10px 22px; font: 600 14px "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; cursor: pointer; }
#fit-notice button:hover { filter: brightness(1.1); }
@media (max-width: 560px) { #fit-notice { flex-direction: column; align-items: stretch; text-align: left; bottom: 12px; } #fit-notice button { width: 100%; } }
#fit-notice .fit-notice-btns { display: flex; gap: 8px; flex-shrink: 0; }
#fit-notice button.ghost { background: transparent; color: #FFFFFF; border: 1px solid #51575E; }
#fit-notice button.ghost:hover { border-color: #6EB6FF; color: #6EB6FF; filter: none; }
@media (max-width: 560px) { #fit-notice .fit-notice-btns { flex-direction: column; } }

/* 1.4: aufklappbare Leistungslisten und Sprungmenü auf IT-Lösungen */
body .fit-page details.more { margin-top: 4px; }
body .fit-page details.more summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 8px; font: 600 15px var(--f-display); color: var(--main); }
body .fit-page details.more summary::-webkit-details-marker { display: none; }
body .fit-page details.more summary::after { content: "+"; font-weight: 700; }
body .fit-page details.more[open] summary::after { content: "–"; }
body .fit-page details.more > ul { margin-top: 12px; }
body .fit-page .chips.jump .jl { background: none; border: 0; padding-left: 0; font-weight: 600; }

/* 1.5: Handy-Ansicht absichern, auch gegen Vorgaben von Theme und Elementor */
body .fit-page, body #fit-header, body #fit-footer { overflow-wrap: break-word; }
body .fit-page *, body #fit-header *, body #fit-footer * { min-width: 0; box-sizing: border-box; }
body .fit-page button, body .fit-page .btn, body .fit-page a, body .fit-page dd, body .fit-page dt,
body .fit-page p, body .fit-page li, body .fit-page span, body .fit-page h1, body .fit-page h2, body .fit-page h3,
body .fit-page blockquote, body .fit-page label, body .fit-page summary { white-space: normal; }
body .fit-page .ff-opt { display: block; width: 100%; max-width: 100%; height: auto; min-height: 48px; line-height: 1.4; text-align: left; white-space: normal; text-transform: none; letter-spacing: normal; box-shadow: none; }
body .fit-page .ff-back, body .fit-page button.btn { white-space: normal; height: auto; text-transform: none; letter-spacing: normal; box-shadow: none; }
body .fit-page .ff-back { border: 0; background: none; }
body .fit-page a[href^="mailto:"] { overflow-wrap: anywhere; word-break: break-word; }
body .fit-page input, body .fit-page textarea, body .fit-page select { max-width: 100%; }
body .fit-page img, body .fit-page video { max-width: 100%; height: auto; }
@media (max-width: 760px) {
  body .fit-page .chips.jump { gap: 8px; }
  body .fit-page .ff-actions { flex-direction: column-reverse; align-items: stretch; }
  body .fit-page .ff-actions .btn { width: 100%; }
  body .fit-page .ff-actions .ff-back { align-self: flex-start; }
  body .fit-page .ff-result { flex-direction: column; align-items: flex-start; }
}

/* 1.5: Alte Kopf-/Fußzeilen von Theme und „Elementor Header & Footer“ auf Beiträgen ausblenden */
body.fit-live #masthead, body.fit-live #site-header, body.fit-live header.site-header,
body.fit-live #site-footer, body.fit-live footer.site-footer, body.fit-live #colophon,
body.fit-live .hfe-before-footer-wrap, body.fit-live .ehf-header #masthead, body.fit-live .ehf-footer footer { display: none !important; }

body .fit-page .tiers.t2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) { body .fit-page .tiers.t2 { grid-template-columns: minmax(0, 1fr); } }

/* Webdesign-Referenzen (anonymisiert) */
body .fit-page .refs-web { margin-top: 34px; display: grid; gap: 14px; }
body .fit-page .refs-web-h { display: grid; gap: 4px; }
body .fit-page .refs-web-h h3 { font-size: 19px; }
body .fit-page .refs-web-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 720px) { body .fit-page .refs-web-grid { grid-template-columns: minmax(0, 1fr); } }
body .fit-page .reftile { margin: 0; padding: 0; overflow: hidden; display: flex; flex-direction: column; }
body .fit-page .rt-bar { display: flex; align-items: center; gap: 6px; padding: 9px 12px; background: #11171E; border-bottom: 1px solid #51575E; }
body .fit-page .rt-bar span { width: 9px; height: 9px; border-radius: 50%; background: #51575E; flex: 0 0 auto; }
body .fit-page .rt-bar em { margin-left: 8px; flex: 1; min-width: 0; font: 12px/1.6 var(--f-mono); font-style: normal; color: #FFFFFF; border: 1px solid #51575E; border-radius: 6px; padding: 2px 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body .fit-page .rt-shot { position: relative; aspect-ratio: 820 / 551; overflow: hidden; background: #11171E; }
body .fit-page .rt-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
body .fit-page .rt-badge { position: absolute; left: 10px; top: 10px; background: #11171E; border: 1px solid #51575E; color: #6EB6FF; font: 600 11px/1 var(--f-mono); text-transform: uppercase; letter-spacing: .06em; padding: 6px 10px; border-radius: 999px; }
body .fit-page .reftile figcaption { padding: 16px 18px 18px; display: grid; gap: 4px; color: #FFFFFF !important; font-style: normal; text-align: left; opacity: 1; }
body .fit-page .reftile figcaption b { font-family: var(--f-display); font-size: 18px; color: #6EB6FF !important; }
body .fit-page .reftile figcaption span { font-size: 15px; line-height: 1.55; color: #FFFFFF !important; opacity: 1; }
body .fit-page .refs-web-h .fine { font-size: 14px; color: #FFFFFF !important; opacity: 1; }
body .fit-page .refs-web-h h3 { color: #FFFFFF !important; }
body .fit-page .rt-bar em { color: #FFFFFF !important; opacity: 1; }

/* Webdesign: Preis-auf-Anfrage-Box */
body .fit-page .wd-ask { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; }
body .fit-page .wd-ask > div { display: grid; gap: 4px; }
body .fit-page .wd-ask b { font: 700 24px var(--f-display); color: var(--main); }
body .fit-page .wd-ask span { color: #FFFFFF; font-size: 15px; max-width: 640px; }
body .fit-page .wd-ask .btn { flex-shrink: 0; }
@media (max-width: 720px) { body .fit-page .wd-ask { flex-direction: column; align-items: stretch; } body .fit-page .wd-ask .btn { text-align: center; } }
