/* Synchronized 6s cycle: nodes glow while bars grow in sequence (~2s).
   Existing scatter positions, portraits, sparkle wash and all UI stay intact. */
.ii-hero-motion .ii-traveller38{display:none!important;animation:none!important}
.ii-hero-motion .trace{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important;opacity:.7;stroke-width:3}
.ii-hero-motion svg>circle{transform-box:fill-box;transform-origin:center;fill:#ffe7ac;stroke:#ff9800;stroke-width:2;animation-duration:6s!important;animation-delay:0s!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important}
.ii-hero-motion svg>rect{transform-box:fill-box;transform-origin:center bottom;animation-duration:6s!important;animation-delay:0s!important;animation-timing-function:cubic-bezier(.2,.75,.3,1)!important;animation-iteration-count:infinite!important}
.ii-hero-motion .ii-bubble38{animation:ii-matrix48 4.6s ease-in-out infinite!important;animation-delay:var(--delay)!important;transform-box:fill-box;transform-origin:center}
.ii-hero-motion .ii-bubble38:nth-of-type(even){animation-name:ii-matrix-reverse48!important}
@keyframes ii-matrix48{0%,100%{transform:translate(-5px,6px) scale(.82);opacity:.6}50%{transform:translate(7px,-9px) scale(1.3);opacity:1}}
@keyframes ii-matrix-reverse48{0%,100%{transform:translate(6px,-7px) scale(1.2);opacity:.95}50%{transform:translate(-7px,8px) scale(.8);opacity:.6}}
/* Generated per-node/bar keyframes are appended by ii-v48-prepare.mjs. */
@media(prefers-reduced-motion:reduce){
 .ii-hero-motion svg>circle,.ii-hero-motion svg>rect,.ii-hero-motion .ii-bubble38{animation:none!important;transform:none!important;opacity:.7;filter:none!important}
}

.ii-hero-motion svg>circle:nth-of-type(1){animation-name:ii-node48-0!important}
@keyframes ii-node48-0{0%,4%,13%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}7%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(2){animation-name:ii-node48-1!important}
@keyframes ii-node48-1{0%,6%,15%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}9%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(3){animation-name:ii-node48-2!important}
@keyframes ii-node48-2{0%,8%,17%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}11%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(4){animation-name:ii-node48-3!important}
@keyframes ii-node48-3{0%,10%,19%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}13%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(5){animation-name:ii-node48-4!important}
@keyframes ii-node48-4{0%,12%,21%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}15%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(6){animation-name:ii-node48-5!important}
@keyframes ii-node48-5{0%,14%,23%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}17%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(7){animation-name:ii-node48-6!important}
@keyframes ii-node48-6{0%,16%,25%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}19%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(8){animation-name:ii-node48-7!important}
@keyframes ii-node48-7{0%,18%,27%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}21%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(9){animation-name:ii-node48-8!important}
@keyframes ii-node48-8{0%,20%,29%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}23%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(10){animation-name:ii-node48-9!important}
@keyframes ii-node48-9{0%,22%,31%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}25%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(11){animation-name:ii-node48-10!important}
@keyframes ii-node48-10{0%,24%,33%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}27%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(12){animation-name:ii-node48-11!important}
@keyframes ii-node48-11{0%,26%,35%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}29%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(13){animation-name:ii-node48-12!important}
@keyframes ii-node48-12{0%,28%,37%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}31%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(14){animation-name:ii-node48-13!important}
@keyframes ii-node48-13{0%,30%,39%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}33%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>circle:nth-of-type(15){animation-name:ii-node48-14!important}
@keyframes ii-node48-14{0%,32%,41%,100%{opacity:.6;transform:scale(1);filter:drop-shadow(0 0 2px #ff9800)}35%{opacity:1;transform:scale(1.65);filter:drop-shadow(0 0 10px #fff1c0);fill:#fff9df}}
.ii-hero-motion svg>rect:nth-of-type(1){animation-name:ii-column48-0!important}
@keyframes ii-column48-0{0%,1%{transform:scaleY(0);opacity:0}11%,87%{transform:scaleY(1);opacity:.64}96%,100%{transform:scaleY(1);opacity:0}}
.ii-hero-motion svg>rect:nth-of-type(2){animation-name:ii-column48-1!important}
@keyframes ii-column48-1{0%,4%{transform:scaleY(0);opacity:0}14%,87%{transform:scaleY(1);opacity:.64}96%,100%{transform:scaleY(1);opacity:0}}
.ii-hero-motion svg>rect:nth-of-type(3){animation-name:ii-column48-2!important}
@keyframes ii-column48-2{0%,7%{transform:scaleY(0);opacity:0}17%,87%{transform:scaleY(1);opacity:.64}96%,100%{transform:scaleY(1);opacity:0}}
.ii-hero-motion svg>rect:nth-of-type(4){animation-name:ii-column48-3!important}
@keyframes ii-column48-3{0%,10%{transform:scaleY(0);opacity:0}20%,87%{transform:scaleY(1);opacity:.64}96%,100%{transform:scaleY(1);opacity:0}}
.ii-hero-motion svg>rect:nth-of-type(5){animation-name:ii-column48-4!important}
@keyframes ii-column48-4{0%,13%{transform:scaleY(0);opacity:0}23%,87%{transform:scaleY(1);opacity:.64}96%,100%{transform:scaleY(1);opacity:0}}
.ii-hero-motion svg>rect:nth-of-type(6){animation-name:ii-column48-5!important}
@keyframes ii-column48-5{0%,16%{transform:scaleY(0);opacity:0}26%,87%{transform:scaleY(1);opacity:.64}96%,100%{transform:scaleY(1);opacity:0}}
.ii-hero-motion svg>rect:nth-of-type(7){animation-name:ii-column48-6!important}
@keyframes ii-column48-6{0%,19%{transform:scaleY(0);opacity:0}29%,87%{transform:scaleY(1);opacity:.64}96%,100%{transform:scaleY(1);opacity:0}}
.ii-hero-motion svg>rect:nth-of-type(8){animation-name:ii-column48-7!important}
@keyframes ii-column48-7{0%,22%{transform:scaleY(0);opacity:0}32%,87%{transform:scaleY(1);opacity:.64}96%,100%{transform:scaleY(1);opacity:0}}