/* Ventures brain map — extracted from the approved mockup (Ventures3.dc.html). */
a{color:#0A1633;text-decoration:none}a:hover{color:#1F4FFF}
.rise{animation:rise 1.2s cubic-bezier(.16,1,.3,1) both}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.lay{transform-box:view-box;transform-origin:720px 380px}
.lay0{animation:appear 2.4s ease-out both,rot0 26s ease-in-out 2.4s infinite alternate}
.lay1{animation:appear 1.8s ease-out both,rot1 30s ease-in-out 1.8s infinite alternate}
.lay2{animation:appear 1.8s ease-out .3s both,rot2 24s ease-in-out 2.1s infinite alternate}
.lay3{animation:appear 1.8s ease-out .6s both,rot3 19s ease-in-out 2.4s infinite alternate}
@keyframes appear{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes rot0{from{transform:scale(1)}to{transform:translate(-16px,8px) scale(1)}}
@keyframes rot1{from{transform:scale(1)}to{transform:rotate(-3deg) translate(-8px,4px) scale(1.01)}}
@keyframes rot2{from{transform:scale(1)}to{transform:rotate(2deg) translate(6px,-5px) scale(1)}}
@keyframes rot3{from{transform:scale(1)}to{transform:rotate(-1.5deg) translate(4px,6px) scale(1.025)}}
.flow{stroke-dasharray:4 10;animation:flow 2.8s linear infinite,fadein 1s ease-out 1.2s both}
@keyframes flow{to{stroke-dashoffset:-28}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.spark{position:absolute;left:0;top:0;width:6px;height:6px;border-radius:50%;background:#1F4FFF;box-shadow:0 0 0 3px rgba(31,79,255,.16),0 0 14px 3px rgba(31,79,255,.5);offset-rotate:0deg;animation:travel 3.2s cubic-bezier(.45,0,.55,1) infinite;opacity:0}
@keyframes travel{0%{offset-distance:0%;opacity:0}15%{opacity:1}85%{opacity:1}100%{offset-distance:100%;opacity:0}}
.p1{offset-path:path('M720 366C660 350 560 310 470 272')}
.p2{offset-path:path('M720 366C780 350 880 306 970 272')}
.p3{offset-path:path('M470 272Q720 196 970 272')}
.float{animation:nodein 1s cubic-bezier(.16,1,.3,1) both,drift 7s ease-in-out infinite alternate}
@keyframes nodein{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
@keyframes drift{from{translate:0 0}to{translate:0 -10px}}
.pulse{animation:pulse 3.4s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(31,79,255,.35)}100%{box-shadow:0 0 0 22px rgba(31,79,255,0)}}
.wave{animation:wave 9s linear infinite}
@keyframes wave{to{transform:translateX(-780px)}}
.neb{transform-box:view-box;transform-origin:720px 380px}
.nebA{animation:nebA 20s ease-in-out infinite alternate}
.nebB{animation:nebB 27s ease-in-out infinite alternate}
.nebC{animation:nebC 31s ease-in-out infinite alternate}
@keyframes nebA{to{transform:translate(70px,-25px) rotate(4deg) scale(1.1)}}
@keyframes nebB{to{transform:translate(-80px,30px) rotate(-5deg) scale(1.12)}}
@keyframes nebC{to{transform:translate(45px,45px) rotate(3deg) scale(.92)}}
.clu{animation-name:flare;animation-timing-function:ease-in-out;animation-iteration-count:infinite;opacity:.22}
@keyframes flare{0%,100%{opacity:.22}45%{opacity:.22}55%{opacity:1}70%{opacity:.35}}
.cglow{animation-name:cglow;animation-timing-function:ease-in-out;animation-iteration-count:infinite;opacity:0}
@keyframes cglow{0%,45%,100%{opacity:0}55%{opacity:1}75%{opacity:0}}
.tw{transform-box:fill-box;transform-origin:center;animation-name:tw;animation-timing-function:ease-in-out;animation-iteration-count:infinite;opacity:0}
@keyframes tw{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.3)}}
.nwrap{position:absolute;transition:left 1.1s cubic-bezier(.16,1,.3,1),top 1.1s cubic-bezier(.16,1,.3,1),opacity .8s ease,scale 1.1s cubic-bezier(.16,1,.3,1)}
.draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s cubic-bezier(.16,1,.3,1) .15s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.flowin{stroke-dasharray:4 10;opacity:0;animation:fadein .6s ease-out 1s forwards,flow 2.8s linear 1s infinite}
.draw2{opacity:0;animation:fadein .8s ease-out .5s forwards}
.ripple{position:absolute;left:720px;top:360px;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:1px solid #1F4FFF;animation:ripple 1.4s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none}
@keyframes ripple{from{transform:scale(.5);opacity:.9}to{transform:scale(9);opacity:0}}
.hint{animation:hint 2.4s ease-in-out infinite}
@keyframes hint{0%,100%{opacity:.55}50%{opacity:1}}
.fl{transform-box:fill-box;transform-origin:center;animation-name:fl;animation-timing-function:ease-out;animation-iteration-count:infinite;opacity:0}
@keyframes fl{0%,88%,100%{opacity:0;transform:scale(.3)}91%{opacity:1;transform:scale(1.2)}95%{opacity:.6;transform:scale(1)}}
.cometw{position:absolute;width:0;height:0;pointer-events:none}
.comet{position:absolute;left:0;top:-1px;width:260px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,rgba(42,62,140,0),rgba(42,62,140,.28) 62%,rgba(10,22,51,.85));opacity:0;animation:comet linear infinite}
.comet::after{content:"";position:absolute;right:-2px;top:-2.2px;width:6px;height:6px;border-radius:50%;background:#0A1633;box-shadow:0 0 5px 1px rgba(42,62,140,.55),0 0 14px 4px rgba(42,62,140,.22)}
.comet.cg{background:linear-gradient(90deg,rgba(14,107,92,0),rgba(14,107,92,.32) 62%,rgba(14,107,92,.9))}
.comet.cg::after{background:#0E6B5C;box-shadow:0 0 5px 1px rgba(14,107,92,.6),0 0 14px 4px rgba(14,107,92,.25)}
.comet.cr{background:linear-gradient(90deg,rgba(140,58,46,0),rgba(140,58,46,.32) 62%,rgba(140,58,46,.9))}
.comet.cr::after{background:#8C3A2E;box-shadow:0 0 5px 1px rgba(140,58,46,.6),0 0 14px 4px rgba(140,58,46,.25)}
@keyframes comet{0%{transform:translateX(-300px);opacity:0}1%{opacity:.9}8%{opacity:.9}11%{transform:translateX(1560px);opacity:0}100%{transform:translateX(1560px);opacity:0}}
.dend,.axon{fill:none;stroke:#1F4FFF;stroke-width:1.7;stroke-linecap:round;stroke-dasharray:6 94;animation-timing-function:linear;animation-iteration-count:infinite;opacity:0}
.dend{animation-name:dend}
.dend.b{animation-name:dendb}
.axon{animation-name:axon;stroke-width:2;stroke-dasharray:8 92}
@keyframes dend{0%{stroke-dashoffset:100;opacity:0}6%{opacity:.95}30%{stroke-dashoffset:0;opacity:.95}33%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes dendb{0%{stroke-dashoffset:100;opacity:0}4%{opacity:.95}24%{stroke-dashoffset:0;opacity:.95}27%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes axon{0%,33%{stroke-dashoffset:100;opacity:0}36%{opacity:.95}70%{stroke-dashoffset:0;opacity:.9}74%,100%{stroke-dashoffset:0;opacity:0}}
.soma{animation-name:soma;animation-timing-function:ease-out;animation-iteration-count:infinite;opacity:.25}
@keyframes soma{0%,29%{opacity:.25}33%{opacity:1}52%{opacity:.4}100%{opacity:.25}}
.halo{animation-name:halo;animation-timing-function:ease-out;animation-iteration-count:infinite;opacity:0}
@keyframes halo{0%,30%{opacity:0;transform:scale(.4)}34%{opacity:.30;transform:scale(1)}56%,100%{opacity:0;transform:scale(1.25)}}
.halo{transform-box:fill-box;transform-origin:center}
.node{background:transparent;border:0;cursor:pointer;font:inherit;color:inherit;padding:10px}
.node:focus-visible{outline:1px solid #0A1633;outline-offset:4px;border-radius:6px}
.bpl{background-color:#F4F6FA;background-image:linear-gradient(rgba(10,22,51,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(10,22,51,.05) 1px,transparent 1px);background-size:48px 48px}
.fi::placeholder{color:#8A94AD}
@media (prefers-reduced-motion: reduce){.rise,.lay,.flow,.spark,.float,.pulse,.wave,.neb,.clu,.cglow,.tw,.hint,.ripple,.dend,.axon,.soma,.halo{animation:none}.spark,.ripple,.comet{display:none}.fl{animation:none}.fl{opacity:.6}.dend,.axon,.halo{display:none}.soma{opacity:.8}.draw,.flowin{animation:none;stroke-dashoffset:0;opacity:1}.nwrap{transition:none}}
