/* nc-hero-force-visible */
.nc-hero-parallax-bg,.nc-hero-parallax-bg *,.nc-hero-cols,.nc-hero-cols *{opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;}
/* nc-hero-booster-css */
/* Hero Immediate Visibility & Zero Blank Screen */
    .nc-hero-parallax-bg,
    .nc-hero-parallax-bg *,
    .nc-hero-cols,
    .nc-hero-cols *,
    .nc-hero-col-left,
    .nc-hero-col-left *,
    .nc-hero-col-right,
    .nc-hero-col-right * {
        opacity: 1 !important;
        visibility: visible !important;
        filter: none !important;
    }
    
    /* Hero Container & Responsive Spacing */
    .nc-hero-parallax-bg {
        min-height: 85vh !important;
        display: flex !important;
        align-items: center !important;
        position: relative !important;
        background: linear-gradient(135deg, #0d1e30 0%, #152e4d 50%, #1a365d 100%) !important;
        padding: 90px 0 70px !important;
    }
    
    /* Premium Glowing Button */
    .nc-hero-btn-primary {
        background: linear-gradient(135deg, #48BB78 0%, #38A169 100%) !important;
        color: #081422 !important;
        font-weight: 800 !important;
        font-size: 16px !important;
        padding: 16px 36px !important;
        border-radius: 9999px !important;
        text-decoration: none !important;
        box-shadow: 0 10px 25px rgba(72, 187, 120, 0.45) !important;
        transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
    .nc-hero-btn-primary:hover {
        transform: translateY(-2px) scale(1.02) !important;
        box-shadow: 0 14px 30px rgba(72, 187, 120, 0.6) !important;
        color: #081422 !important;
    }

    /* Secondary Call Button */
    .nc-hero-btn-secondary {
        background: rgba(255, 255, 255, 0.12) !important;
        color: #FFFFFF !important;
        font-weight: 700 !important;
        font-size: 15px !important;
        padding: 16px 28px !important;
        border-radius: 9999px !important;
        text-decoration: none !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
        backdrop-filter: blur(10px) !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        transition: all 0.2s ease !important;
    }
    .nc-hero-btn-secondary:hover {
        background: rgba(255, 255, 255, 0.22) !important;
        border-color: #48BB78 !important;
        color: #FFFFFF !important;
        transform: translateY(-2px) !important;
    }

    /* Review Card Polish */
    .nc-hero-review-box {
        background: rgba(13, 30, 48, 0.85) !important;
        border: 1.5px solid rgba(255, 255, 255, 0.18) !important;
        border-radius: 24px !important;
        padding: 32px 28px !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5) !important;
        text-align: center !important;
    }

    @media (max-width: 991px) {
        .nc-hero-parallax-bg {
            padding: 120px 20px 60px !important;
            min-height: auto !important;
        }
    }
/* nc-unified-global-tokens */
:root {
        /* ══════════════════════════════════════════════════════════
           1. DIE EINZIGEN VERBINDLICHEN FARBEN (KEINE ABWEICHUNGEN)
           ══════════════════════════════════════════════════════════ */
        /* AKZENT-GOLD (PRIMÄRER CTA) */
        --brand-accent: #F5B301;
        --brand-accent-hover: #E5A700;
        --brand-accent-dark: #C99200;
        --brand-accent-light: #FCD34D;
        --brand-accent-bg: rgba(245, 179, 1, 0.12);
        --brand-accent-glow: rgba(245, 179, 1, 0.35);
        --nc-accent: #F5B301;
        --nc-accent-hover: #E5A700;
        --nc-on-accent: #231A00;
        --nc-teal: #0EA99B;
        --nc-teal-light: #2DD4BF;
        --nc-teal-dark: #0B6B62;

        /* EINHEITLICHES DEEP NAVY / BLAU */
        --brand-primary: #1A365D;
        --brand-primary-dark: #0B192C;
        --brand-primary-light: #2A4365;
        --brand-primary-surface: #1E3A5F;
        --nc-navy: #1A365D;
        --nc-navy-dark: #0B192C;
        --nc-navy-light: #2A4365;

        /* KADENCE PALETTE HARMONISIERUNG */
        --global-palette1: #F5B301 !important; /* Primärfarbe: Gold */
        --global-palette2: #E5A700 !important; /* Hover-Gold */
        --global-palette3: #1A365D !important; /* Deep Navy */
        --global-palette4: #0B192C !important; /* Dark Navy */
        --global-palette5: #475569 !important; /* Muted Slate */
        --global-palette6: #E2E8F0 !important; /* Border */
        --global-palette7: #F7FAFC !important; /* Background */
        --global-palette8: #FFFFFF !important;
        --global-palette9: #FFFFFF !important;

        /* TYPOGRAFIE & BORDER RADIUS */
        --nc-bg: #F7FAFC;
        --nc-surface: #FFFFFF;
        --nc-border: #E2E8F0;
        --nc-radius-btn: 9999px;
    }

    /* ══════════════════════════════════════════════════════════
       2. GLOBALE TYPOGRAFIE (PLUS JAKARTA SANS & INTER)
       ══════════════════════════════════════════════════════════ */
    body, p, li, input, textarea, select {
        font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
        font-weight: 400;
        color: #334155;
        line-height: 1.7;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    h1, h2, h3, h4, h5, h6,
    .nc-hero-title, .nc-trust-title, .nc-service-card-title, .nc-benefit-card-title,
    .ncb-cardtitle, .nc-section-title, .kt-adv-heading, .wp-block-heading,
    .font-heading {
        font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
        letter-spacing: -0.025em !important;
        line-height: 1.2 !important;
        color: #1A365D;
    }

    h1, .nc-hero-title {
        font-weight: 800 !important;
        letter-spacing: -0.03em !important;
    }

    h2, .nc-section-title {
        font-weight: 800 !important;
        letter-spacing: -0.025em !important;
    }

    h3, .nc-service-card-title, .ncb-cardtitle {
        font-weight: 700 !important;
    }

    /* ══════════════════════════════════════════════════════════
       3. GLOBALE BUTTON-HARMONISIERUNG (100% KONSISTENT)
       ══════════════════════════════════════════════════════════ */
    
    /* ALLE PRIMÄREN BUTTONS -> #F5B301 GOLD PILL (10.5:1 WCAG AAA) */
    .wp-block-button__link:not(.has-background),
    .nc-button,
    .ncb-btn--p,
    .nc-btn-primary,
    .nc-target-btn-cta,
    .kt-button:not([href^="tel:"]):not(.header-button a):not(.kb-btn27262_btn_5_4q4ve):not([href*="leistungen"]),
    .kb-button:not([href^="tel:"]):not(.header-button a):not(.kb-btn27262_btn_5_4q4ve):not([href*="leistungen"]),
    .btn-primary,
    input[type="submit"],
    button[type="submit"],
    a.nc-btn-primary,
    a.nc-hero-btn-primary,
    .wp-block-button:not(.is-style-outline) > a {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 700 !important;
        font-size: 15.5px !important;
        letter-spacing: -0.01em !important;
        background: #F5B301 !important;
        color: #231A00 !important;
        padding: 14px 32px !important;
        border-radius: 9999px !important;
        border: none !important;
        text-decoration: none !important;
        box-shadow: 0 4px 14px rgba(245, 179, 1, 0.35) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        cursor: pointer !important;
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
        box-sizing: border-box !important;
    }
    .kt-button:not([href^="tel:"]):not(.header-button a):not(.kb-btn27262_btn_5_4q4ve):not([href*="leistungen"]) *,
    .kb-button:not([href^="tel:"]):not(.header-button a):not(.kb-btn27262_btn_5_4q4ve):not([href*="leistungen"]) *,
    .nc-btn-primary *,
    a.nc-btn-primary *,
    a.nc-hero-btn-primary * {
        color: #231A00 !important;
    }

    .wp-block-button__link:not(.has-background):hover,
    .nc-button:hover,
    .ncb-btn--p:hover,
    .nc-btn-primary:hover,
    .nc-target-btn-cta:hover,
    .kt-button:not([href^="tel:"]):hover,
    .kb-button:not([href^="tel:"]):hover,
    input[type="submit"]:hover,
    button[type="submit"]:hover,
    a.nc-btn-primary:hover,
    a.nc-hero-btn-primary:hover,
    .wp-block-button:not(.is-style-outline) > a:hover {
        background: #F5B301 !important;
        color: #000000 !important;
        border-color: #000000 !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 0 0 3px rgba(245, 179, 1, 0.8), 0 12px 28px rgba(245, 179, 1, 0.35) !important;
    }

    /* TELEFON / SEKUNDÄRE BUTTONS */
    a.kt-button[href^="tel:"],
    a.kb-button[href^="tel:"],
    .nc-hero-btn-secondary,
    .ncb-btn--g,
    .nc-btn-phone {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 700 !important;
        font-size: 15.5px !important;
        border-radius: 9999px !important;
        padding: 14px 28px !important;
        background: rgba(255, 255, 255, 0.08) !important;
        border: 2px solid rgba(255, 255, 255, 0.45) !important;
        color: #FFFFFF !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.12), 0 8px 20px rgba(0, 0, 0, 0.18) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        text-decoration: none !important;
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }
    a.kt-button[href^="tel:"] *,
    a.kb-button[href^="tel:"] *,
    .nc-hero-btn-secondary *,
    .ncb-btn--g *,
    .nc-btn-phone * {
        color: #FFFFFF !important;
    }
    a.kt-button[href^="tel:"]:hover,
    a.kb-button[href^="tel:"]:hover,
    .nc-hero-btn-secondary:hover,
    .ncb-btn--g:hover,
    .nc-btn-phone:hover {
        background: rgba(45, 212, 191, 0.15) !important;
        border-color: #2DD4BF !important;
        color: #2DD4BF !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.5), 0 12px 24px rgba(45, 212, 191, 0.25) !important;
    }

    /* Secondary Hero Action Pill (e.g. Home Leistungen ansehen) */
    body.home .kb-row-layout-id27262_sec_7_v72ma a.kb-btn27262_btn_5_4q4ve,
    body.home a.kb-button.kb-btn27262_btn_5_4q4ve,
    a.kb-button.kb-btn27262_btn_5_4q4ve {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 700 !important;
        font-size: 15.5px !important;
        border-radius: 9999px !important;
        padding: 14px 28px !important;
        background: rgba(10, 25, 47, 0.65) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border: 2px solid rgba(255, 255, 255, 0.7) !important;
        color: #FFFFFF !important;
        text-decoration: none !important;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15), 0 8px 20px rgba(0, 0, 0, 0.25) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        cursor: pointer !important;
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
        box-sizing: border-box !important;
    }
    body.home .kb-row-layout-id27262_sec_7_v72ma a.kb-btn27262_btn_5_4q4ve *,
    body.home a.kb-button.kb-btn27262_btn_5_4q4ve *,
    a.kb-button.kb-btn27262_btn_5_4q4ve * {
        color: #FFFFFF !important;
    }
    body.home .kb-row-layout-id27262_sec_7_v72ma a.kb-btn27262_btn_5_4q4ve:hover,
    body.home a.kb-button.kb-btn27262_btn_5_4q4ve:hover,
    a.kb-button.kb-btn27262_btn_5_4q4ve:hover {
        background: rgba(45, 212, 191, 0.2) !important;
        border-color: #2DD4BF !important;
        color: #2DD4BF !important;
        box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.5), 0 12px 24px rgba(45, 212, 191, 0.25) !important;
        transform: translateY(-2px) !important;
    }
    body.home .kb-row-layout-id27262_sec_7_v72ma a.kb-btn27262_btn_5_4q4ve:hover *,
    body.home a.kb-button.kb-btn27262_btn_5_4q4ve:hover *,
    a.kb-button.kb-btn27262_btn_5_4q4ve:hover * {
        color: #2DD4BF !important;
    }

    /* HEADER CTA BUTTON -> #1A365D PILL */
    .header-cta-btn,
    .header-html a.kt-button,
    .header-button a {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 700 !important;
        font-size: 14.5px !important;
        background: #1A365D !important;
        color: #FFFFFF !important;
        padding: 12px 26px !important;
        border-radius: 9999px !important;
        border: none !important;
        text-decoration: none !important;
        box-shadow: 0 6px 18px rgba(26, 54, 93, 0.25) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }
    .header-cta-btn:hover,
    .header-html a.kt-button:hover,
    .header-button a:hover {
        background: #2A4365 !important;
        color: #FFFFFF !important;
        transform: translateY(-2px) !important;
    }

    /* ALLE SEKUNDÄREN / OUTLINE / GLASS BUTTONS */
    .ncb-btn--g,
    .nc-button-sec,
    .nc-btn-secondary,
    .nc-target-btn-secondary,
    a.nc-hero-btn-secondary,
    .wp-block-button.is-style-outline > a {
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 700 !important;
        font-size: 15.5px !important;
        border-radius: 9999px !important;
        padding: 15px 30px !important;
        text-decoration: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
        box-sizing: border-box !important;
    }

    /* Auf dunklen Sektionen */
    .nc-hero .nc-hero-btn-secondary,
    .nc-hero-parallax-bg a.nc-hero-btn-secondary,
    .ncb-hero .ncb-btn--g,
    .nc-dark-section .nc-btn-secondary {
        background: rgba(255, 255, 255, 0.10) !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
        color: #FFFFFF !important;
        backdrop-filter: blur(8px) !important;
    }
    .nc-hero .nc-hero-btn-secondary:hover,
    .nc-hero-parallax-bg a.nc-hero-btn-secondary:hover,
    .ncb-hero .ncb-btn--g:hover,
    .nc-dark-section .nc-btn-secondary:hover {
        background: rgba(255, 255, 255, 0.20) !important;
        border-color: rgba(255, 255, 255, 0.50) !important;
        color: #FFFFFF !important;
        transform: translateY(-2px) !important;
    }

    /* Auf hellen Sektionen */
    .nc-btn-secondary,
    .wp-block-button.is-style-outline > a {
        background: #FFFFFF !important;
        border: 1.5px solid #E2E8F0 !important;
        color: #1A365D !important;
    }
    .nc-btn-secondary:hover,
    .wp-block-button.is-style-outline > a:hover {
        border-color: #0EA99B !important;
        color: #0B6B62 !important;
        transform: translateY(-2px) !important;
    }

    
    /* FORCE HEADER CTA BUTTON -> #1A365D PILL */
    .site-header-item .header-button a,
    .site-header-item .button,
    .header-button .button,
    .site-header-main-section-right a.button,
    .header-html a.kt-button,
    .header-cta-btn {
        background: #1A365D !important;
        color: #FFFFFF !important;
        border-radius: 9999px !important;
        font-family: 'Plus Jakarta Sans', sans-serif !important;
        font-weight: 700 !important;
        font-size: 14.5px !important;
        padding: 12px 26px !important;
        border: none !important;
        box-shadow: 0 4px 14px rgba(26, 54, 93, 0.25) !important;
    }
    .site-header-item .header-button a:hover,
    .site-header-item .button:hover,
    .header-button .button:hover,
    .site-header-main-section-right a.button:hover,
    .header-html a.kt-button:hover,
    .header-cta-btn:hover {
        background: #2A4365 !important;
        color: #FFFFFF !important;
        transform: translateY(-2px) !important;
    }

    /* FORCE ALL PRIMARY BUTTON TEXT COLOR TO OBSIDIAN NAVY (10.5:1 WCAG AAA) */
    .wp-block-button:not(.is-style-outline) > a,
    .wp-block-button__link:not(.has-background),
    .nc-button,
    .ncb-btn--p,
    .nc-btn-primary,
    .nc-target-btn-cta,
    .kt-button:not([href^="tel:"]):not(.header-button a):not(.kb-btn27262_btn_5_4q4ve):not([href*="leistungen"]),
    .kb-button:not([href^="tel:"]):not(.header-button a):not(.kb-btn27262_btn_5_4q4ve):not([href*="leistungen"]),
    .button:not(.header-button a):not(.is-style-outline a):not([href^="tel:"]):not(.kb-btn27262_btn_5_4q4ve):not([href*="leistungen"]),
    .btn-primary,
    input[type="submit"],
    button[type="submit"],
    a.nc-btn-primary,
    a.nc-hero-btn-primary {
        color: #231A00 !important;
        background: #F5B301 !important;
    }
    .wp-block-button:not(.is-style-outline) > a *,
    .wp-block-button__link:not(.has-background) *,
    .kt-button:not([href^="tel:"]):not(.kb-btn27262_btn_5_4q4ve):not([href*="leistungen"]) *,
    .kb-button:not([href^="tel:"]):not(.kb-btn27262_btn_5_4q4ve):not([href*="leistungen"]) * {
        color: #231A00 !important;
    }

    /* RE-ASSERT HERO SECONDARY GLASS ACTION BUTTON */
    body.home .kb-row-layout-id27262_sec_7_v72ma a.kb-btn27262_btn_5_4q4ve,
    body.home a.kb-button.kb-btn27262_btn_5_4q4ve,
    a.kb-button.kb-btn27262_btn_5_4q4ve {
        background: rgba(10, 25, 47, 0.65) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border: 2px solid rgba(255, 255, 255, 0.7) !important;
        color: #FFFFFF !important;
        box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15), 0 8px 20px rgba(0, 0, 0, 0.25) !important;
    }
    body.home .kb-row-layout-id27262_sec_7_v72ma a.kb-btn27262_btn_5_4q4ve *,
    body.home a.kb-button.kb-btn27262_btn_5_4q4ve *,
    a.kb-button.kb-btn27262_btn_5_4q4ve * {
        color: #FFFFFF !important;
    }
    body.home .kb-row-layout-id27262_sec_7_v72ma a.kb-btn27262_btn_5_4q4ve:hover,
    body.home a.kb-button.kb-btn27262_btn_5_4q4ve:hover,
    a.kb-button.kb-btn27262_btn_5_4q4ve:hover {
        background: rgba(45, 212, 191, 0.2) !important;
        border-color: #2DD4BF !important;
        color: #2DD4BF !important;
        box-shadow: 0 0 0 3px rgba(45, 212, 191, 0.5), 0 12px 24px rgba(45, 212, 191, 0.25) !important;
        transform: translateY(-2px) !important;
    }
    body.home .kb-row-layout-id27262_sec_7_v72ma a.kb-btn27262_btn_5_4q4ve:hover *,
    body.home a.kb-button.kb-btn27262_btn_5_4q4ve:hover *,
    a.kb-button.kb-btn27262_btn_5_4q4ve:hover * {
        color: #2DD4BF !important;
    }
    
    /* SCROLL TO TOP BUTTON -> #1A365D DEEP NAVY */
    #nc-top,
    button#nc-top,
    .is-on#nc-top,
    #kt-scroll-up,
    .scroll-up,
    .kadence-scroll-to-top,
    #kadence-scroll-to-top {
        background-color: #1A365D !important;
        color: #FFFFFF !important;
        border-radius: 50% !important;
        box-shadow: 0 8px 22px rgba(26, 54, 93, 0.40) !important;
        transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }
    #kt-scroll-up:hover,
    .scroll-up:hover,
    .kadence-scroll-to-top:hover,
    #kadence-scroll-to-top:hover {
        background-color: #0EA99B !important;
        transform: translateY(-3px) scale(1.05) !important;
        box-shadow: 0 12px 28px rgba(14, 169, 155, 0.45) !important;
    }
    /* ══════════════════════════════════════════════════════════
       4. SEKTIONEN, BADGES & ICONS HARMONISIERUNG
       ══════════════════════════════════════════════════════════ */
    
    /* ══════════════════════════════════════════════════════════════════
       HERO IMMEDIATE VISIBILITY & ZERO DELAY AT FIRST PAINT
       ══════════════════════════════════════════════════════════════════ */
    .nc-hero-parallax-bg,
    .nc-hero-parallax-bg *,
    .nc-hero-cols,
    .nc-hero-cols *,
    .nc-hero-col-left,
    .nc-hero-col-left *,
    .nc-hero-col-right,
    .nc-hero-col-right * {
        opacity: 1 !important;
        visibility: visible !important;
        filter: none !important;
    }

    /* Dunkle Sektionen & Hero */
    .nc-hero-parallax-bg,
    .ncb-hero,
    .nc-dark-section {
        background: linear-gradient(180deg, #10263D 0%, #1A365D 100%) !important;
    }

    /* Micro-Badges & Eyebrows */
    .nc-section-badge,
    .nc-eyebrow,
    .ncb-eyebrow,
    .nc-geo-hero-badge {
        background: rgba(14, 169, 155, 0.10) !important;
        color: #0B6B62 !important;
        border: 1px solid rgba(14, 169, 155, 0.28) !important;
        border-radius: 9999px !important;
    }
    .nc-dark-context .nc-section-badge,
    .nc-dark-context .nc-eyebrow,
    .nc-dark-context .ncb-eyebrow,
    .nc-dark-context .nc-geo-hero-badge,
    .nc-dark-section .nc-section-badge,
    .nc-dark-section .nc-eyebrow,
    .nc-dark-section .ncb-eyebrow,
    .nc-dark-section .nc-geo-hero-badge {
        background: rgba(45, 212, 191, 0.12) !important;
        color: #2DD4BF !important;
        border-color: rgba(45, 212, 191, 0.35) !important;
    }

    /* Icon-Container & Akzente */
    .nc-tib-icon-box,
    .nc-card-icon,
    .ncb-icon,
    .nc-district-badge {
        background: rgba(14, 169, 155, 0.10) !important;
        color: #0EA99B !important;
        border-color: rgba(14, 169, 155, 0.25) !important;
    }

    /* Navigation Links Hover */
    .wp-block-navigation-item__content:hover,
    .primary-menu > li > a:hover,
    a.nc-mega-link:hover {
        color: #0EA99B !important;
    }
    a.nc-mega-link:hover {
        border-left-color: #0EA99B !important;
        background: rgba(14, 169, 155, 0.08) !important;
    }

    /* Bento & Service Cards Hover */
    .nc-bento-card:hover,
    .nc-district-card:hover,
    .ncb-card:hover {
        border-color: #0EA99B !important;
        box-shadow: 0 14px 34px rgba(14, 169, 155, 0.14) !important;
    }

    /* Footer Trust Bar */
    .nc-trust-insurance-bar {
        background: #F8FAFC !important;
        border-color: rgba(226, 232, 240, 0.8) !important;
    }
    
    
    /* ══════════════════════════════════════════════════════════════════
       PERFECT PIXEL-PRECISION HERO LAYOUT & BACKGROUND FIX
       ══════════════════════════════════════════════════════════════════ */
    .nc-hero-parallax-bg {
        position: relative !important;
        min-height: calc(100vh - 88px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #10263D !important;
        overflow: hidden !important;
        padding: 30px 0 !important;
        box-sizing: border-box !important;
    }
    .nc-hero-parallax-bg > .wp-block-group__inner-container {
        position: relative !important;
        z-index: 10 !important;
        width: 100% !important;
        max-width: 1240px !important;
        margin: 0 auto !important;
        padding: 20px 24px !important;
    }
    /* Full height background image & seamless gradient cover */
    .nc-hero-background-media,
    .nc-hero-background-media img,
    .nc-hero-parallax-bg img.nc-hero-still,
    .nc-hero-background-media > img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
        z-index: 1 !important;
        pointer-events: none !important;
        opacity: 0.35 !important;
    }
    .nc-hero-background-media > div,
    .nc-hero-background-media > div[style*="background"] {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: linear-gradient(90deg, rgba(16,38,61,0.96) 0%, rgba(26,54,93,0.88) 55%, rgba(16,38,61,0.75) 100%) !important;
        z-index: 2 !important;
        pointer-events: none !important;
    }
    .nc-hero-cols {
        position: relative !important;
        z-index: 20 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 32px !important;
    }
    .nc-hero-col-left {
        position: relative !important;
        z-index: 25 !important;
        flex: 1 1 66% !important;
        max-width: 740px !important;
    }
    .nc-hero-col-right {
        position: relative !important;
        z-index: 25 !important;
        flex: 0 0 34% !important;
        max-width: 320px !important;
        display: flex !important;
        justify-content: center !important;
    }
    /* Typography & Spacing tuning for single-screen above-the-fold fit */
    .nc-hero-col-left h1 {
        font-size: clamp(30px, 4.2vw, 54px) !important;
        line-height: 1.14 !important;
        margin: 0 0 16px !important;
        color: #FFFFFF !important;
        text-shadow: 0 2px 12px rgba(0,0,0,0.5) !important;
    }
    .nc-hero-col-left p[style*="font-size"] {
        font-size: clamp(15px, 1.4vw, 17.5px) !important;
        line-height: 1.55 !important;
        margin: 0 0 24px !important;
        color: #E2E8F0 !important;
    }
    .nc-hero-col-left .wp-block-button,
    .nc-hero-col-left div[style*="margin:0 0 36px"],
    .nc-hero-col-left div[style*="margin: 0 0 36px"] {
        margin: 0 0 22px !important;
    }
    /* Google rating card word break & star row fix */
    .nc-hero-col-right > div {
        background: rgba(16,38,61,0.85) !important;
        border: 1.5px solid rgba(255,255,255,0.20) !important;
        border-radius: 22px !important;
        padding: 26px 22px !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        box-shadow: 0 20px 50px rgba(0,0,0,0.45) !important;
        width: 100% !important;
        max-width: 300px !important;
        text-align: center !important;
    }
    .nc-hero-col-right div,
    .nc-hero-col-right span {
        white-space: nowrap !important;
        word-break: keep-all !important;
        hyphens: none !important;
    }

    
/* ════════════════════════════════════════════════════════════════════════════
   HIGH-END AGENCY VISUAL DESIGN SYSTEM (HIGH-END-VISUAL-DESIGN SKILL)
   ════════════════════════════════════════════════════════════════════════════ */

/* 1. BUTTON-IN-BUTTON & ISLAND CTA ARCHITECTURE */
.nc-hero-btn-primary,
.nc-btn-primary,
.nc-lh-cta-btn,
.wp-block-button:not(.is-style-outline) > a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    background: #F5B301 !important;
    color: #231A00 !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15.5px !important;
    letter-spacing: -0.015em !important;
    padding: 14px 28px !important;
    border-radius: 9999px !important;
    border: none !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(245, 179, 1, 0.32), 0 2px 6px rgba(0,0,0,0.06) !important;
    transition: all 0.35s cubic-bezier(0.32, 0.72, 0, 1) !important;
    cursor: pointer !important;
}
.nc-hero-btn-primary:hover,
.nc-btn-primary:hover,
.nc-lh-cta-btn:hover,
.wp-block-button:not(.is-style-outline) > a:hover {
    background: #E5A700 !important;
    color: #231A00 !important;
    transform: translateY(-2.5px) scale(1.01) !important;
    box-shadow: 0 16px 36px rgba(245, 179, 1, 0.45), 0 4px 12px rgba(0,0,0,0.08) !important;
}

/* Secondary Button with Glass Depth */
.nc-hero-btn-secondary,
.nc-btn-secondary,
.wp-block-button.is-style-outline > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 9999px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 14px 26px !important;
    text-decoration: none !important;
    transition: all 0.35s cubic-bezier(0.32, 0.72, 0, 1) !important;
}

/* 2. DOUBLE-BEZEL (DOPPELRAND) NESTED ARCHITECTURE FOR CARDS */
.nc-bento-card,
.nc-lh-card,
.nc-service-card,
.nc-district-card,
.nc-feature-card {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 16px rgba(10, 38, 71, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.35s cubic-bezier(0.32, 0.72, 0, 1) !important;
    position: relative !important;
    overflow: hidden !important;
}
.nc-bento-card:hover,
.nc-lh-card:hover,
.nc-service-card:hover,
.nc-district-card:hover,
.nc-feature-card:hover {
    transform: translateY(-4px) !important;
    border-color: #0EA99B !important;
    box-shadow: 0 20px 40px rgba(14, 169, 155, 0.12), 0 4px 12px rgba(10, 38, 71, 0.04) !important;
}

/* 3. MICRO-EYEBROW PILL BADGES */
.nc-eyebrow,
.nc-section-badge,
.ncb-eyebrow,
.nc-lh-badge,
.nc-geo-hero-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(14, 169, 155, 0.10) !important;
    border: 1px solid rgba(14, 169, 155, 0.28) !important;
    color: #0B6B62 !important;
    padding: 6px 16px !important;
    border-radius: 9999px !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
}
.nc-dark-context .nc-eyebrow,
.nc-dark-context .nc-section-badge,
.nc-dark-context .ncb-eyebrow,
.nc-dark-context .nc-geo-hero-badge,
.nc-dark-section .nc-eyebrow,
.nc-dark-section .nc-section-badge,
.nc-dark-section .ncb-eyebrow,
.nc-dark-section .nc-geo-hero-badge {
    background: rgba(45, 212, 191, 0.12) !important;
    border-color: rgba(45, 212, 191, 0.35) !important;
    color: #2DD4BF !important;
}

/* 4. PRE-FOOTER TRUST BAR ELEGANCE */
.nc-trust-insurance-bar {
    background: #F8FAFC !important;
    border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
    padding: 28px 20px 32px !important;
}
.nc-tib-item {
    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 14px !important;
    padding: 11px 16px !important;
    box-shadow: 0 2px 8px rgba(10, 38, 71, 0.03) !important;
    transition: all 0.3s cubic-bezier(0.32, 0.72, 0, 1) !important;
}
.nc-tib-item:hover {
    border-color: #0EA99B !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(14, 169, 155, 0.14) !important;
}

/* 5. SMOOTH SCROLL & SELECTION */
html {
    scroll-behavior: smooth;
}
::selection {
    background: rgba(245, 179, 1, 0.35);
    color: #0B192C;
}
/* 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;
    }
    /* ── HERO IMMEDIATE ZERO-DELAY VISIBILITY ── */
    .nc-hero-parallax-bg,
    .nc-hero-parallax-bg *,
    .nc-hero-cols,
    .nc-hero-cols *,
    .nc-hero-col-left,
    .nc-hero-col-left *,
    .nc-hero-col-right,
    .nc-hero-col-right * {
        opacity: 1 !important;
        visibility: visible !important;
        filter: none !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-global-contrast-override */
/* ============================================================
   GLOBAL HIGH CONTRAST & LEGIBILITY ENGINE (WCAG AAA)
   ============================================================ */

/* 1. TOP TRUST BAR: Ultra-Crisp White & Emerald Accents */
.nc-top-trust-bar,
div[class*="nc-top-trust-bar"] {
  background: #081422 !important;
  color: #FFFFFF !important;
}
.nc-top-trust-bar .nc-trust-badge-item,
div[class*="nc-top-trust-bar"] li {
  color: #FFFFFF !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
.nc-top-trust-bar .nc-trust-badge-item .dot,
div[class*="nc-top-trust-bar"] span.dot {
  color: #34D399 !important;
  font-weight: 800 !important;
}
.nc-top-trust-bar .nc-top-phone-link,
div[class*="nc-top-trust-bar"] a {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

/* 2. DARK HERO SECTIONS (.ncb-hero, .ncu-hero, etc.) */
.ncb-hero,
.ncu-hero,
.nc-hero-dark,
section[class*="-hero"] {
  color: #FFFFFF !important;
}
.ncb-hero h1,
.ncb-hero h1 span,
.ncu-hero h1,
.ncu-hero h1 span,
.nc-hero-dark h1 {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}
.ncb-hero h1 span,
.ncu-hero h1 span {
  color: #34D399 !important;
}
.ncb-hero .ncb-hero-sub,
.ncu-hero .ncu-hero-sub,
.ncb-hero p,
.ncu-hero p {
  color: #F8FAFC !important;
  font-weight: 500 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}
.ncb-hero-badge,
.ncu-hero-badge {
  background: rgba(16, 185, 129, 0.2) !important;
  border: 1px solid rgba(52, 211, 153, 0.5) !important;
  color: #34D399 !important;
  font-weight: 800 !important;
}

/* 3. SERVICEGEBIET & WIEN DISTRICTS DARK MAP SECTION */
.wp-block-group[style*="#1A365D"],
.wp-block-group[style*="background-color: #1A365D"],
.wp-block-group[style*="background-color: rgb(26, 54, 93)"] {
  color: #FFFFFF !important;
}
.wp-block-group[style*="#1A365D"] h2,
.wp-block-group[style*="#1A365D"] h3,
.wp-block-group[style*="background-color: #1A365D"] h2,
.wp-block-group[style*="background-color: #1A365D"] h3 {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  text-shadow: 0 2px 6px rgba(0,0,0,0.4) !important;
}
.wp-block-group[style*="#1A365D"] p,
.wp-block-group[style*="#1A365D"] li,
.wp-block-group[style*="background-color: #1A365D"] p,
.wp-block-group[style*="background-color: #1A365D"] li {
  color: #F1F5F9 !important;
  font-weight: 500 !important;
}
.wp-block-group[style*="#1A365D"] p[style*="#48BB78"],
.wp-block-group[style*="#1A365D"] span[style*="#48BB78"] {
  color: #34D399 !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}

/* 4. LEISTUNGEN OVERVIEW CTA BANNER (.nc-lh-cta-box) */
.nc-lh-cta-box {
  background: linear-gradient(135deg, #0A192F 0%, #112240 60%, #1A365D 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 12px 32px rgba(8, 20, 34, 0.25) !important;
}
.nc-lh-cta-box h3 {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  text-shadow: 0 2px 6px rgba(0,0,0,0.4) !important;
}
.nc-lh-cta-box p {
  color: #F1F5F9 !important;
  font-weight: 500 !important;
}

/* 5. FAQ SECTION ON SERVICE PAGES (.ncb-faq-section) */
.ncb-faq-section {
  background: linear-gradient(180deg, #0A192F 0%, #0D213A 100%) !important;
  color: #FFFFFF !important;
}
.ncb-faq-badge {
  color: #34D399 !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}
.ncb-faq-title {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  text-shadow: 0 2px 6px rgba(0,0,0,0.4) !important;
}
.ncb-faq-desc {
  color: #E2E8F0 !important;
  font-weight: 500 !important;
}
.ncb-faq-q {
  color: #FFFFFF !important;
  font-weight: 700 !important;
}
.ncb-faq-q span {
  color: #FFFFFF !important;
}
.ncb-faq-a {
  color: #F1F5F9 !important;
  font-weight: 450 !important;
  line-height: 1.7 !important;
}

/* 6. GENERAL DARK BLOCKS (#10263D, #0B2338, #081B2B, #0A192F) */
.wp-block-group[style*="#10263D"],
.wp-block-group[style*="#0B2338"],
.wp-block-group[style*="#081B2B"],
.wp-block-group[style*="#0A192F"],
.wp-block-group[style*="background-color: #10263D"],
.wp-block-group[style*="background-color: rgb(16, 38, 61)"],
.nc-bento-3-grid,
.nc-bento-3-grid * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wp-block-group[style*="#10263D"] h1,
.wp-block-group[style*="#10263D"] h2,
.wp-block-group[style*="#10263D"] h3,
.wp-block-group[style*="#0B2338"] h1,
.wp-block-group[style*="#0B2338"] h2,
.wp-block-group[style*="#0B2338"] h3,
.wp-block-group[style*="#0A192F"] h1,
.wp-block-group[style*="#0A192F"] h2,
.wp-block-group[style*="#0A192F"] h3,
.nc-bento-3-grid h2,
.nc-bento-3-grid h3 {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.4) !important;
  letter-spacing: -0.02em !important;
}

.wp-block-group[style*="#10263D"] p,
.wp-block-group[style*="#10263D"] li,
.wp-block-group[style*="#0B2338"] p,
.wp-block-group[style*="#0B2338"] li,
.wp-block-group[style*="#0A192F"] p,
.wp-block-group[style*="#0A192F"] li,
.nc-bento-3-grid p,
.nc-bento-3-grid li {
  color: #F8FAFC !important;
  font-weight: 450 !important;
  line-height: 1.65 !important;
  opacity: 1 !important;
}

.wp-block-group[style*="#10263D"] .ncx-reveal,
.nc-bento-3-grid .ncx-reveal {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.20) !important;
  box-shadow: 0 8px 32px -4px rgba(0, 0, 0, 0.3) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

.nc-bento-3-grid svg,
.wp-block-group[style*="#10263D"] svg {
  color: #34D399 !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}
/* nc-cls-header */
.wp-block-navigation__responsive-container-close{position:absolute!important}
/* nc-cta-trust-fix */
.nc-core-cta-trust{flex-basis:100% !important;width:100% !important;order:99 !important}
/* nc-mobil */
@media (max-width:781px){.entry-content .alignwide[style*="grid-auto-rows"]{grid-template-rows:auto!important;grid-auto-rows:auto!important}.entry-content .alignwide[style*="grid-auto-rows"]>a{grid-column:auto!important;grid-row:auto!important}.nc-hero-background-media::after{background-image:linear-gradient(180deg,rgba(8,20,36,.42) 0%,rgba(8,20,36,.60) 42%,rgba(8,20,36,.74) 100%)!important}.nc-hero-col-left>p:first-child{font-size:14px!important;letter-spacing:.3px!important}.nc-footer-social-link{min-width:44px!important;min-height:44px!important}img[style*="min-height:380px"]{min-height:220px!important}.nca-eyebrow{letter-spacing:.4px!important}#nc-top{width:44px!important;height:44px!important}}
/* nc-head-base-fixes */
/* Ensure Header Dropdowns are closed by default */
.kt-layout-id_header-1 .wp-block-navigation__submenu-container,
.wp-block-navigation-submenu .wp-block-navigation__submenu-container {
  display: none !important;
}
.kt-layout-id_header-1 .wp-block-navigation-item:hover > .wp-block-navigation__submenu-container,
.kt-layout-id_header-1 .wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-container {
  display: block !important;
}
@media (min-width: 1025px) {
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
}
/* 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 */
/* Puls ueber ein Pseudoelement mit transform+opacity statt box-shadow.
   box-shadow laesst sich nicht auf die GPU auslagern - die alte Fassung lief
   mit 2s infinite auf 23 Kartenpunkten dauerhaft auf dem Hauptthread und
   erzwang bei jedem Frame ein Neuzeichnen. */
@keyframes ncxPulseGpu {
  0% { opacity: 0.4; transform: scale(1); }
  70% { opacity: 0; transform: scale(2.6); }
  100% { opacity: 0; transform: scale(2.6); }
}
.ncx-map-dot { position: relative; }
.ncx-map-dot::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit;
  background: rgba(14, 169, 155, 0.4);
  transform-origin: center; will-change: transform, opacity;
  animation: ncxPulseGpu 2s infinite;
  pointer-events: none; z-index: -1;
}
.ncx-map-dot:hover::after { animation: none; opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .ncx-map-dot::after { animation: none; opacity: 0; }
}

/* 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-leistungsseiten: Hero-Lesbarkeit, Hell-Dunkel-Rhythmus, Trust-Leiste.
   Gemessen auf /unterhaltsreinigung-wien/: H1 stand mit #0E293C direkt auf einem
   hellen Foto ohne jede Abdunklung. Statt die Schrift auf Weiss zu drehen (was das
   Foto dominieren wuerde) legt sich ein heller Schleier von links ueber das Bild:
   Text bleibt dunkel und lesbar, rechts bleibt das Motiv sichtbar. */
.nc-srv-hero-bg{position:absolute;inset:0}
.nc-srv-hero-bg::after{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(100deg,rgba(250,249,245,.985) 0%,rgba(250,249,245,.97) 46%,rgba(250,249,245,.78) 64%,rgba(250,249,245,.25) 84%,rgba(250,249,245,0) 100%)}
.nc-srv-hero-inner{position:relative;z-index:2}
@media(max-width:900px){
 .nc-srv-hero-bg::after{background:linear-gradient(180deg,rgba(250,249,245,.95) 0%,rgba(250,249,245,.90) 55%,rgba(250,249,245,.70) 100%)}
}

/* Hell-Dunkel-Rhythmus: vorher lagen vier Sektionen in identischem Creme
   hintereinander - die Seite hatte optisch keine Gliederung.
   Wechsel Creme / Weiss, FAQ als dunkler Anker. */
.nc-pain-section{background:#FFFFFF !important}
.nc-seo-section{background:#FAF9F5 !important}
.nc-pricing-section{background:#FFFFFF !important}
.nc-ratgeber-section,.nc-bento-section{background:#FAF9F5 !important}

/* FAQ dunkel. Die Karten (.nc-faq-item) bringen ihren eigenen hellen Grund mit,
   deshalb muessen nur die Sektionstexte aufgehellt werden. */
.nc-faq-section{background:linear-gradient(160deg,#0E293C 0%,#12324A 100%) !important}
body .nc-faq-section .nc-faq-headline{color:#FFFFFF !important}
body .nc-faq-section .nc-faq-eyebrow{color:#5EEAD4 !important}
body .nc-faq-section .nc-faq-subline{color:#AEB9C9 !important}
body .nc-faq-section .nc-faq-cta{color:#E1E7EC}
body .nc-faq-section .nc-faq-item{box-shadow:0 10px 26px rgba(4,20,36,.25)}
/* Gemessen: hinter der H1 liegt im Mittel rgb(168,162,160). Navy erreicht dort
   5,95:1, das Teal des ersten Wortes nur 1,02:1 - es war praktisch unsichtbar.
   Neben dem staerkeren Schleier bekommt der Akzent deshalb den dunklen Teal-Ton. */
body .nc-srv-hero-wrap .nc-srv-h1 span,body .nc-srv-h1 em,body .nc-srv-h1 strong{color:#0B6157 !important}
body .nc-srv-hero-wrap .nc-srv-eyebrow,body .nc-srv-hero-wrap [class*='eyebrow']{color:#0B6157 !important}
body .nc-srv-hero-wrap .nc-srv-hero-sub,body .nc-srv-hero-inner > p{color:#3D4A5C !important}
/* nc-critical-atf */
/* Layout foundation — replaces blocked kadence global/header CSS for first paint */
    *,*::before,*::after{box-sizing:border-box}
    html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
    body{margin:0;padding:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:#fff;color:#12324a}
    img,video{max-width:100%;height:auto;display:block}
    a{color:inherit;text-decoration:none}
    /* Header skeleton — prevents CLS from masthead paint */
    #masthead,.site-header,header#masthead{display:flex;align-items:center;min-height:84px;width:100%;position:sticky;top:0;z-index:9000;background:rgba(10,38,71,0.72)}
    @media(max-width:1024px){#masthead,.site-header{min-height:74px}}
    /* Hero Immediate Visibility & Zero Blank Screen */
    .nc-hero-parallax-bg,
    .nc-hero-parallax-bg *,
    .nc-hero-cols,
    .nc-hero-cols *,
    .nc-hero-col-left,
    .nc-hero-col-left *,
    .nc-hero-col-right,
    .nc-hero-col-right * {
        opacity: 1 !important;
        visibility: visible !important;
        filter: none !important;
    }
    .nc-hero-parallax-bg { min-height: 85vh !important; display: flex !important; align-items: center !important; }
    
    /* Hero skeleton — prevents 0.9 CLS from absolute background child */
    .nc-hero-parallax-bg,.nc-hero-background-media{position:relative;min-height:600px;overflow:hidden}
    @media(max-width:767px){.nc-hero-parallax-bg,.nc-hero-background-media{min-height:420px}}
    .nc-hero-parallax-bg > *[style*="position: absolute"],.nc-hero-background-media > *[style*="position: absolute"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
/* nc-premium-v5 */
/* ── CRITICAL ZERO-CLS RULES & LAYOUT STABILIZATION ── */
    #masthead,
    .site-header,
    header#masthead,
    .wizard-header,
    .kt-layout-id_header-1,
    div.wp-block-kadence-rowlayout:has(#kt-layout-id_header-1),
    div.wp-block-kadence-rowlayout:has(.wp-block-navigation) {
      min-height: 84px !important;
      contain: layout style;
    }
    @media (max-width: 1024px) {
      #masthead,
      .site-header,
      header#masthead,
      .wizard-header,
      .kt-layout-id_header-1,
      div.wp-block-kadence-rowlayout:has(#kt-layout-id_header-1),
      div.wp-block-kadence-rowlayout:has(.wp-block-navigation) {
        min-height: 74px !important;
      }
    }

    /* ── CRITICAL CLS FIX: Hero Section Height Reservation ── */
    /* Root cause: position:absolute background-media child has no parent height → layout shift 0.90 */
    .nc-hero-parallax-bg,
    .nc-hero-background-media,
    .nc-hero-img-wrap,
    .ncu-hero-img-wrap,
    .ncb-hero-img-wrap,
    .hero-img-wrap,
    .wp-block-group:has(.nc-hero-parallax-bg) {
      position: relative !important;
      min-height: 600px !important;
    }
    @media (max-width: 767px) {
      .nc-hero-parallax-bg,
      .nc-hero-background-media,
      .nc-hero-img-wrap,
      .ncu-hero-img-wrap,
      .ncb-hero-img-wrap,
      .hero-img-wrap,
      .wp-block-group:has(.nc-hero-parallax-bg) {
        min-height: 420px !important;
      }
    }

    /* Contain and fully size the absolute-positioned background div */
    .nc-hero-parallax-bg > div[style*="position: absolute"],
    .nc-hero-background-media > div[style*="position: absolute"],
    .wp-block-group__inner-container > div[style*="position: absolute"][style*="width: 100%"][style*="height: 100%"] {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      contain: layout paint;
    }
    .nc-hero-img-wrap img,
    .ncu-hero-img-wrap img,
    .ncb-hero-img-wrap img,
    .hero-img-wrap img {
      width: 100% !important;
      height: 100% !important;
      object-fit: cover !important;
    }


    /* Logo Tickers & Marquees Layout Shift Prevention */
    .nc-marquee-track,
    .nc-logo-slider,
    .nc-logo-track,
    .nc-refs-section {
      min-height: 52px !important;
      contain: layout;
    }

    /* Smooth Font Rendering */
    body, button, input, select, textarea {
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    /* ── TOKENS ── */
:root {
  --nc-navy: #12324a;
  --nc-navy-deep: #0a2647;
  --nc-teal: #00a88f;
  --nc-teal-dark: #008f79;
  --nc-teal-light: #2dd4bf;
  --nc-amber: #f59e0b;
  --nc-white: #ffffff;
  --nc-slate: #64748b;
  --nc-slate-light: #94a3b8;
  --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;
}

/* ── GLOBAL SUPPRESSION OF SEARCH BUTTONS & FLOATING SEARCH TOGGLES ── */
.search-toggle-open,
.search-toggle-btn,
.search-toggle,
.site-search-toggle,
.kadence-search-button,
.kadence-search-icon,
.header-search,
.mobile-search,
.header-search-wrap,
.wp-block-search__button,
.wp-block-search__inside-wrapper button,
.search-form-submit,
.search-submit,
#search-modal-trigger,
#kadence-search-modal,
.kadence-search-modal,
.admin-bar-search,
#wp-admin-bar-search,
#wp-admin-bar-novamira-search,
.novamira-search-btn,
.novamira-search-trigger,
.nc-search-btn,
.floating-search-btn,
[data-toggle="search"],
button.search-btn,
a.search-btn,
.wp-element-button.search-button,
a[href*="#search"],
button[aria-label*="Suchen" i],
button[aria-label*="Search" i],
input[type="submit"][value*="Suchen" i],
#wpadminbar #wp-admin-bar-search,
#wpadminbar .search-button,
.search-open-btn,
.kadence-search {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: absolute !important;
  clip: rect(0, 0, 0, 0) !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: 'Plus Jakarta Sans', -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: 'Plus Jakarta Sans', -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: 'Plus Jakarta Sans', -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, #0A2647 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: 'Plus Jakarta Sans', -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.45);
  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 (SINGLE LINE 5 COLS + UNIFIED BG) ── */
.nc-trust-insurance-bar {
  background: #F8FAFC !important;
  border: none !important;
  border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
  padding: 28px 20px 32px !important;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  position: relative !important;
  z-index: 10 !important;
  width: 100% !important;
}
.nc-tib-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}
.nc-tib-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 2px 6px rgba(10, 38, 71, 0.03) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: default !important;
}
.nc-tib-item:hover {
  background: #FFFFFF !important;
  transform: translateY(-2px) !important;
  border-color: #48BB78 !important;
  box-shadow: 0 6px 16px rgba(72, 187, 120, 0.12) !important;
}
.nc-tib-icon {
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  background-color: rgba(72, 187, 120, 0.12) !important;
  color: #48BB78 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  transition: all 0.25s ease !important;
}
.nc-tib-item:hover .nc-tib-icon {
  background-color: #48BB78 !important;
  color: #FFFFFF !important;
}
.nc-tib-text {
  color: #1E293B !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  white-space: nowrap !important;
}
@media (max-width: 1200px) {
  .nc-tib-container {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 10px !important;
  }
}
@media (max-width: 768px) {
  .nc-trust-insurance-bar {
    padding: 20px 16px !important;
  }
  .nc-tib-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .nc-tib-item {
    padding: 8px 12px !important;
  }
}
@media (max-width: 480px) {
  .nc-tib-container {
    grid-template-columns: 1fr !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: 'Plus Jakarta Sans', -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;
}

/* 23 Wiener Bezirke Matrix & Chips */
.nc-footer-districts-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px 10px;
}
@media (max-width: 1200px) {
  .nc-footer-districts-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 768px) {
  .nc-footer-districts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px 8px;
  }
}
@media (max-width: 480px) {
  .nc-footer-districts-grid {
    grid-template-columns: 1fr;
  }
}
.nc-footer-district-chip {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.72) !important;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 7px 12px;
  border-radius: 8px;
  text-decoration: none !important;
  transition: all 0.22s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nc-footer-district-chip:hover {
  background: rgba(52, 211, 153, 0.12) !important;
  border-color: #34D399 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
}
.nc-footer-district-chip .nc-chip-plz {
  color: #34D399;
  font-weight: 800;
  font-size: 11.5px;
}

/* Premium Primary CTA Button im dunklen Footer (Solid Amber Gold) */
.nc-footer-btn-primary {
  background: linear-gradient(135deg, #F5B301 0%, #E09B00 100%) !important;
  color: #081422 !important;
  border: 2px solid #F5B301 !important;
  padding: 13px 28px !important;
  border-radius: var(--nc-radius-pill) !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 18px rgba(245, 179, 1, 0.4) !important;
}
.nc-footer-btn-primary:hover {
  background: #E09B00 !important;
  border-color: #E09B00 !important;
  color: #081422 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(245, 179, 1, 0.55) !important;
}
.nc-footer-btn-secondary {
  background: transparent !important;
  color: #FFFFFF !important;
  padding: 13px 24px !important;
  border-radius: var(--nc-radius-pill) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  transition: all 0.25s ease !important;
}
.nc-footer-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
}

/* 23 Wiener Bezirke Matrix & Chips */
.nc-footer-districts-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px 10px;
}
@media (max-width: 1200px) {
  .nc-footer-districts-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 768px) {
  .nc-footer-districts-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px 8px;
  }
}
@media (max-width: 480px) {
  .nc-footer-districts-grid {
    grid-template-columns: 1fr;
  }
}
.nc-footer-district-chip {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.72) !important;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 7px 12px;
  border-radius: 8px;
  text-decoration: none !important;
  transition: all 0.22s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nc-footer-district-chip:hover {
  background: rgba(52, 211, 153, 0.12) !important;
  border-color: #34D399 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
}
.nc-footer-district-chip .nc-chip-plz {
  color: #34D399;
  font-weight: 800;
  font-size: 11.5px;
}

/* Premium Primary CTA Button im dunklen Footer (Solid Amber Gold) */
.nc-footer-btn-primary {
  background: linear-gradient(135deg, #F5B301 0%, #E09B00 100%) !important;
  color: #081422 !important;
  border: 2px solid #F5B301 !important;
  padding: 13px 28px !important;
  border-radius: var(--nc-radius-pill) !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 18px rgba(245, 179, 1, 0.4) !important;
}
.nc-footer-btn-primary:hover {
  background: #E09B00 !important;
  border-color: #E09B00 !important;
  color: #081422 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 24px rgba(245, 179, 1, 0.55) !important;
}
.nc-footer-btn-secondary {
  background: transparent !important;
  color: #FFFFFF !important;
  padding: 13px 24px !important;
  border-radius: var(--nc-radius-pill) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  transition: all 0.25s ease !important;
}
.nc-footer-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
}

/* 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-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: #1A365D !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: #1A365D !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: #48BB78 !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: #1A365D !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-leistung-motion */
/* Service page sticky CTA */
.nc-sticky-cta {
  position: sticky;
  top: 100px;
}

/* Pricing table row hover */
.nc-price-row {
  transition: background 0.15s cubic-bezier(0.23,1,0.32,1),
              border-left-color 0.15s cubic-bezier(0.23,1,0.32,1);
  border-left: 3px solid transparent;
}
.nc-price-row:hover {
  background: #F0FDF4 !important;
  border-left-color: #10B981 !important;
}

/* Review stars animation */
@keyframes nc-star-pop {
  0%   { transform: scale(0.5); opacity: 0; }
  60%  { transform: scale(1.2); }
  100% { transform: scale(1);   opacity: 1; }
}
.nc-review-star {
  animation: nc-star-pop 0.35s cubic-bezier(0.34,1.56,0.64,1) both;
}
.nc-review-star:nth-child(1) { animation-delay: 0ms; }
.nc-review-star:nth-child(2) { animation-delay: 60ms; }
.nc-review-star:nth-child(3) { animation-delay: 120ms; }
.nc-review-star:nth-child(4) { animation-delay: 180ms; }
.nc-review-star:nth-child(5) { animation-delay: 240ms; }

/* Checklist items stagger */
.nc-check-list li {
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity 0.4s cubic-bezier(0.23,1,0.32,1),
              transform 0.4s cubic-bezier(0.23,1,0.32,1);
}
.nc-check-list.is-visible li { opacity: 1; transform: translateX(0); }
.nc-check-list.is-visible li:nth-child(1) { transition-delay: 0ms; }
.nc-check-list.is-visible li:nth-child(2) { transition-delay: 60ms; }
.nc-check-list.is-visible li:nth-child(3) { transition-delay: 120ms; }
.nc-check-list.is-visible li:nth-child(4) { transition-delay: 180ms; }
.nc-check-list.is-visible li:nth-child(5) { transition-delay: 240ms; }
.nc-check-list.is-visible li:nth-child(6) { transition-delay: 300ms; }
.nc-check-list.is-visible li:nth-child(7) { transition-delay: 360ms; }
.nc-check-list.is-visible li:nth-child(8) { transition-delay: 420ms; }
/* nc-district-alternating-schema */
/* ==========================================================================
   NOBLECLEAN 25 DISTRICT PAGES ALTERNATING LIGHT / DARK SCHEMA
   ========================================================================== */

/* 1. DISTRICT HERO -> DARK OBSIDIAN */
.nc-glass-hero {
  border-radius: 0 !important;
}
.nc-glass-badge-card {
  border-radius: 0 !important;
}

/* 2. DISTRICT SERVICES BENTO GRID -> LIGHT (Crisp White #FFFFFF) */
.ncb-sec {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  padding: 85px 20px !important;
}
.nc-service-bento-grid {
  border-radius: 0 !important;
}
.nc-service-bento-grid a {
  border-radius: 0 !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 4px 16px rgba(15,23,42,0.03) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}
.nc-service-bento-grid a:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 36px rgba(15,23,42,0.08) !important;
  border-color: #CBD5E1 !important;
}
.nc-service-bento-grid h3 {
  color: #0F172A !important;
}
.nc-service-bento-grid p {
  color: #475569 !important;
}

/* 3. DISTRICT PORTRAIT & LOCAL HOTSPOTS -> DARK (Deep Slate Navy #0B192C) */
.ncb-portrait {
  background: #0B192C !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
  padding: 90px 20px !important;
}
.ncb-portrait h2, .ncb-portrait h3, .ncb-portrait h4 {
  color: #FFFFFF !important;
}
.ncb-portrait p {
  color: #CBD5E1 !important;
}
.ncb-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(16,185,129,0.14) !important;
  border: 1px solid rgba(52,211,153,0.35) !important;
  color: #34D399 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 0 !important;
  margin-bottom: 16px !important;
}
.ncb-hotspot-pill {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #F8FAFC !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  padding: 8px 16px !important;
  transition: all 0.2s ease !important;
}
.ncb-hotspot-pill:hover {
  background: #10B981 !important;
  color: #081422 !important;
  border-color: #10B981 !important;
}
.ncb-port-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 0 !important;
  color: #FFFFFF !important;
  padding: 32px 28px !important;
}
.ncb-port-card h4 {
  color: #FFFFFF !important;
}
.ncb-port-card p {
  color: #CBD5E1 !important;
}

/* 4. DISTRICT FACTS & NUMBERS -> LIGHT (Slate Clean #F8FAFC) */
.ncb-facts {
  background: #F8FAFC !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
  padding: 85px 20px !important;
}
.ncb-facts h2, .ncb-facts h3 {
  color: #0F172A !important;
}
.ncb-facts p {
  color: #334155 !important;
}

/* 5. DISTRICT BEDARF -> DARK (Obsidian Blue #07121E) */
.ncb-bedarf {
  background: #07121E !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
  padding: 90px 20px !important;
}
.ncb-bedarf h2, .ncb-bedarf h3 {
  color: #FFFFFF !important;
}
.ncb-bedarf p, .ncb-bedarf-fuss {
  color: #CBD5E1 !important;
}
.ncb-bedarf-karte {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 0 !important;
  padding: 26px !important;
  transition: transform 0.25s ease, border-color 0.25s ease !important;
}
.ncb-bedarf-karte:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(52, 211, 153, 0.4) !important;
}
.ncb-bedarf-karte h3 {
  color: #FFFFFF !important;
}
.ncb-bedarf-karte p {
  color: #CBD5E1 !important;
}
.ncb-bedarf-karte .ncb-bedarf-folge {
  color: #34D399 !important;
  font-weight: 800 !important;
}

/* 6. DISTRICT FAQ -> LIGHT (Crisp White #FFFFFF) */
.ncb-faq {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
  padding: 85px 20px !important;
}
.ncb-faq h2, .ncb-faq h3 {
  color: #0F172A !important;
}
.ncb-faq-item {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 0 !important;
  padding: 22px 26px !important;
}
.ncb-faq-item h3 {
  color: #0F172A !important;
}
.ncb-faq-item p {
  color: #475569 !important;
}

/* 7. DISTRICT BAND / CTA -> DARK (Deep Slate Navy #0B192C) */
.ncb-band {
  background: linear-gradient(135deg, #0B192C 0%, #07121E 100%) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
  padding: 80px 20px !important;
  border-radius: 0 !important;
}
.ncb-band h2, .ncb-band h3 { color: #FFFFFF !important; }
.ncb-band p { color: #E2E8F0 !important; }
/* nc-master-design-system-v9 */
/* ================================================================
   GLOBAL OVERRIDE v2: SQUARE CORNERS (TARGETED) + CONTRAST SAFE
   ================================================================ */

/* ================================================================
   MODERN SOFT ROUNDED CORNERS SYSTEM (NOBLECLEAN 2026)
   Subtle, elegant border-radius tokens — no harsh 0px brutalism
   ================================================================ */

/* Cards, Bento Blocks, Post CTAs & Estimate Boxes (12px) */
.ncb-card, .nc-bento-card, .nc-freq-card, .nc-pricing-card,
.nc-lh-card, .nc-asp-bezel-card, .nc-rd-card, .nc-service-card,
.nc-feature-card, .nc-district-card, .nc-form-container,
.nc-post-cta-card, .nc-post-eeat-box,
.nc-qw-estimate-box, .nc-estimate-box {
  border-radius: 12px !important;
}

/* Wizard Master Card & Step Cards (16px) */
.nc-qw-wizard, .nc-qw-step-card {
  border-radius: 16px !important;
}

/* Service Options, Selection Tiles & Icon Badges (10px) */
.nc-qw-svc-card, .nc-qw-option-btn, .ncb-card-icon,
.nc-service-icon, .nc-feature-icon {
  border-radius: 10px !important;
}

/* Input Fields, Textareas & Select Dropdowns (8px) */
.nc-qw-input, .nc-qw-textarea,
input[type="text"], input[type="email"], input[type="tel"],
select, textarea {
  border-radius: 8px !important;
}

/* Badges, Pills, Action & CTA Buttons (9999px Radiant Gold / Teal Pill) */
.nc-hero-badge, .nc-freq-badge, .nc-ncb-sec-badge, .ncb-sec-badge,
.nc-pill-badge, .nc-badge, .nc-tag, .nc-district-pill,
.nc-bezirk-pill, .nc-qw-pill, .nc-qw-cat-btn,
.nc-hero-btn-primary, .nc-glass-btn-primary, .ncb-btn--p,
.header-cta-btn, .nc-btn-header-cta, .nc-district-cta-btn,
.nc-btn-accent, .nc-cta-primary, .nc-btn-main,
.nc-qw-btn-next, .nc-qw-btn-prev, .nc-qw-submit-btn,
.footer-cta-btn, .nc-float-offer, .nc-mb-btn-quote, .nc-btn-phone,
.kb-btn, .wp-block-button .wp-block-button__link {
  border-radius: 9999px !important;
}

/* Lead-Kalkulator & Wizard Actions Harmonisierung */
.nc-qw-btn-next,
button.nc-qw-btn-next {
  border-radius: 9999px !important;
  background: #F5B301 !important;
  color: #231A00 !important;
  font-weight: 800 !important;
  border: 2px solid #231A00 !important;
  box-shadow: 0 0 0 2px rgba(245, 179, 1, 0.45), 0 8px 22px rgba(0, 0, 0, 0.22) !important;
  transition: all 0.24s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.nc-qw-btn-next:hover,
button.nc-qw-btn-next:hover {
  background: #F5B301 !important;
  color: #000000 !important;
  border-color: #000000 !important;
  box-shadow: 0 0 0 3px rgba(245, 179, 1, 0.8), 0 12px 28px rgba(245, 179, 1, 0.35) !important;
  transform: translateY(-2px) !important;
}
.nc-qw-btn-prev,
button.nc-qw-btn-prev {
  border-radius: 9999px !important;
  border: 1.5px solid #CBD5E1 !important;
  background: #FFFFFF !important;
  color: #475569 !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}
.nc-qw-btn-prev:hover,
button.nc-qw-btn-prev:hover {
  background: #F1F5F9 !important;
  color: #0B192C !important;
  border-color: #94A3B8 !important;
}

/* Hero Container Bottom (Subtle soft rounding 16px) */
.nc-hero-container {
  border-radius: 0 0 16px 16px !important;
}

/* Avatars & Step/Checkmark Circles (50% Perfect Circle) */
.nc-avatar, .nc-step-circle, .nc-check-circle,
.nc-qw-step-num, .nc-qw-icon-circle {
  border-radius: 50% !important;
}

/* Remove gray stripe sections (only the specific NC system ones) */
.ncb-system-section,
section.ncb-system-section {
  border-top: none !important;
  border-bottom: none !important;
  background: #FFFFFF !important;
}

/* Trust Insurance Bar — white bg, centered, clean */
.nc-trust-insurance-bar {
  background: #FFFFFF !important;
  border-top: 2px solid #E2E8F0 !important;
  border-bottom: 2px solid #E2E8F0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}
.nc-tib-container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 48px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 20px 24px !important;
  flex-wrap: wrap !important;
}
.nc-tib-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1A365D !important;
  white-space: nowrap !important;
}
.nc-tib-icon {
  color: #10B981 !important;
  flex-shrink: 0 !important;
}
.nc-tib-text {
  color: #1A365D !important;
  font-weight: 700 !important;
}

/* Remove footer wave SVG */
.nc-footer-wave {
  display: none !important;
}

/* Fix angebot dark card text contrast */
.nc-qw-estimate-box,
.nc-estimate-box {
  background: #0A192F !important;
}
.nc-qw-estimate-stat,
.nc-estimate-stat,
.nc-estimate-stat-val,
.nc-estimate-stat-label {
  color: #FFFFFF !important;
  opacity: 1 !important;
}
.nc-qw-estimate-stat h3,
.nc-qw-estimate-stat p,
.nc-estimate-stat h3,
.nc-estimate-stat p {
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* Dark section heading contrast — ensure white text on dark navy sections */
[style*="background: #0B192C"] h1,
[style*="background: #0B192C"] h2,
[style*="background: #0B192C"] h3,
[style*="background: #1A365D"] h1,
[style*="background: #1A365D"] h2,
[style*="background: #1A365D"] h3,
[style*="background: linear-gradient"] h1,
[style*="background: linear-gradient"] h2,
[style*="background: linear-gradient"] h3 {
  color: #FFFFFF !important;
}

/* Specifically fix .nc-ueber-uns sections and similar dark sections */
.nc-dark-section h1,
.nc-dark-section h2,
.nc-dark-section h3,
.nc-dark-section p {
  color: #FFFFFF !important;
}

/* Contact/address box inside dark sections - ensure visible */
[style*="background: #"] a,
[style*="background: rgb(11"] a,
[style*="background: rgb(26"] a {
  color: #34D399 !important;
}

/* Wizard option buttons - high contrast */
.nc-qw-option-btn {
  border: 2px solid #CBD5E1 !important;
  color: #0B192C !important;
  background: #FFFFFF !important;
}
.nc-qw-option-btn.active,
.nc-qw-option-btn[data-selected="true"] {
  border-color: #10B981 !important;
  background: #F0FDF4 !important;
  color: #064E3B !important;
}

@media (max-width: 768px) {
  .nc-tib-container {
    gap: 16px !important;
    justify-content: flex-start !important;
  }
}


/* ================================================================
   NC MOTION SYSTEM v1 - Emil Kowalski Principles
   GPU-only: transform + opacity. Never height/width/margin.
   ================================================================ */
:root {
  --ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:   160ms;
  --dur-normal: 220ms;
  --dur-slow:   380ms;
  --dur-reveal: 560ms;
}
@media (hover: hover) and (pointer: fine) {
  .kb-btn, button, .wp-block-button__link, .nc-btn-accent, .nc-qw-submit-btn {
    transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);
  }
}
.kb-btn:active, button:active, .wp-block-button__link:active, .nc-btn-accent:active, .nc-qw-submit-btn:active { transform: scale(0.97) !important; }
.nc-reveal { opacity: 0; transform: translateY(14px); transition: opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out); will-change: opacity, transform; }
.nc-reveal.is-visible { opacity: 1; transform: translateY(0); }
.nc-reveal-left { opacity: 0; transform: translateX(-20px); transition: opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out); }
.nc-reveal-left.is-visible { opacity: 1; transform: translateX(0); }
.nc-stagger .nc-reveal:nth-child(1) { transition-delay: 0ms; }
.nc-stagger .nc-reveal:nth-child(2) { transition-delay: 55ms; }
.nc-stagger .nc-reveal:nth-child(3) { transition-delay: 110ms; }
.nc-stagger .nc-reveal:nth-child(4) { transition-delay: 165ms; }
.nc-stagger .nc-reveal:nth-child(5) { transition-delay: 220ms; }
.nc-stagger .nc-reveal:nth-child(6) { transition-delay: 275ms; }
.nc-underline-reveal { position: relative; display: inline; }
.nc-underline-reveal::after { content: ''; position: absolute; bottom: -3px; left: 0; width: 100%; height: 3px; background: #10B981; clip-path: inset(0 100% 0 0); transition: clip-path 0.65s var(--ease-out) 0.25s; }
.nc-underline-reveal.is-visible::after { clip-path: inset(0 0% 0 0); }
.ncb-card, .nc-bento-card, .nc-freq-card, .nc-pricing-card, .nc-service-card, .nc-feature-card, .nc-lh-card, .nc-district-card { transition: transform var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out), border-color var(--dur-fast) var(--ease-out); will-change: transform; }
@media (hover: hover) and (pointer: fine) {
  .ncb-card:hover, .nc-bento-card:hover, .nc-freq-card:hover, .nc-service-card:hover, .nc-feature-card:hover, .nc-lh-card:hover, .nc-district-card:hover, .nc-pricing-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(15,23,42,0.10) !important; border-color: #CBD5E1 !important; }
}
.ncb-card-icon, .nc-service-icon, .nc-feature-icon { transition: transform var(--dur-normal) var(--ease-spring); }
@media (hover: hover) and (pointer: fine) { .ncb-card:hover .ncb-card-icon, .nc-service-card:hover .nc-service-icon { transform: rotate(10deg) scale(1.1); } }
@keyframes nc-pulse { 0%, 85%, 100% { box-shadow: 0 0 0 0 rgba(16,185,129,0.4); } 70% { box-shadow: 0 0 0 14px rgba(16,185,129,0); } }
.nc-cta-primary { animation: nc-pulse 4s ease-out infinite; }
@keyframes nc-slide-up { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.nc-tib-item { animation: nc-slide-up 0.45s var(--ease-out) both; }
.nc-tib-item:nth-child(1) { animation-delay: 0.08s; }
.nc-tib-item:nth-child(2) { animation-delay: 0.14s; }
.nc-tib-item:nth-child(3) { animation-delay: 0.20s; }
.nc-tib-item:nth-child(4) { animation-delay: 0.26s; }
.nc-tib-item:nth-child(5) { animation-delay: 0.32s; }
.site-header, #masthead, .kb-theme-header { transition: background-color var(--dur-normal) var(--ease-out), box-shadow var(--dur-normal) var(--ease-out); }
.site-header.nc-scrolled, #masthead.nc-scrolled, .kb-theme-header.nc-scrolled { background-color: rgba(255,255,255,0.92) !important; backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); box-shadow: 0 1px 0 rgba(15,23,42,0.08) !important; }
@media (hover: hover) and (pointer: fine) {
  .main-navigation a, .kb-nav--link, .kb-navigation-link { position: relative; }
  .main-navigation a::after, .kb-nav--link::after, .kb-navigation-link::after { content: ''; position: absolute; bottom: -2px; left: 0; width: 100%; height: 2px; background: #10B981; clip-path: inset(0 100% 0 0); transition: clip-path 0.2s var(--ease-out); }
  .main-navigation a:hover::after, .kb-nav--link:hover::after, .kb-navigation-link:hover::after { clip-path: inset(0 0% 0 0); }
}
.nc-faq-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--dur-slow) var(--ease-out); overflow: hidden; }
.nc-faq-body > div { min-height: 0; }
.nc-faq-item.is-open .nc-faq-body { grid-template-rows: 1fr; }
.nc-faq-trigger { cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-bottom: 1px solid #E2E8F0; font-weight: 700; color: #1A365D; }
.nc-faq-trigger::after { content: '+'; font-size: 22px; font-weight: 300; color: #10B981; transition: transform var(--dur-normal) var(--ease-spring); flex-shrink: 0; }
.nc-faq-item.is-open .nc-faq-trigger::after { transform: rotate(45deg); }
@media (hover: hover) and (pointer: fine) {
  .nc-district-pill, .nc-bezirk-pill { transition: background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
  .nc-district-pill:hover, .nc-bezirk-pill:hover { background-color: #10B981 !important; color: #fff !important; transform: translateY(-1px); }
}
.nc-team-card img { transition: filter var(--dur-normal) var(--ease-out); filter: grayscale(0.25); }
@media (hover: hover) and (pointer: fine) { .nc-team-card:hover img { filter: grayscale(0); } }
@media (prefers-reduced-motion: reduce) {
  .nc-reveal, .nc-reveal-left { opacity: 1; transform: none; transition: none; }
  .nc-underline-reveal::after { clip-path: inset(0 0% 0 0); transition: none; }
  .nc-tib-item { animation: none; opacity: 1; }
  .nc-cta-primary { animation: none; }
  .ncb-card:hover, .nc-service-card:hover, .nc-feature-card:hover { transform: none; }
  button:active, .kb-btn:active { transform: none !important; }
}
/* nc-global-contrast-engine */
/* ==========================================================================
   NOBLECLEAN GLOBAL CONTRAST ENGINE - 100% WCAG AAA COMPLIANT
   ========================================================================== */

/* ── 1. LIGHT SECTIONS (#FFFFFF / #F8FAFC) -> CRISP DARK HEADINGS & SLATE TEXT ── */
.nc-silos-grid h2, .nc-silos-grid h3, .nc-silos-grid h4,
.nc-bento-card h2, .nc-bento-card h3, .nc-bento-card h4,
.nc-bento-3-grid h2, .nc-bento-3-grid h3, .nc-bento-3-grid h4,
.ncb-system-section h2, .ncb-system-section h3, .ncb-system-section h4,
.ncb-system-card h2, .ncb-system-card h3, .ncb-system-card h4,
.ncb-vs-section h2, .ncb-vs-section h3, .ncb-vs-section h4,
.ncb-step-section h2, .ncb-step-section h3, .ncb-step-section h4,
.ncb-step-card h2, .ncb-step-card h3, .ncb-step-card h4,
.ncb-facts h2, .ncb-facts h3, .ncb-facts h4,
.ncb-fact-card h2, .ncb-fact-card h3, .ncb-fact-card h4,
.ncb-faq h2, .ncb-faq h3, .ncb-faq h4,
.ncb-faq-item h2, .ncb-faq-item h3, .ncb-faq-item h4,
.nc-faq-section h2, .nc-faq-section h3, .nc-faq-section h4,
.nc-faq-container h2, .nc-faq-container h3, .nc-faq-container h4,
.ncx-accordion h2, .ncx-accordion h3, .ncx-accordion h4,
.nc-story-section h2, .nc-story-section h3, .nc-story-section h4,
.nc-timeline-section h2, .nc-timeline-section h3, .nc-timeline-section h4,
.nc-timeline-card h2, .nc-timeline-card h3, .nc-timeline-card h4,
.nc-blog-card h2, .nc-blog-card h3, .nc-blog-card h4,
.nc-blog-grid-section h2, .nc-blog-grid-section h3, .nc-blog-grid-section h4,
.nc-service-bento-grid h2, .nc-service-bento-grid h3, .nc-service-bento-grid h4,
.nc-testimonials-section h2, .nc-testimonials-section h3,
.nc-about-master-section h1, .nc-about-master-section h2, .nc-about-master-section h3, .nc-about-master-section h4,
div[style*="background:#FFFFFF"] h2, div[style*="background:#FFFFFF"] h3, div[style*="background:#FFFFFF"] h4,
div[style*="background:#F8FAFC"] h2, div[style*="background:#F8FAFC"] h3, div[style*="background:#F8FAFC"] h4,
div[style*="background: #FFFFFF"] h2, div[style*="background: #FFFFFF"] h3, div[style*="background: #FFFFFF"] h4,
div[style*="background: #F8FAFC"] h2, div[style*="background: #F8FAFC"] h3, div[style*="background: #F8FAFC"] h4,
section[style*="background:#FFFFFF"] h2, section[style*="background:#FFFFFF"] h3,
section[style*="background:#F8FAFC"] h2, section[style*="background:#F8FAFC"] h3 {
  color: #0F172A !important;
}

.nc-silos-grid p, .nc-bento-card p, .nc-bento-3-grid p,
.ncb-system-section p, .ncb-step-section p, .ncb-facts p,
.ncb-faq p, .nc-faq-section p,
.nc-story-section p, .nc-timeline-section p, .nc-blog-card p,
.nc-about-master-section p, .nc-about-master-section li,
div[style*="background:#FFFFFF"] p, div[style*="background:#F8FAFC"] p,
div[style*="background: #FFFFFF"] p, div[style*="background: #F8FAFC"] p {
  color: #334155 !important;
}

/* ── 2. DARK SECTIONS (#07121E / #0B192C / #0A192F / #081422 / #1A365D / #1E293B) -> WCAG AAA HEADINGS & CRISP TEXT ── */
.nc-sectors-section, .nc-sectors-section h1, .nc-sectors-section h2, .nc-sectors-section h3, .nc-sectors-section h4,
.nc-hero-container, .nc-hero-container h1, .nc-hero-container h2, .nc-hero-container h3, .nc-hero-container h4,
.nc-glass-hero, .nc-glass-hero h1, .nc-glass-hero h2, .nc-glass-hero h3,
.ncb-hero, .ncb-hero h1, .ncb-hero h2, .ncb-hero h3,
.ncb-turnus-section, .ncb-turnus-section h1, .ncb-turnus-section h2, .ncb-turnus-section h3,
.ncb-portrait, .ncb-portrait h1, .ncb-portrait h2, .ncb-portrait h3, .ncb-portrait h4,
.ncb-bedarf, .ncb-bedarf h1, .ncb-bedarf h2, .ncb-bedarf h3,
.ncb-band, .ncb-band h1, .ncb-band h2, .ncb-band h3,
.nc-final-cta-block, .nc-final-cta-block h1, .nc-final-cta-block h2, .nc-final-cta-block h3,
.nc-pillars-section, .nc-pillars-section h1, .nc-pillars-section h2, .nc-pillars-section h3,
.nc-districts-section, .nc-districts-section h1, .nc-districts-section h2, .nc-districts-section h3,
.nc-article-hero, .nc-article-hero h1, .nc-article-hero h2,
.nc-sector-card h3, .nc-sector-card h4,
.nc-pillar-card h3, .ncb-turnus-card h3, .ncb-port-card h3, .ncb-port-card h4, .ncb-bedarf-karte h3,
.ncb-faq-section, .ncb-faq-section h1, .ncb-faq-section h2, .ncb-faq-section h3, .ncb-faq-section h4,
.nc-dark-section, .nc-dark-section h1, .nc-dark-section h2, .nc-dark-section h3, .nc-dark-section h4,
.ncb-dark, .ncb-dark h1, .ncb-dark h2, .ncb-dark h3,
div[style*="background:#07121E"] h1, div[style*="background:#07121E"] h2, div[style*="background:#07121E"] h3,
div[style*="background:#0B192C"] h1, div[style*="background:#0B192C"] h2, div[style*="background:#0B192C"] h3,
div[style*="background:#0A192F"] h1, div[style*="background:#0A192F"] h2, div[style*="background:#0A192F"] h3,
div[style*="background:#081422"] h1, div[style*="background:#081422"] h2, div[style*="background:#081422"] h3,
div[style*="background:#1A365D"] h1, div[style*="background:#1A365D"] h2, div[style*="background:#1A365D"] h3,
div[style*="background: #07121E"] h1, div[style*="background: #07121E"] h2, div[style*="background: #07121E"] h3,
div[style*="background: #0B192C"] h1, div[style*="background: #0B192C"] h2, div[style*="background: #0B192C"] h3,
div[style*="background: #0A192F"] h1, div[style*="background: #0A192F"] h2, div[style*="background: #0A192F"] h3,
div[style*="background: #081422"] h1, div[style*="background: #081422"] h2, div[style*="background: #081422"] h3,
div[style*="background: #1A365D"] h1, div[style*="background: #1A365D"] h2, div[style*="background: #1A365D"] h3,
section[style*="background:#0B192C"] h1, section[style*="background:#0B192C"] h2, section[style*="background:#0B192C"] h3,
section[style*="background: #0B192C"] h1, section[style*="background: #0B192C"] h2, section[style*="background: #0B192C"] h3,
section[style*="background:#0A192F"] h1, section[style*="background:#0A192F"] h2, section[style*="background:#0A192F"] h3,
section[style*="background: #0A192F"] h1, section[style*="background: #0A192F"] h2, section[style*="background: #0A192F"] h3 {
  color: #FFFFFF !important;
}

/* Paragraphs, descriptions, lists in dark sections */
.nc-sectors-section p, .nc-hero-container p, .nc-glass-hero p,
.ncb-hero p, .ncb-turnus-section p, .ncb-portrait p, .ncb-bedarf p, .ncb-band p,
.nc-final-cta-block p, .nc-pillars-section p, .nc-districts-section p,
.nc-sector-card p, .nc-pillar-card p, .ncb-turnus-card p, .ncb-port-card p, .ncb-bedarf-karte p,
.ncb-faq-section .ncb-faq-desc, .nc-dark-section p, .ncb-dark p,
.nc-sectors-section li, .nc-hero-container li,
.ncb-hero li, .ncb-turnus-section li, .ncb-portrait li, .ncb-bedarf li,
.nc-dark-section li, .ncb-dark li,
div[style*="background:#07121E"] p, div[style*="background:#0B192C"] p, div[style*="background:#0A192F"] p, div[style*="background:#081422"] p, div[style*="background:#1A365D"] p,
div[style*="background: #07121E"] p, div[style*="background: #0B192C"] p, div[style*="background: #0A192F"] p, div[style*="background: #081422"] p, div[style*="background: #1A365D"] p,
section[style*="background:#0B192C"] p, section[style*="background: #0B192C"] p,
section[style*="background:#0A192F"] p, section[style*="background: #0A192F"] p {
  color: #CBD5E1 !important;
}

/* Strong / bold text in dark sections */
.nc-sectors-section strong, .nc-hero-container strong,
.ncb-hero strong, .ncb-turnus-section strong, .ncb-portrait strong, .ncb-bedarf strong,
.nc-dark-section strong, .ncb-dark strong,
div[style*="background:#0B192C"] strong, div[style*="background: #0B192C"] strong,
div[style*="background:#0A192F"] strong, div[style*="background: #0A192F"] strong {
  color: #FFFFFF !important;
}

/* Secondary labels & small notes in dark sections */
.nc-sectors-section small, .nc-hero-container small,
.ncb-hero small, .nc-dark-section small, .ncb-dark small,
.nc-dark-section label, .ncb-dark label,
div[style*="background:#0B192C"] small, div[style*="background: #0B192C"] small,
div[style*="background:#0A192F"] small, div[style*="background: #0A192F"] small,
div[style*="background:#0B192C"] label, div[style*="background: #0B192C"] label {
  color: #94A3B8 !important;
  opacity: 1 !important;
}

/* Text links on dark backgrounds: High-contrast Cyan/Teal (10.5:1 ratio) */
.nc-sectors-section a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
.nc-hero-container a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
.ncb-hero a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
.nc-final-cta-block a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
.nc-dark-section a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
.ncb-dark a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
div[style*="background:#0B192C"] a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
div[style*="background: #0B192C"] a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
div[style*="background:#0A192F"] a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
div[style*="background: #0A192F"] a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
section[style*="background:#0B192C"] a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link),
section[style*="background: #0B192C"] a:not(.nc-btn-accent):not(.button):not(.kb-btn):not(.wp-block-button__link) {
  color: #2DD4BF !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.nc-sectors-section a:hover,
.nc-dark-section a:hover,
div[style*="background:#0B192C"] a:hover,
div[style*="background: #0B192C"] a:hover {
  color: #5EEAD4 !important;
}

/* Badges on dark backgrounds: Translucent emerald badge with bright teal text */
.nc-sectors-section .nc-badge,
.nc-hero-container .nc-hero-badge,
.nc-dark-section .nc-badge,
.ncb-dark .nc-badge,
div[style*="background:#0B192C"] .nc-badge,
div[style*="background: #0B192C"] .nc-badge,
div[style*="background:#0A192F"] .nc-badge,
div[style*="background: #0A192F"] .nc-badge {
  background: rgba(45, 212, 191, 0.15) !important;
  color: #2DD4BF !important;
  border: 1px solid rgba(45, 212, 191, 0.35) !important;
}

/* Cards inside dark sections: Subtle glass surface + high contrast border */
.nc-sector-card, .nc-pillar-card, .ncb-turnus-card,
.ncb-port-card, .ncb-bedarf-karte, .nc-post-eeat-box {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}
.nc-sector-card h3, .nc-pillar-card h3, .ncb-turnus-card h3,
.ncb-port-card h3, .ncb-bedarf-karte h3, .nc-post-eeat-box h3 {
  color: #FFFFFF !important;
}
.nc-sector-card p, .nc-pillar-card p, .ncb-turnus-card p,
.ncb-port-card p, .ncb-bedarf-karte p, .nc-post-eeat-box p {
  color: #CBD5E1 !important;
}

/* ── 3. ESTIMATE BOX IN RECHNER / ANGEBOT (.nc-qw-estimate-box) ── */
.nc-qw-estimate-box,
.nc-estimate-box {
  background: #0B192C !important;
  border: 1px solid #1E293B !important;
}
.nc-qw-estimate-box *,
.nc-estimate-box * {
  opacity: 1 !important;
}
.nc-qw-estimate-box h3,
.nc-estimate-box h3,
.nc-qw-estimate-box .nc-qw-est-title {
  color: #FFFFFF !important;
}
.nc-qw-estimate-box .nc-qw-est-val,
.nc-estimate-box .nc-estimate-stat-val,
#nc-qw-hours-per-session,
#nc-qw-monthly-hours,
#nc-qw-coverage-rate {
  color: #34D399 !important;
  font-weight: 800 !important;
}
.nc-qw-estimate-box .nc-qw-est-label,
.nc-estimate-box .nc-estimate-stat-label,
.nc-qw-estimate-stat-label {
  color: #CBD5E1 !important;
}

/* ── 4. FOOTER CONTRAST GUARANTEE ── */
.site-footer, #colophon, .footer-wrap, .nc-footer {
  background: #0B192C !important;
  color: #CBD5E1 !important;
}
.site-footer h2, .site-footer h3, .site-footer h4,
#colophon h2, #colophon h3, #colophon h4 {
  color: #FFFFFF !important;
}
.site-footer p, .site-footer li, .site-footer span,
#colophon p, #colophon li, #colophon span {
  color: #CBD5E1 !important;
}
.site-footer a, #colophon a {
  color: #2DD4BF !important;
}
.site-footer a:hover, #colophon a:hover {
  color: #5EEAD4 !important;
  text-decoration: underline !important;
}
.site-footer .site-info, #colophon .site-info,
.site-footer .copyright, #colophon .copyright {
  color: #94A3B8 !important;
  border-top: 1px solid #1E293B !important;
}

/* ── 5. FAQ CARDS INSIDE DARK FAQ SECTIONS (.ncb-faq-item) ── */
.ncb-faq-section .ncb-faq-item .ncb-faq-q,
.ncb-faq-section .ncb-faq-item .ncb-faq-q span {
  color: #1A365D !important;
}
.ncb-faq-section .ncb-faq-item .ncb-faq-q:hover,
.ncb-faq-section .ncb-faq-item .ncb-faq-q:hover span {
  color: #0A7A54 !important;
}
.ncb-faq-section .ncb-faq-item .ncb-faq-a,
.ncb-faq-section .ncb-faq-item .ncb-faq-a p,
.ncb-faq-section .ncb-faq-item .ncb-faq-a span {
  color: #334155 !important;
}
.ncb-faq-section .ncb-faq-item .ncb-faq-a strong {
  color: #0F172A !important;
}

/* FAQ Accordion trigger buttons (homepage & general) */
.ncx-accordion-trigger span,
.nc-faq-trigger {
  color: #1A365D !important;
}
.ncx-accordion-trigger:hover span,
.nc-faq-trigger:hover {
  color: #0A7A54 !important;
}
/* Explicit high-contrast light section strong rule */
.nc-about-master-section strong { color: #0F172A !important; }
/* nc-global-alternating-schema */
/* ==========================================================================
   NOBLECLEAN GLOBAL ALTERNATING LIGHT / DARK SCHEMA (ALL PAGES)
   ========================================================================== */

/* ── 1. GLOBAL BASE & SQUARE EDGES ── */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Refined microinteraction & border radii defaults */
.nc-btn-accent, .nc-glass-btn-primary, .nc-glass-btn-tel, .ncb-btn-primary, .ncb-btn-tel, .ncb-btn-gold, .nc-btn-phone, .button, .wp-block-button__link {
  border-radius: var(--nc-radius-pill, 9999px) !important;
}
.nc-district-pill, .nc-bezirk-pill, .nc-badge, .ncb-hero-badge, .nc-glass-eyebrow {
  border-radius: var(--nc-radius-pill, 9999px) !important;
}
.nc-sector-card, .nc-pillar-card, .ncb-system-card, .ncb-turnus-card, .ncb-bedarf-karte, .ncb-port-card, .nc-timeline-card, .nc-blog-card {
  border-radius: var(--nc-radius, 18px) !important;
}

/* ── 2. SERVICE PAGES (ncb-*) ALTERNATING RHYTHM ── */

/* Section 1: Hero -> DARK OBSIDIAN */
.ncb-hero, .nc-glass-hero {
  background: radial-gradient(circle at 85% 15%, rgba(45, 212, 191, 0.15) 0%, transparent 45%),
              linear-gradient(135deg, #07121E 0%, #0F2338 55%, #1A365D 100%) !important;
  color: #FFFFFF !important;
  /* radius preserved */
}

/* Section 2: System / Kernleistungen -> LIGHT (Crisp White) */
.ncb-system-section {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
}
.ncb-system-card {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
}
.ncb-system-card h3 {
  color: #0F172A !important;
}
.ncb-system-card p {
  color: #334155 !important;
}

/* Section 3: Turnus & Intervalle -> DARK (Deep Slate Navy) */
.ncb-turnus-section {
  background: #0B192C !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
}
.ncb-turnus-section h2, .ncb-turnus-section h3 {
  color: #FFFFFF !important;
}
.ncb-turnus-section p, .ncb-turnus-section span:not(.ncb-turnus-badge) {
  color: #CBD5E1 !important;
}
.ncb-turnus-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
}
.ncb-turnus-card h3 {
  color: #FFFFFF !important;
}
.ncb-turnus-card p {
  color: #CBD5E1 !important;
}
.ncb-turnus-badge {
  border-radius: var(--nc-radius-pill, 9999px) !important;
  background: #10B981 !important;
  color: #081422 !important;
  font-weight: 800 !important;
}

/* Section 4: Vorher / Nachher & Vergleich -> LIGHT (Crisp White) */
.ncb-vs-section {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
}
.ncb-vs-section h2, .ncb-vs-section h3 {
  color: #0F172A !important;
}
.ncb-vs-pain {
  background: #FFF5F5 !important;
  border: 1px solid #FECACA !important;
  color: #991B1B !important;
}
.ncb-vs-pain h3 { color: #991B1B !important; }
.ncb-vs-pain p, .ncb-vs-pain li { color: #7F1D1D !important; }
.ncb-vs-sol {
  background: #F0FDF4 !important;
  border: 1px solid #BBF7D0 !important;
  color: #166534 !important;
}
.ncb-vs-sol h3 { color: #166534 !important; }
.ncb-vs-sol p, .ncb-vs-sol li { color: #14532D !important; }

/* Section 5: Schritte / Ablauf -> LIGHT (Slate Clean) */
.ncb-step-section {
  background: #F8FAFC !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
}
.ncb-step-section h2, .ncb-step-section h3 {
  color: #0F172A !important;
}
.ncb-step-section p {
  color: #334155 !important;
}
.ncb-step-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
}
.ncb-step-card h3 { color: #0F172A !important; }
.ncb-step-card p { color: #475569 !important; }
.ncb-step-num {
  border-radius: 50% !important;
  background: #10B981 !important;
  color: #081422 !important;
}

/* Section 6: FAQs -> DARK (Obsidian Blue) */
.ncb-faq-section {
  background: #07121E !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
}
.ncb-faq-section h2, .ncb-faq-section h3 {
  color: #FFFFFF !important;
}
.ncb-faq-item {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.ncb-faq-q {
  color: #FFFFFF !important;
}
.ncb-faq-a, .ncb-faq-item p {
  color: #CBD5E1 !important;
}

/* Section 7: Abschluss-CTA -> LIGHT Wrapper mit DARK Banner */
.ncb-cta-section {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
}
.ncb-cta-banner {
  background: linear-gradient(135deg, #0B192C 0%, #07121E 100%) !important;
  border: 1px solid rgba(45, 212, 191, 0.3) !important;
  color: #FFFFFF !important;
}
.ncb-cta-banner h2, .ncb-cta-banner h3 { color: #FFFFFF !important; }
.ncb-cta-banner p { color: #E2E8F0 !important; }

/* ── 3. DISTRICT PAGES (.ncb-district / .ncb-port / .ncb-bedarf) ALTERNATING RHYTHM ── */

/* District Hero -> DARK (Done above) */

/* District Bento Services -> LIGHT (Crisp White) */
.ncb-sec {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
}
.nc-service-bento-grid .ncb-card,
.nc-service-bento-grid a {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
}
.nc-service-bento-grid h3 {
  color: #0F172A !important;
}
.nc-service-bento-grid p {
  color: #475569 !important;
}

/* District Portrait & Hotspots -> DARK (Deep Navy #0B192C) */
.ncb-portrait {
  background: #0B192C !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
  padding: 85px 20px !important;
}
.ncb-portrait h2, .ncb-portrait h3, .ncb-portrait h4 {
  color: #FFFFFF !important;
}
.ncb-portrait p {
  color: #CBD5E1 !important;
}
.ncb-port-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
}
.ncb-port-card h4 {
  color: #FFFFFF !important;
}
.ncb-port-card p {
  color: #CBD5E1 !important;
}
.ncb-hotspot-pill {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  color: #F8FAFC !important;
  /* radius preserved */
}

/* District Facts -> LIGHT (Crisp White #FFFFFF) */
.ncb-facts {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
  padding: 80px 20px !important;
}
.ncb-facts h2, .ncb-facts h3 {
  color: #0F172A !important;
}
.ncb-facts p {
  color: #334155 !important;
}
.ncb-fact-card {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: var(--nc-radius, 16px) !important;
}

/* District Bedarf -> DARK (Obsidian Blue #07121E) */
.ncb-bedarf {
  background: #07121E !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
}
.ncb-bedarf h2, .ncb-bedarf h3 {
  color: #FFFFFF !important;
}
.ncb-bedarf p, .ncb-bedarf-fuss {
  color: #CBD5E1 !important;
}
.ncb-bedarf-karte {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--nc-radius, 16px) !important;
}
.ncb-bedarf-karte h3 {
  color: #FFFFFF !important;
}
.ncb-bedarf-karte p {
  color: #CBD5E1 !important;
}
.ncb-bedarf-karte .ncb-bedarf-folge {
  color: #34D399 !important;
}

/* District FAQ -> LIGHT (Crisp White #FFFFFF) */
.ncb-faq {
  background: #FFFFFF !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
}
.ncb-faq h2, .ncb-faq h3 {
  color: #0F172A !important;
}
.ncb-faq-item {
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: var(--nc-radius, 14px) !important;
}
.ncb-faq-item h3 {
  color: #0F172A !important;
}
.ncb-faq-item p {
  color: #475569 !important;
}

/* District Band / CTA -> DARK (Deep Navy #0B192C) */
.ncb-band {
  background: #0B192C !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
  padding: 80px 20px !important;
}
.ncb-band h2, .ncb-band h3 { color: #FFFFFF !important; }
.ncb-band p { color: #E2E8F0 !important; }

/* ── 4. UEBER UNS & TRUST PAGES ALTERNATING RHYTHM ── */
.nc-about-wrap {
  background: #FFFFFF !important;
}
.nc-story-section, .nc-story-grid {
  background: #FFFFFF !important;
}
.nc-pillars-section {
  background: #0B192C !important;
  color: #FFFFFF !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.nc-pillars-section h2, .nc-pillars-section h3 {
  color: #FFFFFF !important;
}
.nc-pillars-section p {
  color: #CBD5E1 !important;
}
.nc-pillar-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: var(--nc-radius, 18px) !important;
}
.nc-pillar-card h3 {
  color: #FFFFFF !important;
}
.nc-pillar-card p {
  color: #CBD5E1 !important;
}

.nc-timeline-section {
  background: #F8FAFC !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
}
.nc-timeline-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: var(--nc-radius, 16px) !important;
}
.nc-timeline-card h3, .nc-timeline-card h4 {
  color: #0F172A !important;
}
.nc-timeline-card p {
  color: #475569 !important;
}

.nc-districts-section {
  background: #07121E !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* ── 5. WIZARD / ANGEBOT & KONTAKT ── */
.nc-wizard-section, .nc-contact-section {
  background: #FFFFFF !important;
}
.nc-qw-wizard {
  border-radius: var(--nc-radius-lg, 24px) !important;
}
.nc-qw-step-card {
  border-radius: var(--nc-radius, 18px) !important;
  border: 1px solid #E2E8F0 !important;
}
.nc-qw-estimate-box, .nc-estimate-box {
  background: #07121E !important;
  border: 1px solid rgba(45, 212, 191, 0.3) !important;
  border-radius: var(--nc-radius, 18px) !important;
  color: #FFFFFF !important;
}
.nc-qw-estimate-box h3, .nc-estimate-box h3 { color: #FFFFFF !important; }
.nc-qw-estimate-box p, .nc-estimate-box p { color: #E2E8F0 !important; }

/* ── 6. RATGEBER & BLOG ── */
.nc-article-hero {
  background: #07121E !important;
  color: #FFFFFF !important;
}
.nc-article-content {
  background: #FFFFFF !important;
}
.nc-blog-grid-section {
  background: #F8FAFC !important;
}
.nc-blog-card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: var(--nc-radius, 18px) !important;
}




/* ==========================================================================
   NOBLECLEAN GLOBAL SPACING & SEAMLESS SECTION HARMONY
   ========================================================================== */

/* 1. SEAMLESS HERO TO CONTENT FLOW */
.nc-hero-container, .ncb-hero, .nc-glass-hero {
  margin-bottom: 0 !important;
}
.nc-hero-stats-bar {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 22px 20px !important;
}
.nc-hero-stats-bar + * {
  margin-top: 0 !important;
}

/* 2. REMOVE REDUNDANT FLOATING TRUST BARS / GAPS BEFORE FOOTER */
.nc-trust-insurance-bar,
.nc-trust-insurance-bar-outer,
div[class*="trust-insurance"] {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* 3. STANDARDIZE ALL SECTION VERTICAL PADDINGS (NO MORE GIANT GAPS) */
.nc-sectors-section,
.nc-about-master-section,
.nc-about-hero,
.ncb-system-section,
.ncb-turnus-section,
.ncb-vs-section,
.ncb-step-section,
.ncb-faq-section,
.ncb-cta-section,
.ncb-sec,
.ncb-portrait,
.ncb-facts,
.ncb-bedarf,
.ncb-faq,
.ncb-band,
.nc-story-section,
.nc-pillars-section,
.nc-timeline-section,
.nc-districts-section {
  padding-top: clamp(52px, 6vw, 84px) !important;
  padding-bottom: clamp(52px, 6vw, 84px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 4. CLEAN SECTION WRAPPERS & REMOVE INNER PARAGRAPH MARGIN SPILLS */
.entry-content > .wp-block-group,
.entry-content > div[class*="section"],
.entry-content > section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.entry-content > p:empty,
.entry-content > br {
  display: none !important;
}

/* 5. SECTOR & BENTO CARDS SPACING PERFECTION */
.nc-sector-card {
  padding: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
.nc-sector-card h3 {
  margin-top: 14px !important;
  margin-bottom: 12px !important;
}
.nc-sector-card p {
  margin-bottom: 18px !important;
  line-height: 1.6 !important;
}



/* 6. ZERO GAP TRANSITION TO FOOTER */
.nc-final-cta-block,
.wp-block-group.alignfull:last-of-type,
.entry-content > .wp-block-group:last-child {
  margin-bottom: 0 !important;
  padding-bottom: clamp(60px, 7vw, 90px) !important;
  background: #0B192C !important;
}
.entry-content,
#inner-wrap,
.content-container,
.site-main,
#primary {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#nc-premium-footer {
  margin-top: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}


/* ==========================================================================
   STRICT SEAMLESS FOOTER TRANSITION (NO WHITE GAP)
   ========================================================================== */
.entry-content > .wp-block-group:last-child,
.entry-content > .wp-block-group:last-of-type,
.entry-content > div:last-child,
.entry-content > div:last-of-type {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.entry-content > .wp-block-group:last-child > .wp-block-group__inner-container > div:last-child,
.nc-final-cta-block,
div[class*="nc-final-cta"] {
  margin-bottom: 0 !important;
  padding-bottom: clamp(70px, 8vw, 100px) !important;
}

#inner-wrap, .content-container, .site-main, .entry-content, #primary, #main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#nc-premium-footer {
  margin-top: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}
/* nc-150k-agency-styles */
/* ══════════════════════════════════════════════════════════════════════════
       150.000€ AGENCY EXPERIENCE: SCROLL REVEAL & INTERACTION DYNAMICS
       ══════════════════════════════════════════════════════════════════════════ */

    /* SCROLL REVEAL BASE STYLES - CRISP & PERFORMANT */
    .nc-scroll-reveal {
        opacity: 0;
        transform: translateY(16px);
        transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                    transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
        will-change: opacity, transform;
    }

    .nc-scroll-reveal.nc-in-view {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }

    /* STAGGERED REVEAL DELAYS */
    .nc-scroll-reveal:nth-child(1) { transition-delay: 0.04s; }
    .nc-scroll-reveal:nth-child(2) { transition-delay: 0.10s; }
    .nc-scroll-reveal:nth-child(3) { transition-delay: 0.16s; }
    .nc-scroll-reveal:nth-child(4) { transition-delay: 0.22s; }
    .nc-scroll-reveal:nth-child(5) { transition-delay: 0.28s; }
    .nc-scroll-reveal:nth-child(6) { transition-delay: 0.34s; }

    /* SHIMMER BADGE ANIMATION */
    @keyframes ncShimmer {
        0% { background-position: -200% 0; }
        100% { background-position: 200% 0; }
    }
    .nc-eyebrow, .nc-section-badge, .ncb-badge, .nc-asp-badge, .nc-lh-badge {
        background: linear-gradient(90deg, rgba(72,187,120,0.12) 0%, rgba(72,187,120,0.32) 50%, rgba(72,187,120,0.12) 100%) !important;
        background-size: 200% 100% !important;
        animation: ncShimmer 5s infinite linear !important;
    }

    /* WCAG AAA TEXT CONTRAST & TYPOGRAPHIC EXCELLENCE */
    body, p, li, td {
        color: #1E293B;
    }
    h1, h2, h3, h4, h5, h6 {
        color: #0A192F;
        letter-spacing: -0.025em;
    }

    /* TARGETED HIGH CONTRAST (ONLY EXPLICIT BACKGROUNDS) */
    .nc-dark-context,
    .nc-dark-card,
    .nc-glass-hero,
    .ncb-hero,
    .nc-hero-dark,
    #nc-qw-effort-bar,
    .nc-qw-estimate-box {
        color: #E2E8F0 !important;
    }

    .nc-dark-context h1, .nc-dark-context h2, .nc-dark-context h3, .nc-dark-context h4,
    .nc-dark-card h1, .nc-dark-card h2, .nc-dark-card h3, .nc-dark-card h4,
    .nc-glass-hero h1, .nc-glass-hero h2, .nc-glass-hero h3, .nc-glass-hero h4,
    .ncb-hero h1, .ncb-hero h2, .ncb-hero h3, .ncb-hero h4,
    #nc-qw-effort-bar h1, #nc-qw-effort-bar h2, #nc-qw-effort-bar h3,
    .nc-qw-estimate-box h1, .nc-qw-estimate-box h2, .nc-qw-estimate-box h3 {
        color: #FFFFFF !important;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
    }

    .nc-dark-context p, .nc-dark-context li,
    .nc-dark-card p, .nc-dark-card li,
    .nc-glass-hero p, .nc-glass-hero li,
    .ncb-hero p, .ncb-hero li,
    #nc-qw-effort-bar p, #nc-qw-effort-bar li,
    .nc-qw-estimate-box p, .nc-qw-estimate-box li {
        color: #E2E8F0 !important;
    }

    .nc-dark-context strong,
    .nc-dark-card strong,
    .nc-glass-hero strong,
    .ncb-hero strong {
        color: #FFFFFF !important;
    }

    /* KINETIC BUTTON-IN-BUTTON HOVER ARROW */
    .nc-hero-btn-primary span,
    .nc-btn-primary span,
    .nc-lh-cta-btn span,
    .ncb-btn-p span {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .nc-hero-btn-primary:hover span,
    .nc-btn-primary:hover span,
    .nc-lh-cta-btn:hover span,
    .ncb-btn-p:hover span {
        transform: translateX(4px);
    }

    /* FLOATING HEADER MORPH ON SCROLL */
    .site-header, #masthead, .nc-main-header, header {
        transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }
    .site-header.is-scrolled, #masthead.is-scrolled, .nc-main-header.is-scrolled {
        background: rgba(255, 255, 255, 0.94) !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        box-shadow: 0 10px 30px rgba(10, 38, 71, 0.08) !important;
        border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important;
    }

    /* ENHANCED MEGA-MENU HOVER & DROP TRANSITIONS */
    .nc-mega-menu, .nc-menu-dropdown {
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
        border-radius: 20px !important;
        box-shadow: 0 25px 60px rgba(10, 38, 71, 0.15), 0 4px 16px rgba(0,0,0,0.04) !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:#1A365D !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:#48BB78;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:#1A365D !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 drei Linkspalten (Silo-Struktur seit 08/2026: drei Linkspalten plus Bezirksliste ueber volle Breite). */.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:#1A365D !important;}/* Zielgruppen-Block dunkel absetzen */.nc-gr-ziel,.lv-ziel{background:#1A365D !important;border-color:rgba(94,234,212,.22) !important;}.nc-gr-ziel h3,.lv-ziel h3{color:#48BB78 !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:#1A365D !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:#48BB78 !important;}.nc-solution-list li::before{color:#48BB78 !important;}.nc-system-badge{background:rgba(94,234,212,.12) !important;border:1px solid rgba(94,234,212,.28) !important;color:#48BB78 !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:#1A365D !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:#1A365D !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:#48BB78 !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:#1A365D !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:#1A365D !important;}span.nc-footer-badge{color:#48BB78 !important;}span.nc-footer-badge svg{stroke:#48BB78 !important;color:#48BB78 !important;}a.btn-teal{color:#1A365D !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 */
body .nc-toc, body .nc-toc-inline, body .kb-table-of-content-nav {background: #FFFFFF !important;border: 1.5px solid #E2E8F0 !important;border-radius: 18px !important;padding: 24px 28px !important;margin: 32px 0 40px !important;box-shadow: 0 10px 32px rgba(8,20,34,0.04) !important;position: relative !important;overflow: hidden !important;display: block !important;}body .nc-toc::before {content: "" !important;position: absolute !important;top: 0 !important; left: 0 !important;width: 100% !important; height: 3.5px !important;background: linear-gradient(90deg, #48BB78, #38A169, #1A365D) !important;}body .nc-toc .nc-toc-title {font-family: "Plus Jakarta Sans", sans-serif !important;font-size: 11.5px !important; font-weight: 800 !important;letter-spacing: 0.15em !important; text-transform: uppercase !important;color: #1A365D !important; margin: 0 0 16px !important;display: flex !important; align-items: center !important; gap: 8px !important;}body .nc-toc ol {list-style: none !important; margin: 0 !important; padding: 0 !important;display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px 24px !important;}@media (max-width: 768px) {body .nc-toc ol { grid-template-columns: 1fr !important; }}body .nc-toc li { margin: 0 !important; padding: 0 !important; }body .nc-toc a {display: flex !important; align-items: center !important;padding: 8px 12px 8px 14px !important;border-left: 2.5px solid #E2E8F0 !important;border-radius: 0 8px 8px 0 !important;font-size: 13.5px !important; font-weight: 600 !important; line-height: 1.4 !important;color: #475569 !important; text-decoration: none !important;background: transparent !important;transition: all 0.2s ease !important;}body .nc-toc a:hover {color: #081422 !important; border-left-color: #48BB78 !important;background: rgba(72,187,120,0.06) !important;transform: translateX(4px) !important;}body .nc-toc a.is-active {color: #081422 !important; font-weight: 700 !important;border-left-color: #48BB78 !important;background: rgba(72,187,120,0.08) !important;}
/* nc-permanent-contrast-guardian */
/* Force high contrast inside all dark containers strictly by background */
    .nc-dark-context, .nc-contrast-dark, .nc-glass-hero, .ncb-hero, #nc-qw-effort-bar { background-color: #071322 !important; }
    .nc-dark-context, .nc-contrast-dark, .nc-glass-hero, .ncb-hero, #nc-qw-effort-bar,
    div[style*='background:#071322'], div[style*='background: #071322'], div[style*='background-color:#071322'], div[style*='background-color: #071322'],
    div[style*='background:#0B192C'], div[style*='background: #0B192C'], div[style*='background-color:#0B192C'], div[style*='background-color: #0B192C'],
    div[style*='background:#0B1E34'], div[style*='background: #0B1E34'], div[style*='background-color:#0B1E34'], div[style*='background-color: #0B1E34'],
    div[style*='background:#0A192F'], div[style*='background: #0A192F'], div[style*='background-color:#0A192F'], div[style*='background-color: #0A192F'],
    section[style*='background:#071322'], section[style*='background: #071322'], section[style*='background-color:#071322'], section[style*='background-color: #071322'],
    section[style*='background:#0B192C'], section[style*='background: #0B192C'], section[style*='background-color:#0B192C'], section[style*='background-color: #0B192C'],
    section[style*='background:#0B1E34'], section[style*='background: #0B1E34'], section[style*='background-color:#0B1E34'], section[style*='background-color: #0B1E34'],
    section[style*='background:#0A192F'], section[style*='background: #0A192F'], section[style*='background-color:#0A192F'], section[style*='background-color: #0A192F'] {
        color: #E2E8F0 !important;
    }
    .nc-dark-context h1, .nc-dark-context h2, .nc-dark-context h3, .nc-dark-context h4,
    .nc-contrast-dark h1, .nc-contrast-dark h2, .nc-contrast-dark h3, .nc-contrast-dark h4,
    .nc-glass-hero h1, .nc-glass-hero h2, .nc-glass-hero h3, .nc-glass-hero h4,
    div[style*='background:#071322'] h1, div[style*='background:#071322'] h2, div[style*='background:#071322'] h3,
    div[style*='background: #071322'] h1, div[style*='background: #071322'] h2, div[style*='background: #071322'] h3,
    div[style*='background:#0B192C'] h1, div[style*='background:#0B192C'] h2, div[style*='background:#0B192C'] h3,
    div[style*='background: #0B192C'] h1, div[style*='background: #0B192C'] h2, div[style*='background: #0B192C'] h3,
    div[style*='background:#0B1E34'] h1, div[style*='background:#0B1E34'] h2, div[style*='background:#0B1E34'] h3,
    div[style*='background:#0A192F'] h1, div[style*='background:#0A192F'] h2, div[style*='background:#0A192F'] h3,
    section[style*='background:#071322'] h1, section[style*='background:#071322'] h2, section[style*='background:#071322'] h3,
    section[style*='background:#0B192C'] h1, section[style*='background:#0B192C'] h2, section[style*='background:#0B192C'] h3 {
        color: #FFFFFF !important;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
    }
    .nc-dark-context p, .nc-dark-context li,
    .nc-contrast-dark p, .nc-contrast-dark li,
    .nc-glass-hero p, .nc-glass-hero li,
    div[style*='background:#071322'] p, div[style*='background:#071322'] li,
    div[style*='background: #071322'] p, div[style*='background: #071322'] li,
    div[style*='background:#0B192C'] p, div[style*='background:#0B192C'] li,
    div[style*='background: #0B192C'] p, div[style*='background: #0B192C'] li,
    div[style*='background:#0B1E34'] p, div[style*='background:#0B1E34'] li,
    div[style*='background:#0A192F'] p, div[style*='background:#0A192F'] li {
        color: #E2E8F0 !important;
    }
    .nc-dark-context strong, .nc-contrast-dark strong, .nc-glass-hero strong,
    div[style*='background:#071322'] strong, div[style*='background: #071322'] strong,
    div[style*='background:#0B192C'] strong, div[style*='background: #0B192C'] strong,
    div[style*='background:#0B1E34'] strong, div[style*='background:#0A192F'] strong {
        color: #FFFFFF !important;
    }
    /* Explicitly protect white review cards and authors against any contrast bleed */
    .nc-testimonials-grid div[style*='color:#0B192C'],
    .nc-testimonials-grid div[style*='color: #0B192C'],
    .nc-testimonials-grid .nc-author-name {
        color: #0B192C !important;
    }
    .nc-testimonials-grid p {
        color: #334155 !important;
    }
/* nc-master-contrast-and-faq-guardian */
/* 1. Global FAQ Accordion (Exact Startseite Design) */
    .ncx-accordion {
      display: flex !important;
      flex-direction: column !important;
      gap: 14px !important;
      max-width: 920px !important;
      margin: 0 auto !important;
    }
    .ncx-accordion-item {
      background: #FFFFFF !important;
      border: 1.5px solid #F2F0EA !important;
      border-radius: 16px !important;
      overflow: hidden !important;
      box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
      transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
    }
    .ncx-accordion-item:hover {
      border-color: #CBD5E1 !important;
      box-shadow: 0 4px 14px rgba(0,0,0,0.05) !important;
    }
    .ncx-accordion-item.is-open {
      border-color: rgba(45,212,191,0.6) !important;
      box-shadow: 0 6px 20px rgba(45,212,191,0.08) !important;
    }
    .ncx-accordion-trigger {
      width: 100% !important;
      text-align: left !important;
      padding: 22px 26px !important;
      background: none !important;
      border: none !important;
      cursor: pointer !important;
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      gap: 16px !important;
      font-family: 'Plus Jakarta Sans', -apple-system, sans-serif !important;
    }
    .ncx-accordion-trigger span.ncx-q-text {
      font-weight: 700 !important;
      font-size: 16.5px !important;
      color: #1A365D !important;
      line-height: 1.4 !important;
    }
    .ncx-accordion-icon {
      flex-shrink: 0 !important;
      width: 30px !important;
      height: 30px !important;
      border-radius: 50% !important;
      background: #F5F8FA !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      transition: background 0.25s ease !important;
    }
    .ncx-accordion-item.is-open .ncx-accordion-icon {
      background: rgba(45,212,191,0.18) !important;
    }
    .ncx-accordion-item.is-open .ncx-accordion-vline {
      display: none !important;
    }
    .ncx-accordion-panel {
      max-height: 0;
      overflow: hidden !important;
      transition: max-height 0.35s cubic-bezier(0.16,1,0.3,1), padding 0.3s ease !important;
      padding: 0 26px !important;
    }
    .ncx-accordion-item.is-open .ncx-accordion-panel {
      max-height: 800px !important;
      padding: 0 26px 24px !important;
    }
    .ncx-accordion-panel p {
      margin: 0 !important;
      color: #475569 !important;
      font-size: 15px !important;
      line-height: 1.65 !important;
    }

    /* 2. Servicegebiet Wien Map Heading Contrast */
    .wp-block-group[style*="#1A365D"] h2,
    div[style*="background-color:#1A365D"] h2,
    div[style*="background-color: #1A365D"] h2,
    section[style*="#1A365D"] h2 {
      color: #FFFFFF !important;
      text-shadow: 0 2px 10px rgba(0,0,0,0.45) !important;
    }

    
    /* PERFECT SEAMLESS TRANSITION FROM CTA TO FOOTER */
    .entry-content-wrap > p:last-child,
    .entry-content-wrap > p:has(script),
    .entry-content > p:last-child,
    .entry-content > p:has(script),
    p:empty {
      display: none !important;
      margin: 0 !important;
      padding: 0 !important;
      height: 0 !important;
    }
    #wrapper, .site, #inner-wrap, .site-main, .entry-content-wrap, .content-container {
      margin-bottom: 0 !important;
      padding-bottom: 0 !important;
    }
    #nc-premium-footer {
      margin-top: 0 !important;
      padding-top: 0 !important;
      border-top: none !important;
    }
    .site-main, .entry-content, .content-container, .content-area {
      margin-bottom: 0 !important;
      padding-bottom: 0 !important;
    }

    /* 4. Properly Scoped Dark Container Contrast (NO text-color broad selectors!) */
    .nc-dark-card,
    .nc-dark-context,
    .nc-glass-hero,
    .ncb-hero,
    #nc-qw-effort-bar,
    .nc-qw-estimate-box {
      color: #E2E8F0 !important;
    }
    .nc-dark-card h1, .nc-dark-card h2, .nc-dark-card h3, .nc-dark-card h4,
    .nc-dark-context h1, .nc-dark-context h2, .nc-dark-context h3, .nc-dark-context h4,
    .nc-glass-hero h1, .nc-glass-hero h2, .nc-glass-hero h3, .nc-glass-hero h4,
    #nc-qw-effort-bar h1, #nc-qw-effort-bar h2, #nc-qw-effort-bar h3,
    .nc-qw-estimate-box h1, .nc-qw-estimate-box h2, .nc-qw-estimate-box h3 {
      color: #FFFFFF !important;
      text-shadow: 0 2px 8px rgba(0,0,0,0.4) !important;
    }
    .nc-dark-card p, .nc-dark-card li,
    .nc-dark-context p, .nc-dark-context li,
    .nc-glass-hero p, .nc-glass-hero li,
    #nc-qw-effort-bar p, #nc-qw-effort-bar li,
    .nc-qw-estimate-box p, .nc-qw-estimate-box li {
      color: #E2E8F0 !important;
    }
    .nc-dark-card strong, .nc-dark-context strong, .nc-glass-hero strong {
      color: #FFFFFF !important;
    }
