/* Homepage 3D hero and motion helpers (see hero3d.js and fx.js) */
.company-hero{position:relative;isolation:isolate;overflow:hidden}
.company-hero-art{aspect-ratio:1448/1086}
.hero3d{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .9s ease;pointer-events:none}
.company-hero-art.has-3d .hero3d{opacity:1}
.company-hero-art.has-3d img{opacity:0;transition:opacity .35s ease}
.fx-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.fx-word>span{display:inline-block;will-change:transform}
.fx-glow{position:absolute;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(circle,rgba(35,92,255,.14),rgba(150,130,255,.09) 40%,transparent 68%)}
.company-project-visual{will-change:transform}
.company-project-visual::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.38),transparent 55%)}
.company-project-visual:hover::after{opacity:1}
.company-process-steps{position:relative}
.fx-progress{position:absolute;left:-18px;top:6px;bottom:6px;width:3px;border-radius:3px;background:rgba(35,92,255,.12);overflow:hidden}
.fx-progress i{display:block;width:100%;height:100%;background:#235cff;transform:scaleY(0);transform-origin:top}
.company-hero-paths a{animation:fxFloat 6s ease-in-out infinite}
.company-hero-paths a:nth-child(2){animation-delay:-2s}.company-hero-paths a:nth-child(3){animation-delay:-4s}
@keyframes fxFloat{0%,100%{translate:0 0}50%{translate:0 -4px}}
@media(max-width:800px){.fx-progress{display:none}.fx-glow{display:none}}
@media(prefers-reduced-motion:reduce){.company-hero-paths a{animation:none}.hero3d{transition:none}.fx-glow{display:none}}
.company-hero h1 .fx-word,.company-hero h1 .fx-word>span{color:inherit}
