/* Scoped adaptation of productive SPOT IT MEDIA Hero: its SVG node system, graph and curves.
   Colors exclusively Marcel. WhatsApp: Simple Icons CC0; Facebook: Font Awesome Free CC BY 4.0. */
.projects .network-project-visual{display:block;position:relative;margin:0 auto;width:100%;max-width:1250px;min-width:0;padding:0;align-self:start}
.projects .network-project-visual .portfolio-hero-network{display:block;width:100%;height:auto;overflow:visible;transform:none}
.network-project-visual .npv-broadcast-links path{stroke:#9A9CB1;stroke-width:.8;opacity:.35;fill:none}
.network-project-visual .npv-broadcast-links path[data-kind=input]{opacity:.5;stroke-width:1}
.network-project-visual .npv-broadcast-disc{fill:#E9F1FF;stroke:#9A9CB1;stroke-opacity:.5;stroke-width:1.1;filter:drop-shadow(0 2px 3px #0000000a)}
.network-project-visual .npv-broadcast-person{fill:#000000;stroke:none}
.network-project-visual .is-reached .npv-broadcast-disc{fill:#000000;stroke:#000000}
.network-project-visual .is-reached .npv-broadcast-person{fill:#E9F1FF}
.network-project-visual .npv-broadcast-rim{fill:none;stroke:#9A9CB1;stroke-width:.9;opacity:.35}
.network-project-visual .npv-broadcast-receive{fill:none;stroke:#7D92B6;stroke-width:1;pointer-events:none}
.network-project-visual .npv-broadcast-hub-aura{fill:#9A9CB1;fill-opacity:.06}
.network-project-visual .npv-broadcast-hub-ring{fill:none;stroke:#9A9CB1;stroke-dasharray:52 12 2 12;stroke-width:.8}
.network-project-visual .npv-broadcast-hub-rim{fill:none;stroke:#9A9CB1;stroke-opacity:.5;stroke-width:1}
.network-project-visual .npv-broadcast-hub-disc{fill:#E9F1FF;stroke:#E9F1FF;stroke-width:2;filter:drop-shadow(0 3px 7px #00000012)}
.network-project-visual .hub-caption{font:400 17px 'Manrope',sans-serif;letter-spacing:0;fill:#000000}
.network-project-visual .hub-event-disc{fill:#9A9CB1;stroke:#E9F1FF;stroke-width:1}
.network-project-visual .hub-main-event .hub-event-disc{fill:#7D92B6}
.network-project-visual .hub-event-icon{fill:none;stroke:#E9F1FF;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;color:#E9F1FF}
.network-project-visual .hub-event-response{fill:none;stroke:#7D92B6;stroke-width:.8}
.network-project-visual .npv-action-comet path{fill:none;stroke:#7D92B6;stroke-linecap:round}
.network-project-visual .npv-action-light{fill:#7D92B6;stroke:#E9F1FF;stroke-width:.8}
.network-project-visual .npv-action-hub-ring{fill:none;stroke:#7D92B6;stroke-width:.9;pointer-events:none}
.network-project-visual .npv-action-packet{pointer-events:none;transition:none}
.network-project-visual .card-surface{fill:#fff;stroke:#9A9CB1;stroke-opacity:.6;stroke-width:.6}
.network-project-visual .card-data{fill:none;stroke:#9A9CB1;stroke-width:.6;opacity:.45}
.network-project-visual .card-marker{fill:#000000;stroke:none}
.network-project-visual .npv-action-packet text{font:500 9px 'Manrope',sans-serif;letter-spacing:.2px;fill:#000000}
.network-project-visual .npv-sender{cursor:pointer;outline:none;touch-action:manipulation}
.network-project-visual .npv-sender-hit{fill:transparent;stroke:none;pointer-events:all}
.network-project-visual .npv-sender-ready{fill:none;stroke:#9A9CB1;stroke-width:.8;opacity:.6}
.network-project-visual .npv-sender-focus{fill:none;stroke:#7D92B6;stroke-width:1.6;opacity:0;pointer-events:none}
.network-project-visual .npv-sender:focus-visible .npv-sender-focus{opacity:1}
.network-project-visual .npv-sender[aria-disabled=true]{cursor:default}
@media(hover:hover){.network-project-visual .npv-sender[aria-disabled=false]:hover .npv-sender-ready{stroke:#7D92B6;opacity:1}}
.projects .network-project-visual .npv-hero-pause{display:block;margin:0 0 0 auto;padding:8px 0;min-height:30px;background:none;box-shadow:none;border:0;border-bottom:1px solid #9A9CB140;border-radius:0;font:400 9px 'Manrope',sans-serif;color:#000000;cursor:pointer}
.projects .network-project-visual .npv-hero-pause:focus-visible{outline:1px solid #7D92B6;outline-offset:3px}
@media(max-width:700px){.network-project-visual .npv-hero-secondary{display:none}.projects .network-project-visual{max-width:390px}}

/* Hub-only map pass: shared country silhouette, authentic product markers. */
.network-project-visual .hub-germany{fill:#9A9CB1;fill-opacity:.18;stroke:#9A9CB1;stroke-width:1.15;stroke-linejoin:round}
.network-project-visual .hub-region{fill:none;stroke:#9A9CB1;stroke-width:.6;stroke-opacity:.65;stroke-linejoin:round}
.network-project-visual .hub-background-event{opacity:.66}
@media(max-width:700px){.network-project-visual .hub-marker-secondary{display:none}}

/* Free map hub: same shared country geometry, with the map itself as the hub. */
.network-project-visual .hub-germany{fill:#E9F1FF;fill-opacity:1;stroke:#9A9CB1;stroke-width:1.15}
.network-project-visual .hub-region{stroke:#9A9CB1;stroke-opacity:.65}

/* Map-hub beauty pass only: unchanged surrounding network and motion. */
.network-project-visual .hub-germany{stroke:#9A9CB1;stroke-width:1.05}
.network-project-visual .hub-region{stroke:#9A9CB1;stroke-width:.55;stroke-opacity:.62}
.network-project-visual .hub-caption{font-size:18px}
@media(max-width:700px){.network-project-visual .hub-region-secondary{display:none}}

/* Compact signal pills only; map and network geometry remain frozen. */
.network-project-visual .card-surface{fill:#FFFFFF;stroke:#9A9CB1;stroke-opacity:.55;stroke-width:.6}
.network-project-visual .card-data{display:none}
.network-project-visual .card-marker{fill:none;stroke:#000000;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.network-project-visual .npv-action-packet text{font-family:'Manrope',sans-serif;font-weight:400;letter-spacing:0;fill:#000000}

/* Existing input nodes: Coral sender role, including the reached state. */
.network-project-visual .input-sender .npv-broadcast-disc{fill:#7D92B6;stroke:#7D92B6}
.network-project-visual .input-sender .npv-broadcast-person{fill:#E9F1FF}

/* Mobile-only visibility of three existing downstream people; desktop stays frozen. */
@media(max-width:700px){.network-project-visual .npv-hero-secondary.mobile-visible{display:block}}

/* Mobile hierarchy only: retain geometry, stroke widths and workflow timings. */
@media(max-width:700px){
 .projects .network-project-visual{margin-top:-15px}
 .network-project-visual .npv-broadcast-links path[data-from="4"],
 .network-project-visual .npv-broadcast-links path[data-from="5"],
 .network-project-visual .npv-broadcast-links path[data-from="23"][data-to="4"],
 .network-project-visual .npv-broadcast-links path[data-from="23"][data-to="5"]{opacity:.392}
}

/* Final mobile control readability only; desktop and pause logic unchanged. */
@media(max-width:700px){
 .projects .network-project-visual .npv-hero-pause{font-size:10px;color:#000000}
}


/* MAIN embedding: only Warn/Tier visual areas. Existing text/CTAs untouched. */
/* Desktop columns inherit MAIN's existing text-left/visual-right project layout. */
.projects .project-monitor :is(#projekt-warnmeldungen,#projekt-tiermeldung)>.project-product-visuals[hidden]{display:none}
.projects .network-project-visual{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.projects .network-project-visual .npv-broadcast-member{filter:none}
.projects .network-project-visual .npv-broadcast-receive{filter:none}
.projects .network-project-visual .npv-action-packet .card-surface{fill:#FFFFFF;stroke:#9A9CB1;stroke-width:.6}
.projects .network-project-visual .npv-action-packet text{font-family:Manrope,sans-serif;font-weight:400;letter-spacing:0}

/* Final MAIN CI theme only: geometry, dimensions and motion stay frozen. */
.network-project-visual .npv-broadcast-disc,
.network-project-visual .is-reached .npv-broadcast-disc{fill:#DCE0FD;stroke:#9A9CB1}
.network-project-visual .npv-broadcast-person,
.network-project-visual .is-reached .npv-broadcast-person{fill:#7D92B6}

/* Secondary people: existing radii determine color hierarchy only. */
.network-project-visual .npv-broadcast-member[data-icon="person"]:is([data-radius="16"],[data-radius="18"],[data-radius="19"]) .npv-broadcast-disc{fill:#9A9CB1;stroke:#9A9CB1}
.network-project-visual .npv-broadcast-member[data-icon="person"]:is([data-radius="16"],[data-radius="18"],[data-radius="19"]) .npv-broadcast-person{fill:#FFFFFF}

/* Large people stay light before receiving; activated nodes use Primary. */
.network-project-visual .npv-broadcast-member[data-icon="person"]:is([data-radius="20"],[data-radius="21"],[data-radius="23"],[data-radius="24"]) .npv-broadcast-disc{fill:#E9F1FF;stroke:#9A9CB1}
.network-project-visual .npv-broadcast-member[data-icon="person"].is-reached:is([data-radius="20"],[data-radius="21"],[data-radius="23"],[data-radius="24"]) .npv-broadcast-disc{fill:#7D92B6;stroke:#7D92B6}
.network-project-visual .npv-broadcast-member[data-icon="person"].is-reached:is([data-radius="20"],[data-radius="21"],[data-radius="23"],[data-radius="24"]) .npv-broadcast-person{fill:#FFFFFF}

/* Distinct sender and distributor roles use the same brand palette. */
.network-project-visual .npv-broadcast-member.input-sender[data-icon="person"] .npv-broadcast-disc,
.network-project-visual .npv-broadcast-member:is([data-role="whatsapp"],[data-role="facebook"]) .npv-broadcast-disc{fill:#7D92B6;stroke:#7D92B6}
.network-project-visual .npv-broadcast-member.input-sender[data-icon="person"] .npv-broadcast-person,
.network-project-visual .npv-broadcast-member:is([data-role="whatsapp"],[data-role="facebook"]) .npv-broadcast-person{fill:#FFFFFF}
.network-project-visual .npv-sender-ready{stroke:#9A9CB1}
.network-project-visual .npv-broadcast-rim{stroke:#DCE0FD}

/* Twelve percent more visibility; path geometry and stroke widths unchanged. */
.network-project-visual .npv-broadcast-links path{opacity:.392}
.network-project-visual .npv-broadcast-links path[data-kind="input"]{opacity:.56}
@media(max-width:700px){
 .network-project-visual .npv-broadcast-links path[data-from="4"],
 .network-project-visual .npv-broadcast-links path[data-from="5"],
 .network-project-visual .npv-broadcast-links path[data-from="23"][data-to="4"],
 .network-project-visual .npv-broadcast-links path[data-from="23"][data-to="5"]{opacity:.43904}
}
.network-project-visual .hub-region{stroke-opacity:.4}
.network-project-visual .hub-event-icon{stroke:#FFFFFF;color:#FFFFFF}
.network-project-visual .card-marker{stroke:#7D92B6}

/* Final contrast pass: colors/opacity only, all geometry and motion frozen. */
.network-project-visual .npv-broadcast-member[data-icon="person"]:is([data-radius="20"],[data-radius="21"],[data-radius="23"],[data-radius="24"]){opacity:1!important}
.network-project-visual .npv-broadcast-member[data-icon="person"]:is([data-radius="20"],[data-radius="21"],[data-radius="23"],[data-radius="24"]) .npv-broadcast-disc{fill:#7D92B6;stroke:#7D92B6}
.network-project-visual .npv-broadcast-member[data-icon="person"]:is([data-radius="20"],[data-radius="21"],[data-radius="23"],[data-radius="24"]) .npv-broadcast-person{fill:#FFFFFF}
.network-project-visual .npv-broadcast-member.input-sender[data-icon="person"]{opacity:1!important}

/* Existing darker Hero blue identifies the two multiplier roles. */
.network-project-visual .npv-broadcast-member:is([data-role="whatsapp"],[data-role="facebook"]){opacity:1!important}
.network-project-visual .npv-broadcast-member:is([data-role="whatsapp"],[data-role="facebook"]) .npv-broadcast-disc{fill:#637DA3;stroke:#637DA3}
.network-project-visual .npv-broadcast-member:is([data-role="whatsapp"],[data-role="facebook"]) .npv-broadcast-person{fill:#FFFFFF}

/* Small people remain quiet but readable; radii and outline widths unchanged. */
.network-project-visual .npv-broadcast-member[data-icon="person"]:is([data-radius="10"],[data-radius="11"],[data-radius="12"],[data-radius="13"],[data-radius="15"]){opacity:.9!important}
.network-project-visual .npv-broadcast-member[data-icon="person"]:is([data-radius="10"],[data-radius="11"],[data-radius="12"],[data-radius="13"],[data-radius="15"]) .npv-broadcast-disc{fill:#E9F1FF;stroke:#9A9CB1;stroke-opacity:.7}
.network-project-visual .npv-broadcast-member[data-icon="person"]:is([data-radius="10"],[data-radius="11"],[data-radius="12"],[data-radius="13"],[data-radius="15"]) .npv-broadcast-person{fill:#7D92B6}

/* Secondary Grey darkened six percent: only the country silhouette. */
.network-project-visual .hub-germany{stroke:#9193A6}
/* Existing darker Hero blue, without enlarging the active case marker. */
.network-project-visual .hub-main-event .hub-event-disc{fill:#637DA3}

/* warn: color-only differentiation of existing unreached/reached states. */
.projects .network-project-visual[data-system="warn"] .npv-broadcast-member[data-icon] .npv-broadcast-disc{fill:#E9F1FF;stroke:#637DA3}
.projects .network-project-visual[data-system="warn"] .npv-broadcast-member[data-icon] .npv-broadcast-person{fill:#637DA3}
.projects .network-project-visual[data-system="warn"] .npv-broadcast-member[data-icon].is-reached .npv-broadcast-disc{fill:#637DA3;stroke:#637DA3}
.projects .network-project-visual[data-system="warn"] .npv-broadcast-member[data-icon].is-reached .npv-broadcast-person{fill:#FFFFFF}

/* tier: color-only differentiation of existing unreached/reached states. */
.projects .network-project-visual[data-system="tier"] .npv-broadcast-member[data-icon] .npv-broadcast-disc{fill:#E9F1FF;stroke:#637DA3}
.projects .network-project-visual[data-system="tier"] .npv-broadcast-member[data-icon] .npv-broadcast-person{fill:#637DA3}
.projects .network-project-visual[data-system="tier"] .npv-broadcast-member[data-icon].is-reached .npv-broadcast-disc{fill:#637DA3;stroke:#637DA3}
.projects .network-project-visual[data-system="tier"] .npv-broadcast-member[data-icon].is-reached .npv-broadcast-person{fill:#FFFFFF}

.projects .network-project-visual[data-system="tier"] .npv-broadcast-receive,
.projects .network-project-visual[data-system="tier"] .npv-sender-focus,
.projects .network-project-visual[data-system="tier"] .npv-action-comet path,
.projects .network-project-visual[data-system="tier"] .npv-action-hub-ring,
.projects .network-project-visual[data-system="tier"] .hub-event-response,
.projects .network-project-visual[data-system="tier"] .card-marker{stroke:#7D92B6}
.projects .network-project-visual[data-system="tier"] .npv-action-light{fill:#7D92B6}
.projects .network-project-visual[data-system="tier"] .hub-main-event .hub-event-disc{fill:#637DA3}
@media(hover:hover){.projects .network-project-visual[data-system="tier"] .npv-sender[aria-disabled=false]:hover .npv-sender-ready{stroke:#7D92B6}}
