/* NEO Marketing-System – interaktive Grafik */
.neo-mix{--nm-blue:#00AAD4;--nm-deep:#0064A0;--nm-ink:#17191F;--nm-light:#F4F4F5;--nm-line:#D7DBE0;margin:0 auto;max-width:1240px}
.neo-mix__presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin:0 0 22px}
.neo-mix__presetlabel{font-size:.9rem;color:#5B6470;margin-right:4px}
.neo-mix__preset{appearance:none;border:1.5px solid var(--nm-line);background:#fff;color:var(--nm-ink);border-radius:999px;padding:7px 14px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.neo-mix__preset:hover{border-color:var(--nm-blue)}
.neo-mix__preset.is-on{background:var(--nm-blue);border-color:var(--nm-blue);color:#fff}
.neo-mix__wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:32px;align-items:center}
@media (max-width:819px){.neo-mix__wrap{grid-template-columns:1fr;gap:16px}}
.neo-mix__stage{position:relative}
.neo-mix__svg{width:100%;height:auto;display:block;overflow:visible;font-family:inherit}
.neo-mix__edge{stroke:#DCE1E6;stroke-width:1;stroke-linecap:round;transition:stroke .35s,opacity .35s,stroke-width .35s}
.neo-mix__edge.is-on{stroke:#8FD6E8;stroke-width:1.6;stroke-dasharray:5 7;animation:nmFlow 2.4s linear infinite}.neo-mix__edge.is-on.is-focus{stroke:var(--nm-blue);stroke-width:2.6;animation-duration:1.4s;filter:drop-shadow(0 0 4px rgba(0,170,212,.55))}
.neo-mix__edge.is-off{opacity:.12}
@keyframes nmFlow{to{stroke-dashoffset:-28}}
.neo-mix__dot{fill:var(--nm-blue);opacity:.55;transition:opacity .6s}.neo-mix__dot.is-focus{opacity:1;r:4.5}
.neo-mix__hubcore{fill:#fff;stroke:var(--nm-blue);stroke-width:3;transition:stroke .3s,fill .3s}
.neo-mix__hubring{fill:none;stroke:var(--nm-blue);stroke-width:2;opacity:.45;transform-origin:center;transform-box:fill-box}
.neo-mix__hubring--2{opacity:.18;stroke-width:1.5;animation:nmPulse 3.2s ease-in-out infinite}
@keyframes nmPulse{0%,100%{transform:scale(1);opacity:.18}50%{transform:scale(1.06);opacity:.35}}
.neo-mix__hub{cursor:pointer;outline:none}
.neo-mix__hub:focus-visible .neo-mix__hubcore,.neo-mix__hub.is-active .neo-mix__hubcore{stroke:var(--nm-deep);stroke-width:5}
.neo-mix__hubtext{fill:var(--nm-ink);font-size:13px;font-weight:800;letter-spacing:1.5px}
.neo-mix__hubsub{fill:#5B6470;font-size:11px}
.neo-mix__node{cursor:pointer;outline:none;transition:opacity .35s}
.neo-mix__node.is-dim{opacity:.38}
.neo-mix__node.is-muted{opacity:.3}
.neo-mix__halo{fill:var(--nm-blue);opacity:0;transition:opacity .3s}
.neo-mix__node.is-active .neo-mix__halo{opacity:.18}
.neo-mix__node:hover .neo-mix__halo,.neo-mix__node:focus-visible .neo-mix__halo{opacity:.12}
.neo-mix__circle{fill:#fff;stroke:var(--nm-line);stroke-width:2;transition:fill .3s,stroke .3s,r .4s}
.neo-mix__node.is-near .neo-mix__circle{stroke:var(--nm-blue);stroke-width:2.5}
.neo-mix__node.is-active .neo-mix__circle{fill:var(--nm-blue)!important;stroke:var(--nm-deep)}
.neo-mix__icon{fill:none;stroke:var(--nm-ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.neo-mix__node.is-active .neo-mix__icon{stroke:#fff}
.neo-mix__label{fill:var(--nm-ink);font-size:15px;font-weight:600}
.neo-mix__weightbg{fill:var(--nm-deep);stroke:#fff;stroke-width:2}.neo-mix__weighttext{fill:#fff;font-size:12px;font-weight:800}
.neo-mix__panel{background:var(--nm-light);border-radius:16px;padding:28px 28px 26px;min-height:380px;opacity:0;transform:translateY(6px)}
.neo-mix__panel.is-in{animation:nmIn .35s ease forwards}
@keyframes nmIn{to{opacity:1;transform:none}}
.neo-mix__eyebrow{display:inline-block;font-size:.75rem;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:var(--nm-deep);margin-bottom:6px}
.neo-mix__panel h3{margin:0 0 10px;font-size:1.45rem;line-height:1.2}
.neo-mix__panel h4{margin:18px 0 8px;font-size:.95rem;color:#5B6470;font-weight:600}
.neo-mix__panel p{margin:0 0 8px;line-height:1.55}
.neo-mix__list{margin:8px 0 0;padding-left:1.1em}
.neo-mix__list li{margin:4px 0}
.neo-mix__hint{font-size:.9rem;color:#5B6470;margin-top:12px}
.neo-mix__flow{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.neo-mix__flow li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;font-size:.93rem;line-height:1.4}
.neo-mix__flow button{appearance:none;border:0;background:#fff;color:var(--nm-deep);font:inherit;font-size:.82rem;font-weight:700;padding:3px 10px;border-radius:999px;cursor:pointer;white-space:nowrap;box-shadow:inset 0 0 0 1.5px var(--nm-line);transition:box-shadow .2s,color .2s}
.neo-mix__flow button:hover{box-shadow:inset 0 0 0 1.5px var(--nm-blue)}
.neo-mix__flow--in button{color:var(--nm-ink)}
.neo-mix__kpi{margin-top:14px;padding:10px 14px;border-left:4px solid var(--nm-blue);background:#fff;border-radius:0 10px 10px 0;font-size:.93rem}
.neo-mix__weights{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.neo-mix__weights button{appearance:none;border:0;background:#fff;border-radius:10px;padding:8px 12px;width:100%;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 10px;align-items:center;font:inherit;cursor:pointer;text-align:left;transition:box-shadow .2s}
.neo-mix__weights button:hover{box-shadow:inset 0 0 0 1.5px var(--nm-blue)}
.neo-mix__weights span{font-size:.9rem;font-weight:600;color:var(--nm-ink)}
.neo-mix__weights b{grid-column:2;grid-row:1/3;color:var(--nm-deep)}
.neo-mix__weights i{display:block;height:5px;border-radius:3px;background:var(--nm-blue)}
.neo-mix__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.neo-mix__btn{display:inline-block;background:var(--nm-blue);color:#fff!important;text-decoration:none!important;padding:11px 18px;border-radius:10px;font-weight:600;font-size:.95rem;transition:background .2s}
.neo-mix__btn:hover{background:var(--nm-deep)}
.neo-mix__btn--ghost{background:#fff;color:var(--nm-ink)!important;box-shadow:inset 0 0 0 1.5px var(--nm-line)}
.neo-mix__btn--ghost:hover{background:#fff;box-shadow:inset 0 0 0 1.5px var(--nm-blue)}
@media (max-width:819px){.neo-mix__panel{min-height:0;padding:22px 20px}.neo-mix__label{font-size:17px}}
@media (prefers-reduced-motion:reduce){.neo-mix__edge.is-on,.neo-mix__hubring--2{animation:none}.neo-mix__panel{opacity:1;transform:none}}
.neo-mix--compact .neo-mix__hubtext{font-size:11px;letter-spacing:1px}.neo-mix--compact .neo-mix__hubsub{font-size:10px}.neo-mix--compact .neo-mix__label{font-size:14px}.neo-mix--compact .neo-mix__weightbg{r:15}.neo-mix--compact .neo-mix__weighttext{font-size:11px}

/* Feinschliff 09.11.: Speichen, Wellen, Kantenlabels, Einblenden */
.neo-mix__spoke{stroke:#E4E7EB;stroke-width:1;stroke-dasharray:1.5 7;stroke-linecap:round;transition:stroke .3s,opacity .3s}
.neo-mix__spoke.is-near{stroke:#BFE9F4}
.neo-mix__spoke.is-on{stroke:var(--nm-blue);stroke-dasharray:3 6;animation:nmFlow 1.1s linear infinite reverse;opacity:.9}
.neo-mix__hubwave{fill:none;stroke:var(--nm-blue);stroke-width:1.5;opacity:0;transform-origin:center;transform-box:fill-box;animation:nmWave 3.6s ease-out infinite}
.neo-mix__hubwave--2{animation-delay:1.8s}
@keyframes nmWave{0%{transform:scale(1);opacity:.45}100%{transform:scale(1.55);opacity:0}}
.neo-mix__elabel{animation:nmLabelIn .7s ease both;pointer-events:none}.neo-mix__elabelsub{font-size:10px;fill:#5B6470;font-weight:600}
.neo-mix__elabel rect{fill:#fff;stroke:var(--nm-blue);stroke-width:1;filter:drop-shadow(0 2px 4px rgba(23,25,31,.08))}
.neo-mix__elabel text{font-size:12px;font-weight:600;fill:var(--nm-deep)}
.neo-mix__earrow{fill:none;stroke:var(--nm-blue);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@keyframes nmLabelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1}}
.neo-mix__elabel{transform-box:fill-box;transform-origin:center}
.neo-mix__node{transition:opacity .5s ease}
.neo-mix__node .neo-mix__circle,.neo-mix__node .neo-mix__icon,.neo-mix__node .neo-mix__halo{transform-box:fill-box;transform-origin:center;transition:transform .55s cubic-bezier(.2,.8,.2,1.2),fill .3s,stroke .3s,r .4s}
.neo-mix:not(.is-ready) .neo-mix__node{opacity:0}
.neo-mix:not(.is-ready) .neo-mix__node .neo-mix__circle,.neo-mix:not(.is-ready) .neo-mix__node .neo-mix__icon{transform:scale(.55)}
.neo-mix:not(.is-ready) .neo-mix__spoke{opacity:0}
.neo-mix__spoke{transition:opacity 1s ease .8s,stroke .3s}
.neo-mix__node:hover .neo-mix__circle{transform:scale(1.06)}
.neo-mix__node.is-active .neo-mix__circle{transform:scale(1.1)}
@media (prefers-reduced-motion:reduce){.neo-mix__hubwave,.neo-mix__elabel,.neo-mix__spoke.is-on{animation:none}.neo-mix:not(.is-ready) .neo-mix__node{opacity:1}.neo-mix:not(.is-ready) .neo-mix__node .neo-mix__circle,.neo-mix:not(.is-ready) .neo-mix__node .neo-mix__icon{transform:none}}
