/* One synchronized round trip: pool blue out, orange back, then core charge. */
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:3%;padding-inline:7%}
.network{width:94%;max-width:680px;aspect-ratio:1/1.02;margin:0 auto 58px;background:radial-gradient(ellipse at center,#12315a80,transparent 70%);border:0;border-radius:0;display:block;isolation:isolate}
.network::before{display:none}.network .network-energy{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible;pointer-events:none}
.network .energy-orbit{fill:none;stroke:#31577a55;stroke-width:1;stroke-dasharray:3 10}.network .energy-orbit-inner{stroke-dasharray:none}
.network .energy-track{fill:none;stroke:#3b5c7f;stroke-width:1.6}.energy-marker{color:#35c9d6;pointer-events:none}.energy-marker circle{fill:currentColor}.energy-marker circle:first-child{opacity:.2}.energy-marker circle:last-child{filter:drop-shadow(0 0 5px currentColor)}
.network .core{position:absolute;top:49%;left:50%;width:clamp(146px,10.7vw,170px);height:clamp(146px,10.7vw,170px);transform:translate(-50%,-50%);margin:0;z-index:2;background:#122c4c;border:1px solid #35c9d6;box-shadow:0 0 55px #35c9d623;transition:background .5s,box-shadow .5s,border-color .5s}
.network .core strong{font-size:clamp(30px,2.3vw,37px)}.network .core small{font-size:12px;transition:color .4s}.network .core strong span{transition:color .4s}
.network .core::after{content:'';position:absolute;inset:-2px;border:2px solid #65e5e8;border-radius:50%;opacity:0;pointer-events:none}
.network[data-flow=charge] .core{background:#35c9d6;border-color:#a1fbfc;box-shadow:0 0 35px #35c9d699,0 0 90px #35c9d65c,0 0 150px #35c9d626;color:#08263d}
.network[data-flow=charge] .core small{color:#103e50}.network[data-flow=charge] .core strong span{color:#113c53}.network[data-flow=charge] .core::after{animation:network-charge 1.2s ease-out both}
.network .node{position:absolute;inset:auto;transform:translate(-50%,-50%);z-index:2;max-width:25%;width:max-content;min-width:102px;min-height:48px;display:flex;align-items:center;justify-content:center;padding:9px 11px;font-size:clamp(13px,1.03vw,15px);font-weight:500;line-height:1.7;background:#142b48;border:1px solid #496584;border-radius:9px;transition:border-color .35s,box-shadow .35s}
.network .node::before{display:none}.network[data-flow=arrive] .node{border-color:#61dce4;box-shadow:0 0 20px #35c9d634}
.network .n1{top:10%;left:35%}.network .n10{top:10%;left:66%}.network .n2{top:28%;left:82%}.network .n3{top:49%;left:85%}.network .n4{top:71%;left:80%}.network .n7{top:89%;left:65%}.network .n8{top:89%;left:34%}.network .n5{top:71%;left:19%}.network .n9{top:49%;left:15%}.network .n6{top:28%;left:17%}
.network .network-bottom{position:absolute;top:100%;bottom:auto;left:0;right:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding-top:14px;font-size:12px;letter-spacing:0}
.network-play{font-size:11px;min-height:32px;border:1px solid #496584;border-radius:6px;padding:4px 10px;background:#122b46;color:#c9e3ee;white-space:nowrap}.network-play[hidden]{display:none}.network-play:hover{border-color:#35c9d6;color:#fff}
.network[data-running=false] .core::after{animation-play-state:paused}
@keyframes network-charge{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.55)}}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.network{max-width:660px}.network .core{width:164px;height:164px}.network .core strong{font-size:35px}.network .node{font-size:15px}}
@media(max-width:600px){.network{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px;aspect-ratio:auto;padding:12px 0 0;margin-bottom:0;max-width:450px}.network .core{position:relative;inset:auto;transform:none;grid-column:1/-1;justify-self:center;width:150px;height:150px;margin:0 0 16px}.network .core strong{font-size:34px}.network .node{position:relative;inset:auto;transform:none;grid-column:auto;justify-self:stretch;width:100%;max-width:none;min-width:0;min-height:58px;font-size:14px;padding:10px 8px}.network .network-bottom{position:relative;inset:auto;grid-column:1/-1;padding-top:0;font-size:10px;gap:8px}.network .energy-orbit{display:none}}
/* Match the content gutters and wide-screen cap used by every .section. */
@media(min-width:1600px){.hero{padding-inline:max(7%,calc((100vw - 1450px)/2))}}
@media(max-width:1000px){.hero{padding-inline:5%}}
@media(prefers-reduced-motion:reduce){.network .core::after{animation:none!important}.network .energy-marker{display:none}.network .core,.network .node{transition:none!important}}
