:root{--mx:50vw;--my:50vh}
body:before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(43,131,255,.075),transparent 68%);mix-blend-mode:screen}.scroll-progress{position:fixed;z-index:100;top:0;left:0;width:0;height:2px;background:linear-gradient(90deg,#0d64ff,#54a7ff,#21d86b);box-shadow:0 0 15px #2b83ff;transition:width .08s linear}.site-header{transition:height .35s ease,background .35s ease,box-shadow .35s ease}.site-header.is-scrolled{height:62px;background:rgba(2,5,10,.94);box-shadow:0 12px 40px rgba(0,0,0,.35)}.logo span{animation:logoPulse 3.2s ease-in-out infinite}.hero-media{transform:scale(1.055);animation:heroReveal 1.6s cubic-bezier(.2,.7,.2,1) both;will-change:transform}.hero-shade:after{content:"";position:absolute;inset:-25%;background:linear-gradient(115deg,transparent 30%,rgba(43,131,255,.09) 45%,transparent 58%);transform:translateX(-55%);animation:heroSweep 7s ease-in-out 1.2s infinite}.hero .eyebrow,.hero h1,.hero-lead,.hero .button-row,.hero-trust{opacity:0;animation:heroUp .85s cubic-bezier(.2,.75,.25,1) forwards}.hero .eyebrow{animation-delay:.18s}.hero h1{animation-delay:.32s}.hero-lead{animation-delay:.48s}.hero .button-row{animation-delay:.62s}.hero-trust{animation-delay:.78s}.hero h1 span{background:linear-gradient(90deg,#0d64ff,#7bb8ff,#0d64ff);background-size:200% auto;color:transparent;-webkit-background-clip:text;background-clip:text;animation:textShine 5s linear infinite}.button{position:relative;isolation:isolate;overflow:hidden}.button:after{content:"";position:absolute;z-index:-1;top:-80%;left:-25%;width:28%;height:260%;background:rgba(255,255,255,.24);transform:rotate(22deg) translateX(-220%);transition:transform .65s ease}.button:hover:after{transform:rotate(22deg) translateX(520%)}.floating-whatsapp{animation:whatsFloat 2.8s ease-in-out infinite}.floating-whatsapp:before{content:"";position:absolute;inset:-7px;border:1px solid rgba(33,216,107,.5);border-radius:50%;animation:ripple 2.2s ease-out infinite}.brand-strip{overflow:hidden}.brand-strip strong{transition:color .25s,transform .25s,text-shadow .25s}.brand-strip strong:hover{color:#fff;transform:translateY(-3px) scale(1.06);text-shadow:0 0 22px rgba(43,131,255,.7)}.reveal{opacity:0;transform:translateY(42px);filter:blur(5px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1),filter .75s ease}.reveal.reveal-left{transform:translateX(-48px)}.reveal.reveal-right{transform:translateX(48px)}.reveal.is-visible{opacity:1;transform:none;filter:none}.service-card,.benefit-grid article,.project-card,.testimonials-grid article,.brands-grid div{will-change:transform;transform-style:preserve-3d}.service-card:before,.benefit-grid article:before,.testimonials-grid article:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(350px circle at var(--card-x,50%) var(--card-y,50%),rgba(43,131,255,.16),transparent 55%);opacity:0;transition:opacity .3s}.service-card,.benefit-grid article,.testimonials-grid article{position:relative;overflow:hidden}.service-card:hover:before,.benefit-grid article:hover:before,.testimonials-grid article:hover:before{opacity:1}.service-card:hover .icon-box,.benefit-grid article:hover .icon-box{animation:iconPop .55s ease;box-shadow:0 0 28px rgba(43,131,255,.28)}.service-card a svg{transition:transform .25s}.service-card:hover a svg{transform:translateX(5px)}.about-art{overflow:hidden;background-size:cover;transition:background-size 1s ease}.about-grid:hover .about-art{background-size:108%}.stats strong{display:inline-block;text-shadow:0 0 22px rgba(43,131,255,.22)}.process-grid:before{transform:scaleX(0);transform-origin:left;transition:transform 1.5s ease .2s}.process-grid.line-visible:before{transform:scaleX(1)}.process-step .step-icon{transition:transform .4s ease,box-shadow .4s ease,background .4s ease}.process-step:hover .step-icon{transform:translateY(-7px) rotate(5deg);background:#0b1a2a;box-shadow:0 0 0 8px var(--bg),0 0 35px rgba(43,131,255,.3)}.process-step.is-visible .step-icon svg{animation:iconDraw .7s ease both}.project-card{transition:transform .4s ease,border-color .3s ease,box-shadow .4s ease}.project-card:hover{transform:translateY(-8px);border-color:rgba(43,131,255,.65);box-shadow:0 24px 55px rgba(0,0,0,.42)}.project-image{position:relative}.project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.16),transparent 65%);transform:translateX(-100%);transition:transform .8s ease}.project-card:hover .project-image:after{transform:translateX(100%)}.filters button{transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}.filters button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(13,100,255,.22)}.brands-grid div{transition:transform .3s,color .3s,border-color .3s,box-shadow .3s}.brands-grid div:hover{transform:translateY(-5px) scale(1.03);color:#fff;border-color:#2b83ff;box-shadow:0 14px 35px rgba(13,100,255,.15)}.map-card:before{animation:gridDrift 18s linear infinite}.map-card svg{animation:pinFloat 2.6s ease-in-out infinite}.contact-form input,.contact-form textarea{transition:border-color .25s,box-shadow .25s,transform .25s}.contact-form input:focus,.contact-form textarea:focus{transform:translateY(-2px);box-shadow:0 0 0 3px rgba(13,100,255,.13)}
@keyframes heroReveal{from{opacity:0;transform:scale(1.16)}to{opacity:1;transform:scale(1.055)}}@keyframes heroUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes heroSweep{0%,38%{transform:translateX(-55%)}65%,100%{transform:translateX(55%)}}@keyframes textShine{to{background-position:200% center}}@keyframes logoPulse{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 9px rgba(13,100,255,.75))}}@keyframes whatsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes ripple{0%{opacity:.8;transform:scale(.9)}75%,100%{opacity:0;transform:scale(1.35)}}@keyframes iconPop{50%{transform:scale(1.12) rotate(-5deg)}}@keyframes iconDraw{from{opacity:.15;transform:scale(.6) rotate(-12deg)}to{opacity:1;transform:none}}@keyframes gridDrift{to{transform:rotate(25deg) translate3d(40px,40px,0)}}@keyframes pinFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media(max-width:780px){body:before{display:none}.reveal,.reveal.reveal-left,.reveal.reveal-right{transform:translateY(25px)}.hero-media{animation:none;transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;filter:none!important}.hero .eyebrow,.hero h1,.hero-lead,.hero .button-row,.hero-trust{opacity:1!important}.scroll-progress{display:none}}

/* Premium hero slider */
.hero-slider{position:absolute;inset:0}.hero-slider .hero-media{position:absolute;inset:-3%;opacity:0;background-position:center;background-size:cover;transform:scale(1.11);transition:opacity 1.1s ease,transform 7s ease;animation:none}.hero-slider .hero-media.active{opacity:1;transform:scale(1.02)}.hero-controls{position:absolute;z-index:7;right:max(20px,calc((100% - 1180px)/2));bottom:32px;display:flex;align-items:center;gap:12px}.hero-controls>button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(3,8,16,.58);color:#fff;font-size:28px;cursor:pointer;backdrop-filter:blur(12px);transition:.25s}.hero-controls>button:hover{background:#0d64ff;transform:scale(1.08)}.hero-dots{display:flex;gap:8px;padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:rgba(3,8,16,.58);backdrop-filter:blur(12px)}.hero-dots button{width:10px;height:8px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.32);cursor:pointer;transition:.35s}.hero-dots button.active{width:42px;background:#2b83ff;box-shadow:0 0 15px rgba(43,131,255,.7)}.hero-slide-progress{position:absolute;z-index:8;left:0;bottom:0;width:0;height:3px;background:linear-gradient(90deg,#0d64ff,#75b6ff);box-shadow:0 0 15px #0d64ff}.hero-slide-progress.running{animation:slideProgress 6.5s linear forwards}.hero-content.slide-enter .eyebrow,.hero-content.slide-enter h1,.hero-content.slide-enter .hero-lead{animation:heroUp .72s cubic-bezier(.2,.75,.25,1) both}.hero-content.slide-enter h1{animation-delay:.09s}.hero-content.slide-enter .hero-lead{animation-delay:.18s}@keyframes slideProgress{to{width:100%}}@media(max-width:780px){.hero-controls{left:50%;right:auto;bottom:14px;transform:translateX(-50%)}.hero-controls>button{width:38px;height:38px}.hero-slider .hero-media{background-position:64% center}}@media(prefers-reduced-motion:reduce){.hero-slider .hero-media{transition:none}.hero-slide-progress{display:none}}
