@font-face{font-family:Poppins;src:url(/fonts/Poppins-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url(/fonts/Poppins-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url(/fonts/Poppins-Bold.ttf) format("truetype");font-weight:700 900;font-display:swap}
:root{--o:#FF6A00;--od:#E25A00;--d:#111827;--d2:#1B2434;--l:#F4F6F8;--w:#fff;--g:#6B7280;--line:#D5DAE1;--ok:#15803D;--okbg:#E8F6EC;--bad:#B91C1C;--badbg:#FDECEC;--warn:#B45309;--warnbg:#FFF4E5;--b:4px solid var(--d);--f:Poppins,"Segoe UI",system-ui,-apple-system,Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f);background:var(--l);color:var(--d);line-height:1.6;font-size:16.5px;-webkit-font-smoothing:antialiased}
a{color:inherit}
img,svg,video{max-width:100%}
:focus-visible{outline:4px solid var(--o);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
h1,h2,h3{line-height:1.15;letter-spacing:-.02em}
.sr{position:absolute;left:-9999px}
/* header */
header.top{background:var(--d);color:var(--l);border-bottom:var(--b);position:sticky;top:0;z-index:20}
header.top .in{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 20px;max-width:1160px;margin:0 auto;flex-wrap:wrap}
header.top .logo img{display:block;height:46px;width:auto}
header.top nav{display:flex;gap:2px;flex-wrap:wrap;align-items:center}
header.top nav a{display:block;padding:7px 11px;text-decoration:none;font-weight:700;font-size:.88rem;border:3px solid transparent;background:none;color:inherit;cursor:pointer;font-family:inherit}
header.top nav a:hover,header.top nav a[aria-current]{border-color:var(--o)}
header.top nav a.cta{background:var(--o);color:var(--d);border-color:var(--o)}
/* buttons */
.btn{display:inline-block;padding:12px 22px;font-weight:700;font-size:1rem;font-family:inherit;text-decoration:none;border:4px solid var(--d);background:var(--o);color:var(--d);box-shadow:5px 5px 0 var(--d);cursor:pointer;transition:transform .1s,box-shadow .1s;line-height:1.2}
.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--d)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:5px 5px 0 var(--d)}
.btn.alt{background:var(--w)}
.btn.dark{background:var(--d);color:var(--l);border-color:var(--d);box-shadow:5px 5px 0 var(--o)}
.btn.sm{padding:7px 14px;font-size:.88rem;box-shadow:3px 3px 0 var(--d)}
.btn.ondark{border-color:var(--l);box-shadow:5px 5px 0 var(--l)}
/* hero */
.hero{background:var(--d);color:var(--l);border-bottom:var(--b);position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:44px 44px}
.hero .wrap{position:relative;padding-top:54px;padding-bottom:60px}
.hgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}
.kicker{display:inline-block;background:var(--o);color:var(--d);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;margin-bottom:16px}
.hero h1{font-size:clamp(2.2rem,5.4vw,3.9rem);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:1}
.hero h1 span{color:var(--o)}
.hero .lead{margin:20px 0 26px;font-size:1.1rem;max-width:620px;color:#D7DCE4}
.vid{border:4px solid var(--l);background:#000;box-shadow:8px 8px 0 var(--o);aspect-ratio:16/9;width:100%;display:block}
.vidcap{font-size:.82rem;color:#9CA3AF;margin-top:14px}
.card{background:var(--w);border:var(--b);box-shadow:8px 8px 0 var(--o);padding:26px;color:var(--d)}
.card h2{font-size:1.5rem;margin-bottom:4px}
.card .sub{color:var(--g);font-size:.92rem;margin-bottom:18px}
label{display:block;font-weight:700;font-size:.86rem;margin:12px 0 5px}
input,select,textarea{width:100%;font:inherit;padding:11px 12px;border:3px solid var(--d);background:var(--w);color:var(--d);border-radius:0}
input:focus,select:focus,textarea:focus{outline:4px solid var(--o);outline-offset:0}
textarea{min-height:110px;resize:vertical}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:.88rem;margin:14px 0}
.chk input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--o)}
.msg{margin-top:12px;padding:10px 12px;border:3px solid;font-weight:500;font-size:.92rem}
.msg.err{border-color:var(--bad);background:var(--badbg);color:var(--bad)}
.msg.ok{border-color:var(--ok);background:var(--okbg);color:var(--ok)}
.linkbtn{background:none;border:none;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;color:var(--d);padding:0}
.hp{position:absolute;left:-9999px}
/* sections */
section.s{padding:68px 0;border-bottom:var(--b)}
section.s.dark{background:var(--d);color:var(--l)}
section.s.white{background:var(--w)}
.sh{display:flex;gap:14px;align-items:baseline;margin-bottom:12px}
.sh .no{font-weight:800;color:var(--o);font-size:1.1rem}
h2.t{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;text-transform:uppercase;letter-spacing:-.03em;max-width:820px}
p.l2{max-width:720px;margin-top:12px;font-size:1.05rem;color:#374151}
.dark p.l2{color:#D7DCE4}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}
.tile{background:var(--w);border:var(--b);padding:22px;box-shadow:6px 6px 0 var(--d)}
.tile h3{font-size:1.1rem;margin:10px 0 6px}
.tile p{font-size:.95rem;color:#374151}
.tile .ic{width:46px;height:46px;background:var(--o);border:3px solid var(--d);display:grid;place-items:center}
.tile .ic svg{width:26px;height:26px;stroke:var(--d);fill:none;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.dark .tile{background:var(--d2);border-color:var(--l);box-shadow:6px 6px 0 var(--o)}
.dark .tile p{color:#D7DCE4}
.course{display:flex;flex-direction:column;gap:6px}
.course .n{font-weight:800;color:var(--o);font-size:.82rem;letter-spacing:.14em}
.course .meta{font-size:.82rem;color:var(--g);margin-top:auto;padding-top:10px;font-weight:500}
/* preise */
.price{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:34px;align-items:start}
.pbox{background:var(--w);border:var(--b);box-shadow:8px 8px 0 var(--o);padding:28px}
.pbox .big{font-size:3rem;font-weight:800;letter-spacing:-.04em;line-height:1}
.pbox .big small{font-size:1rem;font-weight:500;letter-spacing:0;color:var(--g)}
.pbox ul{list-style:none;margin:16px 0}
.pbox li{padding:7px 0 7px 30px;position:relative;border-bottom:1px solid var(--line);font-size:.97rem}
.pbox li:before{content:"";position:absolute;left:2px;top:13px;width:14px;height:14px;background:var(--o);border:3px solid var(--d)}
.calc{background:var(--d);color:var(--l);border:var(--b);box-shadow:8px 8px 0 var(--o);padding:28px}
.calc input[type=range]{padding:0;border:none;accent-color:var(--o);height:30px}
.calc .res{margin-top:18px;border-top:3px solid var(--o);padding-top:16px}
.calc .res b{font-size:2.2rem;display:block;line-height:1.1}
.seg{display:flex;border:3px solid var(--l)}
.seg button{flex:1;padding:10px;font:inherit;font-weight:700;background:transparent;color:var(--l);border:none;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--o);color:var(--d)}
.note{font-size:.84rem;color:var(--g);margin-top:14px}
.dark .note,.calc .note{color:#9CA3AF}
details{border:3px solid var(--d);background:var(--w);margin-top:12px}
summary{padding:14px 16px;font-weight:700;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";float:right;font-weight:800;color:var(--o)}
details[open] summary:after{content:"–"}
details .ans{padding:0 16px 16px;color:#374151;font-size:.96rem}
footer.ft{background:var(--d);color:#C8CED8;padding:34px 0;font-size:.9rem}
footer.ft .in{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap}
footer.ft a{margin-right:16px;text-decoration:none;font-weight:500}
footer.ft a:hover{text-decoration:underline;color:var(--o)}
.legal{max-width:820px;margin:0 auto;padding:44px 20px 70px}
.legal h1{font-size:2.2rem;margin-bottom:6px;text-transform:uppercase;letter-spacing:-.03em}
.legal h2{font-size:1.25rem;margin:30px 0 8px}
.legal p,.legal li{margin:8px 0;color:#1F2937}
.legal ul,.legal ol{padding-left:22px}
.legal .stand{color:var(--g);font-size:.9rem}
@media(max-width:900px){.hgrid,.price,.grid3,.grid2{grid-template-columns:1fr}.hero .wrap{padding-top:34px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
