/* nc-perfect-header-css */
/* ============================================================
   NOBLECLEAN DIE GEBÄUDEREINIGER — MEISTERBETRIEB HEADER & MEGAMENU
   Design System Edition 2026: Deep Navy, Vibrant Teal, Warm Gold
   ============================================================ */

:root {
  --nc-ease-spring: cubic-bezier(0.16, 1, 0.3, 1);
  --nc-ease-fluid: cubic-bezier(0.32, 0.72, 0, 1);
  --nc-brand-navy: #12324A;
  --nc-brand-navy-dark: #0D2232;
  --nc-brand-teal: #2DD4BF;
  --nc-brand-teal-dark: #0EA99B;
  --nc-brand-gold: #F5B301;
  --nc-brand-slate: #1E293B;
  --nc-brand-muted: #64748B;
  --nc-border-subtle: rgba(226, 232, 240, 0.85);
}

/* Master Header Wrapper (Sticky with Glassmorphism) */
.nc-header-wrapper {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  box-shadow: 0 1px 0 rgba(18, 50, 74, 0.06), 0 8px 30px rgba(18, 50, 74, 0.04) !important;
  transition: background 0.3s ease, box-shadow 0.3s ease !important;
}

/* --- 1. TOP MICRO TRUST BAR --- */
.nc-top-trust-bar {
  background: #12324A !important;
  background: linear-gradient(90deg, #0D2232 0%, #12324A 50%, #0D2232 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 6px 24px !important;
  font-size: 12px !important;
}

.nc-top-trust-inner {
  max-width: 1320px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.nc-trust-badges-list {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nc-trust-badge-item {
  color: #CBD5E1 !important;
  font-weight: 600 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
}

.nc-trust-badge-item .dot {
  color: #2DD4BF !important;
  font-weight: 800 !important;
  font-size: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: rgba(45, 212, 191, 0.15) !important;
  border: 1px solid rgba(45, 212, 191, 0.3) !important;
}

.nc-top-phone-link {
  color: #FFFFFF !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 4px 12px !important;
  border-radius: 9999px !important;
  background: transparent !important;
  border: 1.5px solid rgba(45, 212, 191, 0.45) !important;
  transition: all 0.25s var(--nc-ease-spring) !important;
}

.nc-top-phone-link:hover {
  background: rgba(45, 212, 191, 0.15) !important;
  border-color: #2DD4BF !important;
  color: #2DD4BF !important;
  box-shadow: 0 0 14px rgba(45, 212, 191, 0.35) !important;
  transform: translateY(-1px) !important;
}

/* --- 2. MAIN NAVBAR --- */
.nc-main-navbar {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 10px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  position: relative !important;
}

.nc-logo-wrap {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  transition: transform 0.25s var(--nc-ease-spring) !important;
}

.nc-logo-wrap:hover {
  transform: scale(1.02) !important;
}

.nc-original-logo-img {
  height: 42px !important;
  width: auto !important;
  max-width: 200px !important;
  object-fit: contain !important;
  display: block !important;
}

/* Nav Menu */
.nc-nav-menu {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nc-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  color: #1E293B !important;
  text-decoration: none !important;
  font-size: 14.5px !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  transition: all 0.2s var(--nc-ease-spring) !important;
}

.nc-nav-link:hover,
.nc-has-mega:hover > .nc-nav-link {
  background: rgba(45, 212, 191, 0.1) !important;
  color: #0E766E !important;
}

.nc-chevron {
  font-size: 9px !important;
  color: #64748B !important;
  transition: transform 0.25s var(--nc-ease-spring) !important;
}

.nc-has-mega:hover .nc-chevron {
  transform: rotate(180deg) !important;
  color: #0E766E !important;
}

/* --- 3. REFINED BENTO MEGA MENU --- */
.nc-mega-menu {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  left: 24px !important;
  right: 24px !important;
  max-width: 1300px !important;
  margin: 0 auto !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  border-radius: 20px !important;
  box-shadow: 0 32px 72px -12px rgba(18, 50, 74, 0.16), 0 0 0 1px rgba(226, 232, 240, 0.8) !important;
  padding: 24px 24px 20px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  transition: all 0.25s var(--nc-ease-spring) !important;
  z-index: 1000 !important;
  overflow: hidden !important;
}

/* Top Accent Gradient Bar */
.nc-mega-menu::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #2DD4BF 0%, #F5B301 50%, #2DD4BF 100%) !important;
}

.nc-has-mega:hover .nc-mega-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

.nc-mega-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1.05fr !important;
  gap: 16px !important;
  align-items: stretch !important;
}

/* Mega Bento Column */
.nc-mega-col {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 14px !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  transition: all 0.24s var(--nc-ease-spring) !important;
}

.nc-mega-col:hover {
  background: #FFFFFF !important;
  border-color: rgba(45, 212, 191, 0.45) !important;
  box-shadow: 0 10px 28px -4px rgba(45, 212, 191, 0.12) !important;
  transform: translateY(-2px) !important;
}

.nc-mega-col-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

.nc-mega-col-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  background: rgba(45, 212, 191, 0.12) !important;
  border: 1px solid rgba(45, 212, 191, 0.28) !important;
  color: #0E766E !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}

.nc-mega-col:hover .nc-mega-col-icon {
  background: #2DD4BF !important;
  color: #12324A !important;
  transform: scale(1.05) !important;
}

.nc-mega-col-title {
  margin: 0 !important;
  font-size: 13.5px !important;
  font-weight: 750 !important;
  color: #12324A !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
}

.nc-mega-links-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  flex-grow: 1 !important;
}

.nc-mega-link-item {
  margin: 0 !important;
  padding: 0 !important;
}

.nc-mega-link-item a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 8px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  transition: all 0.18s var(--nc-ease-spring) !important;
}

.nc-mega-link-item a .dot {
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #CBD5E1 !important;
  flex-shrink: 0 !important;
  transition: all 0.18s ease !important;
}

.nc-mega-link-item a:hover {
  background: rgba(45, 212, 191, 0.08) !important;
  color: #0E766E !important;
  transform: translateX(4px) !important;
}

.nc-mega-link-item a:hover .dot {
  background: #2DD4BF !important;
  transform: scale(1.4) !important;
}

.nc-mega-badge-pill {
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: rgba(245, 179, 1, 0.18) !important;
  color: #B45309 !important;
  border: 1px solid rgba(245, 179, 1, 0.35) !important;
  margin-left: auto !important;
}

/* Mega Bottom Bar */
.nc-mega-bottom-bar {
  margin-top: 18px !important;
  padding-top: 14px !important;
  border-top: 1px solid #E2E8F0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.nc-mega-bottom-trust {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  font-size: 12.5px !important;
  color: #475569 !important;
}

.nc-mega-bottom-trust span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.nc-mega-bottom-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 18px !important;
  border-radius: 9999px !important;
  border: 1.5px solid #F5B301 !important;
  background: rgba(245, 179, 1, 0.08) !important;
  color: #12324A !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: all 0.25s var(--nc-ease-spring) !important;
}

.nc-mega-bottom-btn:hover {
  background: #F5B301 !important;
  color: #12324A !important;
  border-color: #F5B301 !important;
  box-shadow: 0 4px 16px rgba(245, 179, 1, 0.3) !important;
  transform: translateY(-1px) !important;
}

/* --- 4. HEADER CTA (SOLID AMBER GOLD CONVERSION DRIVEN) --- */
.nc-btn-header-cta {
  background: linear-gradient(135deg, #F5B301 0%, #E09B00 100%) !important;
  color: #081422 !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  padding: 9px 20px !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(245, 179, 1, 0.35) !important;
  transition: all 0.24s var(--nc-ease-spring) !important;
}

.nc-btn-header-cta:hover {
  background: linear-gradient(135deg, #FFC107 0%, #F5B301 100%) !important;
  color: #081422 !important;
  box-shadow: 0 6px 18px rgba(245, 179, 1, 0.45) !important;
  transform: translateY(-1px) !important;
}

.nc-btn-header-cta:active {
  transform: translateY(0) scale(0.98) !important;
}

@media (max-width: 640px) {
  .nc-main-navbar .nc-btn-header-cta {
    display: none !important;
  }
}

.nc-burger-btn {
  display: none !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 10px !important;
  padding: 8px !important;
  color: #12324A !important;
  cursor: pointer !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s var(--nc-ease-spring) !important;
}

.nc-burger-btn:hover {
  background: #E2E8F0 !important;
  border-color: #CBD5E1 !important;
}

@media (max-width: 1080px) {
  .nc-top-trust-bar {
    display: none !important;
  }
  .nc-nav-menu {
    display: none !important;
  }
  .nc-burger-btn {
    display: flex !important;
  }
}

/* --- 5. MOBILE DRAWER --- */
.nc-mobile-drawer {
  display: none;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(18, 50, 74, 0.85) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  z-index: 999999 !important;
}

.nc-mobile-drawer-content {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 86% !important;
  max-width: 380px !important;
  height: 100% !important;
  background: #FFFFFF !important;
  padding: 24px 24px 120px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  box-shadow: -10px 0 40px rgba(0,0,0,0.2) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  animation: ncSlideIn 0.3s var(--nc-ease-spring) !important;
}

/* Seamless Hero Backdrop full bleed */
.home .kb-row-layout-id27262_sec_7_v72ma > .kt-row-column-wrap,
.kb-row-layout-id27262_sec_7_v72ma > .kt-row-column-wrap {
  position: static !important;
}
.kadence-column27262_col_6_qwusj > .kt-inside-inner-col > :not(.nc-hero-vienna-backdrop) {
  position: relative !important;
  z-index: 2 !important;
}

/* Responsive 2x2 grid for mobile trust cards */
@media (max-width: 767px) {
  .nc-trust-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .nc-trust-card {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 14px 12px !important;
    gap: 8px !important;
    border-radius: 14px !important;
  }
  .nc-trust-card > div:first-child {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 10px !important;
  }
  .nc-trust-card > div:first-child svg {
    width: 18px !important;
    height: 18px !important;
  }
  .nc-trust-card div[style*="font-size:16px"] {
    font-size: 13.5px !important;
    line-height: 1.25 !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
  }
  .nc-trust-card div[style*="font-size:13px"] {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }
}

/* Scroll to top offset on mobile */
@media (max-width: 768px) {
  .scroll-to-top, #kt-scroll-up, a[href="#top"], .kadence-scroll-to-top, .nc-scroll-top {
    bottom: 76px !important;
    right: 16px !important;
  }
}

@keyframes ncSlideIn {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

.nc-mobile-header-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #E2E8F0 !important;
  margin-bottom: 20px !important;
}

.nc-mobile-group-title {
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #0E766E !important;
  margin: 16px 0 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.nc-mobile-sublink {
  display: block !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  color: #1E293B !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.nc-mobile-sublink:hover {
  background: rgba(45, 212, 191, 0.08) !important;
  color: #0E766E !important;
}
/* nc-hero-glass-2026 */
.nc-glass-hero {
  position: relative;
  background: radial-gradient(circle at 80% 20%, rgba(45, 212, 191, 0.16) 0%, transparent 50%), radial-gradient(circle at 20% 80%, rgba(16, 185, 129, 0.12) 0%, transparent 45%), linear-gradient(135deg, #07121E 0%, #0F2338 50%, #1A365D 100%);
  color: #FFFFFF !important;
  padding: clamp(64px, 8vw, 100px) 24px clamp(50px, 6vw, 80px);
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 20px 40px rgba(7, 18, 30, 0.35);
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.nc-glass-hero * {
  box-sizing: border-box;
}
.nc-glass-hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.nc-glass-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(45, 212, 191, 0.15);
  border: 1px solid rgba(45, 212, 191, 0.4);
  color: #2DD4BF !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 9999px;
  margin-bottom: 22px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.25);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.nc-glass-hero h1 {
  font-size: clamp(30px, 4.5vw, 52px) !important;
  font-weight: 800 !important;
  color: #FFFFFF !important;
  line-height: 1.16 !important;
  margin: 0 0 20px !important;
  letter-spacing: -0.025em !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5) !important;
}
.nc-glass-hero h1 span {
  color: #2DD4BF !important;
}
.nc-glass-sub {
  font-size: clamp(16px, 1.8vw, 18.5px) !important;
  color: #F1F5F9 !important;
  line-height: 1.7 !important;
  max-width: 840px !important;
  margin: 0 0 32px !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.4) !important;
}
.nc-glass-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  margin-bottom: 36px;
}
.nc-glass-btn-primary { background: #F5B301 !important; color: #231A00 !important; border: 1px solid rgba(0, 0, 0, 0.12) !important; font-weight: 800 !important; font-size: 15.5px !important; padding: 15px 32px !important; border-radius: 9999px !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; gap: 10px !important; box-shadow: 0 0 20px rgba(45, 212, 191, 0.15) !important; transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important; }
.nc-glass-btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 32px rgba(16, 185, 129, 0.6) !important;
  background: #E5A500 !important; color: #1A1300 !important;
}
.nc-glass-btn-tel {
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.25) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 15.5px !important;
  padding: 15px 28px !important;
  border-radius: 9999px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  transition: all 0.2s ease !important;
}
.nc-glass-btn-tel:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: #2DD4BF !important;
  color: #2DD4BF !important;
}
.nc-glass-badges {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin-bottom: 28px;
}
.nc-glass-badge-card {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}
.nc-glass-badge-icon {
  font-size: 24px;
  line-height: 1;
  flex-shrink: 0;
}
.nc-glass-badge-text strong {
  display: block;
  color: #FFFFFF !important;
  font-size: 14.5px;
  font-weight: 700;
  margin-bottom: 2px;
}
.nc-glass-badge-text span {
  display: block;
  color: #CBD5E1 !important;
  font-size: 12.5px;
  font-weight: 500;
}
.nc-glass-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 13.5px;
  color: #CBD5E1 !important;
}
.nc-glass-trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #F8FAFC !important;
  font-weight: 600;
}
.nc-glass-trust .star-highlight {
  color: #F59E0B !important;
}
@media (max-width: 768px) {
  .nc-glass-hero {
    padding: 48px 18px 40px;
    border-radius: 16px;
  }
  .nc-glass-badges {
    grid-template-columns: 1fr;
  }
  .nc-glass-btn-primary, .nc-glass-btn-tel {
    width: 100%;
    justify-content: center;
  }
}
/* nc-anim-engine-v4-styles */
/* Top Scroll Progress Bar */
#nc-scroll-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 3.5px;
  width: 0%;
  background: linear-gradient(90deg, #48BB78, #38A169, #68D391);
  z-index: 999999;
  transition: width 0.08s ease-out;
  box-shadow: 0 0 10px rgba(72, 187, 120, 0.6);
  pointer-events: none;
}

/* 2026 Micro-Interactions & Hover Glow */
.nc-interactive-card,
.nc-silos-grid > div,
.nc-bento-3-grid > div,
.wp-block-kadence-column {
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.28s ease !important;
}
.nc-interactive-card:hover,
.nc-silos-grid > div:hover,
.nc-bento-3-grid > div:hover {
  transform: translateY(-4px) scale(1.008) !important;
  box-shadow: 0 14px 34px rgba(8, 20, 34, 0.09), 0 0 0 1px rgba(72, 187, 120, 0.25) !important;
}

/* Button Pulse & Glow */
.nc-btn-accent, a.nc-btn-glow {
  position: relative;
  overflow: hidden;
}
.nc-btn-accent::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, transparent 60%);
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.3s, transform 0.3s;
  pointer-events: none;
}
.nc-btn-accent:hover::after {
  opacity: 1;
  transform: scale(1);
}

/* Badge Shimmer */
@keyframes ncShimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
.nc-shimmer-badge {
  background: linear-gradient(90deg, rgba(72,187,120,0.12) 0%, rgba(72,187,120,0.3) 50%, rgba(72,187,120,0.12) 100%);
  background-size: 200% 100%;
  animation: ncShimmer 3.5s infinite;
}
/* nc-design-effects-css */
/* E1 — Scroll-Progress-Bar (alle Seiten) */
#nc-scrollprogress{position:fixed;top:0;left:0;height:3px;width:0;z-index:100000;pointer-events:none;
 background:linear-gradient(90deg,#0ea99b,#5eead4);box-shadow:0 0 8px rgba(14,169,155,.45);
 transition:width .12s linear}

/* E3 — Wordmark-Wasserzeichen */
.nc-wm-host{position:relative}
.nc-wm-host>*:not(.nc-wm-clip){position:relative;z-index:1}
.nc-wm-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.nc-wm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 font-family:Manrope,'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.04em;
 font-size:clamp(80px,20vw,340px);line-height:.9;white-space:nowrap;color:currentColor;
 opacity:.05;user-select:none}

/* E6 entfernt am 23.08.2026 auf Kundenwunsch: Der Wort-fuer-Wort-Blur machte
   Ueberschriften beim Scrollen zeitweise unlesbar. Regel bleibt als Notnagel,
   falls irgendwo noch die alte Klasse im Inhalt steht. */
.ncx-word-blur .nc-w{display:inline;filter:none !important;opacity:1 !important}

/* E7 — Hero-Parallax */
.nc-parallax{will-change:transform}

@media (prefers-reduced-motion:reduce){
 #nc-scrollprogress{transition:none}
 .ncx-word-blur .nc-w{filter:none !important;opacity:1 !important}
 .nc-parallax{transform:none !important}
}
/* nc-reveal-failsafe-css */
/* Ohne JavaScript darf nichts unsichtbar bleiben. */
.no-js .nc-reveal,
.no-js [data-nc-reveal]{opacity:1 !important;transform:none !important}
/* Sicherheitsnetz-Klasse: gilt fuer alle bekannten Reveal-Varianten. */
.nc-reveal.nc-shown,
.ncx-reveal.nc-shown,
[data-nc-reveal].nc-shown{opacity:1 !important;transform:none !important}
@media (prefers-reduced-motion:reduce){
 .nc-reveal,.ncx-reveal,[data-nc-reveal]{opacity:1 !important;transform:none !important;transition:none !important}
}
/* nc-ux-polish-css */
/* 1) Ankersprung: Ziel darf nicht unter dem Sticky-Header landen. */
:root{--nc-anchor-offset:140px}
.entry-content h2,.entry-content h3,.entry-content h4,
main h2,main h3,main h4,
[id^="nc-abschnitt-"],
.entry-content [id],main [id]{scroll-margin-top:var(--nc-anchor-offset)}

/* 2) Einblenden. Bewusst als Animation mit fill-mode:both statt Transition:
      Ohne die Klasse ist das Element ganz normal sichtbar - die Animation
      kann also niemals Inhalt dauerhaft verstecken. */
@keyframes ncRise{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.nc-anim{animation:ncRise .55s cubic-bezier(.22,.61,.36,1) both}

/* 2b) Layout-Sprung im Hero-CTA (CLS 0,13).
      Ein CRO-Skript hat die USP-Zeile .nc-core-cta-trust *zwischen* die beiden
      Buttons gesetzt. In einem flex-wrap-Container drueckt dieses Block-Element
      den zweiten Button in eine zweite Zeile; sobald sich Schrift-/Breitenwerte
      nach dem ersten Bildaufbau aendern, klappt die Zeile um und alles darunter
      springt. Entfernen ist keine Option: auf 37 der 62 betroffenen Seiten ist es
      die einzige Trust-Zeile. Sie bekommt deshalb eine eigene Zeile und wandert
      per order ans Ende - Inhalt bleibt, Layout ist stabil. */
/* 3) Zurueck nach oben */
#nc-top{position:fixed;right:20px;bottom:26px;width:46px;height:46px;border-radius:50%;
 display:flex;align-items:center;justify-content:center;z-index:90;border:0;cursor:pointer;
 background:#48BB78;color:#fff;box-shadow:0 10px 26px rgba(14,169,155,.42);
 opacity:0;visibility:hidden;transform:translateY(10px);
 transition:opacity .25s ease,transform .25s ease,visibility .25s,background .2s ease}
#nc-top.is-on{opacity:1;visibility:visible;transform:none}
#nc-top:hover{background:#38A169}
#nc-top:focus-visible{outline:3px solid #5eead4;outline-offset:3px}
#nc-top svg{width:20px;height:20px}
@media (max-width:600px){#nc-top{right:14px;bottom:84px;width:42px;height:42px}}

/* 5) Honeypot sicher verstecken. Der Wrapper .nck-hp traegt aria-hidden,
      wurde aber sichtbar ausgeliefert (34x55px, Label "Website (bitte frei lassen)").
      Sichtbar = unprofessionell UND Lead-Risiko: ausgefuellt wird die Anfrage still verworfen.
      Bewusst per Off-Screen statt display:none, damit Bots das Feld weiterhin ausfuellen. */
.nck-hp{position:absolute !important;left:-9999px !important;top:auto !important;
 width:1px !important;height:1px !important;overflow:hidden !important;
 clip:rect(0 0 0 0) !important;white-space:nowrap !important;pointer-events:none !important}

/* 4) Feinschliff: Textlinks, Bilder, Tabellen */
.entry-content p a:not([class]),.entry-content li a:not([class]){
 background-image:linear-gradient(currentColor,currentColor);
 background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;
 transition:background-size .28s ease,color .2s ease;text-decoration:none}
.entry-content p a:not([class]):hover,.entry-content li a:not([class]):hover{background-size:100% 1px}
.entry-content figure img{transition:transform .45s cubic-bezier(.22,.61,.36,1)}
.entry-content figure:hover img{transform:scale(1.025)}
.entry-content table tbody tr{transition:background .2s ease}
.entry-content table tbody tr:hover{background:rgba(14,169,155,.06)}
a:focus-visible,button:focus-visible{outline:3px solid #48BB78;outline-offset:2px;border-radius:4px}

@media (prefers-reduced-motion:reduce){
 .nc-anim{animation:none}
 #nc-top,.entry-content figure img,.entry-content table tbody tr,
 .entry-content p a:not([class]),.entry-content li a:not([class]){transition:none}
 .entry-content figure:hover img{transform:none}
}
/* nc-nav-submenu-fix-css */
@media (min-width: 1025px) {
	/* Nur oeffnen, nie verstecken: ohne diese Klasse gilt weiter der Core-Zustand.
	   Ein Fehler in dieser Datei kann also kein Menue unsichtbar machen. */
	.wp-block-navigation li.nc-sub-open > .wp-block-navigation__submenu-container {
		display: flex !important;
		flex-direction: column !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		transform: none !important;
	}
	.wp-block-navigation li.wp-block-navigation-submenu.has-child > .wp-block-navigation__submenu-container {
		transition: opacity 0.18s ease;
	}
	/* Hoverbruecke: ohne sie schliesst das Menue im Spalt zwischen Eintrag und Panel. */
	.wp-block-navigation li.wp-block-navigation-submenu.has-child.nc-sub-open::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		height: 14px;
	}
}

/* nc-header-balance: Die Kadence-Kopfzeile stand auf drei starren Spalten
   (247px Logo / 797px Menue / 330px CTA). Logo und Menue brauchen davon nur
   117px bzw. 527px - rund 380px blieben als Leerraum stehen. Spalten richten
   sich jetzt nach ihrem Inhalt, der Rest sammelt sich vor dem CTA. */
@media (min-width: 1025px) {
	.ncx-header-target .kt-row-column-wrap.kt-has-3-columns {
		grid-template-columns: auto minmax(0, 1fr) auto !important;
		column-gap: 44px !important;
		align-items: center;
	}
	.ncx-header-target .inner-column-1,
	.ncx-header-target .inner-column-2 { justify-content: flex-start !important; }
	.ncx-header-target .inner-column-3 { justify-content: flex-end !important; }
	.ncx-header-target .inner-column-2 .wp-block-navigation { justify-content: flex-start !important; }
	/* Die Zentrierung sitzt auf dem inneren Wrapper, nicht auf der Spalte. */
	.ncx-header-target .inner-column-1 .kt-inside-inner-col,
	.ncx-header-target .inner-column-2 .kt-inside-inner-col { justify-content: flex-start !important; }
	.ncx-header-target .inner-column-3 .kt-inside-inner-col { justify-content: flex-end !important; }
	/* Der Navigationsblock zentriert sich zusaetzlich ueber Auto-Margins.
	   Nur das Zuruecksetzen der linken Marge holt ihn wirklich nach links. */
	.ncx-header-target .inner-column-2 .wp-block-navigation {
		margin-left: 0 !important;
		margin-right: auto !important;
	}
}
/* nc-mega-css */
@media (min-width: 1025px) {
	/* Submenu closed by default */
	.wp-block-navigation li.has-child.nc-mega > .wp-block-navigation__submenu-container {
		position: absolute !important;
		top: calc(100% + 10px) !important;
		left: 50% !important;
		transform: translateX(-50%) translateY(8px) !important;
		width: min(1200px, calc(100vw - 48px)) !important;
		padding: 28px 24px !important;
		background: #FFFFFF !important;
		border: 1px solid rgba(0, 0, 0, 0.08) !important;
		border-radius: 20px !important;
		box-shadow: 0 25px 60px -10px rgba(18, 50, 74, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.04) !important;
		z-index: 99999 !important;
		display: none !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s ease !important;
	}

	/* Show on Hover / Focus / Class */
	.wp-block-navigation li.has-child.nc-mega:hover > .wp-block-navigation__submenu-container,
	.wp-block-navigation li.has-child.nc-mega:focus-within > .wp-block-navigation__submenu-container,
	.wp-block-navigation li.has-child.nc-mega.nc-sub-open > .wp-block-navigation__submenu-container {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: translateX(-50%) translateY(0) !important;
	}

	.ncx-header-target .wp-block-navigation > .wp-block-navigation__container { position: relative; }
	.wp-block-navigation li.has-child.nc-mega:not(.nc-mega-s) { position: static !important; }
	
	.wp-block-navigation li.has-child.nc-mega:not(.nc-mega-s) > .wp-block-navigation__submenu-container {
		left: 0 !important;
		right: auto !important;
		transform: translateY(8px) !important;
	}
	.wp-block-navigation li.has-child.nc-mega:not(.nc-mega-s):hover > .wp-block-navigation__submenu-container,
	.wp-block-navigation li.has-child.nc-mega:not(.nc-mega-s):focus-within > .wp-block-navigation__submenu-container,
	.wp-block-navigation li.has-child.nc-mega:not(.nc-mega-s).nc-sub-open > .wp-block-navigation__submenu-container {
		transform: translateY(0) !important;
	}

	.wp-block-navigation li.has-child.nc-mega.nc-mega-s > .wp-block-navigation__submenu-container {
		left: auto !important;
		right: 0 !important;
		transform: translateY(8px) !important;
		width: 440px !important;
		padding: 24px !important;
	}
	.wp-block-navigation li.has-child.nc-mega.nc-mega-s:hover > .wp-block-navigation__submenu-container,
	.wp-block-navigation li.has-child.nc-mega.nc-mega-s:focus-within > .wp-block-navigation__submenu-container,
	.wp-block-navigation li.has-child.nc-mega.nc-mega-s.nc-sub-open > .wp-block-navigation__submenu-container {
		transform: translateY(0) !important;
	}

	.nc-mega-grid { display: grid; gap: 20px; }
	.nc-mega-grid.cols-1 { grid-template-columns: 1fr; }
	.nc-mega-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

	.nc-mega-coltitle {
		color: #0EA99B !important;
		font-family: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;
		font-size: 13px !important;
		font-weight: 800 !important;
		letter-spacing: .06em;
		text-transform: uppercase;
		margin: 0 0 14px;
		padding-bottom: 8px;
		border-bottom: 1.5px solid rgba(14, 169, 155, 0.2);
	}

	a.nc-mega-link {
		display: flex;
		gap: 12px;
		align-items: flex-start;
		padding: 9px 10px;
		border-radius: 12px;
		border-left: 3px solid transparent;
		text-decoration: none;
		color: #12324A !important;
		transition: background .16s ease, transform .16s ease, border-color .16s ease;
		margin-bottom: 4px;
	}
	a.nc-mega-link:hover, a.nc-mega-link:focus-visible {
		background: #F0FDF4 !important;
		border-left-color: #0EA99B !important;
		transform: translateX(3px);
		outline: none;
	}
	.nc-mega-ico {
		flex: 0 0 auto;
		width: 36px;
		height: 36px;
		border-radius: 10px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: #E6FFFA !important;
		color: #0EA99B !important;
		border: 1px solid rgba(14, 169, 155, 0.2);
		transition: background .16s ease;
	}
	a.nc-mega-link:hover .nc-mega-ico {
		background: #0EA99B !important;
		color: #FFFFFF !important;
	}
	.nc-mega-ico svg { width: 18px; height: 18px; }
	.nc-mega-link > span:last-child { display: block; min-width: 0; }
	.nc-mega-t { display: block; font-size: 14px; font-weight: 700; line-height: 1.25; color: #12324A !important; }
	.nc-mega-d { display: block; font-size: 12px; line-height: 1.35; color: #64748B !important; margin-top: 2px; }

	@media (prefers-reduced-motion: reduce) {
		a.nc-mega-link { transition: none; }
		a.nc-mega-link:hover { transform: none; }
	}
}
