/* Aegius v5 — irregular graph brain, reusable as hero and loader. */
.bw-aegius-v5{
  --ag-cyan:#52d7ff;
  --ag-cyan-strong:#76e3ff;
  --ag-line:rgba(82,215,255,.30);
  --ag-line-faint:rgba(82,215,255,.15);
  --ag-line-strong:rgba(82,215,255,.58);
  --ag-volt:#B9DB1B;
  --ag-glow:rgba(5,185,242,.35);
  pointer-events:none;
  user-select:none;
}

.bw-home-visual>.bw-aegius-v5--hero{
  position:absolute;
  left:50%;
  top:-17px;
  width:min(372px,96%);
  aspect-ratio:360/300;
  transform:translateX(-50%);
  z-index:1;
}

.bw-aegius-v5 svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  filter:drop-shadow(0 0 18px rgba(5,185,242,.13)) drop-shadow(0 10px 24px rgba(0,0,0,.13));
  animation:bwAegiusV5Float 8.6s ease-in-out infinite;
}

.bw-aegius-v5__boundary,
.bw-aegius-v5__edge,
.bw-aegius-v5__route{
  fill:none;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bw-aegius-v5__boundary{
  stroke:var(--ag-line-strong);
  stroke-width:1.45;
  opacity:.92;
  filter:drop-shadow(0 0 4px rgba(5,185,242,.18));
}

.bw-aegius-v5__edge{
  stroke:var(--ag-line);
  stroke-width:.95;
  opacity:.7;
  animation:bwAegiusV5Edge 5.4s ease-in-out var(--phase,0s) infinite;
}
.bw-aegius-v5__edge--faint{stroke:var(--ag-line-faint);opacity:.48}
.bw-aegius-v5__edge--strong{stroke:rgba(82,215,255,.44);stroke-width:1.18;opacity:.86}

.bw-aegius-v5__route{
  stroke:rgba(82,215,255,.08);
  stroke-width:1.45;
  opacity:.4;
}
.bw-aegius-v5__route[data-speed="burst"]{stroke:rgba(185,219,27,.08)}

.bw-aegius-v5__node{
  fill:var(--ag-cyan);
  stroke:#e9fbff;
  stroke-width:1.02;
  transform-box:fill-box;
  transform-origin:center;
  animation:bwAegiusV5Node var(--pulse,3.4s) ease-in-out infinite;
  animation-delay:calc(var(--i) * -.113s);
  filter:drop-shadow(0 0 4px var(--ag-glow));
}
.bw-aegius-v5__node--hub{
  stroke-width:1.42;
  filter:drop-shadow(0 0 8px rgba(5,185,242,.40));
}
.bw-aegius-v5__node--volt{
  fill:var(--ag-volt);
  stroke:#f4ffd4;
  filter:drop-shadow(0 0 6px rgba(185,219,27,.30));
}
.bw-aegius-v5__node--core{
  fill:#6be3ff;
  stroke:#f4fdff;
  stroke-width:1.7;
  animation:bwAegiusV5Core 3.15s ease-in-out infinite;
  filter:drop-shadow(0 0 10px rgba(5,185,242,.52));
}

.bw-aegius-v5__packet{
  fill:#dff9ff;
  stroke:var(--ag-cyan);
  stroke-width:.6;
  filter:drop-shadow(0 0 5px rgba(5,185,242,.8));
}
.bw-aegius-v5__packet[data-speed="slow"]{opacity:.62;filter:drop-shadow(0 0 4px rgba(5,185,242,.54))}
.bw-aegius-v5__packet[data-speed="medium"]{opacity:.82}
.bw-aegius-v5__packet[data-speed="fast"]{opacity:1;filter:drop-shadow(0 0 7px rgba(5,185,242,.92))}
.bw-aegius-v5__packet[data-speed="burst"]{
  fill:#f4ffd7;
  stroke:var(--ag-volt);
  opacity:1;
  filter:drop-shadow(0 0 8px rgba(185,219,27,.95));
}

.bw-aegius-v5.is-bursting .bw-aegius-v5__node--hub,
.bw-aegius-v5.is-bursting .bw-aegius-v5__node--core{
  animation-duration:.72s;
}
.bw-aegius-v5.is-bursting .bw-aegius-v5__edge--strong{
  stroke:rgba(106,225,255,.66);
  opacity:1;
}

/* Same brand mark at loader scale. */
.bw-aegius-loader{
  display:inline-grid;
  place-items:center;
  width:84px;
  height:70px;
  min-width:84px;
  min-height:70px;
}
.bw-aegius-loader .bw-aegius-v5--loader{
  width:84px;
  height:70px;
}
.bw-aegius-loader .bw-aegius-v5--loader svg{
  width:100%;
  height:100%;
  filter:drop-shadow(0 0 10px rgba(5,185,242,.18));
}
.bw-aegius-loader .bw-aegius-v5__edge--faint{opacity:.18}
.bw-aegius-loader .bw-aegius-v5__node:not(.bw-aegius-v5__node--hub):not(.bw-aegius-v5__node--core):not(.bw-aegius-v5__node--volt){opacity:.72}

html[data-design="classic"] .bw-aegius-v5{
  --ag-cyan:#079dcf;
  --ag-cyan-strong:#0b8fb9;
  --ag-line:rgba(14,119,158,.27);
  --ag-line-faint:rgba(14,119,158,.12);
  --ag-line-strong:rgba(14,119,158,.43);
  --ag-glow:rgba(5,185,242,.18);
}
html[data-design="classic"] .bw-aegius-v5 svg{filter:drop-shadow(0 7px 16px rgba(16,34,56,.075))}
html[data-design="classic"] .bw-aegius-v5__packet{filter:none}

@keyframes bwAegiusV5Float{
  0%,100%{transform:translate3d(0,2px,0) scale(.995)}
  50%{transform:translate3d(0,-4px,0) scale(1.01)}
}
@keyframes bwAegiusV5Edge{
  0%,100%{opacity:.42}
  45%{opacity:.82}
  62%{opacity:.58}
}
@keyframes bwAegiusV5Node{
  0%,100%{opacity:.47;transform:scale(.86)}
  50%{opacity:1;transform:scale(1.10)}
}
@keyframes bwAegiusV5Core{
  0%,100%{opacity:.74;transform:scale(.91)}
  50%{opacity:1;transform:scale(1.25)}
}

@media(max-width:980px){
  .bw-home-visual>.bw-aegius-v5--hero{top:-11px;width:min(350px,80vw)}
}

@media(max-width:620px){
  .bw-home-visual>.bw-aegius-v5--hero{
    position:absolute;
    left:auto;
    right:2px;
    top:62px;
    width:clamp(132px,40vw,164px);
    transform:none;
    z-index:1;
  }
  .bw-aegius-v5__edge{stroke-width:1.08}
  .bw-aegius-v5__boundary{stroke-width:1.55}
}

@media(prefers-reduced-motion:reduce){
  .bw-aegius-v5 svg,
  .bw-aegius-v5__edge,
  .bw-aegius-v5__node{
    animation:none!important;
    transform:none!important;
  }
  .bw-aegius-v5__packet{display:none!important}
  .bw-aegius-v5__edge{opacity:.68!important}
  .bw-aegius-v5__node{opacity:.84!important}
}
