/* Pointer effects are decorative; native cursors and focus rings stay available. */
.pointer-halo{position:fixed;inset:0 auto auto 0;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,#d6f66b0d,transparent 68%);pointer-events:none;z-index:2;opacity:0;transition:opacity .25s;contain:strict}
.pointer-ring{position:fixed;inset:0 auto auto 0;width:32px;height:32px;border:1px solid #d6f66b88;border-radius:50%;pointer-events:none;z-index:20;opacity:0;transition:opacity .2s,width .2s,height .2s,border-color .2s;contain:strict}
.pointer-ring.is-link{width:48px;height:48px;border-color:var(--lime);background:#d6f66b0a}
.pointer-active .pointer-halo,.pointer-active .pointer-ring{opacity:1}
.service,.steps>div,.empty,.cta{position:relative;isolation:isolate}
.service::before,.steps>div::before,.empty::before,.cta::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(290px circle at var(--spot-x,50%) var(--spot-y,50%),#d6f66b16,transparent 75%);opacity:0;transition:opacity .3s}
.cta::before{background:radial-gradient(260px circle at var(--spot-x,50%) var(--spot-y,50%),#ffffff66,transparent 75%)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .motion-on .service:hover::before,.motion-on .steps>div:hover::before,.motion-on .empty:hover::before,.motion-on .cta:hover::before{opacity:1}
 .motion-on .hero-art{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s ease-out}
 .motion-on .orb{translate:var(--orb-x,0px) var(--orb-y,0px);transition:translate .55s ease-out}
 .motion-on .orbit.one{rotate:var(--orbit-angle,0deg);transition:rotate .6s ease-out}
 .motion-on .orbit.two{translate:var(--orbit-x,0px) var(--orbit-y,0px);transition:translate .6s ease-out}
 .motion-on .button,.motion-on .language{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .25s ease-out,transform .2s,box-shadow .25s}
 .motion-on .button:hover{box-shadow:0 6px 32px #d6f66b20}
 .motion-on .service h3{transition:translate .25s,color .25s}
 .motion-on .service:hover h3{translate:-6px 0;color:var(--lime)}
 html[lang=en].motion-on .service:hover h3{translate:6px 0}
 .motion-on .service:hover .arrow{rotate:45deg}
 .motion-on .logo i{transition:rotate .5s}
 .motion-on .logo:hover i{rotate:90deg}
 .motion-on nav a{position:relative}
 .motion-on nav a::after{content:'';position:absolute;bottom:-7px;inset-inline-start:0;width:100%;height:1px;background:var(--lime);scale:0 1;transition:scale .25s;transform-origin:center}
 .motion-on nav a:hover::after{scale:1 1}
}
.button:active,.filters button:active{filter:brightness(.9)}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.pointer-halo,.pointer-ring{display:none}.service::before,.steps>div::before,.empty::before,.cta::before{display:none}}
