
:root{--bg:#0f172a;--bg2:#172554;--brand:#2563eb;--accent:#38bdf8;--text:#0f172a;--muted:#64748b;--soft:#f8fafc;--border:#e2e8f0;--code:#0b1220;--shadow:0 22px 70px rgba(15,23,42,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.65;color:var(--text);background:#fff}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(15,23,42,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;flex-direction:column;color:#fff;line-height:1.1}.brand-main{font-weight:900;font-size:1.15rem}.brand-sub{color:#bfdbfe;font-size:.82rem;margin-top:.2rem}.nav-links{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;color:#e5e7eb;font-size:.95rem}.nav-links a:hover{color:#fff}.nav-cta{background:var(--brand);color:#fff!important;padding:.62rem .95rem;border-radius:999px;font-weight:800}.lang a{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.22rem .45rem;font-size:.78rem;color:#bfdbfe}.hero{background:radial-gradient(circle at top left,rgba(56,189,248,.36),transparent 38%),linear-gradient(135deg,var(--bg),var(--bg2) 58%,#1e3a8a);color:#fff;padding:95px 0 82px}.hero-grid{display:grid;grid-template-columns:1.22fr .78fr;gap:48px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--brand);font-size:.78rem;margin:0 0 1rem}.hero .eyebrow{color:#7dd3fc}h1,h2,h3{line-height:1.16;margin-top:0}h1{font-size:clamp(2.45rem,5vw,4.7rem);margin-bottom:1.1rem}h2{font-size:clamp(1.75rem,3vw,2.7rem);margin-top:2.6rem}h3{font-size:1.28rem}.hero p{color:#dbeafe;font-size:1.16rem}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.9rem 1.15rem;font-weight:900;border:1px solid transparent;margin:.25rem}.button.primary{background:var(--brand);color:#fff}.button.secondary{border-color:rgba(148,163,184,.7);background:rgba(255,255,255,.06);color:inherit}.hero-card,.toc,.article-aside,.fact-card,.contact-card,.profile-card,.reference-card,.faq-item,.callout,.diagram-card{border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.06)}.hero-card{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);padding:1.6rem}.hero-card li{color:#e0f2fe}.section{padding:78px 0}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;align-items:start}.article-content p,.article-content li{color:#334155;font-size:1.045rem}.article-content blockquote{margin:1.2rem 0;padding:1rem 1.2rem;border-left:5px solid var(--brand);background:var(--soft);color:#334155;border-radius:12px}.article-aside{padding:1.25rem;position:sticky;top:96px}.article-aside a{display:block;color:var(--brand);margin:.35rem 0}.toc{padding:1.2rem;margin:1.5rem 0 2rem;background:#f8fafc}.toc a{display:block;color:var(--brand);margin:.35rem 0}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}.fact-card{padding:1.15rem}.fact-card strong{display:block;font-size:1.05rem;margin-bottom:.35rem}.fact-card span,.muted{color:var(--muted)}.availability{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.2rem 0}.availability div{border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:.85rem;color:#e0f2fe;background:rgba(255,255,255,.08)}.tag-list{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0 1.3rem}.tag-list span{padding:.55rem .8rem;border-radius:999px;border:1px solid var(--border);background:#fff;color:#334155;font-weight:700;font-size:.92rem}.profile-card,.reference-card,.faq-item,.callout{padding:1.3rem;margin:1rem 0;background:linear-gradient(135deg,#fff,#f8fafc)}.reference-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.reference-card .meta{color:var(--brand);font-weight:800;margin-bottom:.75rem}.diagram-card{margin:1.8rem 0;padding:1rem}.diagram-card img{display:block;width:100%;height:auto}.caption{color:var(--muted);font-size:.92rem;margin:.5rem 0 0}pre{background:var(--code);color:#dbeafe;border-radius:18px;padding:1.1rem;overflow:auto;border:1px solid #1e293b}code{font-family:Consolas,Menlo,monospace;font-size:.92rem}.contact-card{padding:2rem;display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center;background:linear-gradient(135deg,#fff,#f8fafc)}.site-footer{background:var(--bg);color:#fff;padding:35px 0}.footer-grid{display:flex;justify-content:space-between;gap:2rem}.footer-links{display:flex;gap:1rem;flex-wrap:wrap;color:#bfdbfe}.admin-link{opacity:.65}@media(max-width:900px){.nav{align-items:flex-start;padding:16px 0}.hero-grid,.article-grid,.fact-grid,.contact-card,.reference-grid{grid-template-columns:1fr}.article-aside{position:static}.footer-grid{flex-direction:column}}


/* Compact contact layout: two e-mails next to each other, phone/profile below, socials below. */
.compact-contact{align-items:center}
.compact-contact .contact-actions.compact{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;width:100%}
.compact-contact .contact-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;width:100%}
.compact-contact .contact-row a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.82rem 1.05rem;font-weight:900;border:1px solid #cbd5e1;background:#fff;color:#0f172a;white-space:nowrap}
.compact-contact .contact-row a.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.compact-contact .contact-row a.download{border-color:var(--brand);color:var(--brand);background:#eff6ff}
.compact-contact .social-row a{min-width:92px}
@media(max-width:720px){.compact-contact .contact-row{flex-direction:column;align-items:stretch}.compact-contact .contact-row a{width:100%}}


/* Service hero layout repair: keep focus card in the right column and remove broken availability remnants. */
.hero-grid > .hero-card{align-self:center}
.hero-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-top:1.2rem}
.hero-actions .button{margin:0}
body .hero .container.hero-grid{align-items:center}

/* Compact contact: social profiles as icons, not text pills. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.compact-contact .social-row a.social-icon{width:54px;height:54px;min-width:54px;padding:0;border-radius:999px;background:#fff;color:#0f172a;border:1px solid #cbd5e1}
.compact-contact .social-row a.social-icon svg{width:25px;height:25px;display:block;fill:currentColor}
.compact-contact .social-row a.social-icon:hover{background:var(--brand);border-color:var(--brand);color:#fff}
@media(max-width:720px){.compact-contact .social-row{flex-direction:row;align-items:center}.compact-contact .social-row a.social-icon{width:54px!important;min-width:54px!important}}

.compact-contact .social-row a.social-icon::before{font-weight:900;line-height:1}
.compact-contact .social-row a.linkedin-icon::before{content:"in";font-size:1.15rem}
.compact-contact .social-row a.xing-icon::before{content:"X";font-size:1.2rem}
.compact-contact .social-row a.social-icon svg{display:none}


/* Fix 3: detail pages keep sidebar navigation, remove duplicate focus boxes */
.hero-grid.hero-single{grid-template-columns:minmax(0,900px);align-items:start}
.hero-grid.hero-single>div{max-width:900px}
.article-aside p:empty,.article-aside .muted:empty{display:none}
.article-aside hr{border:0;border-top:1px solid rgba(15,23,42,.22);margin:1rem 0}
.article-aside a{line-height:1.45}
@media(max-width:900px){.hero-grid.hero-single{grid-template-columns:1fr}}


/* Final service-page cleanup: sidebar stays, duplicate Schwerpunkt/Toc boxes stay removed, contact equals home width. */
.contact-full{padding:78px 0;}
.contact-full>.container{width:min(1180px,calc(100% - 40px));margin:0 auto;}
.contact-full .contact-card.compact-contact{width:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:2rem;align-items:center;padding:2rem;border:1px solid var(--border);border-radius:24px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 12px 28px rgba(15,23,42,.06);}
.contact-full .contact-actions.compact{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;width:100%;}
.contact-full .contact-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;width:100%;}
.contact-full .contact-row a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.82rem 1.05rem;font-weight:900;border:1px solid #cbd5e1;background:#fff;color:#0f172a;white-space:nowrap;}
.contact-full .contact-row a.primary{background:var(--brand);border-color:var(--brand);color:#fff;}
.contact-full .contact-row a.download{border-color:var(--brand);color:var(--brand);background:#eff6ff;}
.contact-full .social-row a.social-icon{width:54px;height:54px;min-width:54px;padding:0;border-radius:999px;}
.contact-full .social-row a.linkedin-icon::before{content:"in";font-weight:900;font-size:1.15rem;line-height:1;}
.contact-full .social-row a.xing-icon::before{content:"X";font-weight:900;font-size:1.2rem;line-height:1;}
.hero-grid.hero-single{grid-template-columns:minmax(0,900px)!important;}
.hero-grid.hero-single>div{max-width:900px;}
@media(max-width:900px){.contact-full .contact-card.compact-contact{grid-template-columns:1fr}.contact-full .contact-actions.compact{align-items:flex-start}.article-aside{position:static}.hero-grid.hero-single{grid-template-columns:1fr!important;}}
@media(max-width:720px){.contact-full .contact-row{flex-direction:column;align-items:stretch}.contact-full .contact-row a{width:100%}.contact-full .social-row{flex-direction:row}.contact-full .social-row a.social-icon{width:54px!important;min-width:54px!important}}


/* Hero focus card on detail pages */
.hero-card h2 {
    margin: 0 0 1.2rem;
    color: #fff;
    font-size: clamp(1.6rem, 2.2vw, 2.35rem);
}
.hero-card ul {
    margin: 0;
    padding-left: 1.25rem;
}
.hero-card li {
    margin: .35rem 0;
}


/* Expanded DWH longform content */
.article-content section{scroll-margin-top:105px}
.article-content h2{border-top:1px solid #e2e8f0;padding-top:2.2rem}
.article-content section:first-child h2{border-top:0;padding-top:0}
.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.reference-card{min-height:210px}
@media(max-width:900px){.reference-grid{grid-template-columns:1fr}}

/* Downloads page */
.download-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:2rem}.download-card{border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,#fff,#f8fafc);padding:1.35rem;box-shadow:0 12px 28px rgba(15,23,42,.06)}.download-card h2{font-size:1.1rem;margin:0 0 .65rem;word-break:break-word}.download-card p{color:var(--muted);margin:.25rem 0 1rem}.download-card .button{margin-left:0}
