/* Homepage constellation. Kept separate from the shared marketing styles. */
.home-network{background:linear-gradient(180deg,#f4f6f7 0%,var(--paper) 100%);border-top:1px solid #e5e9eb;padding-block:88px 96px}
.network-heading{text-align:center;max-width:1000px;margin:0 auto 36px}
.network-heading .eyebrow{justify-content:center;margin-bottom:18px}
.network-heading h2{font-size:clamp(29px,3vw,43px);line-height:1.2}
.network-heading>p:last-child:not(.eyebrow){max-width:700px;margin:22px auto 0;font-size:15px}
.network-shell{max-width:1100px;margin:auto;border:1px solid #dce4e8;border-radius:26px;padding:22px 28px 28px;background:radial-gradient(ellipse at 50% 39%,#e8eef780,transparent 56%),#ffffff8c;box-shadow:0 18px 60px #0b4f6c06}
.network-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:32px;gap:12px}
.network-explore{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.network-map{position:relative;height:440px;isolation:isolate;margin:8px auto 20px;max-width:980px}
.network-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1;pointer-events:none}
.network-lines path{fill:none;stroke:#afc2d0;stroke-width:2;vector-effect:non-scaling-stroke;transition:stroke .5s,opacity .5s}
.network-lines .network-spoke{stroke-dasharray:4 7;opacity:.22}
.network-lines .network-edge{opacity:.8}
.network-lines .is-active{stroke:#145c9e;stroke-width:3;opacity:1}
.network-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:112px;height:112px;border-radius:28px;background:linear-gradient(45deg,#0b4f6c 0%,#854660 52%,#ef3054 100%);box-shadow:0 14px 36px #0b4f6c26,inset 0 1px 1px #ffffff50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid #ffffff88}
.network-hub img{width:86px;height:86px}
.network-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:max-content;max-width:210px;min-height:56px;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;border:1px solid #dce4e8;border-radius:15px;background:#fff;color:#677782;box-shadow:0 4px 12px #0b4f6c04;font-size:13px;font-weight:600;line-height:1.3;transition:border-color .35s,box-shadow .35s,color .35s,background .35s}
.network-node img{width:23px;height:23px;opacity:.6;transition:opacity .35s}
.network-node:disabled{opacity:1;cursor:default}
.network-node:hover,.network-node.is-active{border-color:#9cbace;color:var(--petrol);background:#f7fbff;box-shadow:0 5px 20px #145c9e0d}
.network-node.is-source{border-color:var(--blue);box-shadow:0 0 0 3px #145c9e09,0 6px 22px #145c9e10}
.network-node.is-active img,.network-node:hover img{opacity:1}
.network-story{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;margin-top:14px}
.network-detail,.network-outcome{border:1px solid #dce4e8;border-radius:16px;padding:23px 26px;background:#fff;min-height:164px}
.network-card-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin-bottom:13px}
.network-detail h3{font-size:16px;line-height:1.4;letter-spacing:-.025em;color:var(--petrol);font-family:Inter,sans-serif}
.network-detail h3>span{color:var(--red);padding-inline:5px}
.network-detail p{font-size:13px;line-height:1.65;margin-top:9px;max-width:510px}
.network-outcome{background:linear-gradient(120deg,#edf3f7,#f5f3f5);position:relative;padding-right:68px}
.network-outcome>p{font-family:Poppins,Inter,sans-serif;font-size:19px;line-height:1.5;letter-spacing:-.03em;color:var(--petrol);max-width:320px}
.network-step{position:absolute;right:20px;bottom:18px;font-size:10px;letter-spacing:.09em;color:#81909c;font-variant-numeric:tabular-nums}
.home-network.is-enhanced .network-story:not([hidden]){animation:network-reveal .4s ease-out}
@keyframes network-reveal{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:960px){.network-shell{padding:20px}.network-map{height:430px}.network-node{font-size:12px;padding:12px;gap:7px;max-width:170px}.network-detail,.network-outcome{padding:20px;min-height:185px}.network-outcome{padding-bottom:36px}.network-outcome>p{font-size:18px}.network-detail h3{font-size:15px}}
@media(max-width:600px){.home-network{padding-block:60px}.home-network>.container{width:calc(100% - 28px)}.network-heading{padding-inline:10px;margin-bottom:26px}.network-heading h2{font-size:29px}.network-heading>p:last-child:not(.eyebrow){font-size:14px}.network-shell{border-radius:20px;padding:16px 12px}.network-toolbar{padding-inline:4px}.network-explore{font-size:9px;letter-spacing:.05em}.network-map{height:460px;margin-top:8px;margin-bottom:16px}.network-node{width:104px;max-width:31%;min-height:66px;flex-direction:column;padding:9px 4px;gap:6px;border-radius:12px;font-size:11px;line-height:1.3}.network-node img{width:21px;height:21px}.network-node[data-node="2"]{left:84%}.network-node[data-node="6"]{left:16%}.network-hub{width:84px;height:84px;border-radius:22px;gap:5px}.network-hub img{width:64px;height:64px}.network-story{grid-template-columns:1fr;gap:10px}.network-detail{min-height:171px;padding:19px}.network-outcome{min-height:125px;padding:17px 50px 22px 19px}.network-outcome>p{font-size:16px}.network-card-label{margin-bottom:9px}.network-step{right:15px;bottom:14px}}
/* The visible edges have generous interactive strokes; cards stay above them. */
.network-lines{z-index:0}
.network-hub,.network-node{z-index:1}
.network-lines .network-edge.is-hovered{stroke:var(--blue);stroke-width:3.5;opacity:1}
.network-lines .network-hit{stroke:transparent;stroke-width:24;pointer-events:stroke;cursor:pointer;outline:none}
.network-lines .network-hit:focus-visible{stroke:#145c9e1c}
/* Reserve room for the longer standalone module copy as well as connections. */
.network-detail,.network-outcome{min-height:190px}
@media(max-width:600px){.network-detail{min-height:215px}.network-outcome{min-height:125px}.network-explore{max-width:100%}.network-node{overflow-wrap:anywhere}}

.network-explore-icon{width:26px;height:26px;flex:none;color:var(--petrol)}

/* Guided routes: a clear outer ring, quiet inner links, one or two dots per step. */
.network-lines .is-flowing{stroke:#cd6698;opacity:1}
.network-lines .is-active{stroke:var(--blue);opacity:1}
.network-dot{fill:#ed2b88;stroke:#fff;stroke-width:1;filter:drop-shadow(0 0 4px #ed2b8870);pointer-events:none;opacity:0}
@media(prefers-reduced-motion:reduce){.home-network *, .home-network *:before{animation:none!important;transition:none!important}.network-dot{display:none}}

.network-lines .network-cross{opacity:.24}
.network-lines .network-cross.is-active,.network-lines .network-cross.is-hovered,.network-lines .network-spoke.is-active{opacity:1}
.network-lines .is-flowing,.network-lines .network-cross.is-flowing{stroke:#d54689;stroke-width:3;opacity:1}
.network-node.is-sending{border-color:#d54689;box-shadow:0 0 0 3px #ed2b880c;color:var(--petrol)}
.network-node.is-receiving{border-color:var(--blue);box-shadow:0 0 0 4px #145c9e10;color:var(--petrol)}
.network-hub.is-sending,.network-hub.is-receiving{box-shadow:0 0 0 5px #ed2b8815,0 14px 36px #0b4f6c26}

.network-explore{border:0;background:transparent;padding:0;min-height:36px;text-align:left;cursor:pointer}
.network-explore:hover{color:var(--petrol)}
.network-explore:disabled{opacity:1;cursor:default}
.network-node.is-sending,.network-node.is-receiving{background:#f0f7fc}
.network-node.is-sending img,.network-node.is-receiving img{opacity:1}

/* Dark section framing the original light network panel. */
.home-network{background-color:#082b40;background-image:radial-gradient(ellipse at 15% 30%,#18567560,transparent 50%),radial-gradient(ellipse at 90% 80%,#37365e45,transparent 45%),linear-gradient(180deg,#071d30,#0b3c52);background-size:cover;background-position:center;background-repeat:no-repeat;border-top-color:#ffffff18;color:#f7fafc}
.home-network .network-heading h2,.home-network .network-heading h2 em{color:#f7fafc}
.home-network .network-heading>p{color:#c1d5df}
.home-network .network-shell{background:radial-gradient(ellipse at 50% 39%,#e8eef780,transparent 56%),#f7f9fa;color:var(--ink)}

/* Layered starfield with subtle parallax. */
.home-network{position:relative;isolation:isolate;overflow:hidden;background-color:#061b2d}
.home-network>.container{position:relative;z-index:1}

.network-sky{position:absolute;inset:0;pointer-events:none;z-index:0;--sky-x:0px;--sky-y:0px;--sky-scroll:0px}
.network-sky-far,.network-sky-near{position:absolute;inset:-70px;background-position:center;background-size:cover;background-repeat:no-repeat}
.network-sky-far{background-image:url('/public/img/network-constellation.svg');opacity:.8;transform:translate3d(calc(var(--sky-x) * .35),calc(var(--sky-y) * .35 + var(--sky-scroll) * .4),0)}
.network-sky-near{background-image:url('/public/img/network-stars-near.svg');transform:translate3d(var(--sky-x),calc(var(--sky-y) + var(--sky-scroll)),0)}
@media(max-width:600px){.network-sky-far,.network-sky-near{background-size:auto 100%}}
@media(prefers-reduced-motion:reduce){.network-sky-far,.network-sky-near{transform:none}}
