*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',-apple-system,sans-serif;color:#1a1a1a;line-height:1.7;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
.w{max-width:1200px;margin:0 auto;padding:0 24px}

/* Header */
.header{background:rgba(255,255,255,0.97);border-bottom:1px solid #e5e7eb;padding:14px 0;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}
.header-inner{display:flex;justify-content:space-between;align-items:center}
.logo{font-size:1.3rem;font-weight:800;color:#0f172a;letter-spacing:-0.5px}
.nav{display:flex;align-items:center;gap:4px}
.nav a{color:#64748b;padding:8px 16px;font-size:0.88rem;font-weight:500;border-radius:6px;transition:all 0.2s}
.nav a:hover{color:#0f172a;background:#f8fafc}
.nav-cta{background:#0f172a!important;color:#fff!important}
.nav-cta:hover{background:#1e293b!important}

/* Hero */
.hero{min-height:100vh;min-height:100dvh;background:#0f172a;color:#fff;padding:100px 0 0;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(37,99,235,0.12),transparent 70%)}
.hero-content{max-width:680px;position:relative;z-index:1}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(74,222,128,0.1);border:1px solid rgba(74,222,128,0.25);color:#4ade80;font-size:0.78rem;font-weight:600;padding:6px 14px;border-radius:20px;margin-bottom:24px}
.hero h1{font-size:3.2rem;font-weight:900;line-height:1.08;margin-bottom:24px;letter-spacing:-1.5px}
.hero h1 .accent{background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-desc{font-size:1.12rem;color:#94a3b8;margin-bottom:36px;max-width:540px;line-height:1.7}
.hero-btns{display:flex;gap:16px;align-items:center;margin-bottom:80px}
.btn-p{background:#2563eb;color:#fff;padding:15px 32px;border-radius:10px;font-weight:700;font-size:0.95rem;display:inline-flex;align-items:center;gap:8px;transition:all 0.2s;box-shadow:0 4px 16px rgba(37,99,235,0.3)}
.btn-p:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 24px rgba(37,99,235,0.4)}
.btn-s{color:#94a3b8;padding:15px 24px;font-weight:600;font-size:0.95rem;border:1px solid rgba(255,255,255,0.15);border-radius:10px;transition:all 0.2s}
.btn-s:hover{color:#fff;border-color:rgba(255,255,255,0.3)}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,0.08);position:relative;z-index:2}
.hero-stat{padding:32px 24px;text-align:center;border-right:1px solid rgba(255,255,255,0.08)}
.hero-stat:last-child{border-right:none}
.hero-stat .val{font-size:2rem;font-weight:900;color:#fff;letter-spacing:-1px}
.hero-stat .label{font-size:0.72rem;color:#64748b;margin-top:4px;text-transform:uppercase;letter-spacing:0.5px}

/* Trust */
.trust{background:#fff;border-bottom:1px solid #f1f5f9;padding:16px 0}
.trust-inner{display:flex;justify-content:center;gap:40px}
.trust-item{color:#94a3b8;font-size:0.8rem;font-weight:500;display:flex;align-items:center;gap:6px}
.check{color:#16a34a;font-weight:700}

/* Sections */
.sec{padding:96px 0}
.sec-header{max-width:640px;margin-bottom:48px}
.sec-tag{display:inline-block;color:#2563eb;font-size:0.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}
.sec-title{font-size:2.1rem;font-weight:800;letter-spacing:-0.5px;margin-bottom:14px;line-height:1.2}
.sec-desc{font-size:1rem;color:#64748b;line-height:1.7}
.prose{font-size:0.95rem;color:#475569;line-height:1.8;max-width:740px}
.prose p{margin-bottom:14px}
.sec.dk{background:#0f172a;color:#fff}.sec.dk .sec-tag{color:#0d904f}.sec.dk .sec-desc{color:#94a3b8}.sec.dk .prose{color:#94a3b8}
.sec.gy{background:#f8fafc}

/* Services */
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.srv-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:36px 28px;transition:all 0.3s}
.srv-card:hover{border-color:#2563eb;box-shadow:0 8px 32px rgba(37,99,235,0.08);transform:translateY(-2px)}
.srv-card .num{font-size:0.7rem;font-weight:700;color:#94a3b8;letter-spacing:1px;margin-bottom:16px}
.srv-card h3{font-size:1.15rem;font-weight:700;margin-bottom:10px}
.srv-card p{font-size:0.88rem;color:#64748b;margin-bottom:16px;line-height:1.6}
.srv-card .lnk{color:#2563eb;font-weight:600;font-size:0.82rem}

/* Products */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:32px}
.prod-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:20px;transition:all 0.3s}
.prod-card:hover{background:rgba(255,255,255,0.08);border-color:rgba(96,165,250,0.3)}
.prod-card .pi{font-size:1.3rem;margin-bottom:6px}
.prod-card .pn{font-weight:700;font-size:0.88rem;margin-bottom:2px}
.prod-card .ps{font-size:0.7rem;color:#64748b}

/* Why */
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.why-pts{display:flex;flex-direction:column;gap:20px;position:sticky;top:80px;align-self:start}
.wp{display:flex;gap:14px}
.wp-i{width:40px;height:40px;border-radius:10px;background:#eff6ff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem}
.wp h3{font-size:0.95rem;font-weight:700;margin-bottom:3px}
.wp p{font-size:0.82rem;color:#64748b;line-height:1.5}

/* Cases */
.cases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.case{border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;background:#fff}
.case-top{background:#0f172a;padding:24px 28px;color:#fff}
.case-top .cl{font-size:0.68rem;color:#64748b;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
.case-top h3{font-size:1.05rem;font-weight:700}
.case-nums{display:grid;grid-template-columns:repeat(3,1fr)}
.cn{padding:20px;text-align:center;border-right:1px solid #f1f5f9}
.cn:last-child{border-right:none}
.cn .cv{font-size:1.5rem;font-weight:800;color:#2563eb}
.cn .cl2{font-size:0.68rem;color:#94a3b8;margin-top:2px}
.case-btm{padding:16px 28px;font-size:0.82rem;color:#64748b}

/* Magnets */
.mag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mag{border:1px solid #e5e7eb;border-radius:16px;padding:32px 24px;text-align:center;background:#fff;transition:all 0.3s}
.mag:hover{border-color:#2563eb;box-shadow:0 8px 32px rgba(37,99,235,0.08)}
.mag .mi{width:52px;height:52px;border-radius:14px;background:#eff6ff;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.3rem}
.mag h3{font-size:1rem;font-weight:700;margin-bottom:6px}
.mag p{font-size:0.82rem;color:#64748b;margin-bottom:18px;line-height:1.5}
.mag-btn{display:inline-block;background:#0f172a;color:#fff;padding:10px 22px;border-radius:8px;font-weight:600;font-size:0.8rem;transition:all 0.2s}
.mag-btn:hover{background:#2563eb}

/* FAQ section */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.faq-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;transition:all 0.2s}
.faq-item:hover{border-color:#2563eb;background:#f8fafc}
.faq-item .fq{font-size:0.85rem;font-weight:500}
.faq-item .fc{font-size:0.65rem;color:#94a3b8;background:#f1f5f9;padding:3px 10px;border-radius:20px;white-space:nowrap}

/* FAQ Content (KW-boosted) — Accordion */
.faq-content{margin-top:56px}
.faq-block{margin-bottom:8px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all 0.3s}
.faq-block:hover{border-color:#cbd5e1}
.faq-block.open{border-color:#2563eb;box-shadow:0 4px 16px rgba(37,99,235,0.06)}
.faq-block h2{font-size:1.05rem;font-weight:700;letter-spacing:-0.2px;margin:0;cursor:pointer;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}
.faq-block h2::after{content:'+';color:#94a3b8;font-size:1.3rem;font-weight:400;transition:transform 0.3s}
.faq-block.open h2::after{content:'−';color:#2563eb}
.faq-block .faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease}
.faq-block.open .faq-answer{max-height:400px}
.faq-block .prose{padding:0 24px 20px;max-width:800px}

/* Process */
.proc{display:flex;gap:0;position:relative}
.proc::before{content:'';position:absolute;top:28px;left:28px;right:28px;height:2px;background:#e5e7eb;z-index:0}
.proc-step{flex:1;text-align:center;position:relative;z-index:1}
.proc-dot{width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid #e5e7eb;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:1.1rem;font-weight:800;color:#2563eb;transition:all 0.3s}
.proc-step:hover .proc-dot{background:#2563eb;color:#fff;border-color:#2563eb}
.proc-step h3{font-size:0.92rem;font-weight:700;margin-bottom:4px}
.proc-step p{font-size:0.76rem;color:#64748b;max-width:180px;margin:0 auto}

/* Testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testi{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:28px;position:relative}
.testi::before{content:'"';position:absolute;top:16px;right:24px;font-size:3rem;color:#e5e7eb;font-family:Georgia,serif;line-height:1}
.testi p{font-size:0.88rem;color:#475569;font-style:italic;margin-bottom:16px;line-height:1.6}
.testi .tname{font-weight:700;font-size:0.85rem}
.testi .trole{font-size:0.72rem;color:#94a3b8}

/* Branchen */
.br-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.br-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;text-align:center;transition:all 0.2s}
.br-card:hover{border-color:#2563eb}
.br-card .bi{font-size:1.8rem;margin-bottom:8px}
.br-card h3{font-size:0.9rem;font-weight:700;margin-bottom:4px}
.br-card p{font-size:0.72rem;color:#94a3b8}

/* CTA */
.cta{background:#0f172a;padding:96px 0;text-align:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(37,99,235,0.15),transparent 70%)}
.cta h2{font-size:2.4rem;font-weight:900;color:#fff;margin-bottom:14px;letter-spacing:-1px;position:relative;z-index:1}
.cta p{font-size:1rem;color:#94a3b8;margin-bottom:32px;max-width:480px;margin-left:auto;margin-right:auto;position:relative;z-index:1}
.btn-w{background:#fff;color:#0f172a;padding:16px 36px;border-radius:10px;font-weight:700;font-size:1rem;display:inline-block;transition:all 0.2s;box-shadow:0 4px 16px rgba(0,0,0,0.2);position:relative;z-index:1}
.btn-w:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.3)}

/* Sticky CTA */
.sticky-cta{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:99;writing-mode:vertical-rl;text-orientation:mixed;background:#2563eb;color:#fff;padding:16px 10px;font-size:0.75rem;font-weight:700;letter-spacing:0.5px;border-radius:8px 0 0 8px;cursor:pointer;transition:all 0.2s;box-shadow:-4px 0 16px rgba(37,99,235,0.3)}
.sticky-cta:hover{background:#1d4ed8;padding-right:14px}

/* Footer */
.footer{background:#0a0f1a;color:#64748b;padding:64px 0 32px}
.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px}
.footer h4{color:#e2e8f0;font-size:0.82rem;font-weight:700;margin-bottom:16px}
.footer p{font-size:0.78rem;line-height:1.6}
.footer a{display:block;font-size:0.78rem;margin-bottom:8px;transition:color 0.2s}
.footer a:hover{color:#e2e8f0}
.footer-btm{border-top:1px solid rgba(255,255,255,0.06);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;font-size:0.72rem}

@media(max-width:768px){
.hero h1{font-size:2.2rem}.hero-stats{grid-template-columns:repeat(2,1fr)}
.srv-grid,.cases-grid,.mag-grid,.prod-grid,.testi-grid,.br-grid{grid-template-columns:1fr}
.faq-grid{grid-template-columns:1fr}.proc{flex-direction:column;gap:24px}.proc::before{display:none}
.trust-inner{flex-wrap:wrap;gap:16px}.why-grid{grid-template-columns:1fr}
.footer-inner{grid-template-columns:1fr 1fr}.footer-btm{flex-direction:column;gap:8px}
.sticky-cta{display:none}
}





/* Homepage: hide secondary navigation (submenu bar below header) */






/* Fix: hide all empty p tags and p tags with only comments/br before the hero section */
.bt_bb_wrapper > p:not(:has(section)):not(:has(div)) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}
/* Fallback for browsers without :has() */
.bt_bb_wrapper > p:empty {
    display: none !important;
}
/* The sticky-cta link should be visible even though its parent p is hidden */
.sticky-cta {
    position: fixed !important;
}


/* FAQ Knowledge Base: 2 columns, full width, no excess whitespace */
.faq-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
}
.faq-item {
    width: 100% !important;
    max-width: 100% !important;
}
.sec {
    padding: 64px 0 !important;
}
.sec .sec-header {
    margin-bottom: 28px !important;
}



@media (max-width: 768px) {
    .faq-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Fix: hide wpautop br tags inside faq-grid that break 2-column layout */
.faq-grid > br {
    display: none !important;
}



/* === KADENCE OVERRIDE: Match local preview exactly === */

/* Reset Kadence entry-content spacing */
.entry-content > .hero,
.entry-content > .trust,
.entry-content > .sec,
.entry-content > .cta,
.entry-content > .sticky-cta,
.entry-content > a.sticky-cta {
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
}

/* Kill Kadence H1 margins */
.hero h1 {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    font-size: 3.2rem !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    letter-spacing: -1.5px !important;
}

/* Hero eyebrow: tight to H1 */
.hero-eyebrow {
    margin-bottom: 10px !important;
    margin-top: 0 !important;
}

/* Hero padding: balanced top+bottom */
.hero {
    padding: 80px 0 0 !important;
}

/* Hero description */
.hero-desc {
    margin-top: 0 !important;
    margin-bottom: 36px !important;
}

/* Hero buttons */
.hero-btns {
    margin-bottom: 80px !important;
}

/* Kill empty P/BR from wpautop between sections */
.entry-content > p:empty,
.entry-content > br {
    display: none !important;
}

/* Section tags: reset Kadence margins */
.sec-title {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    font-size: 2.1rem !important;
    font-weight: 800 !important;
}

.sec-tag {
    margin-top: 0 !important;
}

.sec-desc {
    margin-top: 0 !important;
}

/* Trust bar: no extra margins */
.trust {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Section H2 (from FAQ/Prose): reset Kadence */
.sec h2, .faq-block h2 {
    margin-top: 0 !important;
}

/* H3 inside sections */
.sec h3 {
    margin-top: 0 !important;
}

/* Kill Kadence paragraph spacing overrides */
.entry-content .sec p,
.entry-content .hero p,
.entry-content .prose p {
    margin-bottom: 14px !important;
    margin-top: 0 !important;
}

/* Stats bar: no gaps */
.hero-stats {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.hero-stat {
    margin: 0 !important;
}

/* Why section grid */
.why-grid {
    gap: 56px !important;
}

/* Process steps */
.proc {
    margin-top: 56px !important;
}

/* Cards: consistent spacing */
.srv-card, .mag, .case, .testi, .br-card, .prod-card {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/* Align all .w containers with Kadence .site-container (1200px, 0 padding) */
.w {
    max-width: 1200px !important;
    padding: 0 24px !important;
}
