.exp-block{position:relative}.exp-anim{position:absolute;right:1.75rem;top:50%;transform:translateY(-50%);width:110px;height:110px;pointer-events:none;opacity:.9;--accent: #00FFE0}.exp-anim svg{width:100%;height:100%;display:block}.exp-block .exp-content{padding-right:160px}@media(max-width:820px){.exp-anim{display:none}.exp-block .exp-content{padding-right:0}}.exp-block:not(.in) .exp-anim *{animation-play-state:paused!important}.exp-anim[data-anim=matrix] .mdot{fill:var(--accent);opacity:.12;animation:mdot-flash 4s ease-in-out infinite}@keyframes mdot-flash{0%,to{opacity:.12;r:2.2px}35%,58%{opacity:.95;r:3.2px}}.exp-anim[data-anim=converge] .cguid{stroke:var(--accent);stroke-width:.6;opacity:.18;stroke-dasharray:3 4}.exp-anim[data-anim=converge] .cdot{fill:var(--accent);opacity:.45;animation:conv-in 4.5s cubic-bezier(.4,0,.2,1) infinite}.exp-anim[data-anim=converge] .ctr-node{fill:var(--accent);animation:ctr-pulse 4.5s ease-in-out infinite}@keyframes conv-in{0%,8%{transform:translate(0);opacity:.45}42%,58%{transform:translate(var(--tx),var(--ty));opacity:1}90%,to{transform:translate(0);opacity:.45}}@keyframes ctr-pulse{0%,35%{r:4px;opacity:.25}48%,55%{r:8px;opacity:1}70%,to{r:4px;opacity:.25}}.exp-anim[data-anim=facescan] .face-oval{stroke:var(--accent);fill:none;stroke-width:1.2;opacity:.35}.exp-anim[data-anim=facescan] .lm{fill:var(--accent);opacity:0;animation:lm-appear 5.2s ease-in-out infinite}.exp-anim[data-anim=facescan] .fs-corner{stroke:var(--accent);fill:none;stroke-width:1.5;opacity:.68}.exp-anim[data-anim=facescan] .fs-scan{stroke:var(--accent);stroke-width:1.2;opacity:0;animation:fss-scan 5.2s ease-in-out infinite}.exp-anim[data-anim=facescan] .fs-ring{fill:none;stroke:var(--accent);stroke-width:1.5;opacity:0;transform-box:view-box;transform-origin:50% 50%;animation:fss-ring 5.2s ease-in-out infinite}@keyframes fss-scan{0%,5%{transform:translateY(0);opacity:0}9%{opacity:.85}72%{transform:translateY(156px);opacity:.85}76%{transform:translateY(156px);opacity:0}77%,to{transform:translateY(0);opacity:0}}@keyframes lm-appear{0%,40%{opacity:0}55%,72%{opacity:.95}82%,to{opacity:.25}}@keyframes fss-feat{0%,40%{opacity:0}58%,72%{opacity:.8}84%,to{opacity:.2}}@keyframes fss-ring{0%,76%{opacity:0;transform:scale(.88)}84%,92%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}.exp-anim[data-anim=mesh] .wire{stroke:var(--accent);fill:none;stroke-width:.8;opacity:.4}.exp-anim[data-anim=mesh] .scan{stroke:var(--accent);stroke-width:1.2;opacity:.9;animation:mesh-scan 5s linear infinite}.exp-anim[data-anim=mesh] .vert{fill:var(--accent);opacity:.15;animation:mesh-flash 5s linear infinite}@keyframes mesh-scan{0%{transform:translateY(0);opacity:0}4%{opacity:.9}92%{opacity:.9}to{transform:translateY(130px);opacity:0}}@keyframes mesh-flash{0%,to{opacity:.15}3%{opacity:1}18%{opacity:.15}}.exp-anim[data-anim=lidar] .sweep{transform-box:view-box;transform-origin:50% 50%;animation:lidar-rot 6s linear infinite}.exp-anim[data-anim=lidar] .beam{stroke:var(--accent);stroke-width:1.4;opacity:.9}.exp-anim[data-anim=lidar] .grid{stroke:var(--accent);fill:none;stroke-width:.7;opacity:.3}.exp-anim[data-anim=lidar] .blip{fill:var(--accent);opacity:.15;animation:lidar-blip 6s linear infinite}.exp-anim[data-anim=lidar] .core{fill:var(--accent)}@keyframes lidar-rot{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes lidar-blip{0%,to{opacity:.15}2%{opacity:1}30%{opacity:.15}}.exp-anim[data-anim=flask] .foutline{stroke:var(--accent);fill:none;stroke-width:1.5;opacity:.9}.exp-anim[data-anim=flask] .fcork{stroke:var(--accent);fill:none;stroke-width:1;opacity:.7}.exp-anim[data-anim=flask] .fmark{stroke:var(--accent);stroke-width:1;opacity:.45}.exp-anim[data-anim=flask] .fliq{fill:var(--accent);animation:fliq-shimmer 4s ease-in-out infinite}.exp-anim[data-anim=flask] .fbub{fill:none;stroke:var(--accent);stroke-width:1.2;opacity:0;animation:fbub-rise 3s ease-in infinite}@keyframes fliq-shimmer{0%,to{opacity:.1}50%{opacity:.18}}@keyframes fbub-rise{0%{transform:translateY(0);opacity:0}8%{opacity:.85}85%{opacity:.4}to{transform:translateY(-72px);opacity:0}}@media(prefers-reduced-motion:reduce){.exp-anim *{animation:none!important}.exp-anim[data-anim=matrix] .mdot,.exp-anim[data-anim=converge] .cdot,.exp-anim[data-anim=facescan] .lm{opacity:.5}.exp-anim[data-anim=facescan] .fs-scan,.exp-anim[data-anim=mesh] .scan{opacity:0}.exp-anim[data-anim=mesh] .vert,.exp-anim[data-anim=lidar] .blip{opacity:.5}.exp-anim[data-anim=flask] .fbub{opacity:0}}
