*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}:root{--navy:#0f1f3d;--blue:#2563eb;--slate-50:#f8fafc;--slate-200:#e2e8f0;--slate-500:#64748b;--slate-700:#334155;--slate-900:#0f172a;--serif:Georgia,'Times New Roman',serif;--sans:Arial,'Helvetica Neue',sans-serif;}html{scroll-behavior:smooth;}body{font-family:var(--serif);font-size:18px;line-height:1.65;color:var(--slate-900);background:var(--slate-50);overflow-x:hidden;}img{max-width:100%;display:block;}a{color:inherit;}address{font-style:normal;}.container{max-width:1120px;margin:0 auto;padding:0 20px;}.section-light{background:var(--slate-50);padding:clamp(48px,8vw,80px) 20px;}.section-white{background:white;padding:clamp(48px,8vw,80px) 20px;border-top:1px solid var(--slate-200);}.section-dark{background:var(--navy);padding:clamp(48px,8vw,80px) 20px;color:white;}.legal-section{border-top:1px solid var(--slate-200);}.eyebrow{font-family:var(--sans);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:#cbd5e1;margin-bottom:12px;}.eyebrow-dark{font-family:var(--sans);font-size:13px;letter-spacing:0.1em;text-transform:uppercase;color:var(--slate-500);margin-bottom:12px;}h2{font-size:clamp(24px,4vw,36px);letter-spacing:-0.035em;line-height:1.15;margin-bottom:14px;}h3{font-size:20px;line-height:1.3;margin-bottom:10px;}.section-sub{font-family:var(--sans);font-size:17px;line-height:1.75;color:var(--slate-500);max-width:680px;margin-bottom:40px;}.section-sub-light{font-family:var(--sans);font-size:17px;line-height:1.75;color:#e2e8f0;max-width:680px;margin-bottom:36px;}.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;background:var(--blue);color:white;font-family:var(--sans);font-weight:bold;font-size:15px;border-radius:10px;text-decoration:none;transition:background 0.15s;}.btn-primary:hover{background:#1d4ed8;}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border:1px solid rgba(255,255,255,0.25);color:#d6d3d1;font-family:var(--sans);font-size:15px;border-radius:10px;text-decoration:none;transition:border-color 0.15s,background 0.15s;}.btn-ghost:hover{border-color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.05);}.btn-outline{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 24px;border:1px solid var(--slate-200);color:var(--slate-900);font-family:var(--sans);font-size:15px;border-radius:10px;text-decoration:none;transition:background 0.15s;}.btn-outline:hover{background:var(--slate-200);}.action-row{display:flex;gap:12px;flex-wrap:wrap;}.site-header{position:sticky;top:0;z-index:100;background:white;border-bottom:1px solid var(--slate-200);padding:0 20px;}.header-inner{display:flex;justify-content:space-between;align-items:center;height:60px;gap:16px;}.logo{display:flex;flex-direction:column;justify-content:center;gap:1px;text-decoration:none;flex-shrink:0;}.logo-name{font-family:var(--sans);font-weight:bold;font-size:17px;letter-spacing:-0.02em;color:var(--blue);}.logo-sub{font-family:var(--sans);font-size:10px;letter-spacing:0.35em;text-transform:uppercase;color:var(--slate-500);}.main-nav{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;}.main-nav a{font-family:var(--sans);font-size:14px;color:var(--slate-700);text-decoration:none;padding:10px 8px;min-height:45px;display:inline-flex;align-items:center;white-space:nowrap;}.main-nav a:hover{color:var(--blue);}.main-nav a.btn-primary{color:white;}#lang-toggle{height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--slate-200);background:white;color:var(--slate-700);font-family:var(--sans);font-size:13px;font-weight:bold;cursor:pointer;min-width:44px;}#lang-toggle:hover{background:var(--slate-50);}.hero{background:var(--navy);color:white;padding:clamp(56px,10vw,100px) 20px;}.hero-inner{max-width:860px;}#hero-heading{font-size:clamp(36px,6.5vw,62px);line-height:1.08;letter-spacing:-0.04em;margin-bottom:4px;color:white;}.hero-h2{font-size:clamp(36px,6.5vw,62px);line-height:1.08;letter-spacing:-0.04em;font-weight:bold;color:white;margin-bottom:24px;}.hero-sub{font-family:var(--sans);font-size:clamp(16px,2.5vw,20px);line-height:1.75;color:#d6d3d1;max-width:680px;margin-bottom:36px;}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;}.card{background:white;border:1px solid var(--slate-200);border-radius:16px;padding:clamp(22px,4vw,30px);transition:transform 0.2s,box-shadow 0.2s;}.card:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(15,23,42,0.1);}.card-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-family:var(--sans);font-size:14px;font-weight:bold;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:18px;}.badge-blue{background:#dbeafe;color:#1e3a8a;}.badge-cyan{background:#cffafe;color:#164e63;}.badge-indigo{background:#e0e7ff;color:#312e81;}.card p{font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--slate-500);margin-bottom:20px;}.card ul{list-style:none;}.card li{display:flex;gap:10px;font-family:var(--sans);font-size:15px;color:var(--slate-700);padding-bottom:10px;border-bottom:1px solid #f1f5f9;margin-bottom:10px;}.arrow{color:var(--blue);flex-shrink:0;}.project-box{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);border-radius:16px;overflow:hidden;}.project-tags{display:flex;gap:8px;flex-wrap:wrap;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,0.1);}.tag{font-family:var(--sans);font-size:14px;padding:3px 10px;border-radius:5px;border:1px solid rgba(255,255,255,0.3);color:#cbd5e1;}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}.project-col{padding:clamp(20px,4vw,32px);border-right:1px solid rgba(255,255,255,0.1);}.project-col:last-child{border-right:none;}.col-label{font-family:var(--sans);font-size:14px;font-weight:bold;color:#cbd5e1;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:16px;}.project-list{list-style:disc;padding-left:20px;color:#e2e8f0;font-family:var(--sans);font-size:15px;line-height:2;}.tech-box{margin-top:24px;background:rgba(255,255,255,0.06);border-radius:10px;padding:12px 16px;}.tech-label{font-family:var(--sans);font-size:11px;font-weight:bold;color:#cbd5e1;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:4px;}.tech-value{font-family:var(--sans);font-size:14px;color:#e2e8f0;}.audit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:start;}.pill{display:inline-block;padding:5px 12px;border-radius:999px;background:#dbeafe;color:#1e3a8a;font-family:var(--sans);font-weight:bold;font-size:14px;margin-bottom:16px;}.check-list{list-style:none;margin-bottom:28px;}.check-list li{display:flex;gap:10px;font-family:var(--sans);font-size:16px;color:var(--slate-700);padding-bottom:10px;border-bottom:1px solid var(--slate-200);margin-bottom:10px;}.check{color:#16a34a;font-weight:bold;}.preview-card{background:white;border:1px solid var(--slate-200);border-radius:16px;overflow:hidden;box-shadow:0 4px 24px rgba(15,23,42,0.07);}.preview-card-header{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid #f1f5f9;}.badge-red{background:#fee2e2;color:#b91c1c;font-family:var(--sans);font-size:12px;font-weight:bold;padding:3px 8px;border-radius:5px;text-transform:uppercase;}.badge-blue-sm{background:#dbeafe;color:#1e3a8a;font-family:var(--sans);font-size:12px;font-weight:bold;padding:3px 8px;border-radius:5px;}.preview-meta{margin-left:auto;font-family:var(--sans);font-size:12px;color:var(--slate-700);}.preview-card-body{padding:18px;}.preview-card-body h3{font-size:16px;margin-bottom:8px;}.preview-card-body>p{font-family:var(--sans);font-size:14px;color:var(--slate-500);margin-bottom:14px;line-height:1.65;}.finding-impact{background:#fefce8;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;margin-bottom:10px;}.finding-fix{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 14px;}.finding-label{font-family:var(--sans);font-size:11px;font-weight:bold;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:4px;}.finding-impact .finding-label{color:#92400e;}.finding-fix .finding-label{color:#15803d;}.finding-impact p:last-child{font-family:var(--sans);font-size:13px;color:#78350f;line-height:1.55;}.finding-fix p:last-child{font-family:var(--sans);font-size:13px;color:#166534;line-height:1.55;}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:start;}.about-text{font-family:var(--sans);font-size:17px;line-height:1.85;color:#44403c;margin-bottom:18px;}.about-right{display:flex;flex-direction:column;align-items:center;gap:24px;}.profile-img{width:100%;max-width:340px;border-radius:16px;border:1px solid var(--slate-200);object-fit:cover;box-shadow:0 8px 32px rgba(15,23,42,0.1);}.facts-box{width:100%;max-width:340px;background:white;border:1px solid var(--slate-200);border-radius:14px;padding:20px 24px;}.fact-row{display:grid;grid-template-columns:120px 1fr;gap:8px;padding-bottom:12px;border-bottom:1px solid #f1f5f9;margin-bottom:12px;font-family:var(--sans);font-size:14px;}.fact-label{color:var(--slate-500);font-weight:600;}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:start;}.contact-info{display:flex;flex-direction:column;gap:4px;}.contact-link{display:flex;align-items:center;gap:8px;color:#d6d3d1;text-decoration:none;font-family:var(--sans);font-size:15px;min-height:45px;width:100%;padding:9px 0;}.contact-link:hover{color:white;text-decoration:underline;}.contact-item{display:flex;align-items:center;gap:8px;color:#d6d3d1;font-family:var(--sans);font-size:15px;min-height:44px;width:100%;padding:8px 0;}.form-box{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:16px;padding:clamp(22px,5vw,36px);}.field{margin-bottom:16px;}.field label{display:block;font-family:var(--sans);font-size:14px;color:#cbd5e1;margin-bottom:6px;letter-spacing:0.04em;}.field input,.field textarea{width:100%;padding:13px 15px;border-radius:10px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.07);color:white;font-size:16px;font-family:var(--sans);resize:vertical;}.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,0.3);}.field input:focus,.field textarea:focus{border-color:rgba(255,255,255,0.4);}.btn-submit{width:100%;height:48px;border-radius:10px;background:var(--blue);color:white;border:none;font-weight:bold;font-size:16px;font-family:var(--sans);cursor:pointer;margin-bottom:12px;transition:background 0.15s;}.btn-submit:hover{background:#1d4ed8;}.calendly-link{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;text-align:center;font-family:var(--sans);font-size:15px;color:#cbd5e1;text-decoration:none;}.calendly-link:hover{color:white;text-decoration:underline;}.legal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;}.legal-box{background:white;border:1px solid var(--slate-200);border-radius:16px;padding:clamp(20px,4vw,32px);}.legal-box h2{font-size:22px;letter-spacing:-0.02em;margin-bottom:28px;}.legal-block{margin-bottom:20px;}.legal-block h3{font-family:var(--sans);font-size:13px;font-weight:700;color:var(--slate-900);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px;}.legal-block p{font-family:var(--sans);font-size:15px;color:var(--slate-700);line-height:1.75;}.link-blue{color:var(--blue);}.legal-scroll{max-height:500px;overflow-y:auto;padding-right:8px;}.site-footer{background:white;border-top:1px solid var(--slate-200);padding:clamp(20px,3vw,32px) 20px;}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}.footer-copy{color:var(--slate-500);font-family:var(--sans);font-size:14px;}.footer-nav{display:flex;gap:20px;flex-wrap:wrap;}.footer-nav a{font-family:var(--sans);font-size:14px;color:var(--slate-700);text-decoration:none;padding:8px 0;min-height:44px;width:100%;display:inline-flex;align-items:center;}.footer-nav a:last-child{color:var(--blue);font-weight:bold;}.footer-nav a:hover{text-decoration:underline;}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:8px;flex-shrink:0;}.hamburger span{display:block;width:22px;height:2px;background:var(--slate-700);border-radius:2px;transition:transform 0.2s,opacity 0.2s;}.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;}.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}.mobile-menu{display:none;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:white;border-bottom:1px solid var(--slate-200);padding:8px 20px 16px;z-index:99;box-shadow:0 8px 24px rgba(15,23,42,0.08);}.mobile-menu.open{display:flex;}.mobile-menu a{font-family:var(--sans);font-size:16px;color:var(--slate-700);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--slate-200);min-height:44px;display:flex;align-items:center;}.mobile-menu a:last-child{border-bottom:none;}.mobile-menu a.btn-primary{color:white;background:var(--blue);border-radius:10px;padding:12px 20px;margin-top:8px;justify-content:center;border-bottom:none;}@media (max-width:860px){.main-nav a:not(.btn-primary):not(#lang-toggle){display:none;}.main-nav .btn-primary{display:none;}.main-nav{gap:8px;}.hamburger{display:flex;}.hero-actions{flex-direction:column;}.hero-actions a{width:100%;justify-content:center;}.project-col{border-right:none;border-bottom:1px solid rgba(255,255,255,0.1);}.project-col:last-child{border-bottom:none;}}.heading-white{color:white;}.success-check{color:#4ade80;}

/* WCAG 2.4.11 / BFSG: sichtbarer Tastaturfokus für alle interaktiven Elemente */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible,
[role="link"]:focus-visible {
  outline: 3px solid #facc15;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(250, 204, 21, 0.28);
}

/* Zusätzlicher Kontrast auf hellen Flächen */
.site-header a:focus-visible,
.site-header button:focus-visible,
.site-footer a:focus-visible,
.btn-outline:focus-visible,
#lang-toggle:focus-visible,
.hamburger:focus-visible,
.legal-scroll:focus-visible {
  outline: 3px solid #2563eb;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px rgba(37, 99, 235, 0.22);
}

/* Formularfelder: sichtbarer Fokus statt nur Border-Farbwechsel */
.field input:focus-visible,
.field textarea:focus-visible {
  border-color: #facc15;
  outline: 3px solid #facc15;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(250, 204, 21, 0.28);
}

/* Fallback für ältere Browser und Scanner, die zusätzlich :focus prüfen */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
summary:focus,
[tabindex]:focus,
[role="button"]:focus,
[role="link"]:focus {
  outline: 3px solid #facc15;
  outline-offset: 4px;
}
