/* nc-cookie-banner-optimizer */
#cmplz-cookiebanner, .cmplz-cookiebanner, #cmplz-cookiebanner-container, .cmplz-cookiebanner-container {
        display: none !important;
    }
    body.cmplz-user-interacted #cmplz-cookiebanner,
    body.cmplz-user-interacted .cmplz-cookiebanner,
    body.cmplz-user-interacted #cmplz-cookiebanner-container,
    body.cmplz-user-interacted .cmplz-cookiebanner-container {
        display: block !important;
    }
    #cmplz-cookiebanner.cmplz-dismissed,
    .cmplz-cookiebanner.cmplz-dismissed,
    #cmplz-cookiebanner-container.cmplz-dismissed,
    .cmplz-cookiebanner-container.cmplz-dismissed,
    body.cmplz-user-interacted #cmplz-cookiebanner.cmplz-dismissed,
    body.cmplz-user-interacted .cmplz-cookiebanner.cmplz-dismissed,
    body.cmplz-user-interacted #cmplz-cookiebanner-container.cmplz-dismissed,
    body.cmplz-user-interacted .cmplz-cookiebanner-container.cmplz-dismissed {
        display: none !important;
    }
    .cmplz-cookiebanner .cmplz-close {
        min-width: 44px !important;
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        padding: 12px !important;
        margin: -10px -10px 0 0 !important;
        box-sizing: border-box !important;
        z-index: 10 !important;
    }
    .cmplz-cookiebanner .cmplz-close svg {
        width: 16px !important;
        height: 16px !important;
        pointer-events: none !important;
    }

    @media (max-width: 767px) {
        body.home .entry-content .wp-block-group:not(.nc-hero-parallax-bg):has(.ncx-reveal) .alignwide {
            display: grid !important;
            grid-template-columns: repeat(2, 1fr) !important;
            grid-template-rows: auto !important;
            gap: 14px !important;
        }
        @media (max-width: 480px) {
            body.home .entry-content .wp-block-group:not(.nc-hero-parallax-bg):has(.ncx-reveal) .alignwide {
                grid-template-columns: 1fr !important;
            }
        }
        body.home .entry-content a.ncx-reveal[class] {
            grid-column: span 1 !important;
            grid-row: span 1 !important;
            aspect-ratio: 1.35 / 1 !important;
            min-height: 180px !important;
            border-radius: 18px !important;
        }
        body.home .entry-content a.ncx-reveal > div[style*="position:absolute"] {
            padding: 18px !important;
        }
        body.home .entry-content a.ncx-reveal h3 {
            font-size: 15px !important;
            line-height: 1.35 !important;
            margin: 6px 0 4px !important;
        }
        body.home .entry-content a.ncx-reveal p {
            display: none !important;
        }
        body.home .entry-content a.ncx-reveal span[style*="font-size:12px"] {
            font-size: 10px !important;
            padding: 4px 10px !important;
        }
        body.home .entry-content a.ncx-reveal span[style*="font-weight:700"] {
            font-size: 11.5px !important;
        }
    }
    /* Critical Header and Layout Stability rules to eliminate CLS (Cumulative Layout Shift) */
    .site-header-wrap,
    #masthead,
    .site-header,
    header#masthead {
        height: 88px !important;
        min-height: 88px !important;
        max-height: 88px !important;
    }
    @media (max-width: 1024px) {
        .site-header-wrap,
        #masthead,
        .site-header,
        header#masthead {
            height: 76px !important;
            min-height: 76px !important;
            max-height: 76px !important;
        }
    }
    .content-wrap {
        position: relative !important;
    }
    /* Critical Hero Layout stability rules for CLS optimization */
    .nc-hero-parallax-bg {
        min-height: calc(100vh - 116px) !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        overflow: hidden !important;
    }
    .nc-hero-parallax-bg > .wp-block-group__inner-container {
        min-height: calc(100vh - 116px) !important;
        height: 100% !important;
        width: 100% !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    .nc-hero-background-media {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        /* wp-custom.min.css setzt hier left:50% mit transform:translateX(-50%) fuer Full-Bleed.
           Da wir left auf 0 zuruecksetzen, muss der Versatz mit zurueckgenommen werden,
           sonst rutscht das Hero-Bild um die halbe Breite nach links. */
        transform: none !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 1 !important;
        pointer-events: none !important;
        overflow: hidden !important;
    }
    .nc-mobile-hero-poster, .nc-mobile-hero-img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        aspect-ratio: 1688 / 1125 !important;
    }
    /* Disable Parallax effect on mobile viewports to eliminate CLS layout shifts completely */
    @media (max-width: 767px) {
        .nc-hero-parallax-bg,
        .nc-hero-parallax-bg > .wp-block-group__inner-container {
            height: auto !important;
            min-height: calc(100vh - 76px) !important;
            max-height: none !important;
            overflow: visible !important;
        }
        .nc-hero-parallax-bg > .wp-block-group__inner-container > .nc-hero-background-media > div,
        .nc-hero-parallax-bg > .wp-block-group__inner-container > .nc-hero-background-media > div.nc-mobile-hero-fallback,
        .nc-hero-parallax-bg > .wp-block-group__inner-container > .nc-hero-background-media > img,
        .nc-hero-parallax-bg > .wp-block-group__inner-container > .nc-hero-background-media > video {
            transform: none !important;
            top: 0 !important;
            left: 0 !important;
            width: 100% !important;
            height: 100% !important;
            position: absolute !important;
        }
    }
    
    /* Hero Columns responsive wrapping */
    .nc-hero-cols {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
    }
    .nc-hero-col-left {
        flex: 0 0 60% !important;
        max-width: 60% !important;
    }
    .nc-hero-col-right {
        flex: 0 0 40% !important;
        max-width: 40% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    
    @media (max-width: 991px) {
        .nc-hero-cols {
            flex-direction: column !important;
            align-items: center !important;
            gap: 40px !important;
        }
        .nc-hero-col-left, .nc-hero-col-right {
            flex: 0 0 100% !important;
            max-width: 100% !important;
            width: 100% !important;
        }
        .nc-hero-col-left {
            text-align: center !important;
        }
        .nc-hero-col-left p[style*="display:inline-flex"],
        .nc-hero-col-left p[style*="display: inline-flex"] {
            display: inline-flex !important;
        }
        .nc-hero-col-left div[style*="display:flex"],
        .nc-hero-col-left div[style*="display: flex"] {
            justify-content: center !important;
        }
        .nc-hero-col-left .wp-block-buttons {
            justify-content: center !important;
        }
        .nc-hero-col-left div[style*="margin-top:16px"],
        .nc-hero-col-left div[style*="margin-top: 16px"] {
            justify-content: center !important;
        }
    }
    
    @media (max-width: 767px) {
        .nc-hero-parallax-bg {
            padding-top: 140px !important; /* Clears fixed header on mobile */
            padding-bottom: 60px !important;
        }
        .nc-hero-col-left h1 {
            font-size: clamp(28px, 8vw, 42px) !important;
            line-height: 1.1 !important;
        }
        .nc-hero-col-left p {
            font-size: 16px !important;
        }
        .nc-hero-col-left .wp-block-button a {
            padding: 14px 24px !important;
            font-size: 15px !important;
            width: 100% !important;
            text-align: center !important;
        }
        .nc-hero-col-left .wp-block-button.is-style-outline a {
            padding: 14px 24px !important;
            font-size: 15px !important;
            width: 100% !important;
            text-align: center !important;
        }
    }
/* nc-cta-trust-fix */
.nc-core-cta-trust{flex-basis:100% !important;width:100% !important;order:99 !important}
/* nc-mobile-hotfix */
/* Fix horizontal scroll and grid responsiveness */
  html, body { overflow-x: hidden !important; width: 100% !important; position: relative; }
  
  .nc-grid-3, .nc-grid-2, .nc-bento-grid, .services-grid, .process-grid, .b2b-grid {
    display: grid !important; width: 100% !important;
  }
  
  @media (max-width: 900px) {
    .nc-grid-3, .nc-grid-2, .nc-bento-grid, .services-grid, .process-grid, .b2b-grid {
      grid-template-columns: 1fr !important; gap: 24px !important;
    }
    .wp-block-kadence-rowlayout, .kt-row-layout-inner {
      padding-left: 15px !important; padding-right: 15px !important;
    }
  }
  
  /* Mobile Menu Visibility Fix */
  #mobile-site-navigation .drawer-menu-container, 
  .mobile-navigation,
  #mobile-menu-drawer { background-color: #ffffff !important; color: #333333 !important; }
  .menu-toggle-open, .menu-toggle-close { color: #000000 !important; z-index: 9999 !important; }
  
  /* Clean up overlapping Kadence rows on small mobile */
  @media (max-width: 480px) {
    .wp-block-kadence-column { margin-bottom: 20px !important; }
  }
/* nc-perf-breadcrumbs-v1 */
/* ── Breadcrumb Styling ── */
.rank-math-breadcrumb, .kadence-breadcrumbs {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #94A3B8 !important;
  padding: 16px 0 !important;
  max-width: 1200px;
  margin: 0 auto;
}
.rank-math-breadcrumb a, .kadence-breadcrumbs a {
  color: #64748B !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}
.rank-math-breadcrumb a:hover, .kadence-breadcrumbs a:hover {
  color: #2FB8A6 !important;
}
.rank-math-breadcrumb .separator, .kadence-breadcrumbs .separator {
  margin: 0 8px;
  color: #CBD5E1;
}

/* ── Rank Math Score Bar Hide (public) ── */
.rank-math-counter,
.rank-math-tooltip,
[class*="rank-math-stats"],
.rank-math-content-ai-score {
  display: none !important;
}

/* ── Performance: Font Display Swap ── */
@font-face {
  font-family: 'Poppins';
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  font-display: swap;
; font-display: swap;}

/* ── Smooth Page Transitions ── */
html { scroll-behavior: smooth; }

/* ── Selection Color ── */
::selection {
  background: rgba(45, 212, 191, 0.3);
  color: #0E293C;
}

/* ── Focus Visible for Accessibility ── */
:focus-visible {
  outline: 3px solid #2FB8A6;
  outline-offset: 2px;
  border-radius: 4px;
}

/* ── Print Styles ── */
@media print {
  .nc-floating-cta, .header-navigation, footer, .nc-mega-cta { display: none !important; }
  body { font-size: 12pt; color: #000; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: #666; }
}
/* nc-interactions-inline-css */
.ncx-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s ease; }
.ncx-reveal.is-in { opacity: 1; transform: translateY(0); }
.ncx-audience-panel[hidden] { display: none !important; }
.ncx-accordion-panel { max-height: 0; overflow: hidden; transition: max-height .35s ease, padding .35s ease; padding-top: 0 !important; padding-bottom: 0 !important; }
.ncx-accordion-item.is-open .ncx-accordion-panel { max-height: 1200px !important; padding-bottom: 24px !important; }
.ncx-accordion-item.is-open .ncx-accordion-vline { display: none; }
.ncx-slider-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.1s ease; }
@keyframes ncKenBurns {
  0% { transform: scale(1); }
  100% { transform: scale(1.08); }
}
.ncx-slider-slide.is-active { opacity: 1; animation: ncKenBurns 4.8s ease-out forwards; }

/* E5: clip-path image reveal */
.ncx-image-reveal { position: relative; overflow: hidden; }
.ncx-image-reveal img { 
  clip-path: inset(100% 0px 0px 0px); 
  transition: clip-path 1.4s cubic-bezier(0.16, 1, 0.3, 1); 
}
.ncx-image-reveal.is-in img { 
  clip-path: inset(0% 0px 0px 0px); 
}

/* E6: word-blur headline (disabled) */
.ncx-word-blur { display: inline; }

/* E8: Bezirkskarte styling & pulse */
@keyframes ncxPulse {
  0% { box-shadow: 0 0 0 0 rgba(14, 169, 155, 0.4); }
  70% { box-shadow: 0 0 0 8px rgba(14, 169, 155, 0); }
  100% { box-shadow: 0 0 0 0 rgba(14, 169, 155, 0); }
}
.ncx-map-dot { animation: ncxPulse 2s infinite; }
.ncx-map-dot:hover { animation: none !important; }

/* E8: Bezirkskarte SVG Hotspots (alternative template) */
.nc-district-map-wrapper { position: relative; width: 100%; max-width: 800px; margin: 0 auto; }
.nc-district-hotspot { fill: #2FB8A6; fill-opacity: 0; stroke: #2FB8A6; stroke-width: 1.5; stroke-opacity: 0; cursor: pointer; transition: fill-opacity 0.25s, stroke-opacity 0.25s; }
.nc-district-hotspot:hover { fill-opacity: 0.18; stroke-opacity: 0.85; }
.nc-map-tooltip { position: absolute; display: none; background: #12324A; color: #fff; padding: 6px 12px; border-radius: 100px; font-size: 12.5px; font-weight: 700; pointer-events: none; z-index: 10; border: 1px solid #2FB8A6; box-shadow: 0 4px 12px rgba(18,35,63,.18); transform: translate(-50%, -100%); margin-top: -12px; white-space: nowrap; }

/* E11: Scroll-driven checkmark animation */
.ncx-reveal svg[stroke] polyline,
.ncx-reveal svg[stroke] path {
  stroke-dasharray: 40;
  stroke-dashoffset: 40;
  transition: stroke-dashoffset 0.85s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
}
.ncx-reveal.is-in svg[stroke] polyline,
.ncx-reveal.is-in svg[stroke] path {
  stroke-dashoffset: 0;
}

/* E10: Before/After Drag Slider */
.ncx-before-after { position: relative; width: 100%; aspect-ratio: 4/3; border-radius: 20px; overflow: hidden; box-shadow: 0 20px 44px rgba(18,35,63,.12); user-select: none; }
.ncx-ba-after-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ncx-ba-before { position: absolute; inset: 0 auto 0 0; width: 50%; overflow: hidden; z-index: 2; }
.ncx-ba-before-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ncx-before-after .ncx-ba-before-img { width: 100%; max-width: none; }
.ncx-ba-handle { position: absolute; top: 0; bottom: 0; left: 50%; width: 4px; background: #2FB8A6; cursor: ew-resize; z-index: 3; transform: translateX(-50%); box-shadow: 0 0 10px rgba(0,0,0,0.3); }
.ncx-ba-handle-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; border-radius: 50%; background: #2FB8A6; border: 3px solid #fff; display: flex; align-items: center; justify-content: center; color: #fff; box-shadow: 0 4px 10px rgba(0,0,0,0.25); pointer-events: none; }
.ncx-ba-handle-button::before { content: "↔"; font-weight: 800; font-size: 18px; }


/* --- Universal B2B Motion Engine: Styles & Micro-interactions --- */
.motion-hover-lift,
.motion-hover-zoom img,
.motion-button-pulse,
.ncx-accordion-trigger svg,
.ncx-accordion-vline {
  transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

/* E1 & E2: Micro-interactions - Lift & Zoom */
@media (hover: hover) {
  .motion-hover-lift {
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
  }
  .motion-hover-lift:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 20px 40px rgba(18, 35, 63, 0.12) !important;
  }
  .motion-hover-zoom {
    overflow: hidden;
  }
  .motion-hover-zoom img {
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
  }
  .motion-hover-zoom:hover img {
    transform: scale(1.03) !important;
  }
}

/* E3: CTA Button Pulse & Shine Effect */
.motion-button-pulse {
  position: relative;
  overflow: hidden;
  min-width: 48px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
@keyframes ncxBtnPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.03); }
  100% { transform: scale(1); }
}
@media (hover: hover) {
  .motion-button-pulse:hover {
    animation: ncxBtnPulse 1.2s infinite ease-in-out !important;
  }
  .motion-button-pulse::before {
    content: '';
    position: absolute;
    top: 0;
    left: -150%;
    width: 50%;
    height: 100%;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(255, 255, 255, 0.25),
      transparent
    );
    transform: skewX(-25deg);
    transition: none;
  }
  .motion-button-pulse:hover::before {
    left: 150%;
    transition: left 0.8s ease-in-out !important;
  }
}

/* Staggered Delay classes for Scroll-Reveal Grids */
.motion-stagger-1 { transition-delay: 100ms !important; }
.motion-stagger-2 { transition-delay: 200ms !important; }
.motion-stagger-3 { transition-delay: 300ms !important; }

/* Parallax Background Utility */
.motion-parallax-bg {
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Accordion trigger sizing and transition rotation */
.ncx-accordion-trigger {
  min-height: 48px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.ncx-accordion-trigger svg {
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.ncx-accordion-item.is-open .ncx-accordion-trigger svg {
  transform: rotate(180deg) !important;
}

@media (prefers-reduced-motion: reduce) {
  .ncx-reveal, .ncx-accordion-panel, .ncx-slider-slide { transition-duration: .001ms !important; }
  .ncx-reveal { opacity: 1 !important; transform: none !important; }
  .ncx-slider-slide.is-active { animation: none !important; opacity: 1 !important; }
  .ncx-image-reveal img { clip-path: none !important; }
  .ncx-word-blur .nc-word { opacity: 1 !important; filter: none !important; }
  .ncx-map-dot { animation: none !important; }
  .ncx-reveal svg[stroke] polyline,
  .ncx-reveal svg[stroke] path { stroke-dashoffset: 0 !important; transition: none !important; }
  .ncx-ba-before { width: 50% !important; }
  .ncx-ba-handle { left: 50% !important; display: none !important; }
  .motion-hover-lift, .motion-hover-zoom img, .motion-button-pulse {
    transition: none !important;
    transform: none !important;
    animation: none !important;
  }
}
/*# sourceURL=nc-interactions-inline-css */
/* nc-graetzl-cards */
/* Trust-Leiste: stand mit #1F2933 auf dunklem Navy - rund 1,2:1, praktisch unlesbar.
   Jetzt eigenes Navy-Band mit Teal-Akzentlinie, hellen Texten und Karten statt loser Zeilen. */
.nc-trust-bar-container{position:relative;background:linear-gradient(160deg,#0E293C 0%,#12324A 100%);
 padding:26px 20px;border-top:2px solid #2FB8A6;overflow:hidden}
.nc-trust-bar-container::before{content:"";position:absolute;width:420px;height:420px;top:-220px;right:-120px;
 background:radial-gradient(circle,rgba(47,184,166,.16),transparent 70%);pointer-events:none}
.nc-trust-bar{position:relative;display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
 max-width:1100px;margin:0 auto}
.nc-trust-item{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:14px;
 background:rgba(255,255,255,.05);border:1px solid rgba(94,234,212,.16);
 transition:transform .22s ease,border-color .22s ease,background .22s ease}
.nc-trust-item:hover{transform:translateY(-3px);border-color:rgba(94,234,212,.45);background:rgba(255,255,255,.09)}
.nc-google-item{cursor:pointer}
.nc-trust-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
 width:38px;height:38px;border-radius:11px;background:rgba(255,255,255,.94)}
.nc-trust-icon svg{width:22px;height:22px}
body .nc-trust-title{color:#FFFFFF !important;font-weight:700;font-size:15px;line-height:1.25}
body .nc-trust-subtitle{color:#AEB9C9 !important;font-size:13px;line-height:1.4;margin-top:2px}
.nc-trust-item > div:last-child{min-width:0}
@media(max-width:700px){
 .nc-trust-bar{gap:10px}
 .nc-trust-item{padding:12px 14px;width:100%}
 .nc-trust-bar-container{padding:20px 16px}
}
@media (prefers-reduced-motion:reduce){.nc-trust-item{transition:none}.nc-trust-item:hover{transform:none}}
/* nc-premium-v5 */
/* ── TOKENS ── */
:root {
  --nc-navy: #12324a;
  --nc-navy-deep: #0E293C;
  --nc-teal: #2FB8A6;
  --nc-teal-dark: #279C8D;
  --nc-teal-light: #2FB8A6;
  --nc-amber: #f59e0b;
  --nc-white: #ffffff;
  --nc-slate: #475569;
  --nc-slate-light: #475569;
  --nc-transition: 0.22s cubic-bezier(0.25, 0.8, 0.25, 1);
  --nc-radius-pill: 9999px;
  --nc-shadow-lg: 0 32px 80px -12px rgba(10,38,71,0.22), 0 0 0 1px rgba(10,38,71,0.06);
  --nc-shadow-sm: 0 4px 16px rgba(10,38,71,0.12);
  --nc-radius: 22px;
  --nc-radius-sm: 14px;
}

/* ── HEADER OVERRIDE & TRANSPARENCY ── */
#masthead,
.site-header,
header#masthead,
.wizard-header,
div.wp-block-kadence-rowlayout:has(.wp-block-navigation),
div.wp-block-kadence-rowlayout:has(#kt-layout-id_header-1) {
  background: rgba(10, 38, 71, 0.72) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
  transition: background 0.3s ease !important;
}

html.has-modal-open #masthead,
html.has-modal-open .site-header,
html.has-modal-open header#masthead,
html.has-modal-open .wizard-header,
html.has-modal-open div.wp-block-kadence-rowlayout:has(.wp-block-navigation),
html.has-modal-open div.wp-block-kadence-rowlayout:has(#kt-layout-id_header-1) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
@media (min-width: 1025px) {
  /* Force middle column navigation space and prevent wrapping */
  .kt-layout-id_header-1 > .kt-row-column-wrap {
    grid-template-columns: 18% 58% 24% !important;
  }
  .wp-block-navigation__container {
    flex-wrap: nowrap !important;
  }
}

/* Hide Branchen from main navigation */
.menu-item-19900,
#menu-item-19900,
li.menu-item a[href*="/branchen/"] {
  display: none !important;
}
.site-header-wrap,
.site-header-inner-wrap,
.site-header-upper-wrap,
.site-header-upper-inner-wrap {
  background: transparent !important;
}
#masthead .site-header-row-container-inner,
.site-header .site-header-row-container-inner {
  background: transparent !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* Centering Layout */
.site-main-header-inner-wrap {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
.site-header-main-section-left {
  flex: 0 0 auto !important;
}
.site-header-main-section-right {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex: 1 1 auto !important;
  margin-left: 40px !important;
  padding-right: 40px !important;
}
.main-navigation ul.menu,
.primary-navigation ul.menu {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Logo white filter & height restriction (max. 56px) */
.site-branding img,
.brand img,
.site-logo img,
.custom-logo-link img {
  max-height: 52px !important;
  height: 52px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  transition: opacity var(--nc-transition) !important;
}
.site-branding img:hover,
.brand img:hover {
  opacity: 0.85 !important;
}

/* Hide chevrons on logo/home links, home menu link, and CTA buttons */
.site-branding .nc-chevron,
.brand .nc-chevron,
.kadence-column_hcol1 .nc-chevron,
a:has(img) .nc-chevron,
.header-cta-btn .nc-chevron,
.header-cta-btn a .nc-chevron,
.wp-block-navigation-item.header-cta-btn .nc-chevron,
.wp-block-navigation__responsive-container.is-menu-open a[href="https://www.nobleclean.at/"] .nc-chevron,
.wp-block-navigation__responsive-container.is-menu-open a[href="/"] .nc-chevron,
#kt-layout-id_header-1 a[href="/"] .nc-chevron {
  display: none !important;
}

/* Nav links white */
.main-navigation a,
.site-navigation a,
.primary-menu a,
.primary-navigation a,
#site-navigation a,
.nav-primary a,
nav ul li a,
.site-header-main-nav a {
  color: var(--nc-white) !important;
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  transition: color var(--nc-transition), background var(--nc-transition) !important;
}
.main-navigation a:hover,
.primary-navigation a:hover,
nav ul li a:hover {
  color: var(--nc-teal) !important;
  background: var(--nc-teal-pale) !important;
}

/* Hide default sub-menus on desktop – we handle them via portal */
@media (min-width: 1025px) {
  .main-navigation .sub-menu,
  .primary-navigation .sub-menu,
  nav .sub-menu,
  .kadence-navigation .sub-menu,
  .wp-block-navigation__submenu-container {
    display: none !important;
  }
}

/* CTA button in header */
.header-cta-btn,
a.header-cta-btn {
  background: var(--nc-teal) !important;
  color: var(--nc-navy) !important;
  font-weight: 800 !important;
  padding: 10px 22px !important;
  border-radius: var(--nc-radius-pill) !important;
  font-size: 13.5px !important;
  white-space: nowrap !important;
  transition: all var(--nc-transition) !important;
  box-shadow: 0 4px 14px rgba(45,212,191,0.35) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.header-cta-btn:hover {
  background: var(--nc-teal-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(45,212,191,0.45) !important;
}

/* ── PORTAL DROPDOWN BASE ── */
.nc-portal {
  position: fixed;
  z-index: 999999;
  pointer-events: auto;
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif;
  opacity: 0;
  transform: translateY(12px) scale(0.98);
  transition: opacity 0.24s cubic-bezier(0.22,1,0.36,1),
              transform 0.24s cubic-bezier(0.22,1,0.36,1);
  will-change: opacity, transform;
}
.nc-portal.nc-portal--visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* ── MEGA MENU PORTAL ── */
.nc-portal--mega {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(10, 38, 71, 0.08);
  border-top: 4px solid var(--nc-teal) !important; /* Premium color accent line */
  border-radius: var(--nc-radius);
  box-shadow: var(--nc-shadow-lg);
  padding: 44px 56px;
  width: 1380px;
  max-width: calc(100vw - 32px);
}
@media (max-width: 1420px) {
  .nc-portal--mega {
    width: calc(100vw - 32px) !important;
    left: 16px !important;
    padding: 32px 24px;
  }
}

/* ── STANDARD DROPDOWN ── */
.nc-portal--std {
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: var(--nc-radius-sm);
  box-shadow: var(--nc-shadow-lg);
  padding: 10px;
  min-width: 260px;
}

/* ── MEGA: HEADER LINE ── */
.nc-mega-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(10,38,71,0.08);
}
.nc-mega-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nc-teal-dark);
}
.nc-mega-all-link {
  font-size: 12px;
  font-weight: 700;
  color: var(--nc-slate);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: color var(--nc-transition);
}
.nc-mega-all-link:hover { color: var(--nc-teal); }
.nc-mega-all-link svg { transition: transform var(--nc-transition); }
.nc-mega-all-link:hover svg { transform: translateX(3px); }

/* ── MEGA: GRID ── */
.nc-mega-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px 12px;
}

/* ── MEGA: ITEM ── */
.nc-mega-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  border-radius: var(--nc-radius-sm);
  text-decoration: none;
  color: var(--nc-text);
  background: transparent;
  border: 1px solid transparent;
  transition: background var(--nc-transition), border-color var(--nc-transition), transform var(--nc-transition), box-shadow var(--nc-transition);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  opacity: 0;
  transform: translateY(8px);
}
.nc-mega-item.nc-anim-in {
  opacity: 1;
  transform: translateY(0);
}
.nc-mega-item:hover {
  background: rgba(45, 212, 191, 0.06);
  border-color: rgba(45, 212, 191, 0.2);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(10, 38, 71, 0.05), 0 2px 6px rgba(45, 212, 191, 0.1);
}

/* Icon pill */
.nc-mega-icon {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 14px;
  background: rgba(45, 212, 191, 0.10);
  color: var(--nc-navy-mid);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--nc-transition);
  position: relative;
  z-index: 1;
}
.nc-mega-icon svg {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.nc-mega-icon-small svg {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.nc-mega-icon .lottie-icon {
  width: 26px;
  height: 26px;
}
.nc-mega-item:hover .nc-mega-icon {
  background: linear-gradient(135deg, var(--nc-teal) 0%, var(--nc-teal-dark) 100%); /* Modern gradient accent */
  color: var(--nc-navy);
  transform: scale(1.08) rotate(-4deg);
}
.nc-mega-item:hover .nc-mega-icon svg {
  transform: scale(1.15) rotate(-6deg);
}
.nc-mega-item-small:hover .nc-mega-icon-small svg {
  transform: scale(1.15) rotate(6deg);
}

.nc-mega-text {
  position: relative;
  z-index: 1;
}
.nc-mega-text strong {
  display: block;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--nc-text);
  line-height: 1.3;
}
.nc-mega-text span {
  display: block;
  font-size: 12.5px;
  color: var(--nc-slate);
  font-weight: 500;
  margin-top: 2px;
  line-height: 1.3;
}

/* ── CTA BANNER ── */
.nc-mega-cta {
  grid-column: 1 / -1;
  margin-top: 12px;
  background: linear-gradient(135deg, var(--nc-navy) 0%, #1a3f5c 100%);
  border-radius: 16px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  text-decoration: none;
  transition: all var(--nc-transition);
  position: relative;
  overflow: hidden;
}
.nc-mega-cta::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(45,212,191,0.15) 0%, transparent 70%);
  pointer-events: none;
}
.nc-mega-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(10,38,71,0.35);
}
.nc-mega-cta .nc-cta-lottie {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}
.nc-mega-cta-text strong {
  display: block;
  color: var(--nc-white);
  font-size: 15px;
  font-weight: 800;
}
.nc-mega-cta-text span {
  color: rgba(255,255,255,0.65);
  font-size: 12.5px;
  font-weight: 500;
}
.nc-mega-cta-btn {
  background: var(--nc-teal);
  color: var(--nc-navy);
  padding: 11px 24px;
  border-radius: var(--nc-radius-pill);
  font-weight: 900;
  font-size: 13px;
  white-space: nowrap;
  transition: all var(--nc-transition);
  flex-shrink: 0;
}
.nc-mega-cta:hover .nc-mega-cta-btn {
  background: var(--nc-teal-dark);
  transform: translateX(3px);
}

/* ── STD DROPDOWN ITEMS ── */
.nc-std-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  text-decoration: none;
  color: var(--nc-text);
  font-size: 13.5px;
  font-weight: 600;
  transition: all var(--nc-transition);
  opacity: 0;
  transform: translateX(-6px);
}
.nc-std-item.nc-anim-in {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 0.25s ease, transform 0.25s ease, background var(--nc-transition);
}
.nc-std-item:hover {
  background: var(--nc-teal-pale);
  color: var(--nc-navy);
  transform: translateX(4px);
}
.nc-std-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(45,212,191,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background var(--nc-transition);
}
.nc-std-item:hover .nc-std-icon { background: var(--nc-teal); }

/* ── ACTIVE INDICATOR on nav trigger ── */
.nc-nav-active > a,
.nc-nav-active > .wp-block-navigation-item__content,
a.nc-nav-active {
  color: var(--nc-teal) !important;
}

/* ── MASTER MEGA MENU GRID & COLS ── */
.nc-mega-master-container {
  display: grid;
  grid-template-columns: 3.4fr 1.0fr 1.1fr 1.5fr; /* Widened services column */
  gap: 32px; /* Optimized column gap */
  width: 100%;
  align-items: start;
}
@media (max-width: 1420px) {
  .nc-mega-master-container {
    gap: 20px;
  }
}
.nc-mega-services-subgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}
.nc-mega-vertical-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.nc-mega-col-title {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--nc-navy-light);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(10,38,71,0.08);
  padding-bottom: 8px;
}
.nc-mega-col-icon {
  display: inline-flex;
  align-items: center;
  color: var(--nc-teal-dark);
}
.nc-mega-item-small {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  text-decoration: none !important;
  color: var(--nc-navy) !important;
  border: 1px solid transparent;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease, background var(--nc-transition), border-color var(--nc-transition);
}
.nc-mega-item-small.nc-anim-in {
  opacity: 1;
  transform: translateY(0);
}
.nc-mega-item-small:hover {
  background: var(--nc-teal-pale);
  border-color: rgba(45,212,191,0.2);
  transform: translateY(-1px) translateX(2px);
}
.nc-mega-icon-small {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(10,38,71,0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: var(--nc-transition);
  color: var(--nc-navy);
}
.nc-mega-item-small:hover .nc-mega-icon-small {
  background: var(--nc-teal);
  color: var(--nc-navy);
  transform: scale(1.05);
}
.nc-mega-text-small {
  line-height: 1.25;
}
.nc-mega-text-small strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--nc-navy);
}
.nc-mega-text-small span {
  display: block;
  font-size: 12px;
  color: var(--nc-slate-light);
}

/* CTA Card inside megamenu */
.nc-mega-cta-card {
  background: linear-gradient(135deg, #0E293C 0%, #12324A 100%);
  border: 1px solid rgba(45, 212, 191, 0.35); /* Premium colored border accent */
  border-radius: var(--nc-radius-sm);
  padding: 24px 20px;
  color: var(--nc-white);
  text-align: center;
  box-shadow: 0 20px 40px rgba(10, 38, 71, 0.3), 0 0 25px rgba(45, 212, 191, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  transition: transform var(--nc-transition), box-shadow var(--nc-transition), border-color var(--nc-transition);
}
.nc-mega-cta-card:hover {
  transform: translateY(-4px);
  border-color: var(--nc-teal); /* Glowing border on hover */
  box-shadow: 0 24px 48px rgba(10, 38, 71, 0.4), 0 0 30px rgba(45, 212, 191, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
.nc-mega-cta-card strong {
  display: block;
  font-size: 16.5px;
  font-weight: 800;
  margin-bottom: 4px;
}
.nc-mega-cta-card p {
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.9) !important; /* Force high contrast on dark background */
  margin: 0 0 14px 0 !important;
  font-weight: 500;
}

/* Trust logos container styling */
.nc-mega-trust-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}
.nc-mega-trust-logos a {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.nc-mega-trust-logos img {
  height: 50px;
  width: auto;
  object-fit: contain;
  transition: transform var(--nc-transition), filter var(--nc-transition) !important;
  filter: contrast(100%) brightness(100%);
}
.nc-mega-trust-logos img:hover {
  transform: scale(1.08);
}
.nc-mega-trust-logos img.nc-google-logo {
  height: 68px !important;
}
.nc-mega-cta-card-btn {
  display: block;
  background: var(--nc-teal);
  color: var(--nc-navy) !important;
  font-size: 12.5px;
  font-weight: 800;
  padding: 11px;
  border-radius: 8px;
  text-decoration: none !important;
  transition: var(--nc-transition);
  margin-bottom: 10px;
  box-shadow: 0 4px 12px rgba(45, 212, 191, 0.25);
}
.nc-mega-cta-card-btn:hover {
  background: var(--nc-teal-dark);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(45, 212, 191, 0.35);
}
.nc-mega-cta-card-phone {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--nc-teal) !important;
  text-decoration: none !important;
  transition: color var(--nc-transition), transform var(--nc-transition);
}
.nc-mega-cta-card-phone:hover {
  color: var(--nc-white) !important;
  transform: scale(1.02);
}
.nc-mega-cta-footer-links {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-left: 4px;
}
.nc-mega-cta-footer-links a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: var(--nc-navy-light) !important;
  text-decoration: none !important;
  transition: var(--nc-transition);
}
.nc-mega-cta-footer-links a:hover {
  color: var(--nc-teal-dark) !important;
  transform: translateX(2px);
}

/* ═══════════════════════════════════════════════════════════════════
   PREMIUM FOOTER
   ═══════════════════════════════════════════════════════════════════ */
#nc-premium-footer {
  display: none;
  background: var(--nc-navy);
  color: var(--nc-white);
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif;
  margin-top: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
}
#nc-premium-footer.nc-footer-ready {
  display: block !important;
}

/* Background subtle pattern */
#nc-premium-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 40% at 20% 60%, rgba(45,212,191,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 80% 30%, rgba(26,63,92,0.5) 0%, transparent 60%);
  pointer-events: none;
}

/* Top wave divider */
.nc-footer-wave {
  display: block;
  width: 100%;
  height: 60px;
  overflow: hidden;
  line-height: 0;
  margin-bottom: -2px;
}
.nc-footer-wave svg {
  width: 100%;
  height: 100%;
}

/* Main content */
.nc-footer-body {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 64px 24px 48px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px 40px;
}

/* Brand column */
.nc-footer-brand {}
.nc-footer-logo {
  height: 44px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.95;
  margin-bottom: 20px;
  display: block;
  transition: opacity var(--nc-transition);
}
.nc-footer-logo:hover { opacity: 1; }
.nc-footer-tagline {
  font-size: 14px !important;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.7 !important;
  margin-bottom: 24px !important;
  font-weight: 500 !important;
}
.nc-footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}
.nc-footer-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(45,212,191,0.1);
  border: 1px solid rgba(45,212,191,0.25);
  color: var(--nc-teal);
  padding: 6px 12px;
  border-radius: var(--nc-radius-pill);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.nc-footer-badge svg { width: 13px; height: 13px; }

.nc-footer-social {
  display: flex;
  gap: 10px;
}
.nc-footer-social-link {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--nc-white);
  text-decoration: none;
  transition: all var(--nc-transition);
  border: 1px solid rgba(255,255,255,0.1);
}
.nc-footer-social-link:hover {
  background: var(--nc-teal);
  color: var(--nc-navy);
  border-color: var(--nc-teal);
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(45,212,191,0.35);
}

/* Link columns */
.nc-footer-col {}
.nc-footer-col-title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--nc-teal);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(45,212,191,0.2);
  display: flex;
  align-items: center;
  gap: 8px;
}
.nc-footer-col-title .lottie-title-icon {
  width: 20px;
  height: 20px;
}

.nc-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.nc-footer-links li { list-style: none !important; }
.nc-footer-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 500;
  padding: 6px 0;
  transition: all var(--nc-transition);
  position: relative;
  border-radius: 6px;
}
.nc-footer-link::before {
  content: '';
  position: absolute;
  left: -8px;
  width: 3px;
  height: 0;
  background: var(--nc-teal);
  border-radius: 2px;
  transition: height var(--nc-transition), top var(--nc-transition);
  top: 50%;
}
.nc-footer-link:hover {
  color: var(--nc-white);
  padding-left: 8px;
}
.nc-footer-link:hover::before {
  height: 70%;
  top: 15%;
}
.nc-footer-link-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(45,212,191,0.4);
  flex-shrink: 0;
  transition: background var(--nc-transition), transform var(--nc-transition);
}
.nc-footer-link:hover .nc-footer-link-dot {
  background: var(--nc-teal);
  transform: scale(1.4);
}

/* CTA block in footer */
.nc-footer-cta-block {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, rgba(45,212,191,0.12) 0%, rgba(45,212,191,0.05) 100%);
  border: 1px solid rgba(45,212,191,0.2);
  border-radius: 20px;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  position: relative;
  overflow: hidden;
}
.nc-footer-cta-block::after {
  content: '';
  position: absolute;
  right: -40px;
  top: -40px;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(45,212,191,0.1) 0%, transparent 70%);
  pointer-events: none;
}
.nc-footer-cta-text strong {
  display: block;
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 6px;
}
.nc-footer-cta-text p {
  color: rgba(255,255,255,0.65) !important;
  font-size: 14px !important;
  margin: 0 !important;
}
.nc-footer-cta-actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}
.nc-footer-btn-primary {
  background: var(--nc-teal);
  color: var(--nc-navy);
  padding: 13px 28px;
  border-radius: var(--nc-radius-pill);
  font-weight: 900;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all var(--nc-transition);
  box-shadow: 0 4px 16px rgba(45,212,191,0.3);
}
.nc-footer-btn-primary:hover {
  background: var(--nc-teal-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(45,212,191,0.45);
}
.nc-footer-btn-secondary {
  background: rgba(255,255,255,0.08);
  color: var(--nc-white);
  padding: 13px 24px;
  border-radius: var(--nc-radius-pill);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.15);
  transition: all var(--nc-transition);
}
.nc-footer-btn-secondary:hover {
  background: rgba(255,255,255,0.15);
  border-color: rgba(255,255,255,0.3);
}

/* Bottom bar */
.nc-footer-bottom {
  position: relative;
  z-index: 1;
  border-top: 1px solid rgba(255,255,255,0.08);
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.nc-footer-copyright {
  color: rgba(255,255,255,0.62);
  font-size: 12.5px;
  font-weight: 500;
}
.nc-footer-legal {
  display: flex;
  gap: 20px;
}
.nc-footer-legal a {
  color: rgba(255,255,255,0.45);
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 500;
  transition: color var(--nc-transition);
}
.nc-footer-legal a:hover { color: var(--nc-teal); }

/* Scroll-reveal */
.nc-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.55s cubic-bezier(0.22,1,0.36,1), transform 0.55s cubic-bezier(0.22,1,0.36,1);
}
.nc-reveal.nc-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  /* Mobile header full-width layout: remove container side padding to stretch background */
  .ncx-header-target,
  div.wp-block-kadence-rowlayout:has(#kt-layout-id_header-1),
  div.wp-block-kadence-rowlayout:has(.wp-block-navigation) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .nc-footer-body {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 24px;
  }
  .nc-footer-brand {
    grid-column: 1 / -1;
  }
  .nc-footer-cta-block {
    flex-direction: column;
    text-align: center;
    padding: 24px;
  }
  .nc-footer-cta-actions {
    justify-content: center;
    width: 100%;
  }
  .nc-portal--mega { width: calc(100vw - 32px); padding: 20px; }
  .nc-mega-grid { grid-template-columns: repeat(2, 1fr); }

  /* Mobile menu submenu text color override */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a.wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:focus,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    color: var(--nc-teal) !important;
    background: rgba(255, 255, 255, 0.03) !important;
  }

  /* Force navy background and enable scrolling on mobile menu overlay */
  .wp-block-navigation__responsive-container.is-menu-open,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    background-color: var(--nc-navy) !important;
    background: var(--nc-navy) !important;
    color: var(--nc-white) !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open {
    overflow-y: auto !important;
    max-height: 100vh !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    height: auto !important;
    min-height: 100% !important;
    overflow: visible !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    height: auto !important;
    overflow: visible !important;
    padding-bottom: 80px !important;
  }

  /* Submenu toggles (chevrons) on mobile */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon.wp-block-navigation-submenu__toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--nc-white) !important;
    background: transparent !important;
    border: none !important;
    width: 44px !important;
    height: 44px !important;
    cursor: pointer !important;
    position: absolute !important;
    right: 15px !important;
    top: 8px !important;
    z-index: 10 !important;
    transition: transform 0.25s ease !important;
  }

  /* Rotate chevron when open */
  .wp-block-navigation-submenu.is-open > .wp-block-navigation-submenu__toggle svg {
    transform: rotate(180deg) !important;
  }

  /* Hide submenus by default on mobile, show when is-open */
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu.is-open > .wp-block-navigation__submenu-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    position: static !important;
    padding-left: 1.5rem !important;
    padding-right: 1rem !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border-radius: 8px !important;
    margin-top: 5px !important;
    margin-bottom: 5px !important;
  }
}

@media (max-width: 767px) {
  .nc-footer-body {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 48px 20px 32px;
  }
  .nc-footer-brand {
    text-align: center;
  }
  .nc-footer-logo {
    margin: 0 auto 20px;
  }
  .nc-footer-badges {
    justify-content: center;
  }
  .nc-footer-social {
    justify-content: center;
  }
  .nc-footer-col {
    text-align: center;
  }
  .nc-footer-col-title {
    justify-content: center;
    border-bottom: 1px solid rgba(45,212,191,0.15);
  }
  .nc-footer-link {
    justify-content: center;
    padding: 8px 0;
  }
  .nc-footer-link::before {
    display: none;
  }
  .nc-footer-tags-wrap {
    justify-content: center;
  }
  .nc-footer-cta-block {
    padding: 24px 20px;
    gap: 20px;
  }
  .nc-footer-cta-actions {
    flex-direction: column;
    width: 100%;
    gap: 12px;
  }
  .nc-footer-btn-primary,
  .nc-footer-btn-secondary {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
  .nc-footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
  .nc-footer-legal {
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 20px;
  }
}

@media (max-width: 640px) {
  .nc-mega-grid { grid-template-columns: 1fr; }
}

/* ── TRUST INSURANCE BAR ── */
.nc-trust-insurance-bar {
  background: #FFFFFF !important;
  border-top: 1px solid rgba(10, 38, 71, 0.06) !important;
  border-bottom: 1px solid rgba(10, 38, 71, 0.06) !important;
  padding: 18px 24px !important;
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif !important;
  position: relative !important;
  z-index: 10 !important;
  overflow: hidden !important;
}
.nc-tib-container {
  max-width: 1240px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 16px 32px !important;
}
.nc-tib-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 6px 12px !important;
  border-radius: 9999px !important;
  background: transparent !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  cursor: pointer !important;
}
.nc-tib-item:hover {
  background: rgba(255, 255, 255, 0.9) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 20px rgba(10, 38, 71, 0.04), 0 2px 6px rgba(45, 212, 191, 0.05) !important;
}
.nc-tib-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background-color: rgba(20, 184, 166, 0.08) !important;
  color: var(--nc-teal-dark, #2FB8A6) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  flex-shrink: 0 !important;
}
.nc-tib-icon svg {
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
.nc-tib-item:hover .nc-tib-icon {
  background-color: var(--nc-teal-dark, #2FB8A6) !important;
  color: #ffffff !important;
  transform: scale(1.08) rotate(8deg) !important;
}
.nc-tib-item:hover .nc-tib-icon svg {
  transform: scale(1.1) rotate(5deg) !important;
}
.nc-tib-text {
  color: var(--nc-navy-mid, #12324A) !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.015em !important;
  transition: color 0.25s ease !important;
}
.nc-tib-item:hover .nc-tib-text {
  color: var(--nc-teal-dark, #2FB8A6) !important;
}
@media (max-width: 1024px) {
  .nc-tib-container {
    gap: 14px 24px !important;
  }
}
@media (max-width: 768px) {
  .nc-trust-insurance-bar {
    padding: 20px 16px !important;
  }
  .nc-tib-container {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 12px !important;
  }
  .nc-tib-item {
    justify-content: flex-start !important;
    padding: 8px 14px !important;
    background: rgba(255, 255, 255, 0.6) !important;
    border: 1px solid rgba(10, 38, 71, 0.03) !important;
    box-shadow: 0 4px 10px rgba(10, 38, 71, 0.01) !important;
  }
  .nc-tib-item:hover {
    background: #ffffff !important;
  }
}
@media (max-width: 540px) {
  .nc-tib-container {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

/* Standout-Button für "Was uns wichtig ist" */
.nc-mega-wichtig-btn {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  padding: 12px 16px;
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.08) 0%, rgba(10, 38, 71, 0.03) 100%);
  border: 1.5px solid rgba(45, 212, 191, 0.45);
  border-radius: 12px;
  text-decoration: none !important;
  color: var(--nc-navy) !important;
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, sans-serif;
  position: relative;
  overflow: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.3s ease, transform 0.3s ease;
  box-shadow: 0 4px 15px rgba(45, 212, 191, 0.08), 0 2px 4px rgba(10, 38, 71, 0.02);
  cursor: pointer;
}

.nc-mega-wichtig-btn.nc-anim-in {
  opacity: 1;
  transform: translateY(0);
}

.nc-mega-wichtig-btn:hover {
  background: linear-gradient(135deg, var(--nc-navy) 0%, var(--nc-navy-mid) 100%);
  border-color: var(--nc-teal);
  color: var(--nc-white) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(10, 38, 71, 0.25), 0 0 20px rgba(45, 212, 191, 0.35);
}

.nc-wichtig-icon-wrap {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(45, 212, 191, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  color: var(--nc-teal-dark);
  flex-shrink: 0;
}

.nc-mega-wichtig-btn:hover .nc-wichtig-icon-wrap {
  background: rgba(45, 212, 191, 0.2);
  color: var(--nc-teal);
  transform: scale(1.08) rotate(-5deg);
}

.nc-mega-wichtig-btn .btn-text-wrap {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex-grow: 1;
  margin-left: 12px;
  text-align: left;
}

.nc-mega-wichtig-btn .btn-title {
  font-size: 13px;
  font-weight: 800;
  transition: color 0.3s ease;
}

.nc-mega-wichtig-btn:hover .btn-title {
  color: var(--nc-white);
}

.nc-mega-wichtig-btn .btn-subtitle {
  font-size: 9px;
  color: var(--nc-teal-dark);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: color 0.3s ease;
}

.nc-mega-wichtig-btn:hover .btn-subtitle {
  color: var(--nc-teal);
}

.nc-mega-wichtig-btn .btn-arrow {
  font-size: 15px;
  color: var(--nc-teal-dark);
  font-weight: 800;
  transition: all 0.3s ease;
}

.nc-mega-wichtig-btn:hover .btn-arrow {
  transform: translateX(5px) scale(1.15);
  color: var(--nc-teal);
}

.nc-mega-wichtig-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -150%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.15),
    transparent
  );
  transition: all 0.6s ease;
}

.nc-mega-wichtig-btn:hover::before {
  left: 150%;
}

/* Was uns wichtig ist – Mobile Menü Touch-Fix */
.menu-item a[href*="was-uns-wichtig-ist"],
.mobile-navigation a[href*="was-uns-wichtig-ist"],
nav a[href*="was-uns-wichtig-ist"] {
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: rgba(0,143,143,0.12) !important;
  cursor: pointer !important;
}

/* Bezirksspalte ueber die volle Footer-Breite: 23 Eintraege in einer 206px-Spalte
   ergaben eine 838px hohe Liste mit umbrechenden Namen. */
.nc-footer-col--bezirke { grid-column: 1 / -1; order: 8; }
.nc-footer-cta-block { order: 9; }
/* .nc-footer-links ist ein Flex-Container - CSS-Spalten greifen darin nicht.
   Deshalb Grid, das bricht zuverlaessig um. */
.nc-footer-col--bezirke .nc-footer-bezirke {
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: wrap !important;
            align-items: flex-start;
            gap: 6px 8px;
            columns: auto;
            list-style: none;
            padding-left: 0;
        }

/* Servicegebiete: alle 23 Bezirke - zweispaltig, damit die Spalte nicht ausufert */
.nc-footer-bezirke { list-style: none; padding-left: 0; }
.nc-footer-bezirke li { break-inside: avoid; }
.nc-footer-bezirke li { margin: 0 !important; width: auto !important; flex: 0 0 auto !important; }
        .nc-footer-bezirke li::before, .nc-footer-bezirke li::marker { content: none !important; display: none !important; }
        .nc-footer-bezirke .nc-footer-link {
            display: inline-block;
            font-size: 12px;
            line-height: 1;
            padding: 7px 11px;
            border-radius: 100px;
            white-space: nowrap;
            background: rgba(255, 255, 255, 0.04);
            border: 1px solid rgba(255, 255, 255, 0.10);
            transition: background .2s ease, border-color .2s ease;
        }
        .nc-footer-bezirke .nc-footer-link:hover {
            background: rgba(47, 184, 166, 0.16);
            border-color: rgba(47, 184, 166, 0.42);
        }
.nc-footer-bezirke-hub { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

/* Weitere Spezialdienste - Tag Links */
.nc-footer-tag-link {
  display: inline-block;
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.65) !important;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 6px 14px;
  border-radius: 8px;
  text-decoration: none !important;
  transition: all var(--nc-transition);
}
.nc-footer-tag-link:hover {
  background: var(--nc-teal-pale) !important;
  border-color: var(--nc-teal) !important;
  color: var(--nc-teal) !important;
  transform: translateY(-1px);
}
/* nc-a11y-final-fix */
/* ============================================================
   NOBLECLEAN — FINAL ACCESSIBILITY FIX v2
   Fixes: color-contrast, heading-order, form labels, link names
   ============================================================ */

/* 1. COLOR CONTRAST: ensure all gray text meets WCAG AA (4.5:1) */
.nc-service-card p,
.nc-footer-brand p,
.nc-footer-links a,
.nc-footer-contact-text,
.nc-mm-desc,
[style*="color:rgba(255,255,255,.4)"],
[style*="color:rgba(255,255,255,0.4)"],
[style*="color:rgba(255,255,255,.5)"],
[style*="color:rgba(255,255,255,0.5)"],
[style*="color:rgba(255,255,255,.55)"],
[style*="color:rgba(255,255,255,0.55)"] {
  color: rgba(255,255,255,0.75) !important;
}

/* Low contrast dark-on-light */
[style*="color:#9CA3AF"],
.nc-mm-desc { color: #6B7280 !important; }

/* 2. Wizard & contact form labels */
.wizard-input label,
.fluentform label,
.wpcf7 label,
.nc-contact-label {
  display: block !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #374151 !important;
  margin-bottom: 4px !important;
}

/* 3. Force aria-label on icon-only links */
a[href="/"]:not([aria-label]) { aria-label: "Zur Startseite"; }

/* 4. Heading order — ensure H2 appears before H3 site-wide */
.wp-block-kadence-column .kt-inside-inner-col > .wp-block-kadence-advancedheading {
  display: block;
}

/* 5. Link name fallback for icon links */
.nc-footer-social a[aria-label],
.nc-footer-contact-text a {
  text-decoration: none;
}

/* 6. Improve form accessibility */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
  border: 1.5px solid #D1D5DB !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
  outline: 3px solid #2FB8A6 !important;
  outline-offset: 2px !important;
  border-color: #2FB8A6 !important;
}
/* nc-fixes-v1 */
/* ===== nc-cta-dark-contrast-v1 : dunkles CTA-Band erbt helle Textfarbe ===== */
.nc-core-cta-trust,.nc-core-cta-trust span{color:#e1e7ec !important}
.nc-rd section[style*="#0E293C"],.nc-rd section[style*="#0e293c"]{color:#e1e7ec}

/* ===== nc-angebot-visual-v1 : Wizard-Aufwertung (Original-Design) ===== */
.ncw-wizard{position:relative;isolation:isolate}
.ncw-wizard::before{content:"";position:absolute;inset:-60px -25vw 30%;z-index:-1;pointer-events:none;
 background:radial-gradient(circle at 14% 6%,rgba(94,234,212,.20),transparent 45%),
            radial-gradient(circle at 86% 18%,rgba(14,169,155,.13),transparent 48%),
            radial-gradient(rgba(22,33,58,.10) 1.5px,transparent 1.5px);
 background-size:100% 100%,100% 100%,26px 26px;
 -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);
 mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%)}
.ncw-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fdfdfb 100%);
 border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 64px rgba(18,35,63,.14),0 2px 8px rgba(18,35,63,.05)}
.ncw-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;
 background:linear-gradient(90deg,#0ea99b,#5eead4,#0ea99b);background-size:200% 100%;animation:ncwSheen 6s linear infinite}
@keyframes ncwSheen{to{background-position:200% 0}}
.ncw-progress-dot{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}
.ncw-progress-dot[style*="color:#0ea99b"]{transform:scale(1.14);box-shadow:0 0 0 6px rgba(14,169,155,.14),0 8px 18px rgba(14,169,155,.32)}
.ncw-service-btn{transition:transform .22s cubic-bezier(.34,1.4,.64,1),box-shadow .22s ease,border-color .22s ease,background .22s ease}
.ncw-service-btn:hover,.ncw-service-btn:focus-visible{transform:translateY(-3px);border-color:#0ea99b;
 background:linear-gradient(180deg,#fff 0%,#f2fbf9 100%);box-shadow:0 14px 30px rgba(14,169,155,.18),0 0 0 3px rgba(14,169,155,.10)}
.ncw-service-emoji{display:inline-block;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.ncw-service-btn:hover .ncw-service-emoji{transform:scale(1.18) rotate(-4deg)}
.ncw-service-check{animation:ncwPopIn .28s cubic-bezier(.34,1.56,.64,1)}
@keyframes ncwPopIn{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
.ncw-btn-primary{transition:transform .2s ease,box-shadow .25s ease,filter .2s ease}
.ncw-btn-primary:not([disabled]){background:linear-gradient(135deg,#0ea99b 0%,#0b8074 100%);box-shadow:0 14px 30px rgba(14,169,155,.40)}
.ncw-btn-primary:not([disabled]):hover,.ncw-btn-primary:not([disabled]):focus-visible{transform:translateY(-2px);box-shadow:0 18px 38px rgba(14,169,155,.48);filter:saturate(1.08)}
.ncw-btn-primary:not([disabled]):active{transform:translateY(0)}
.ncw-h2{letter-spacing:-.01em}
.ncw-footnote{opacity:.85;letter-spacing:.01em}
@media (prefers-reduced-motion:reduce){
 .ncw-card::before,.ncw-service-check{animation:none}
 .ncw-progress-dot,.ncw-service-btn,.ncw-service-emoji,.ncw-btn-primary{transition:none}
 .ncw-service-btn:hover,.ncw-btn-primary:not([disabled]):hover{transform:none}}
/* nc-mobile-header-fixes-v3 */
/* ── Fix Mobile Header ── */
@media (max-width: 1024px) {
  /* Ensure logo is visible */
  .site-branding .site-title,
  .site-branding img,
  .custom-logo {
    width: auto !important;
    max-width: 180px !important;
    min-width: 120px !important;
    height: auto !important;
    display: block !important;
  }
  .site-branding .site-title a,
  .site-branding a {
    display: flex !important;
    align-items: center !important;
  }

  /* Fix hamburger menu position */
  .menu-toggle-open,
  .kadence-menu-toggle-open,
  .mobile-toggle-open,
  .mobile-navigation-toggle,
  [class*="menu-toggle"] {
    position: relative !important;
    left: auto !important;
    right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Header row layout fix */
  .site-header-row-container-inner,
  .site-header-inner-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 0 16px !important;
  }

  /* Mobile header background */
  .site-header {
    background: #0E293C !important;
  }

  /* Kadence-specific mobile header fix */
  .kadence-header-wrap .site-header-row .site-header-row-container-inner {
    max-width: 100% !important;
  }

  /* Mobile nav drawer */
  .mobile-navigation,
  .kadence-mobile-navigation {
    background: #0E293C !important;
  }
  .mobile-navigation a,
  .kadence-mobile-navigation a {
    color: #fff !important;
    font-weight: 700 !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }
  .mobile-navigation a:hover,
  .kadence-mobile-navigation a:hover {
    color: #2FB8A6 !important;
  }
}

/* ── Hide Kadence default scroll-to-top (keep ours) ── */
#kt-scroll-up,
.kadence-scroll-to-top,
.scroll-up-wrap,
[id*="scroll-up"]:not(#nc-scroll-top) {
  display: none !important;
}

/* ── Footer hero collision fix ── */
.nc-footer-cta {
  margin-top: 0 !important;
}
.nc-footer {
  padding-top: 40px;
}

/* ── Trust Bar mobile fix ── */
@media (max-width: 767px) {
  .nc-trust-bar {
    flex-direction: column !important;
    gap: 12px !important;
    text-align: center !important;
  }
  /* CTA button spacing */
  .nc-footer-cta-btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 16px 24px !important;
  }
}
/* nc-mobile-hotfix-v4 */
/* Mobile Header: Navy BG + white text/icons */
@media (max-width: 1024px) {
  .site-header,
  .site-header-wrap,
  .site-header .site-header-row,
  .site-header .site-header-row-container-inner {
    background: #0E293C !important;
  }
  .site-header .site-branding .site-title {
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    display: block !important;
    visibility: visible !important;
  }
  .site-header .site-branding .site-title a {
    color: #fff !important;
  }
  /* Hamburger icon white */
  .menu-toggle-open,
  .kadence-menu-toggle-open,
  [class*="menu-toggle"] {
    color: #fff !important;
  }
  .menu-toggle-open .menu-toggle-icon,
  .menu-toggle-open svg,
  [class*="menu-toggle"] svg {
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
  }
  /* Phone header widget */
  .header-mobile-html,
  .header-mobile-html a {
    color: #fff !important;
  }
}

/* Footer CTA: prevent overflow on mobile */
.nc-footer-cta {
  max-width: 1200px !important;
  box-sizing: border-box !important;
}
@media (max-width: 767px) {
  .nc-footer {
    padding-top: 20px !important;
  }
  .nc-footer-cta {
    margin: 0 12px !important;
    max-width: calc(100% - 24px) !important;
    padding: 28px 20px !important;
    flex-direction: column !important;
    text-align: center !important;
    border-radius: 1.5rem !important;
    gap: 20px !important;
  }
  .nc-footer-cta-btn {
    width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
  .nc-footer-grid {
    padding: 40px 20px 24px !important;
  }
  .nc-footer-districts {
    padding: 0 20px 24px !important;
  }
  .nc-footer-bottom {
    padding: 20px !important;
  }
}
/* nc-beitrag-feinschliff */
.nc-abschluss-cta h2{color:#FAF9F5 !important;}.nc-abschluss-cta p{color:#E1E7EC !important;}.entry-related{display:none !important;}[id^="kt-layout-id_inline-cta"]{display:none !important;}.wp-block-kadence-rowlayout:has([id^="kt-layout-id_inline-cta"]){display:none !important;}.ncb-autor-aktionen{display:none !important;}.nc-wizard-section-headline,.nc-pain-headline,.nc-faq-headline,.nc-bento-headline,body .nc-seo-intro h2,body .nc-pricing-left h2,body .nc-refs-section h2{font-size:clamp(28px,3.4vw,42px) !important;}.nc-pain-section,.nc-seo-section,.nc-faq-section,.nc-pricing-section,.nc-ratgeber-section{padding:96px 32px !important;}body .nc-bento-section{padding:96px 32px !important;}@media(max-width:768px){.nc-pain-section,.nc-seo-section,.nc-faq-section,.nc-pricing-section,.nc-bento-section,.nc-ratgeber-section{padding:64px 20px !important;}}.nc-sec--hero .wrap{max-width:1200px;margin:0 auto;padding:0 20px;}.nc-sec--hero p,.nc-sec--hero li,.nc-sec--hero ul,.nc-sec--hero ol{color:#E1E7EC !important;}.nc-sec--hero h2,.nc-sec--hero h3{color:#FAF9F5 !important;}.nc-sec--hero form,.nc-sec--hero form *,.nc-sec--hero .wp-block-column form *{color:#1F2933 !important;}.nc-sec--hero form label,.nc-sec--hero form legend{color:#12324A !important;}.nc-sec--hero .grid-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center;}@media(max-width:960px){.nc-sec--hero .grid-hero{grid-template-columns:1fr !important;gap:32px !important;}}.nc-sec--hero .nc-eyebrow{display:inline-block;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;letter-spacing:.12em;color:#2FB8A6;margin-bottom:14px;}.nc-faq-nav-inner{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;gap:14px !important;max-width:1100px;margin:0 auto;overflow:visible !important;flex-wrap:wrap !important;}.nc-faq-nav-btn{display:flex !important;align-items:center;justify-content:flex-start;gap:12px;background:#FFFFFF !important;border:1px solid #E7E3DA !important;border-radius:16px !important;padding:20px 22px !important;font-family:Manrope,sans-serif !important;font-size:16px !important;font-weight:800 !important;color:#12324A !important;text-align:left !important;white-space:normal !important;box-shadow:0 2px 10px rgba(18,50,74,.05);transition:transform .18s,box-shadow .18s,border-color .18s;}.nc-faq-nav-btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(18,50,74,.10);border-color:#0B6157 !important;color:#0B6157 !important;}@media(max-width:600px){.nc-faq-nav-inner{grid-template-columns:1fr !important;}.nc-faq-nav-btn{padding:16px 18px !important;font-size:15px !important;}}.nc-pain-list li,.nc-solution-list li{display:block !important;position:relative !important;padding-left:30px !important;gap:0 !important;}.nc-pain-list li::before,.nc-solution-list li::before{position:absolute !important;left:0 !important;top:0 !important;}.nc-pain-list li strong,.nc-solution-list li strong{display:inline !important;white-space:normal !important;}.nc-geo-hero,.nobleclean-hero-section,.nc-bento-hero,.nc-eco-hero,.nc-srv-hero-wrap{padding:56px 32px 88px !important;}.nc-bento-hero h1,.nc-eco-hero h1,.nc-srv-hero-wrap h1{font-size:clamp(30px,3.8vw,44px) !important;font-weight:800 !important;line-height:1.12 !important;letter-spacing:-.02em !important;color:#FAF9F5 !important;}.nc-bento-hero p,.nc-eco-hero p,.nc-srv-hero-wrap p{color:#E1E7EC !important;}.nc-geo-hero h1,.nobleclean-hero-section h1{font-size:clamp(30px,3.8vw,44px) !important;font-weight:800 !important;line-height:1.12 !important;letter-spacing:-.02em !important;color:#FAF9F5 !important;}.nc-geo-hero p,.nobleclean-hero-section p{color:#E1E7EC !important;}/* Footer: Markenspalte plus die drei Linkspalten. Vorher stand hier repeat(4,...) aus der Zeit mit vier Linkspalten - die fuenfte Spur blieb leer und erzeugte den Leerraum rechts. */.nc-footer-body,.nc-footer-grid{grid-template-columns:minmax(240px,1.1fr) repeat(3,minmax(150px,1fr)) !important;}@media(max-width:1100px){.nc-footer-body,.nc-footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) !important;}}@media(max-width:640px){.nc-footer-body,.nc-footer-grid{grid-template-columns:1fr !important;}}/* Inhaltsbreite: Textbloecke zentriert begrenzen */.nc-zz-content{max-width:760px !important;margin-left:auto !important;margin-right:auto !important;padding-left:20px;padding-right:20px;box-sizing:border-box;}.nc-zz-content h2,.nc-zz-content h3{max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}.nc-zz-content p,.nc-zz-content li{max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}/* Lesbare Zeilenlaenge im Fliesstext */.nc-seo-inner p,.nc-seo-inner li,.nc-zz-content p,.nc-zz-content li{max-width:700px;margin-left:auto;margin-right:auto;}.nc-seo-inner h2,.nc-seo-inner h3,.nc-zz-content h3{max-width:820px;margin-left:auto;margin-right:auto;}.nc-seo-inner ul,.nc-seo-inner ol{max-width:700px;margin-left:auto;margin-right:auto;}/* Zickzack: Bloecke ohne Textspalte nicht halbleer stehen lassen */.nc-zz-block{grid-template-columns:1fr !important;gap:0 !important;margin-bottom:40px !important;}.nc-zz-block > .nc-zz-img{max-width:720px;margin:0 auto;width:100%;}/* CTA-Links lesbar */.nc-faq-cta a{color:#0B6157 !important;font-weight:800 !important;}.nc-faq-cta a:hover{color:#12324A !important;}/* Zielgruppen-Block dunkel absetzen */.nc-gr-ziel,.lv-ziel{background:#12324A !important;border-color:rgba(94,234,212,.22) !important;}.nc-gr-ziel h3,.lv-ziel h3{color:#5EEAD4 !important;}.nc-gr-ziel p,.lv-ziel p,.lv-ziel .lvp{color:#E1E7EC !important;}/* Vergleichsblock moderner */.nc-pain-card{background:#FFFFFF !important;border:1px solid #E7E3DA !important;border-radius:22px !important;box-shadow:0 10px 30px rgba(18,50,74,.06) !important;}.nc-solution-card{background:#12324A !important;border:0 !important;border-radius:22px !important;box-shadow:0 18px 44px rgba(18,50,74,.20) !important;}.nc-solution-card,.nc-solution-card li,.nc-solution-card p,.nc-solution-card span,.nc-solution-card strong{color:#FAF9F5 !important;}.nc-solution-card .nc-solution-card-title{color:#5EEAD4 !important;}.nc-solution-list li::before{color:#5EEAD4 !important;}.nc-system-badge{background:rgba(94,234,212,.12) !important;border:1px solid rgba(94,234,212,.28) !important;color:#5EEAD4 !important;border-radius:12px !important;}.nc-pain-card-title{color:#B4442F !important;}.nc-pain-list li::before{color:#C2410C !important;}/* Bezirksraster kompakter */div[style*="minmax(200px"]{grid-template-columns:repeat(auto-fill,minmax(148px,1fr)) !important;gap:10px !important;}div[style*="minmax(200px"] > a{padding:11px 12px !important;font-size:14px !important;border-radius:10px !important;}@media(max-width:520px){div[style*="minmax(200px"]{grid-template-columns:repeat(auto-fill,minmax(130px,1fr)) !important;}}/* nc-rhythmus: Abschnittswechsel wie Referenz */body .nc-pain-section{background:#F2F0EA !important;}body .nc-seo-section{background:#FAF9F5 !important;}body .nc-bento-section{background:#12324A !important;}body .nc-bento-section,body .nc-bento-section h2,body .nc-bento-section h3,body .nc-bento-section p,body .nc-bento-section li,body .nc-bento-section span{color:#FAF9F5 !important;}body .nc-bento-section .nc-bento-card{background:#FFFFFF !important;border-color:rgba(18,50,74,.10) !important;}body .nc-bento-section .nc-bento-card,body .nc-bento-section .nc-bento-card h2,body .nc-bento-section .nc-bento-card h3,body .nc-bento-section .nc-bento-card p,body .nc-bento-section .nc-bento-card li,body .nc-bento-section .nc-bento-card span{color:#1F2933 !important;}body .nc-bento-section .nc-bento-card h3{color:#12324A !important;}body .nc-bento-section .nc-bento-badge-inline{background:rgba(47,184,166,.16) !important;color:#0B2E28 !important;}body .nc-pricing-section{background:#FAF9F5 !important;}body .nc-refs-section{background:#F2F0EA !important;}body .nc-ratgeber-section{background:#FAF9F5 !important;}.nc-trust-insurance-bar{background:#FFFFFF !important;border-bottom:0 !important;}.entry-content.single-content > p, .entry-content.single-content > ul, .entry-content.single-content > ol, .entry-content.single-content > h2, .entry-content.single-content > h3, .entry-content.single-content > h4, .entry-content.single-content > blockquote, .entry-content.single-content > .wp-block-paragraph, .entry-content.single-content > .wp-block-list, .entry-content.single-content > .wp-block-heading, .entry-content.single-content > .wp-block-quote{max-width:700px !important;margin-left:auto !important;margin-right:auto !important;}body.single-post .entry-content.single-content > p, body.single-post .entry-content.single-content > ul, body.single-post .entry-content.single-content > ol, body.single-post .entry-content.single-content > h2, body.single-post .entry-content.single-content > h3, body.single-post .entry-content.single-content > h4, body.single-post .entry-content.single-content > blockquote, body.single-post .entry-content.single-content > .wp-block-paragraph, body.single-post .entry-content.single-content > .wp-block-list, body.single-post .entry-content.single-content > .wp-block-heading, body.single-post .entry-content.single-content > .wp-block-quote{max-width:700px !important;margin-left:auto !important;margin-right:auto !important;}.entry-content.single-content > figure, .entry-content.single-content > table, .entry-content.single-content > .wp-block-table, .entry-content.single-content > .wp-block-image, .entry-content.single-content > .wp-block-embed{max-width:820px !important;margin-left:auto !important;margin-right:auto !important;}body.single-post .entry-content.single-content > figure, body.single-post .entry-content.single-content > table, body.single-post .entry-content.single-content > .wp-block-table, body.single-post .entry-content.single-content > .wp-block-image, body.single-post .entry-content.single-content > .wp-block-embed{max-width:820px !important;margin-left:auto !important;margin-right:auto !important;}.ncx-accordion-panel > p{max-width:760px !important;}.nc-seo-expansion-section .wp-block-group__inner-container{max-width:760px !important;margin-left:auto !important;margin-right:auto !important;}.nc-sec .wrap > p{max-width:720px !important;margin-left:auto !important;margin-right:auto !important;}.nc-core-faqs details p,.nc-accordion-wrap details p{max-width:720px !important;}.ncx-accordion-panel p{max-width:720px !important;}.nc-portal--mega a[href*="was-uns-wichtig-ist"],.nc-portal--mega a[href*="/karriere"]{position:relative;border:1px solid rgba(47,184,166,.42) !important;border-radius:12px !important;background:linear-gradient(135deg,rgba(47,184,166,.14) 0%,rgba(47,184,166,.04) 100%) !important;padding:10px 12px !important;transition:border-color .2s ease,background .2s ease,transform .2s ease;}.nc-portal--mega a[href*="was-uns-wichtig-ist"]:hover,.nc-portal--mega a[href*="/karriere"]:hover{border-color:rgba(94,234,212,.85) !important;background:linear-gradient(135deg,rgba(47,184,166,.24) 0%,rgba(47,184,166,.08) 100%) !important;transform:translateY(-2px);}.nc-portal--mega a[href*="was-uns-wichtig-ist"] strong,.nc-portal--mega a[href*="/karriere"] strong{color:#5EEAD4 !important;}@media (prefers-reduced-motion:reduce){.nc-portal--mega a[href*="was-uns-wichtig-ist"],.nc-portal--mega a[href*="/karriere"]{transition:none;}.nc-portal--mega a[href*="was-uns-wichtig-ist"]:hover,.nc-portal--mega a[href*="/karriere"]:hover{transform:none;}}.nc-faq-cta{background:#F2FAF8 !important;border:1.5px solid rgba(47,184,166,.45) !important;}.nc-faq-cta h2,.nc-faq-cta h3{color:#12324A !important;}.nc-faq-cta p,.nc-faq-cta span{color:#3C4A5A !important;}.nc-faq-cta a{color:#0B6157 !important;font-weight:800 !important;}.nc-faq-cta a:hover{color:#12324A !important;}span.nc-footer-badge{color:#5EEAD4 !important;}span.nc-footer-badge svg{stroke:#5EEAD4 !important;color:#5EEAD4 !important;}a.btn-teal{color:#12324A !important;}.ba-after{background:#0B6157 !important;color:#FFFFFF !important;}
/* nc-skyline-band */
.nc-sec--hero,.nc-sec--cta,.nc-abschluss-cta,.nc-geo-hero,.nobleclean-hero-section,.nc-bento-hero,.nc-eco-hero,.nc-srv-hero-wrap{position:relative !important;overflow:hidden !important;}.nc-sec--hero::after,.nc-sec--cta::after,.nc-abschluss-cta::after,.nc-geo-hero::after,.nobleclean-hero-section::after,.nc-bento-hero::after,.nc-eco-hero::after,.nc-srv-hero-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:160px;background:url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%201200%20160%27%20preserveAspectRatio%3D%27xMidYMax%20slice%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20aria-hidden%3D%27true%27%3E%20%3Cg%20fill%3D%27none%27%20stroke%3D%27%232FB8A6%27%20stroke-width%3D%272%27%20opacity%3D%27.22%27%3E%20%3Ccircle%20cx%3D%2778%27%20cy%3D%2792%27%20r%3D%2734%27%2F%3E%3Ccircle%20cx%3D%2778%27%20cy%3D%2792%27%20r%3D%274%27%2F%3E%20%3Cline%20x1%3D%2778%27%20y1%3D%2758%27%20x2%3D%2778%27%20y2%3D%27126%27%2F%3E%3Cline%20x1%3D%2744%27%20y1%3D%2792%27%20x2%3D%27112%27%20y2%3D%2792%27%2F%3E%20%3Cline%20x1%3D%2754%27%20y1%3D%2768%27%20x2%3D%27102%27%20y2%3D%27116%27%2F%3E%3Cline%20x1%3D%2754%27%20y1%3D%27116%27%20x2%3D%27102%27%20y2%3D%2768%27%2F%3E%20%3Cline%20x1%3D%2756%27%20y1%3D%27160%27%20x2%3D%2778%27%20y2%3D%2792%27%2F%3E%3Cline%20x1%3D%27100%27%20y1%3D%27160%27%20x2%3D%2778%27%20y2%3D%2792%27%2F%3E%20%3C%2Fg%3E%20%3Cg%20fill%3D%27%232FB8A6%27%20opacity%3D%27.2%27%3E%20%3Cpolygon%20points%3D%27196%2C160%20196%2C34%20246%2C22%20246%2C160%27%2F%3E%3Crect%20x%3D%27218%27%20y%3D%2710%27%20width%3D%274%27%20height%3D%2712%27%2F%3E%20%3Crect%20x%3D%27286%27%20y%3D%2750%27%20width%3D%2744%27%20height%3D%27110%27%2F%3E%3Crect%20x%3D%27292%27%20y%3D%2734%27%20width%3D%2713%27%20height%3D%2716%27%2F%3E%3Crect%20x%3D%27311%27%20y%3D%2734%27%20width%3D%2713%27%20height%3D%2716%27%2F%3E%3Crect%20x%3D%27306%27%20y%3D%2716%27%20width%3D%274%27%20height%3D%2718%27%2F%3E%20%3Cpolygon%20points%3D%27398%2C160%20398%2C64%20428%2C56%20428%2C160%27%2F%3E%3Cpolygon%20points%3D%27444%2C160%20444%2C58%20474%2C66%20474%2C160%27%2F%3E%3Crect%20x%3D%27428%27%20y%3D%2782%27%20width%3D%2716%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%27428%27%20y%3D%27108%27%20width%3D%2716%27%20height%3D%274%27%2F%3E%20%3Crect%20x%3D%27520%27%20y%3D%2774%27%20width%3D%2742%27%20height%3D%2786%27%2F%3E%3Cellipse%20cx%3D%27541%27%20cy%3D%2774%27%20rx%3D%2721%27%20ry%3D%2713%27%2F%3E%20%3Crect%20x%3D%27612%27%20y%3D%2778%27%20width%3D%2726%27%20height%3D%2782%27%2F%3E%3Cpolygon%20points%3D%27612%2C78%20625%2C54%20638%2C78%27%2F%3E%3Cpolygon%20points%3D%27619%2C54%20623%2C28%20625%2C12%20627%2C28%20631%2C54%27%2F%3E%3Crect%20x%3D%27623%27%20y%3D%274%27%20width%3D%274%27%20height%3D%279%27%2F%3E%3Crect%20x%3D%27619%27%20y%3D%277%27%20width%3D%2712%27%20height%3D%273%27%2F%3E%20%3Cpolygon%20points%3D%27690%2C160%20690%2C44%20740%2C32%20740%2C160%27%2F%3E%3Crect%20x%3D%27712%27%20y%3D%2716%27%20width%3D%274%27%20height%3D%2716%27%2F%3E%20%3Crect%20x%3D%27760%27%20y%3D%2784%27%20width%3D%2742%27%20height%3D%2776%27%2F%3E%20%3Crect%20x%3D%27820%27%20y%3D%2758%27%20width%3D%2752%27%20height%3D%27102%27%2F%3E%3Crect%20x%3D%27832%27%20y%3D%2744%27%20width%3D%2712%27%20height%3D%2714%27%2F%3E%3Crect%20x%3D%27848%27%20y%3D%2744%27%20width%3D%2712%27%20height%3D%2714%27%2F%3E%20%3Crect%20x%3D%27892%27%20y%3D%2796%27%20width%3D%2742%27%20height%3D%2764%27%2F%3E%20%3Cpolygon%20points%3D%27956%2C160%20956%2C50%201012%2C38%201012%2C160%27%2F%3E%3Crect%20x%3D%27982%27%20y%3D%2722%27%20width%3D%274%27%20height%3D%2716%27%2F%3E%20%3Crect%20x%3D%271034%27%20y%3D%2790%27%20width%3D%2746%27%20height%3D%2770%27%2F%3E%20%3Crect%20x%3D%271100%27%20y%3D%2764%27%20width%3D%2754%27%20height%3D%2796%27%2F%3E%3Crect%20x%3D%271118%27%20y%3D%2750%27%20width%3D%2718%27%20height%3D%2714%27%2F%3E%20%3Crect%20x%3D%271168%27%20y%3D%27104%27%20width%3D%2734%27%20height%3D%2756%27%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E") no-repeat center bottom;background-size:cover;pointer-events:none;z-index:0;}.nc-sec--hero > *,.nc-sec--cta > *,.nc-abschluss-cta > *,.nc-geo-hero > *,.nobleclean-hero-section > *,.nc-bento-hero > *,.nc-eco-hero > *,.nc-srv-hero-wrap > *{position:relative;z-index:1;}.nc-mega-grafik{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:200px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(94,234,212,.14);overflow:hidden;padding:22px 20px;}.nc-mega-grafik::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:120px;background:url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%201200%20160%27%20preserveAspectRatio%3D%27xMidYMax%20slice%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20aria-hidden%3D%27true%27%3E%20%3Cg%20fill%3D%27none%27%20stroke%3D%27%232FB8A6%27%20stroke-width%3D%272%27%20opacity%3D%27.22%27%3E%20%3Ccircle%20cx%3D%2778%27%20cy%3D%2792%27%20r%3D%2734%27%2F%3E%3Ccircle%20cx%3D%2778%27%20cy%3D%2792%27%20r%3D%274%27%2F%3E%20%3Cline%20x1%3D%2778%27%20y1%3D%2758%27%20x2%3D%2778%27%20y2%3D%27126%27%2F%3E%3Cline%20x1%3D%2744%27%20y1%3D%2792%27%20x2%3D%27112%27%20y2%3D%2792%27%2F%3E%20%3Cline%20x1%3D%2754%27%20y1%3D%2768%27%20x2%3D%27102%27%20y2%3D%27116%27%2F%3E%3Cline%20x1%3D%2754%27%20y1%3D%27116%27%20x2%3D%27102%27%20y2%3D%2768%27%2F%3E%20%3Cline%20x1%3D%2756%27%20y1%3D%27160%27%20x2%3D%2778%27%20y2%3D%2792%27%2F%3E%3Cline%20x1%3D%27100%27%20y1%3D%27160%27%20x2%3D%2778%27%20y2%3D%2792%27%2F%3E%20%3C%2Fg%3E%20%3Cg%20fill%3D%27%232FB8A6%27%20opacity%3D%27.2%27%3E%20%3Cpolygon%20points%3D%27196%2C160%20196%2C34%20246%2C22%20246%2C160%27%2F%3E%3Crect%20x%3D%27218%27%20y%3D%2710%27%20width%3D%274%27%20height%3D%2712%27%2F%3E%20%3Crect%20x%3D%27286%27%20y%3D%2750%27%20width%3D%2744%27%20height%3D%27110%27%2F%3E%3Crect%20x%3D%27292%27%20y%3D%2734%27%20width%3D%2713%27%20height%3D%2716%27%2F%3E%3Crect%20x%3D%27311%27%20y%3D%2734%27%20width%3D%2713%27%20height%3D%2716%27%2F%3E%3Crect%20x%3D%27306%27%20y%3D%2716%27%20width%3D%274%27%20height%3D%2718%27%2F%3E%20%3Cpolygon%20points%3D%27398%2C160%20398%2C64%20428%2C56%20428%2C160%27%2F%3E%3Cpolygon%20points%3D%27444%2C160%20444%2C58%20474%2C66%20474%2C160%27%2F%3E%3Crect%20x%3D%27428%27%20y%3D%2782%27%20width%3D%2716%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%27428%27%20y%3D%27108%27%20width%3D%2716%27%20height%3D%274%27%2F%3E%20%3Crect%20x%3D%27520%27%20y%3D%2774%27%20width%3D%2742%27%20height%3D%2786%27%2F%3E%3Cellipse%20cx%3D%27541%27%20cy%3D%2774%27%20rx%3D%2721%27%20ry%3D%2713%27%2F%3E%20%3Crect%20x%3D%27612%27%20y%3D%2778%27%20width%3D%2726%27%20height%3D%2782%27%2F%3E%3Cpolygon%20points%3D%27612%2C78%20625%2C54%20638%2C78%27%2F%3E%3Cpolygon%20points%3D%27619%2C54%20623%2C28%20625%2C12%20627%2C28%20631%2C54%27%2F%3E%3Crect%20x%3D%27623%27%20y%3D%274%27%20width%3D%274%27%20height%3D%279%27%2F%3E%3Crect%20x%3D%27619%27%20y%3D%277%27%20width%3D%2712%27%20height%3D%273%27%2F%3E%20%3Cpolygon%20points%3D%27690%2C160%20690%2C44%20740%2C32%20740%2C160%27%2F%3E%3Crect%20x%3D%27712%27%20y%3D%2716%27%20width%3D%274%27%20height%3D%2716%27%2F%3E%20%3Crect%20x%3D%27760%27%20y%3D%2784%27%20width%3D%2742%27%20height%3D%2776%27%2F%3E%20%3Crect%20x%3D%27820%27%20y%3D%2758%27%20width%3D%2752%27%20height%3D%27102%27%2F%3E%3Crect%20x%3D%27832%27%20y%3D%2744%27%20width%3D%2712%27%20height%3D%2714%27%2F%3E%3Crect%20x%3D%27848%27%20y%3D%2744%27%20width%3D%2712%27%20height%3D%2714%27%2F%3E%20%3Crect%20x%3D%27892%27%20y%3D%2796%27%20width%3D%2742%27%20height%3D%2764%27%2F%3E%20%3Cpolygon%20points%3D%27956%2C160%20956%2C50%201012%2C38%201012%2C160%27%2F%3E%3Crect%20x%3D%27982%27%20y%3D%2722%27%20width%3D%274%27%20height%3D%2716%27%2F%3E%20%3Crect%20x%3D%271034%27%20y%3D%2790%27%20width%3D%2746%27%20height%3D%2770%27%2F%3E%20%3Crect%20x%3D%271100%27%20y%3D%2764%27%20width%3D%2754%27%20height%3D%2796%27%2F%3E%3Crect%20x%3D%271118%27%20y%3D%2750%27%20width%3D%2718%27%20height%3D%2714%27%2F%3E%20%3Crect%20x%3D%271168%27%20y%3D%27104%27%20width%3D%2734%27%20height%3D%2756%27%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E") no-repeat center bottom;background-size:cover;opacity:.9;pointer-events:none;}.nc-mega-grafik-t{position:relative;z-index:1;font-family:Manrope,sans-serif;font-size:15px;font-weight:800;color:#FAF9F5;margin:0 0 6px;}.nc-mega-grafik-d{position:relative;z-index:1;font-family:Karla,sans-serif;font-size:13px;line-height:1.5;color:rgba(255,255,255,.72);margin:0;}@media(max-width:700px){.nc-sec--hero::after,.nc-sec--cta::after,.nc-abschluss-cta::after{height:110px;}}
/* nc-toc-kontrast */
.nc-toc{background:#FFFFFF !important;border:1px solid rgba(14,41,60,.10) !important;border-radius:14px !important;padding:16px 18px !important;box-shadow:0 6px 18px rgba(9,26,42,.08) !important;}.nc-toc a{color:#155E54 !important;}.nc-toc a:hover{color:#0B6157 !important;}.nc-toc a.is-active{color:#16213A !important;}.nc-toc-title{color:#0B6157 !important;}
/* nc-b2b-typography-override */
/* Global Typography Stack Override */
    body, h1, h2, h3, h4, h5, h6, text, a, span {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    }
    .nc-hero-title, .nc-trust-title, .nc-service-card-title, .nc-benefit-card-title,
    .nc-modern-review-author, .nc-section-badge, .nc-reviews-badge-score, .nc-step-number,
    .wp-block-button__link, .nc-button, .nc-target-btn-cta, .nc-target-btn-secondary,
    .header-cta-btn, .nc-mega-cta-btn, .nc-mega-cta-card-btn, .nc-faq-cta a,
    input[type="submit"], button.wp-block-button__link, .wp-block-button .wp-block-button__link,
    .main-navigation a, .site-navigation a, .primary-menu a, .primary-navigation a,
    #site-navigation a, .nav-primary a, nav ul li a, .site-header-main-nav a {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
    }

    /* Bento Grid Styles */
    .nc-bento-grid-section {
        background-color: #F5F8FA !important;
    }
    .nc-bento-grid-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 24px;
        box-sizing: border-box;
    }
    .nc-bento-row-2col, .nc-bento-row-3col {
        margin-bottom: 24px !important;
    }
    .nc-bento-row-2col .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: 1.2fr 1fr !important;
        gap: 24px !important;
    }
    .nc-bento-row-3col .kt-row-column-wrap {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: 24px !important;
    }
    @media (max-width: 991px) {
        .nc-bento-row-2col .kt-row-column-wrap, .nc-bento-row-3col .kt-row-column-wrap {
            grid-template-columns: 1fr !important;
        }
    }
    .nc-bento-grid-card {
        background-color: #ffffff !important;
        border: 1px solid #E1E7EC !important;
        border-radius: 16px !important;
        padding: 32px !important;
        box-shadow: 0 4px 20px rgba(18, 50, 74, 0.01) !important;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        position: relative !important;
        overflow: hidden !important;
        height: 100% !important;
        box-sizing: border-box !important;
    }
    .nc-bento-grid-card:hover {
        transform: translateY(-5px) !important;
        box-shadow: 0 20px 40px rgba(18, 50, 74, 0.05) !important;
        border-color: #2FB8A6 !important;
    }
    .nc-bento-grid-card-icon {
        width: 48px;
        height: 48px;
        background-color: rgba(0, 168, 143, 0.06);
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 20px;
        color: #2FB8A6;
        transition: all 0.3s ease;
    }
    .nc-bento-grid-card:hover .nc-bento-grid-card-icon {
        background-color: #2FB8A6;
        color: #ffffff;
        transform: scale(1.08) rotate(3deg);
    }
    .nc-bento-grid-card-title {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
        font-size: 20px !important;
        font-weight: 800 !important;
        color: #12324A !important;
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }
    .nc-bento-grid-card-text {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
        font-size: 14.5px !important;
        line-height: 1.6 !important;
        color: #1F2933 !important;
        margin: 0 !important;
    }

    /* Mobile Services Swiper Layout (< 768px Breakpoint) */
    @media (max-width: 767px) {
        .wp-block-kadence-rowlayout.services-section-row > .kt-row-column-wrap,
        .wp-block-kadence-rowlayout.unsere-leistungen-row > .kt-row-column-wrap {
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            overflow-x: auto !important;
            scroll-snap-type: x mandatory !important;
            -webkit-overflow-scrolling: touch;
            width: 100% !important;
            padding-bottom: 16px !important;
        }
        .wp-block-kadence-rowlayout.services-section-row .kt-inside-inner-col,
        .wp-block-kadence-rowlayout.unsere-leistungen-row .kt-inside-inner-col {
            width: 85vw !important;
            flex-shrink: 0 !important;
            scroll-snap-align: start !important;
            margin-right: 15px !important;
        }
        /* Mobile layout flex column adjustments to prevent squishing */
        .wp-block-kadence-rowlayout.services-section-row > .kt-row-column-wrap > .wp-block-kadence-column,
        .wp-block-kadence-rowlayout.unsere-leistungen-row > .kt-row-column-wrap > .wp-block-kadence-column {
            width: 85vw !important;
            max-width: 85vw !important;
            flex-shrink: 0 !important;
            scroll-snap-align: start !important;
            margin-right: 15px !important;
        }
    }
