/* Animated routes from the original design, with restrained contrast. */
.hero,.technical-hero{position:relative;isolation:isolate;overflow:hidden}
.hero>.shell,.technical-hero>.shell{position:relative;z-index:1}
.hero-tech-surface{position:absolute;z-index:0;top:0;bottom:0;right:-5%;width:70%;pointer-events:none;overflow:hidden;opacity:.5;mask-image:linear-gradient(90deg,transparent,#000 25%)}
.hero-tech-surface svg{display:block;width:100%;height:100%}
.tech-route{fill:none;stroke:var(--light-muted);stroke-width:.8;opacity:.23;vector-effect:non-scaling-stroke}
.tech-trace{fill:none;stroke:var(--bronze);stroke-width:1.5;stroke-dasharray:5 95;stroke-dashoffset:100;opacity:.75;vector-effect:non-scaling-stroke;animation:pablo-route 16s linear infinite;animation-play-state:paused}
.tech-trace:nth-of-type(2){animation-delay:-5s;animation-duration:20s}
.tech-trace:nth-of-type(3){animation-delay:-11s;animation-duration:24s}
.tech-node{fill:var(--bronze);opacity:.5;animation:pablo-node 9s ease-in-out infinite;animation-play-state:paused}
.tech-node:nth-of-type(2){animation-delay:-3s}.tech-node:nth-of-type(3){animation-delay:-6s}
.lines-active .tech-trace,.lines-active .tech-node{animation-play-state:running}
.method-steps>li{position:relative}
.method-steps>li:before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:var(--bronze);opacity:0;transform-origin:left;animation:pablo-method-line 9s cubic-bezier(.4,0,.2,1) infinite;animation-play-state:paused}
.method-steps>li:nth-child(2):before{animation-delay:-6s}.method-steps>li:nth-child(3):before{animation-delay:-3s}
.method-steps.lines-active>li:before{animation-play-state:running}
.service-node:before{content:'';position:absolute;left:0;top:0;width:100%;height:1px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .6s ease}
.service-node:hover:before,.service-node:focus-visible:before{transform:scaleX(1)}
@keyframes pablo-route{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes pablo-node{0%,100%{opacity:.2}50%{opacity:.65}}
@keyframes pablo-method-line{0%,15%{transform:scaleX(0);opacity:0}25%{opacity:.6}65%{transform:scaleX(1);opacity:.5}85%,100%{transform:scaleX(1);opacity:0}}
@media(max-width:740px){.hero-tech-surface{right:-18%;width:115%;opacity:.3}}
@media(prefers-reduced-motion:reduce){.tech-trace,.tech-node,.method-steps>li:before{animation:none!important}.tech-trace,.method-steps>li:before{display:none}.service-node:before{transition:none}}
