/* Ambient motion stays behind card content and never changes the tile order. */
.space::before,.space::after{content:"";position:absolute;width:65vw;height:65vw;min-width:500px;min-height:500px;border-radius:50%;pointer-events:none;filter:blur(70px);opacity:.28;will-change:transform}
.space::before{left:-25vw;top:-35vw;background:radial-gradient(circle,#7361ca,transparent 65%);animation:eva-ambient 24s ease-in-out infinite alternate}
.space::after{right:-25vw;bottom:-40vw;background:radial-gradient(circle,#416f9d,transparent 65%);animation:eva-ambient 30s ease-in-out -12s infinite alternate-reverse}
.eva-grid .service-card{isolation:isolate;animation:eva-arrive .7s cubic-bezier(.2,.65,.3,1) backwards}
.eva-grid .service-card:nth-child(2){animation-delay:.08s}.eva-grid .service-card:nth-child(3){animation-delay:.16s}.eva-grid .service-card:nth-child(4){animation-delay:.24s}
.eva-grid .service-card::before{animation:eva-art-drift 12s ease-in-out infinite alternate;transform-origin:80% 50%;will-change:transform}
.eva-grid .service-card:nth-child(2)::before{animation-duration:16s;animation-delay:-6s}.eva-grid .service-card:nth-child(3)::before{animation-duration:14s;animation-delay:-9s}.eva-grid .service-card:nth-child(4)::before{animation-duration:18s;animation-delay:-4s}
.eva-grid .service-card::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,color-mix(in srgb,var(--tone) 12%,transparent) 48%,transparent 65%);background-size:220% 100%;animation:eva-card-light 14s ease-in-out infinite}
.eva-grid .project-shell{z-index:1}.eva-grid .lock-form{z-index:2}.eva-grid .service-icon{transition:transform .35s,box-shadow .35s}.eva-grid .service-card:hover .service-icon{transform:rotate(-5deg);box-shadow:0 0 24px color-mix(in srgb,var(--tone) 20%,transparent)}
.eva-grid .service-card:focus-within{border-color:var(--tone)}.eva-grid .project-shell:focus-visible{outline:2px solid var(--tone);outline-offset:-4px}
@keyframes eva-ambient{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(14vw,12vh,0) scale(1.15)}}
@keyframes eva-art-drift{from{transform:translate3d(-4px,2px,0) scale(1.015)}to{transform:translate3d(5px,-4px,0) scale(1.06)}}
@keyframes eva-card-light{0%,100%{background-position:100% 0;opacity:.25}50%{background-position:0 0;opacity:.7}}
@keyframes eva-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.space::before,.space::after{filter:blur(40px)}.eva-grid .service-card::before{animation-duration:20s}}
@media(prefers-reduced-motion:reduce){.space::before,.space::after,.eva-grid .service-card,.eva-grid .service-card::before,.eva-grid .service-card::after{animation:none!important;will-change:auto}.eva-grid .service-icon{transition:none}}
html.eva-motion-paused .space::before,html.eva-motion-paused .space::after,html.eva-motion-paused .service-card::before,html.eva-motion-paused .service-card::after{animation-play-state:paused}

.eva-grid .service-tag{padding-right:32px}

@media(max-width:600px){.userbar .ghost-btn[href="/prices.php"]{display:inline-flex!important}.brand-name{font-size:11px}.userbar{gap:5px}.userbar .ghost-btn{padding:0 6px;font-size:10px}}
