/* One base, real geography, the same RND network language as the logo. */
main.wrap.theme-home > section#pillars.h-network-story { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; min-height:80vh; gap:36px; position:relative; z-index:2; background:rgba(13,27,42,.72) !important; overflow:hidden; }
.nm-copy { position:relative; z-index:3; }
.nm-copy h2 { color:#f1f5f9; line-height:1.15; letter-spacing:-.035em; margin:0 0 24px; }
.nm-copy h2 span { color:#5eead4; }
.nm-copy h2::after { display:none; }
.theme-home .nm-copy > p { color:#b9cbd8; max-width:43ch; }
.nm-status { margin:32px 0; display:flex; flex-wrap:wrap; gap:24px; }
.nm-status dt { color:#f1f5f9; font-size:.9rem; font-weight:700; }
.nm-status dt::before { content:''; display:inline-block; margin-right:8px; width:6px; height:6px; border-radius:50%; background:#34d399; }
.nm-status > div:nth-child(2) dt::before { background:#22d3ee; }
.nm-status > div:nth-child(3) dt::before { background:#818cf8; }
.nm-status dd { margin:7px 0 0 14px; color:#b9cbd8; font-size:.8rem; }
.nm-map { position:relative; z-index:1; min-width:0; aspect-ratio:5/4; }
.nm-svg { position:relative; z-index:1; display:block; width:100%; height:100%; overflow:visible; }
.nm-country { fill:rgba(19,44,58,.32); stroke:rgba(96,145,162,.4); stroke-width:.8; vector-effect:non-scaling-stroke; }
.nm-serbia { fill:rgba(16,185,129,.14); stroke:rgba(52,211,153,.7); stroke-width:1.1; }
.nm-route { stroke:#22d3ee; stroke-width:1; opacity:.3; vector-effect:non-scaling-stroke; }
.nm-route.is-active { opacity:.75; }
.nm-remotes { fill:#67b9d3; }
.nm-remotes text { font:11px var(--font-body); fill:#8daabd; letter-spacing:2px; }
.nm-packets { fill:none; stroke:#a7f3d0; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
.nm-hit { fill:transparent; }
.nm-node { cursor:pointer; }
.nm-core { fill:#34d399; stroke:#0d1b2a; stroke-width:2; transition:r .2s; }
.nm-project .nm-core { fill:#22d3ee; }
.nm-halo { fill:#10b981; fill-opacity:.15; stroke:#34d399; stroke-opacity:.35; }
.nm-node text { fill:#f1f5f9; font:600 18px var(--font-display); paint-order:stroke; stroke:#0d1b2a; stroke-width:4px; stroke-linejoin:round; }
.nm-node .nm-small { font-size:10px; letter-spacing:1px; fill:#bdd0dd; stroke-width:3px; }
.nm-node:hover .nm-core, .nm-node:focus-visible .nm-core { r:7px; }
.nm-node:focus-visible { outline:none; }
.nm-node:focus-visible .nm-hit { stroke:#5eead4; stroke-width:2; }
.nm-particles { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.theme-home .nm-caption { margin:0; font-size:.75rem; color:#91abba; text-align:center; }
.nm-map.is-revealing .nm-land { animation:nm-land-in 1.6s ease-out both; transform-origin:50% 45%; }
.nm-map.is-revealing .nm-routes { animation:nm-line-in 1s .6s ease-out both; }
.nm-map.is-revealing .nm-node,.nm-map.is-revealing .nm-remotes { animation:nm-node-in .6s .8s ease-out both; }
.nm-map.is-paused * { animation-play-state:paused !important; }
@keyframes nm-land-in { from { opacity:0; transform:scale(.94); } to { opacity:1; transform:scale(1); } }
@keyframes nm-line-in { from { stroke-dasharray:1; stroke-dashoffset:1; opacity:0; } to { stroke-dasharray:1; stroke-dashoffset:0; opacity:1; } }
@keyframes nm-node-in { from { opacity:0; } to { opacity:1; } }
@media(max-width:800px) { main.wrap.theme-home > section#pillars.h-network-story { grid-template-columns:1fr; gap:32px; min-height:0; } .nm-map { aspect-ratio:4/5; } .nm-svg { overflow:hidden; } .nm-status { gap:20px; } }
@media(prefers-reduced-motion:reduce) { .nm-map * { animation:none !important; transition:none !important; } .nm-particles { display:none; } }
