*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Space Grotesk',system-ui,sans-serif;background:#030508;color:#c8d4e0;line-height:1.65;overflow-x:hidden;max-width:100vw}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block;height:auto}
ul{list-style:none}
svg{max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6,p,li,span,a,td,th{overflow-wrap:break-word;word-wrap:break-word}

:root{
  --g:#00ff88;
  --g2:#00cc6a;
  --g3:rgba(0,255,136,.1);
  --c:#00e5ff;
  --c2:rgba(0,229,255,.1);
  --dark:#030508;
  --d1:#070c10;
  --d2:#0b1018;
  --d3:#101820;
  --d4:#162030;
  --surf:rgba(255,255,255,.035);
  --bord:rgba(0,255,136,.12);
  --bordc:rgba(0,229,255,.1);
  --t1:#e8f0f8;
  --t2:#7a90a8;
  --t3:#3a5068;
  --grad-g:linear-gradient(135deg,#00ff88,#00cc6a);
  --grad-c:linear-gradient(135deg,#00e5ff,#0090cc);
  --shadow-g:0 0 40px rgba(0,255,136,.2);
  --shadow-c:0 0 40px rgba(0,229,255,.15);
  --r:10px;
}

.skip{position:absolute;top:-99px;left:16px;background:var(--g);color:#000;padding:8px 16px;border-radius:0 0 8px 8px;font-weight:700;z-index:9999}
.skip:focus{top:0}

.hdr{position:sticky;top:0;z-index:200;background:rgba(3,5,8,.92);backdrop-filter:blur(24px);border-bottom:1px solid var(--bord)}
.hdr-in{display:flex;align-items:center;height:62px;max-width:1280px;margin:0 auto;padding:0 24px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-mark{width:36px;height:36px;flex-shrink:0}
.logo-txt{font-family:'Syne',sans-serif;font-size:.92rem;font-weight:700;line-height:1.2}
.logo-txt .g{color:var(--g)}
.logo-txt small{display:block;font-size:.55rem;font-weight:400;color:var(--t3);letter-spacing:.08em;text-transform:uppercase;font-family:'Space Grotesk',sans-serif}
.nav{display:flex;gap:2px;flex:1;justify-content:center}
.nav a{padding:7px 11px;font-size:.8rem;font-weight:500;color:var(--t2);border-radius:7px;transition:background .18s,color .18s;white-space:nowrap}
.nav a:hover,.nav a.active{background:var(--g3);color:var(--g)}
.hdr-btn a{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;background:var(--grad-g);color:#000;font-weight:700;font-size:.8rem;border-radius:50px;transition:transform .18s,box-shadow .18s;white-space:nowrap}
.hdr-btn a:hover{transform:translateY(-2px);box-shadow:var(--shadow-g)}
.hdr-cta-mob{display:none;margin-left:auto}
.hdr-cta-mob a{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;background:var(--grad-g);color:#000;font-weight:700;font-size:.74rem;border-radius:50px;white-space:nowrap;transition:transform .18s,box-shadow .18s}
.hdr-cta-mob a:hover,.hdr-cta-mob a:active{transform:translateY(-1px);box-shadow:var(--shadow-g)}
.burger{display:none;flex-direction:column;gap:4px;background:var(--g3);border:1px solid var(--bord);border-radius:8px;padding:10px;cursor:pointer;margin-left:8px;flex-shrink:0}
.burger span{display:block;width:18px;height:2px;background:var(--t1);border-radius:2px;transition:transform .3s,opacity .3s}
.burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mob{display:none;flex-direction:column;background:var(--d1);border-top:1px solid var(--bord)}
.mob.open{display:flex}
.mob a{padding:13px 22px;font-size:.9rem;color:var(--t1);border-bottom:1px solid rgba(255,255,255,.04);transition:color .18s,background .18s}
.mob a:hover{color:var(--g);background:var(--g3)}
.mob .mcta{padding:14px 22px}
.mob .mcta a{display:block;text-align:center;padding:12px;background:var(--grad-g);color:#000;font-weight:700;border-radius:50px}

.hero{position:relative;overflow:hidden;padding:80px 0 60px;background:var(--dark)}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,255,136,.04) 0%,transparent 50%,rgba(0,229,255,.03) 100%);pointer-events:none}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(0,255,136,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,136,.04) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.container{max-width:1280px;margin:0 auto;padding:0 24px;position:relative;z-index:1;width:100%}
.hero-layout{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center}
.hero-tag{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--bord);color:var(--g);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 14px;border-radius:50px;margin-bottom:16px;background:var(--g3)}
.hero-tag::before{content:'';width:6px;height:6px;background:var(--g);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-family:'Syne',sans-serif;font-size:clamp(1.9rem,4.5vw,3.5rem);font-weight:800;line-height:1.05;color:#fff;margin-bottom:16px}
.hero h1 .accent{color:var(--g);text-shadow:0 0 30px rgba(0,255,136,.4)}
.hero h1 .accent2{color:var(--c)}
.hero-sub{font-size:.97rem;color:var(--t2);line-height:1.75;margin-bottom:26px;max-width:520px}
.kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--bord);border:1px solid var(--bord);border-radius:var(--r);overflow:hidden;margin-bottom:28px}
.kpi{padding:14px 8px;background:var(--d2);text-align:center;min-width:0}
.kpi .v{display:block;font-family:'Syne',sans-serif;font-size:clamp(1.05rem,4vw,1.5rem);font-weight:800;color:var(--g);line-height:1;word-break:break-word}
.kpi .l{display:block;font-size:.62rem;color:var(--t3);margin-top:5px;text-transform:uppercase;letter-spacing:.06em;line-height:1.2}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;background:var(--grad-g);color:#000;font-weight:700;font-size:.92rem;border-radius:50px;transition:transform .18s,box-shadow .18s}
.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-g)}
.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:13px 24px;border:1px solid var(--bord);color:var(--g);font-size:.85rem;border-radius:50px;transition:background .18s}
.btn-outline:hover{background:var(--g3)}
.hero-img{border-radius:16px;overflow:hidden;border:1px solid var(--bord);box-shadow:0 20px 60px rgba(0,0,0,.7),var(--shadow-g)}
.hero-img img{width:100%}

.sec{padding:72px 0}
.sec-a{background:var(--d1)}
.sec-b{background:var(--d2)}
.sec-hd{margin-bottom:40px}
.overline{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--g);margin-bottom:8px}
.overline.c{color:var(--c)}
.h2,.h2 span,.h2 *{font-family:'Syne',sans-serif;overflow-wrap:break-word}
.h2{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:800;color:#fff;line-height:1.15}
.hero h1,.hero h1 span,.hero h1 *,.art h2,.art h3,.art p,.feat h3,.feat p,.fq-q,.fq-a,.sub,.hero-sub{overflow-wrap:break-word}
.h2 span{color:var(--g)}
.h2 span.c{color:var(--c)}
.sub{color:var(--t2);line-height:1.7;margin-top:10px;max-width:680px;font-size:.93rem}

.feat6{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--bord);border:1px solid var(--bord);border-radius:14px;overflow:hidden}
.feat{background:var(--d3);padding:22px;transition:background .2s}
.feat:hover{background:var(--d4)}
.feat-ico{font-size:1.6rem;margin-bottom:10px}
.feat h3{font-size:.92rem;font-weight:700;color:var(--t1);margin-bottom:6px}
.feat p{font-size:.82rem;color:var(--t2);line-height:1.6}
.feat-num{font-family:'Syne',sans-serif;font-size:1.8rem;font-weight:800;color:var(--g);margin-bottom:6px}

.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:18px 0;max-width:100%}
.t{width:100%;border-collapse:collapse;font-size:.84rem;min-width:520px}
.t caption{font-family:'Syne',sans-serif;font-size:.92rem;font-weight:700;color:var(--g);text-align:left;padding:0 0 10px;caption-side:top}
.t th{background:rgba(0,255,136,.08);color:var(--g);font-weight:700;padding:11px 14px;text-align:left;border-bottom:1px solid var(--bord);white-space:nowrap;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.t td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--t2);vertical-align:top}
.t tr:hover td{background:rgba(0,255,136,.03);color:var(--t1)}
.ok{color:#00ff88;font-weight:700}
.nok{color:#ff4466}
.mid{color:#ffaa00}
.hi{color:var(--g);font-weight:700}

.cas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.cas-card{background:var(--d3);border:1px solid rgba(255,255,255,.06);border-radius:var(--r);padding:18px;display:flex;gap:12px;transition:border-color .2s,transform .2s;min-width:0}
.cas-card>div:last-child{min-width:0;flex:1}
.cas-card:hover{border-color:var(--bord);transform:translateX(4px)}
.cas-n{font-family:'Syne',sans-serif;font-size:2rem;font-weight:800;color:rgba(0,255,136,.15);flex-shrink:0;line-height:1;min-width:30px}
.cas-n.top{color:var(--g)}
.cas-badge{display:inline-block;font-size:.65rem;font-weight:700;border:1px solid var(--g);color:var(--g);padding:2px 8px;border-radius:20px;margin-bottom:5px}
.cas-card h3{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:4px}
.cas-card p{font-size:.78rem;color:var(--t2);line-height:1.55}

.chart-box{background:var(--d3);border:1px solid rgba(255,255,255,.06);border-radius:var(--r);padding:22px;margin:16px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.chart-box h3{font-family:'Syne',sans-serif;font-size:.92rem;font-weight:700;color:#fff;margin-bottom:16px}
.ch2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}

.pl{display:flex;flex-direction:column;gap:12px}
.pi label{font-size:.78rem;color:var(--t2);display:flex;justify-content:space-between;margin-bottom:4px}
.pi label span{color:var(--g);font-weight:700}
.pbar{height:6px;background:rgba(255,255,255,.06);border-radius:10px;overflow:hidden}
.pfill{height:100%;border-radius:10px;background:linear-gradient(90deg,#00cc6a,#00ff88)}
.pfill.c{background:linear-gradient(90deg,#0090cc,#00e5ff)}

.faq-list{display:flex;flex-direction:column;gap:8px}
.fq{background:var(--d3);border:1px solid rgba(255,255,255,.06);border-radius:var(--r);transition:border-color .2s}
.fq:hover{border-color:var(--bord)}
.fq-q{padding:15px 18px;font-weight:600;color:var(--t1);font-size:.88rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.fq-q::after{content:'+';color:var(--g);font-size:1.1rem;flex-shrink:0}
.fq-a{padding:0 18px 13px;color:var(--t2);font-size:.83rem;line-height:1.7}

.art{max-width:860px}
.art h2{font-family:'Syne',sans-serif;font-size:1.3rem;font-weight:800;color:#fff;margin:26px 0 9px}
.art h3{font-size:.95rem;font-weight:700;color:var(--g);margin:16px 0 6px}
.art p{color:var(--t2);line-height:1.75;margin-bottom:11px;font-size:.9rem}
.art strong{color:var(--t1)}
.art ul{margin:10px 0 13px 16px}
.art ul li{color:var(--t2);font-size:.87rem;line-height:1.7;margin-bottom:4px;list-style:disc}
.art a{color:var(--g);border-bottom:1px dotted var(--bord)}
.art a:hover{color:var(--c)}

/* Legal section cards (Impressum / Datenschutz / Haftungsausschluss) */
#impressum>.container>div:first-child>div{background:var(--d3);border:1px solid rgba(255,255,255,.06);border-radius:var(--r);padding:22px 20px;transition:border-color .2s}
#impressum>.container>div:first-child>div:hover{border-color:var(--bord)}

.crumbs{max-width:1280px;margin:0 auto;padding:14px 24px 0;font-size:.75rem;color:var(--t3)}
.crumbs a{color:var(--t2);transition:color .2s}
.crumbs a:hover{color:var(--g)}
.crumbs span{color:var(--g);margin:0 6px}

.cta-band{padding:64px 0;background:linear-gradient(135deg,var(--d1),var(--d2));border-top:1px solid var(--bord);border-bottom:1px solid var(--bord);text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(0,255,136,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,136,.03) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.cta-band h2{font-family:'Syne',sans-serif;font-size:clamp(1.6rem,3.5vw,2.8rem);color:#fff;font-weight:800;margin-bottom:12px;position:relative}
.cta-band p{color:var(--t2);max-width:500px;margin:0 auto 26px;line-height:1.7;position:relative}
.cta-band .disc{font-size:.7rem;color:var(--t3);margin-top:14px;position:relative}

.ftr{background:#020406;border-top:1px solid rgba(255,255,255,.04);padding:44px 0 22px}
.ftr-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.3fr;gap:32px;margin-bottom:32px}
.ftr-grid .ftr-brand-col{min-width:0}
.ftr-brand-col a::before{content:'▸ ';color:var(--g);font-size:.7rem;margin-right:2px}
.ftr-brand-col a{transition:padding-left .18s}
.ftr-brand-col a:hover{padding-left:3px}
.ftr h4{font-family:'Syne',sans-serif;font-size:.8rem;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.08em;margin-bottom:11px}
.ftr p,.ftr a{font-size:.78rem;color:var(--t3);display:block;margin-bottom:5px;transition:color .18s;line-height:1.65}
.ftr a:hover{color:var(--g)}
.ftr-bot{border-top:1px solid rgba(255,255,255,.04);padding-top:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.ftr-bot p{font-size:.7rem;color:var(--t3)}
.badge18{display:inline-flex;align-items:center;gap:5px;background:rgba(255,68,102,.1);border:1px solid rgba(255,68,102,.25);color:#ff8899;font-size:.68rem;padding:3px 9px;border-radius:16px}

.cas-hero{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.cas-hero>div{min-width:0}
.cas-score{background:var(--d3);border:1px solid var(--bord);border-radius:16px;padding:26px 20px;text-align:center;min-width:0}
.cas-score .num{font-family:'Syne',sans-serif;font-size:clamp(2.4rem,10vw,4rem);font-weight:800;color:var(--g);line-height:1;text-shadow:0 0 30px rgba(0,255,136,.5)}
.cas-score .max{color:var(--t3);font-size:1.2rem;font-weight:600}
.cas-score .lbl{color:var(--t2);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-top:8px}
.cas-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--bord);border:1px solid var(--bord);border-radius:12px;overflow:hidden;margin-top:18px}
.cas-meta>div{padding:12px 10px;background:var(--d2);min-width:0}
.cas-meta .k{font-size:.65rem;color:var(--t3);text-transform:uppercase;letter-spacing:.07em;line-height:1.2}
.cas-meta .v{font-family:'Syne',sans-serif;font-size:.9rem;color:var(--g);font-weight:700;margin-top:4px;word-break:break-word;line-height:1.15}

@media(max-width:960px){
  .nav,.hdr-btn{display:none}
  .burger{display:flex;margin-left:0}
  .hdr-cta-mob{display:inline-flex}
  .hero-layout,.cas-grid,.ch2,.ftr-grid,.cas-hero{grid-template-columns:1fr}
  .feat6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cas-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hdr-in{padding:0 16px;gap:10px}
  .logo-txt{font-size:.85rem}
  .crumbs{padding:12px 16px 0}
  /* Override inline grid-template-columns for embedded 2-3 col layouts (impressum, rechtslage, strategie) */
  main section .container>div[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr) !important;gap:24px !important}
  main section .container>div[style*="grid-template-columns"]>*{min-width:0}
}
@media(max-width:640px){
  h1,h2,h3,h4,h5,h6,p,li,span,a,td,th{hyphens:auto;word-break:break-word}
  .container{padding:0 16px}
  .feat6{grid-template-columns:1fr}
  .sec{padding:44px 0}
  .hero{padding:40px 0 32px}
  .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi{padding:12px 6px}
  .kpi .v{font-size:clamp(1rem,4.5vw,1.35rem)}
  .kpi .l{font-size:.58rem;letter-spacing:.04em}
  .cas-meta{grid-template-columns:1fr}
  .cas-card{padding:14px;gap:10px}
  .cas-n{font-size:1.6rem;min-width:24px}
  .hero h1{font-size:clamp(1.65rem,7vw,2.4rem)}
  .hero-sub{font-size:.9rem}
  .hero-tag{font-size:.62rem;padding:4px 10px}
  .hero-btns{gap:8px}
  .btn-primary{padding:12px 22px;font-size:.85rem}
  .btn-outline{padding:11px 18px;font-size:.8rem}
  .cas-score{padding:22px 14px}
  .cas-score .num{font-size:clamp(2.6rem,14vw,3.4rem)}
  .h2{font-size:clamp(1.35rem,5.4vw,1.8rem)}
  .sec-hd{margin-bottom:28px}
  .chart-box{padding:16px 12px}
  .chart-box h3{font-size:.85rem}
  .art h2{font-size:1.15rem;margin:22px 0 8px}
  .art p{font-size:.87rem}
  .cta-band{padding:48px 0}
  .cta-band h2{font-size:clamp(1.4rem,6vw,1.9rem)}
  .fq-q{font-size:.82rem;padding:13px 14px}
  .fq-a{padding:0 14px 12px;font-size:.8rem}
  .ftr-grid{gap:24px}
  .ftr{padding:36px 0 20px}
  .ftr-bot{flex-direction:column;align-items:flex-start;gap:6px}
  .hero-img{margin-top:8px}
  .feat{padding:18px 16px}
  .feat h3{font-size:.88rem}
  .feat p{font-size:.78rem}
  table{font-size:.78rem}
  .t th,.t td{padding:9px 10px}
}
@media(max-width:400px){
  .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .container{padding:0 12px}
  .hdr-in{padding:0 12px;gap:8px}
  .crumbs{padding:10px 12px 0;font-size:.7rem}
  .logo-mark{width:30px;height:30px}
  .logo-txt{font-size:.75rem}
  .logo-txt small{font-size:.48rem}
  .kpi .v{font-size:clamp(.92rem,4.6vw,1.15rem)}
  .kpi .l{font-size:.54rem}
}
