*{box-sizing:border-box}
body{margin:0;background:oklch(98.5% 0.003 250);color:oklch(20% 0.01 250);font-family:-apple-system,"Helvetica Neue",Arial,sans-serif}
a{color:#2B4FE0;text-decoration:none}
a:hover{color:oklch(40% 0.19 264)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes gridDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-56px,-56px,0)}}
@keyframes glowShift{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(7%,-5%) scale(1.15)}}
[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,.8,.3,1),transform .7s cubic-bezier(.22,.8,.3,1)}
[data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px;position:relative}
.backdrop{position:absolute;top:0;left:0;right:0;height:760px;overflow:hidden;pointer-events:none;z-index:0}
.backdrop .grid{position:absolute;inset:-60px;background-image:linear-gradient(oklch(88% 0.02 264/.5) 1px,transparent 1px),linear-gradient(90deg,oklch(88% 0.02 264/.5) 1px,transparent 1px);background-size:56px 56px;animation:gridDrift 14s linear infinite;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 20% 20%,black,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 20% 20%,black,transparent 75%)}
.backdrop .glow{position:absolute;top:-180px;right:-120px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,oklch(62% 0.19 264/.16),transparent 65%);animation:glowShift 18s ease-in-out infinite;filter:blur(20px)}
nav{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;margin:0 -40px;position:sticky;top:0;z-index:10;transition:all .25s ease}
nav.scrolled{background:oklch(98.5% 0.003 250/.85);backdrop-filter:blur(8px);box-shadow:0 1px 0 oklch(90% 0.005 250)}
.logo{display:flex;align-items:center;gap:10px}
.logo-mark{width:14px;height:14px;background:#2B4FE0}
.logo-text{font-family:'IBM Plex Mono',monospace;font-size:16px;font-weight:500;letter-spacing:.02em}
.navlinks{display:flex;align-items:center;gap:28px}
.navlinks a.plain{font-size:15px;color:oklch(20% 0.01 250)}
.btn{font-size:15px;padding:10px 20px;background:#2B4FE0;color:#fff;border-radius:2px}
.btn:hover{background:oklch(40% 0.19 264);color:#fff}
.btn-outline{font-size:16px;padding:14px 28px;border:1px solid oklch(80% 0.005 250);color:oklch(20% 0.01 250);border-radius:2px;background:transparent;cursor:pointer;font-family:inherit}
.btn-outline:hover{border-color:#2B4FE0;color:#2B4FE0}
.btn-lg{font-size:16px;padding:14px 28px;background:#2B4FE0;color:#fff;border-radius:2px;border:none;cursor:pointer;font-family:inherit;display:inline-block}
.btn-lg:hover{background:oklch(40% 0.19 264);color:#fff}
.nowrap{white-space:nowrap}
h1{font-family:'Space Grotesk',sans-serif;font-size:64px;line-height:1.08;font-weight:600;margin:0;letter-spacing:-.01em}
h2{font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:600;margin:0}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:14px;letter-spacing:.08em;color:#2B4FE0}
.hero{display:flex;flex-direction:column;gap:28px;padding:100px 0 130px;max-width:800px;position:relative;z-index:1}
.hero p{font-size:19px;line-height:1.6;color:oklch(38% 0.01 250);margin:0;max-width:600px}
.hero-cta{display:flex;gap:16px;margin-top:12px}
.hero>*{animation:fadeUp .6s ease both}
.hero .eyebrow{animation-delay:0s}
.hero h1{animation-delay:.08s}
.hero p{animation-delay:.16s}
.hero-cta{animation-delay:.24s}
.section{padding:60px 0 100px;border-top:1px solid oklch(90% 0.005 250);position:relative;z-index:1}
.section.pt{padding-top:20px}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:56px}
.section-head.tight{margin-bottom:20px}
.tag{font-family:'IBM Plex Mono',monospace;font-size:13px;color:oklch(55% 0.01 250)}
.lede{font-size:15px;line-height:1.6;color:oklch(55% 0.01 250);margin:0 0 44px;max-width:600px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:oklch(90% 0.005 250)}
.card{background:oklch(98.5% 0.003 250);padding:36px;display:flex;flex-direction:column;gap:16px;transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px -16px oklch(20% 0.01 250/.25)}
.num{font-family:'IBM Plex Mono',monospace;font-size:14px;color:#2B4FE0}
.card h3{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:600;margin:0}
.card p{font-size:15px;line-height:1.65;color:oklch(38% 0.01 250);margin:0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.step{display:flex;flex-direction:column;gap:14px;padding-top:20px;border-top:2px solid oklch(88% 0.005 250);transition:transform .2s ease}
.step:hover{transform:translateY(-3px)}
.step.first{border-top-color:#2B4FE0}
.step .num2{font-family:'IBM Plex Mono',monospace;font-size:14px;color:oklch(55% 0.01 250)}
.step.first .num2{color:#2B4FE0}
.step h4{font-size:17px;font-weight:600;margin:0;font-family:'Space Grotesk',sans-serif}
.step p{font-size:14px;line-height:1.6;color:oklch(38% 0.01 250);margin:0}
.kontakt{padding:70px 0 40px;border-top:1px solid oklch(90% 0.005 250);display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.kontakt h2{font-size:34px;margin:0 0 14px}
.kontakt p{font-size:16px;line-height:1.6;color:oklch(38% 0.01 250);margin:0;max-width:520px}
footer{padding:28px 0 40px;border-top:1px solid oklch(90% 0.005 250);display:flex;justify-content:space-between;align-items:center}
footer span,footer a{font-family:'IBM Plex Mono',monospace;font-size:13px;color:oklch(55% 0.01 250)}
footer a:hover{color:#2B4FE0}
.foot-right{display:flex;gap:24px;align-items:center}
.tracks{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px}
.track{border:1px solid oklch(90% 0.005 250);padding:24px;display:flex;flex-direction:column;gap:14px;background:#fff}
.track h3{font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:600;margin:0}
.track audio{width:100%}
.kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#2B4FE0}
.wflows{display:flex;flex-direction:column;gap:1px;background:oklch(91% 0.005 250)}
.wflow{background:oklch(98.5% 0.003 250);padding:26px 0 30px}
.whead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.whead h3{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:600;margin:0}
.wframe{border:1px solid oklch(88% 0.005 250);border-radius:6px;overflow:hidden}
.wbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:oklch(22% 0.01 260);border-bottom:1px solid oklch(32% 0.01 260);font-family:'IBM Plex Mono',monospace;font-size:10px;color:oklch(70% 0.01 260)}
.wdots{display:flex;gap:4px}
.wdots i{width:6px;height:6px;border-radius:50%;background:oklch(45% 0.01 260)}
.ref-bar .wdots i{background:oklch(84% 0.005 250)}
.wstat{margin-left:auto;display:flex;align-items:center;gap:6px}
.wstat i{width:6px;height:6px;border-radius:50%;background:#4ADE80}
.wcanvas{background:oklch(25% 0.008 260);background-image:radial-gradient(oklch(38% 0.01 260) 1px,transparent 1px);background-size:16px 16px;padding:26px 18px;display:flex;align-items:stretch;flex-wrap:nowrap;overflow-x:auto}
.wnode{position:relative;border:1px solid oklch(40% 0.01 260);border-radius:8px;background:oklch(28% 0.008 260);padding:12px 13px;min-width:152px;display:flex;flex-direction:column;gap:5px;box-shadow:0 2px 10px -6px #000;flex-shrink:0}
.wnode.end{background:oklch(30% 0.04 264)}
.wnode .wp{position:absolute;top:50%;width:7px;height:7px;border-radius:50%;transform:translateY(-50%);background:oklch(50% 0.01 260)}
.wnode .wp.in{left:-4px;background:oklch(62% 0.01 260)}
.wnode .wp.out{right:-4px}
.wnode.trig .wp.in{background:#F0A23B}
.wnode.end .wp.in{background:#2B4FE0}
.wnode .wh{display:flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.08em;color:oklch(72% 0.01 260)}
.wnode .wh i{width:12px;height:12px;border-radius:3px;background:oklch(62% 0.01 260)}
.wnode.trig .wh i{background:#F0A23B}
.wnode.end .wh i{background:#2B4FE0}
.wnode b{font-size:12.5px;font-weight:600;color:oklch(97% 0.005 260);line-height:1.3}
.wnode em{font-size:11px;line-height:1.45;color:oklch(66% 0.01 260);font-style:normal}
.wlink{align-self:center;width:22px;height:1px;background:oklch(48% 0.01 260);flex-shrink:0}
.refs{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ref{display:flex;flex-direction:column;gap:18px;transition:transform .2s ease}
.ref:hover{transform:translateY(-4px)}
.ref-frame{border:1px solid oklch(90% 0.005 250);border-radius:3px;overflow:hidden;background:#fff;box-shadow:0 6px 20px -14px oklch(20% 0.01 250/.4)}
.ref-bar{display:flex;align-items:center;gap:7px;padding:7px 9px;background:oklch(96% 0.004 250);border-bottom:1px solid oklch(92% 0.005 250)}
.ref-bar .url{flex:1;background:#fff;border:1px solid oklch(92% 0.005 250);border-radius:20px;font-family:'IBM Plex Mono',monospace;font-size:6px;color:oklch(60% 0.01 250);padding:2px 7px}
.ref-meta{display:flex;flex-direction:column;gap:8px}
.ref-meta h3{font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:600;margin:0}
.ref-meta p{font-size:14px;line-height:1.6;color:oklch(38% 0.01 250);margin:0}
.mini{height:272px;overflow:hidden;display:flex;flex-direction:column;background:#fff}
.m-nav{display:flex;justify-content:space-between;align-items:center;padding:9px 12px}
.m-logo{font-weight:700;font-size:8px;letter-spacing:.09em}
.m-logo.serif{font-family:Georgia,serif;font-size:8.5px;font-weight:400;letter-spacing:.02em}
.m-links{display:flex;gap:7px;align-items:center;font-size:6px}
.m-btn{font-size:6px;padding:3px 6px;border-radius:2px;color:#fff}
.m-btn.ghost{background:transparent;border:1px solid currentColor}
.m-btn.block{padding:4px 0;text-align:center;font-size:6px}
.m-hero{display:flex;flex-direction:column;gap:6px;padding:14px 12px 18px}
.m-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:6px;letter-spacing:.16em}
.m-h1{font-size:18px;line-height:1.12;font-weight:700;max-width:82%}
.m-h1.serif{font-family:Georgia,serif;font-weight:400;font-size:16px;line-height:1.18}
.m-sub{font-size:6.5px;line-height:1.55;max-width:78%}
.m-btns{display:flex;gap:5px;margin-top:5px}
.m-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:11px 12px}
.m-cols3.text{padding:0 12px 12px;gap:9px}
.m-svc{display:flex;flex-direction:column;gap:3px;border-top:2px solid oklch(88% 0.005 250);padding-top:6px}
.m-svc i{font-family:'IBM Plex Mono',monospace;font-size:5.5px;font-style:normal}
.m-cols3 b{font-size:7px;font-weight:700}
.m-cols3 b.serif{font-family:Georgia,serif;font-weight:400}
.m-cols3 em{font-size:5.5px;line-height:1.5;font-style:normal;color:oklch(50% 0.01 250);display:block;margin-top:3px}
.m-foot{margin-top:auto;padding:7px 12px;display:flex;justify-content:space-between;font-size:5.5px;color:oklch(50% 0.01 250);background:oklch(96% 0.004 250)}
.mini.dach .m-nav,.mini.dach .m-hero{background:#16202b}
.mini.dach .m-logo{color:#fff}
.mini.dach .m-logo span{color:#EA6A1E}
.mini.dach .m-links{color:oklch(80% 0.01 250)}
.mini.dach .m-btn{background:#EA6A1E}
.mini.dach .m-btn.ghost{color:#fff;border-color:oklch(42% 0.01 250)}
.mini.dach .m-eyebrow{color:#EA6A1E}
.mini.dach .m-h1{color:#fff}
.mini.dach .m-sub{color:oklch(76% 0.01 250)}
.mini.dach .m-svc i{color:#EA6A1E}
.mini.dach .m-svc.on{border-top-color:#EA6A1E}
.mini.dach .m-svc b{color:#16202b}
.mini.dach .m-foot{background:#f4f1ed}
.mini.kanzlei{background:#faf7f2}
.mini.kanzlei .m-nav{border-bottom:1px solid #e6dfd4}
.mini.kanzlei .m-logo,.mini.kanzlei .m-h1{color:#1b2a4a}
.mini.kanzlei .m-links{color:#5b6478}
.mini.kanzlei .m-btn{background:#1b2a4a}
.mini.kanzlei .m-btn.ghost{background:transparent;color:#1b2a4a;border-color:#1b2a4a}
.mini.kanzlei .m-eyebrow{color:#8a7a5f}
.mini.kanzlei .m-sub{color:#5b6478}
.mini.kanzlei .m-cols3 b{color:#1b2a4a}
.m-split{display:flex;gap:10px;padding:14px 12px 12px}
.m-col{flex:1.25;display:flex;flex-direction:column;gap:6px}
.m-login{flex:1;background:#fff;border:1px solid #e6dfd4;padding:9px;display:flex;flex-direction:column;gap:5px}
.m-login b{font-size:6.5px;color:#1b2a4a}
.m-login span{font-size:5.5px;color:#8a8577}
.m-login em{font-size:5.5px;color:#8a7a5f;text-align:center;font-style:normal}
.m-field{height:11px;border:1px solid #e6dfd4;background:#fdfcfa}
.m-foot.dark{background:#1b2a4a;color:#b9c0cf}
.mini.shop .m-top{background:#0f766e;color:#fff;font-size:5.5px;padding:3px 12px;display:flex;justify-content:space-between}
.m-shopbar{padding:8px 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid oklch(93% 0.005 250)}
.mini.shop .m-logo{font-size:8.5px;color:#0f766e;letter-spacing:.03em}
.m-search{flex:1;border:1px solid oklch(90% 0.005 250);border-radius:2px;font-size:5.5px;color:oklch(60% 0.01 250);padding:3px 6px}
.mini.shop .m-btn{background:#0f766e;font-size:5.5px;padding:3px 7px}
.m-crumb{padding:6px 12px;font-size:5.5px;color:oklch(58% 0.01 250)}
.m-crumb span{color:#0f766e}
.m-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:2px 12px 10px}
.m-prod{border:1px solid oklch(93% 0.005 250);padding:6px;display:flex;flex-direction:column;gap:4px}
.m-prod span{font-size:5.5px;line-height:1.4;color:oklch(30% 0.01 250)}
.m-prod b{font-size:7px;color:#0f766e}
.m-prod em{font-size:5px;color:oklch(58% 0.01 250);font-style:normal}
.m-img{height:32px}
.m-img.a{background:oklch(94% 0.02 190)}
.m-img.b{background:oklch(94% 0.02 145)}
.m-img.c{background:oklch(94% 0.02 80)}
.m-img.d{background:oklch(94% 0.02 250)}
.m-promo{margin:0 12px;border:1px solid #cfe6e2;background:#f2faf8;padding:7px 9px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.m-promo b{font-size:6.5px;color:#0f766e;display:block}
.m-promo em{font-size:5.5px;color:oklch(45% 0.01 250);font-style:normal}
.angebot-form{max-width:640px}
.progress{display:flex;gap:6px;margin-bottom:40px}
.progress div{height:3px;flex:1;background:oklch(90% 0.005 250);cursor:pointer}
.progress div.active{background:#2B4FE0}
.step-panel{display:none;flex-direction:column;gap:28px}
.step-panel.active{display:flex}
.step-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#2B4FE0}
.block{display:flex;flex-direction:column;gap:14px}
.block-title{font-size:16px;font-weight:600;font-family:'Space Grotesk',sans-serif}
.block-hint{font-size:13px;color:oklch(55% 0.01 250)}
.checklist{display:flex;flex-direction:column;gap:10px}
.option-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid oklch(85% 0.005 250);cursor:pointer;border-radius:2px;transition:border-color .15s ease,transform .15s ease}
.option-row:hover{border-color:oklch(70% 0.08 264);transform:translateX(2px)}
.option-row .box{width:16px;height:16px;border:1px solid oklch(70% 0.005 250);flex-shrink:0;transition:background .15s ease,border-color .15s ease}
.option-row.active{border-color:#2B4FE0}
.option-row.active .box{border-color:#2B4FE0;background:#2B4FE0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:10px 18px;border:1px solid oklch(85% 0.005 250);color:oklch(30% 0.01 250);cursor:pointer;border-radius:2px;font-size:14px;transition:border-color .15s ease,color .15s ease}
.chip:hover{border-color:oklch(70% 0.08 264)}
.chip.active{border-color:#2B4FE0;color:#2B4FE0}
.field{font-size:15px;padding:14px 16px;border:1px solid oklch(80% 0.005 250);border-radius:2px;font-family:inherit;width:100%;transition:border-color .15s ease}
.field:focus{outline:none;border-color:#2B4FE0}
textarea.field{min-height:100px;resize:vertical}
.form-actions{display:flex;justify-content:space-between;margin-top:10px}
.form-actions.end{justify-content:flex-end}
.err{display:none;font-size:14px;color:oklch(50% 0.19 25)}
.thanks{font-size:20px;font-weight:600;font-family:'Space Grotesk',sans-serif}
.thanks-sub{font-size:15px;color:oklch(38% 0.01 250);margin:0}
.imp-h{font-size:28px;margin-bottom:32px}
.impressum-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;font-size:15px;line-height:1.7;color:oklch(30% 0.01 250)}
.impressum-grid p{margin:0}
.impressum-label{font-family:'IBM Plex Mono',monospace;font-size:12px;color:oklch(55% 0.01 250);margin-bottom:8px}
@media (max-width:900px){h1{font-size:40px}.cards,.steps,.impressum-grid,.refs,.tracks{grid-template-columns:1fr}.navlinks{gap:14px}}
