/* ===== Paletten (im Backend unter Einstellungen wählbar) ===== */
body[data-theme="smaragd"]{--ink:#08201a;--ink-soft:#0a1f18;--paper:#f3f8f5;--signal:#0e9e6e;--signal-hover:#0a7a54;--muted:#4a675d;--muted-soft:#6a857b;--muted-faint:#8aa39a;--line:rgba(10,40,30,.07);--line-strong:rgba(10,40,30,.14);--card-bg:rgba(255,255,255,.72);--card-bg-strong:rgba(255,255,255,.85);--glass-bg:rgba(243,248,245,.72);--shadow:rgba(16,60,44,.06)}
body[data-theme="petrol"]{--ink:#10151d;--ink-soft:#0e2229;--paper:#f6f7f5;--signal:#ff8a3d;--signal-hover:#e6752c;--muted:#5b6670;--muted-soft:#70808a;--muted-faint:#8b979f;--line:rgba(16,21,29,.08);--line-strong:rgba(16,21,29,.16);--card-bg:rgba(255,255,255,.72);--card-bg-strong:rgba(255,255,255,.85);--glass-bg:rgba(246,247,245,.72);--shadow:rgba(16,30,35,.06)}
body[data-theme="nachtblau"]{--ink:#0f1626;--ink-soft:#0d1a2d;--paper:#f5f7fa;--signal:#38c8b4;--signal-hover:#2ba895;--muted:#5a6575;--muted-soft:#718093;--muted-faint:#8b9aad;--line:rgba(15,22,38,.08);--line-strong:rgba(15,22,38,.16);--card-bg:rgba(255,255,255,.72);--card-bg-strong:rgba(255,255,255,.85);--glass-bg:rgba(245,247,250,.72);--shadow:rgba(16,30,50,.06)}
body[data-theme="graphit"]{--ink:#1b1e22;--ink-soft:#1a1d21;--paper:#f7f6f3;--signal:#e0a52e;--signal-hover:#c48f22;--muted:#63676d;--muted-soft:#797d82;--muted-faint:#93969b;--line:rgba(27,30,34,.08);--line-strong:rgba(27,30,34,.16);--card-bg:rgba(255,255,255,.72);--card-bg-strong:rgba(255,255,255,.85);--glass-bg:rgba(247,246,243,.72);--shadow:rgba(30,28,20,.06)}
body[data-theme="tiefgruen"]{--ink:#122019;--ink-soft:#102019;--paper:#f5f7f4;--signal:#c97a4a;--signal-hover:#b06638;--muted:#586458;--muted-soft:#6f7a6f;--muted-faint:#8a938a;--line:rgba(18,32,25,.08);--line-strong:rgba(18,32,25,.16);--card-bg:rgba(255,255,255,.72);--card-bg-strong:rgba(255,255,255,.85);--glass-bg:rgba(245,247,244,.72);--shadow:rgba(16,40,30,.06)}
body[data-theme="kobalt"]{--ink:#16202c;--ink-soft:#131e29;--paper:#f4f6f8;--signal:#2f6bff;--signal-hover:#1f56e0;--muted:#5b6673;--muted-soft:#727d8a;--muted-faint:#8d97a3;--line:rgba(22,32,44,.08);--line-strong:rgba(22,32,44,.16);--card-bg:rgba(255,255,255,.72);--card-bg-strong:rgba(255,255,255,.85);--glass-bg:rgba(244,246,248,.72);--shadow:rgba(16,30,50,.06)}

:root{--font-head:'Space Grotesk',sans-serif;--font-body:'IBM Plex Sans',sans-serif;--font-mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.6}
h1,h2,h3{font-family:var(--font-head)}
a{color:var(--signal);text-decoration:none}
a:hover{color:var(--signal-hover)}
.mono{font-family:var(--font-mono)}
.muted{color:var(--muted)}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,44px)}
input:focus,textarea:focus,a:focus-visible,button:focus-visible{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 18%,transparent)}

.page{background:radial-gradient(1100px 600px at 15% -5%,color-mix(in srgb,var(--signal) 12%,transparent),transparent 58%),radial-gradient(900px 600px at 100% 4%,color-mix(in srgb,var(--signal) 10%,transparent),transparent 55%),var(--paper);min-height:100vh}
.page-slim{background:radial-gradient(1100px 600px at 15% -5%,color-mix(in srgb,var(--signal) 12%,transparent),transparent 58%),var(--paper);min-height:100vh;display:flex;flex-direction:column}

/* ===== Nav ===== */
nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:var(--glass-bg);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,5vw,44px)}
.logo{font-family:var(--font-head);font-weight:600;font-size:22px;color:var(--ink-soft);letter-spacing:-.01em}
.logo span{color:var(--signal)}
nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
nav a{padding:8px 16px;font-size:14px;color:var(--muted);transition:color .2s}
nav a:hover{color:var(--signal)}
.nav-cta,.btn-primary{background:var(--signal);color:#fff!important;font-weight:600;font-size:14px;padding:12px 22px;border-radius:999px;box-shadow:0 8px 26px color-mix(in srgb,var(--signal) 32%,transparent);transition:background .2s}
.nav-cta:hover,.btn-primary:hover{background:var(--signal-hover);color:#fff!important}

/* ===== Hero ===== */
.hero{padding:56px 0 60px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--signal);border:1px solid color-mix(in srgb,var(--signal) 28%,transparent);border-radius:999px;padding:7px 14px;margin-bottom:26px;background:color-mix(in srgb,var(--signal) 6%,transparent)}
.hero h1{font-weight:600;font-size:clamp(34px,5vw,52px);line-height:1.05;letter-spacing:-.025em;color:var(--ink);margin:0 0 22px;animation:milexRise .8s cubic-bezier(.2,.7,.2,1) both}
.hero h1 span{color:var(--signal)}
.hero p{font-size:17px;line-height:1.65;color:var(--muted);margin:0 0 34px;max-width:480px}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:15px 28px;border-radius:14px;font-weight:500;font-size:15px;text-decoration:none}
.btn-primary{padding:15px 28px;border-radius:14px;box-shadow:0 12px 34px color-mix(in srgb,var(--signal) 30%,transparent)}
.btn-ghost{border:1px solid var(--line-strong);color:var(--ink-soft);background:color-mix(in srgb,#fff 60%,transparent)}

/* ===== Dashboard-Karte (dekorativ) ===== */
.dash{position:relative;background:var(--card-bg-strong);border:1px solid var(--line);backdrop-filter:blur(16px);border-radius:24px;padding:24px;box-shadow:0 30px 70px var(--shadow);animation:milexRise .9s cubic-bezier(.2,.7,.2,1) .15s both}
.dash__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.dash__file{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;color:var(--ink-soft)}
.dash__dot{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 10px color-mix(in srgb,var(--signal) 80%,transparent);animation:milexPulse 1.8s ease-in-out infinite}
.dash__live{font-family:var(--font-mono);font-size:11px;color:var(--muted-faint)}
.dash__sub{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}
.dash__sub-label{font-size:13px;color:var(--muted);font-weight:500}
.dash__sub-period{font-family:var(--font-mono);font-size:12px;color:var(--signal)}
.dash__list{display:flex;flex-direction:column;gap:11px}
.dash__row{display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:center;animation:milexRise .5s ease both}
.dash__row:nth-child(1){animation-delay:.3s}
.dash__row:nth-child(2){animation-delay:.38s}
.dash__row:nth-child(3){animation-delay:.46s}
.dash__row:nth-child(4){animation-delay:.54s}
.dash__row:nth-child(5){animation-delay:.62s}
.dash__idx{font-family:var(--font-mono);font-size:12px;color:var(--muted-faint)}
.dash__label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:5px}
.dash__track{height:6px;background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:99px;overflow:hidden}
.dash__fill{height:100%;background:var(--signal);border-radius:99px;transform-origin:left;animation:milexGrowX .9s cubic-bezier(.3,.7,.2,1) both;animation-delay:.4s}
.dash__val{font-family:var(--font-head);font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap}
.dash__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.dash__stat{background:color-mix(in srgb,var(--signal) 5%,transparent);border:1px solid var(--line);border-radius:12px;padding:12px}
.dash__stat-num{font-family:var(--font-head);font-weight:600;font-size:22px;color:var(--ink)}
.dash__stat-label{font-size:11px;color:var(--muted-soft);margin-top:3px}

/* ===== Sections ===== */
section{padding:36px 0 60px;scroll-margin-top:80px}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}
.sec-head h2{font-weight:600;font-size:clamp(26px,3.4vw,32px);color:var(--ink);margin:0;letter-spacing:-.02em}
.sec-head span{font-family:var(--font-mono);font-size:12px;color:var(--signal)}

/* ===== Leistungen: Bento-Grid ===== */
.bento{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:190px;gap:16px}
.bento-card{background:var(--card-bg);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 10px 30px var(--shadow)}
.bento-card--feature{grid-row:span 2;background:linear-gradient(165deg,color-mix(in srgb,var(--signal) 12%,transparent),color-mix(in srgb,#fff 70%,transparent));border-color:color-mix(in srgb,var(--signal) 20%,transparent);padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.bento-card--wide{grid-column:span 2;display:flex;align-items:center;justify-content:space-between;gap:20px}
.bento-card .tag{display:block;font-family:var(--font-mono);font-size:12px;color:var(--signal);margin-bottom:12px}
.bento-card--feature .tag{margin-bottom:14px}
.bento-card h3{font-weight:600;font-size:20px;color:var(--ink);margin:0 0 8px}
.bento-card--feature h3{font-size:24px}
.bento-card p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.bento-card--feature p{font-size:14px;max-width:300px}
.bento-card--wide p{max-width:340px}
.bento-route{overflow:hidden}
.bento-route .chaos-line{stroke:color-mix(in srgb,var(--signal) 40%,transparent);stroke-width:2;fill:none;stroke-dasharray:6 8;animation:milexFlow 1.4s linear infinite}
.bento-route .pt-start{fill:var(--signal)}
.bento-route .pt-mid{fill:color-mix(in srgb,var(--signal) 65%,#fff)}
.bento-route .pt-end{fill:var(--signal);transform-box:fill-box;transform-origin:center;animation:milexPulse 2s ease-in-out infinite}
.bento-route text{fill:var(--muted-soft);font-family:var(--font-mono);font-size:10px}
.bento-bars{display:flex;align-items:flex-end;gap:6px;height:70px}
.bento-bars span{width:14px;border-radius:4px;transform-origin:bottom;animation:milexGrow .8s ease both;background:color-mix(in srgb,var(--signal) 45%,transparent)}
.bento-bars span:nth-child(1){height:40%;animation-delay:.2s}
.bento-bars span:nth-child(2){height:70%;animation-delay:.35s;background:color-mix(in srgb,var(--signal) 60%,transparent)}
.bento-bars span:nth-child(3){height:55%;animation-delay:.5s;background:color-mix(in srgb,var(--signal) 50%,transparent)}
.bento-bars span:nth-child(4){height:100%;animation-delay:.65s;background:var(--signal)}

/* ===== Ablauf ===== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.step{background:var(--card-bg);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 10px 30px var(--shadow)}
.step--accent{background:linear-gradient(160deg,color-mix(in srgb,var(--signal) 10%,transparent),color-mix(in srgb,#fff 70%,transparent));border-color:color-mix(in srgb,var(--signal) 18%,transparent)}
.step .num{font-family:var(--font-head);font-weight:700;font-size:32px;color:var(--signal);margin-bottom:14px;display:block}
.step h3{font-weight:600;font-size:18px;color:var(--ink);margin:0 0 8px}
.step p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}

/* ===== Referenzen ===== */
.ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ref-card{background:var(--card-bg-strong);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 14px 40px var(--shadow);display:flex;flex-direction:column}
.ref-card--wide{grid-column:span 2}
.ref-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}
.ref-card__tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--signal)}
.ref-card__meta{font-family:var(--font-mono);font-size:11px;color:var(--muted-faint)}
.ref-card h3{font-weight:600;font-size:20px;color:var(--ink);margin:0 0 6px}
.ref-card .desc{font-size:13px;line-height:1.55;color:var(--muted);margin:0 0 18px}

.ref-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.ref-stat{background:color-mix(in srgb,var(--signal) 5%,transparent);border:1px solid var(--line);border-radius:12px;padding:11px 12px}
.ref-stat--accent{background:color-mix(in srgb,var(--signal) 8%,transparent);border-color:color-mix(in srgb,var(--signal) 18%,transparent)}
.ref-stat--warn{background:rgba(214,158,46,.08);border-color:rgba(214,158,46,.2)}
.ref-stat-num{font-family:var(--font-head);font-weight:600;font-size:19px;color:var(--ink)}
.ref-stat--accent .ref-stat-num{color:var(--signal-hover)}
.ref-stat--warn .ref-stat-num{color:#9a6a12}
.ref-stat-label{font-size:10px;color:var(--muted-soft);margin-top:2px}

.ref-split2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;margin-top:auto}
.ref-label{font-family:var(--font-mono);font-size:10px;color:var(--muted-faint);margin-bottom:10px}
.ref-bar-row{margin-bottom:8px}
.ref-bar-row__top{display:flex;justify-content:space-between;font-size:11px;color:color-mix(in srgb,var(--ink) 80%,var(--muted));margin-bottom:4px}
.ref-bar-row__top span:last-child{color:var(--muted-soft)}
.ref-bar-track{height:6px;background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:99px;overflow:hidden}
.ref-bar-fill{height:100%;background:var(--signal);border-radius:99px;transform-origin:left;animation:milexGrowX .9s cubic-bezier(.3,.7,.2,1) both}
.ref-bar-row:nth-child(1) .ref-bar-fill{animation-delay:.3s}
.ref-bar-row:nth-child(2) .ref-bar-fill{animation-delay:.42s}
.ref-bar-row:nth-child(3) .ref-bar-fill{animation-delay:.54s}
.ref-bar-row:nth-child(4) .ref-bar-fill{animation-delay:.66s}

.ref-donut-wrap{display:flex;align-items:center;gap:14px}
.ref-donut svg{flex:0 0 82px;transform:rotate(-90deg)}
.ref-donut-seg{opacity:0;animation:milexFade .6s ease both}
.ref-donut-seg:nth-child(1){animation-delay:.4s}
.ref-donut-seg:nth-child(2){animation-delay:.55s}
.ref-donut-seg:nth-child(3){animation-delay:.7s}
.ref-donut-seg:nth-child(4){animation-delay:.85s}
.ref-donut-legend{display:flex;flex-direction:column;gap:5px;font-size:11px}
.ref-donut-legend div{display:flex;align-items:center;gap:6px;color:color-mix(in srgb,var(--ink) 80%,var(--muted))}
.ref-donut-legend .dot{width:8px;height:8px;border-radius:2px;flex:0 0 auto}
.ref-donut-legend .pct{color:var(--muted-soft);margin-left:auto}

.ref-client-card{margin-top:auto;background:color-mix(in srgb,#fff 70%,transparent);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.ref-client-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ref-client-card__head b{font-size:12px;font-weight:600;color:var(--ink)}
.ref-client-card__head b span{font-weight:400;color:var(--muted-faint)}
.ref-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.ref-tag-warn{font-size:10px;font-weight:500;color:#a3341f;background:rgba(200,60,30,.09);border:1px solid rgba(200,60,30,.18);border-radius:6px;padding:3px 8px}
.ref-tag-ok{font-size:10px;font-weight:500;color:#0e7a56;background:color-mix(in srgb,var(--signal) 9%,transparent);border:1px solid color-mix(in srgb,var(--signal) 20%,transparent);border-radius:6px;padding:3px 8px}
.ref-client-items{display:flex;flex-direction:column;gap:5px}
.ref-client-item{display:flex;justify-content:space-between;font-size:11px}
.ref-client-item span:first-child{color:color-mix(in srgb,var(--ink) 80%,var(--muted));font-weight:500}
.ref-client-item span:last-child{color:var(--signal-hover);font-family:var(--font-mono)}

.ref-two-col{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch}
.ref-timeline-row{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:12px}
.ref-timeline-row span:first-child{font-family:var(--font-mono);font-size:11px;color:var(--signal)}
.ref-timeline-row span:last-child{font-family:var(--font-mono);font-size:11px;color:var(--muted-soft)}
.ref-timeline-row--muted span{color:var(--muted-faint)!important}
.ref-timeline-pause,.ref-timeline-return{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:8px 10px;margin-top:8px;border-radius:8px;font-size:11px}
.ref-timeline-pause{background:rgba(214,158,46,.1);border:1px solid rgba(214,158,46,.25);color:#7a5a10}
.ref-timeline-pause span:last-child{font-family:var(--font-mono);color:#7a5a10}
.ref-timeline-return{background:color-mix(in srgb,var(--signal) 9%,transparent);border:1px solid color-mix(in srgb,var(--signal) 20%,transparent);color:var(--signal-hover);font-weight:600}
.ref-timeline-return span:last-child{font-family:var(--font-mono);color:var(--signal-hover)}
.ref-route-box{background:linear-gradient(160deg,color-mix(in srgb,var(--signal) 7%,transparent),color-mix(in srgb,#fff 60%,transparent));border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column}
.ref-route-box__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-family:var(--font-mono);font-size:10px;color:var(--muted-faint)}
.ref-route-box__head span:last-child{color:var(--signal)}
.ref-route-legend{display:flex;align-items:center;gap:14px;margin-top:8px;font-size:11px;color:var(--muted-soft);flex-wrap:wrap}
.ref-route-legend .dot{display:flex;align-items:center;gap:6px}
.ref-route-legend .dot span{width:9px;height:9px;border-radius:50%}
.ref-route-legend .count{margin-left:auto;font-family:var(--font-mono)}
.ref-route-pt{fill:var(--signal)}
.ref-route-depot{fill:var(--ink);transform-box:fill-box;transform-origin:center;animation:milexPulse 2.4s ease-in-out infinite}
.ref-route-path{stroke:var(--signal);opacity:.9}

.ref-prod-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px;align-items:start}
.ref-prod-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.ref-prod-total{margin-top:8px;background:linear-gradient(160deg,color-mix(in srgb,var(--signal) 10%,transparent),color-mix(in srgb,#fff 50%,transparent));border:1px solid color-mix(in srgb,var(--signal) 18%,transparent);border-radius:12px;padding:12px 14px;display:flex;align-items:baseline;justify-content:space-between}
.ref-prod-total span:first-child{font-size:12px;color:color-mix(in srgb,var(--ink) 80%,var(--muted));font-weight:500}
.ref-prod-total span:last-child{font-family:var(--font-head);font-weight:700;font-size:22px;color:var(--ink)}
.ref-table{background:color-mix(in srgb,#fff 65%,transparent);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.ref-table__head{display:grid;grid-template-columns:1.6fr 1fr .9fr .7fr;gap:8px;font-family:var(--font-mono);font-size:10px;color:var(--muted-faint);padding-bottom:8px;border-bottom:1px solid var(--line-strong)}
.ref-table__head span{text-align:right}
.ref-table__head span:first-child{text-align:left}
.ref-table__row{display:grid;grid-template-columns:1.6fr 1fr .9fr .7fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}
.ref-table__row span{text-align:right}
.ref-table__row span:first-child{text-align:left;color:var(--ink);font-weight:500}
.ref-table__row span:nth-child(2){color:color-mix(in srgb,var(--ink) 80%,var(--muted))}
.ref-table__diff{color:var(--signal);font-weight:600}
.ref-table__badge{background:color-mix(in srgb,var(--signal) 10%,transparent);color:var(--signal-hover);border-radius:6px;padding:2px 7px;font-family:var(--font-mono);font-size:11px}
.ref-table__row--more span:first-child{color:var(--muted-faint);font-weight:400}
.ref-table__row--more span:last-child{color:var(--muted-faint);font-family:var(--font-mono);font-size:11px}
.ref-table__row--total{border-top:1px solid var(--line-strong);border-bottom:none;padding-top:10px;margin-top:6px}
.ref-table__row--total span:first-child{color:var(--ink);font-weight:700;font-family:var(--font-head)}
.ref-table__row--total span:nth-child(3){color:var(--muted-faint);font-size:11px;font-weight:400;text-align:right}
.ref-table__badge--total{background:var(--signal);color:#fff;font-weight:500;padding:3px 8px}

/* ===== Kontakt ===== */
.kontakt-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:40px 0 64px;align-items:stretch}
.kontakt-intro{display:flex;flex-direction:column;justify-content:center}
.kontakt-intro h2{font-weight:600;font-size:clamp(26px,3.4vw,32px);color:var(--ink);margin:0 0 14px;letter-spacing:-.02em}
.kontakt-intro p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 24px;max-width:400px}
.kontakt-points{display:flex;flex-direction:column;gap:10px;font-size:14px;color:color-mix(in srgb,var(--ink) 80%,var(--muted))}
.kontakt-points div{display:flex;align-items:center;gap:10px}
.kontakt-points .dot{width:6px;height:6px;border-radius:50%;background:var(--signal);flex:0 0 auto}
.kontakt-mail{margin-top:8px;font-family:var(--font-mono);font-size:15px;color:var(--signal-hover)}

.kontakt{background:linear-gradient(160deg,color-mix(in srgb,var(--signal) 10%,transparent),color-mix(in srgb,#fff 75%,transparent));border:1px solid color-mix(in srgb,var(--signal) 16%,transparent);border-radius:20px;padding:28px;display:flex;flex-direction:column;box-shadow:0 14px 40px var(--shadow);scroll-margin-top:80px}
form{display:flex;flex-direction:column;gap:10px}
input,textarea{background:color-mix(in srgb,#fff 85%,transparent);border:1px solid var(--line-strong);border-radius:12px;padding:13px 15px;font-size:14px;font-family:var(--font-body);color:var(--ink);transition:border-color .15s,box-shadow .15s}
textarea{resize:vertical}
form .btn-primary{margin-top:16px;border:none;cursor:pointer;text-align:center}
.hp{position:absolute;left:-9999px}
.ok{background:color-mix(in srgb,var(--signal) 12%,transparent);border:1px solid color-mix(in srgb,var(--signal) 30%,transparent);padding:10px 14px;border-radius:10px;font-size:13px;color:var(--ink-soft);margin:0 0 12px}

/* ===== Rechtstexte ===== */
.legal{max-width:820px;margin:0 auto;padding:56px clamp(20px,5vw,44px) 72px;flex:1;width:100%}
.legal .eyebrow-plain{font-family:var(--font-mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--signal);margin-bottom:14px}
.legal h1{font-weight:600;font-size:clamp(32px,5vw,44px);line-height:1.05;letter-spacing:-.025em;color:var(--ink);margin:0 0 12px}
.legal>p{font-size:15px;color:var(--muted);margin:0 0 40px}
.legal-card{background:var(--card-bg);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 10px 30px var(--shadow);display:flex;flex-direction:column;gap:30px}
.legal-card h2{font-weight:600;font-size:18px;color:var(--ink);margin:0 0 10px}
.legal-card p{font-size:15px;line-height:1.7;color:color-mix(in srgb,var(--ink) 80%,var(--muted));margin:0}
.legal-hint{font-size:13px;color:var(--muted-faint);margin:24px 2px 0;line-height:1.6}

/* ===== Footer ===== */
footer{border-top:1px solid var(--line);background:color-mix(in srgb,#fff 40%,transparent)}
footer .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:24px clamp(20px,5vw,44px);font-size:13px;color:var(--muted-soft)}
footer .wrap div{display:flex;gap:22px;font-family:var(--font-mono)}

/* ===== Animationen ===== */
@keyframes milexRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes milexGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes milexGrowX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes milexPulse{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}
@keyframes milexFlow{to{stroke-dashoffset:-60}}
@media(prefers-reduced-motion:reduce){
  .hero h1,.dash,.dash__row,.dash__fill,.bento-bars span,.ref-bar-fill{animation:none!important;opacity:1!important;transform:none!important}
  .dash__dot,.bento-route .pt-end,.bento-route .chaos-line,.ref-route-depot{animation:none!important}
  .ref-donut-seg{animation:none!important;opacity:1!important}
}

/* ===== Responsive ===== */
@media(max-width:980px){
  .hero{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr 1fr}
  .bento-card--feature{grid-row:span 1}
  .ref-grid{grid-template-columns:1fr}
  .ref-card--wide{grid-column:span 1}
  .ref-two-col,.ref-prod-grid{grid-template-columns:1fr}
  .kontakt-split{grid-template-columns:1fr}
}
@media(max-width:700px){
  nav .wrap{padding:14px 20px}
  nav ul{gap:0}
  nav li:not(:last-child){display:none}
  .bento{grid-template-columns:1fr}
  .bento-card--wide{grid-column:span 1}
  .steps{grid-template-columns:1fr}
  .ref-split2{grid-template-columns:1fr}
  .ref-stats,.ref-prod-stats{grid-template-columns:repeat(2,1fr)}
  .ref-table__head,.ref-table__row{grid-template-columns:1.4fr 1fr .8fr}
  .ref-table__head span:nth-child(3),.ref-table__row span:nth-child(3){display:none}
}

/* ===== Inline-Bearbeitung (nur eingeloggt) ===== */
#edit-bar{position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;font-size:.88rem}
#edit-bar button{background:var(--signal);color:#fff;border:none;border-radius:6px;padding:9px 20px;font-weight:600;font-size:.88rem;cursor:pointer}
#edit-bar button:disabled{opacity:.5;cursor:default}
.editierbar{outline:1px dashed transparent;outline-offset:3px;transition:outline-color .15s}
.editierbar:hover,.editierbar:focus{outline-color:var(--signal)}
