/* Camada de movimento Planetando (aditiva: nao altera layout nem conteudo) */
@keyframes mhUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes mhRing{0%{box-shadow:0 0 0 0 rgba(19,122,58,.5)}70%,100%{box-shadow:0 0 0 16px rgba(19,122,58,0)}}
@keyframes mhRingLime{0%{box-shadow:0 0 0 0 rgba(210,255,98,.45)}70%,100%{box-shadow:0 0 0 16px rgba(210,255,98,0)}}
@keyframes mhKen{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.07) translate3d(-1.4%,-1.2%,0)}}
@keyframes mhSheen{0%{transform:translateX(-130%)}55%,100%{transform:translateX(130%)}}
@keyframes mhWipe{to{background-size:100% 100%}}
@keyframes mhDraw{to{stroke-dashoffset:0}}
@keyframes mhBadge{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.38);opacity:0}}
@keyframes mhPop{0%{transform:scale(0)}70%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes mhFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes mhSlideL{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:none}}
@keyframes mhSlideR{from{opacity:0;transform:translateX(46px)}to{opacity:1;transform:none}}
@keyframes mhLi{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
@keyframes mhWiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg) scale(1.1)}60%{transform:rotate(10deg) scale(1.1)}}
@keyframes mhGlow{0%{box-shadow:0 6px 16px rgba(0,0,0,.16),0 0 0 0 rgba(0,114,217,.38)}70%,100%{box-shadow:0 6px 16px rgba(0,0,0,.16),0 0 0 14px rgba(0,114,217,0)}}
@keyframes mhPlay{0%{box-shadow:0 6px 18px rgba(0,0,0,.35),0 0 0 0 rgba(255,255,255,.55)}70%,100%{box-shadow:0 6px 18px rgba(0,0,0,.35),0 0 0 18px rgba(255,255,255,0)}}
@keyframes mhKenSoft{from{transform:scale(1)}to{transform:scale(1.08) translate(-1.2%,-1%)}}

/* reveal mais marcante (sobrescreve o suave original) */
.reveal{transform:translateY(34px) scale(.985);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.in{transform:none}

/* HERO: imagem com Ken Burns, brilho passando e texto entrando */
.hero .hero-bg{animation:mhKen 24s ease-in-out infinite alternate;transform-origin:72% 40%;will-change:transform}
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.6) 50%,transparent 62%);transform:translateX(-130%);animation:mhSheen 8s ease-in-out 1.6s infinite}
.hero-eyebrow,.hero h1,.hero p.sub,.hero-ctas{animation:mhUp .9s cubic-bezier(.22,1,.36,1) backwards}
.hero h1{animation-delay:.12s}.hero p.sub{animation-delay:.26s}.hero-ctas{animation-delay:.4s}
.hero h1 mark{background:linear-gradient(var(--blue),var(--blue)) no-repeat;background-size:0 100%;animation:mhWipe .9s cubic-bezier(.22,1,.36,1) .55s forwards}
.hero-ctas .btn-primary{animation:mhRing 2.4s ease-out 1.6s infinite}
.pricing .btn-primary{animation:mhRingLime 2.4s ease-out 1s infinite}
.sticky-cta .btn{animation:mhRing 2.4s ease-out 2s infinite}

/* ESTATISTICAS: anel pulsando, icone flutuando e desenhando */
.stat-badge{position:relative}
.stat-badge::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(0,114,217,.45);pointer-events:none;animation:mhBadge 3s ease-out infinite}
.stat:nth-child(2) .stat-badge::after{animation-delay:.7s}
.stat:nth-child(3) .stat-badge::after{animation-delay:1.4s}
.stat:nth-child(4) .stat-badge::after{animation-delay:2.1s}
.stat-badge svg{animation:mhFloat 4s ease-in-out infinite}
.stat:nth-child(3) .stat-badge svg{animation-delay:.8s}

/* ICONES que se desenham ao entrar na tela */
.mh-icon *{stroke-dasharray:1;stroke-dashoffset:1}
.mh-icon.mh-drawn *{animation:mhDraw 1.1s cubic-bezier(.65,0,.35,1) forwards;animation-delay:calc(var(--mh-i,0)*130ms)}
.nav-social a:hover svg,.socials a:hover svg,.footer-links a:hover svg{animation:mhWiggle .55s ease}

/* COMPARACAO: cartoes entram dos lados e itens em sequencia */
.compare-grid.in .compare-card.bad{animation:mhSlideL .9s cubic-bezier(.22,1,.36,1) backwards}
.compare-grid.in .compare-card.good{animation:mhSlideR .9s cubic-bezier(.22,1,.36,1) .1s backwards}
.compare-grid.in .compare-list li{animation:mhLi .6s cubic-bezier(.22,1,.36,1) backwards}
.compare-grid.in .compare-list li:nth-child(1){animation-delay:.5s}
.compare-grid.in .compare-list li:nth-child(2){animation-delay:.62s}
.compare-grid.in .compare-list li:nth-child(3){animation-delay:.74s}
.compare-grid.in .compare-list li:nth-child(4){animation-delay:.86s}
.section-head.in .eyebrow{animation:mhPop .6s cubic-bezier(.34,1.56,.64,1) backwards}

/* DIFERENCIAIS: pilulas flutuando */
.diff .pill{animation:mhFloat 4.6s ease-in-out infinite}
.diff .pill:nth-child(2){animation-delay:.6s}
.diff .pill:nth-child(3){animation-delay:1.2s}

/* PROCESSO: passos em sequencia e numeros com pulo */
.steps.in .step{animation:mhUp .7s cubic-bezier(.22,1,.36,1) backwards}
.steps.in .step:nth-child(2){animation-delay:.12s}
.steps.in .step:nth-child(3){animation-delay:.24s}
.steps.in .step:nth-child(4){animation-delay:.36s}
.steps.in .step .num{animation:mhPop .6s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:.25s}
.steps.in .step:nth-child(2) .num{animation-delay:.37s}
.steps.in .step:nth-child(3) .num{animation-delay:.49s}
.steps.in .step:nth-child(4) .num{animation-delay:.61s}

/* IMAGENS: equipe, portfolio e capas */
.team-card .avatar{animation:mhFloat 5s ease-in-out infinite,mhGlow 3.6s ease-out infinite}
.team-card:nth-child(2) .avatar{animation-delay:.5s,.7s}
.team-card:nth-child(3) .avatar{animation-delay:1s,1.4s}
.team-card:nth-child(4) .avatar{animation-delay:1.5s,2.1s}
.team-card:nth-child(5) .avatar{animation-delay:2s,2.8s}
.team-card:hover .avatar{scale:1.08}
.design-card .cover,.vid-card .thumb-wrap{position:relative}
.design-card .cover img{transition:transform .6s cubic-bezier(.22,1,.36,1)}
.design-card:hover .cover img{transform:scale(1.1) rotate(.6deg)}
.design-card .cover::after,.vid-card .thumb-wrap::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.5) 50%,transparent 62%);transform:translateX(-130%);transition:transform .9s ease}
.design-card:hover .cover::after,.vid-card:hover .thumb-wrap::after{transform:translateX(130%)}
.vid-card .thumb-wrap img{transition:transform .6s cubic-bezier(.22,1,.36,1)}
.play-btn{animation:mhPlay 2.2s ease-out infinite}

/* cards gerados por script: entrada em cascata */
.mh-rv{opacity:0}
.mh-rv.mh-in{opacity:1;animation:mhUp .8s cubic-bezier(.22,1,.36,1) var(--mh-d,0ms) backwards}

/* PACOTES */
.price-card .ico svg{animation:mhFloat 4s ease-in-out infinite}
.price-card.featured.mh-in{animation:mhUp .8s cubic-bezier(.22,1,.36,1) var(--mh-d,0ms) backwards,mhRingLime 3s ease-out 1s infinite}
.ribbon{background-image:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);background-size:250% 100%;background-repeat:no-repeat;animation:mhRibbon 4s ease-in-out infinite}
@keyframes mhRibbon{0%{background-position:150% 0}60%,100%{background-position:-50% 0}}

/* CARTAO DE VISITA */
.profile img{animation:mhFloat 5s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(0,114,217,.55))}
.profile h1,.profile p{animation:mhUp .8s cubic-bezier(.22,1,.36,1) .15s backwards}
.profile p{animation-delay:.28s}
.links .card-link{animation:mhUp .9s cubic-bezier(.22,1,.36,1) backwards}
.links .card-link:nth-child(1){animation-delay:.35s}
.links .card-link:nth-child(2){animation-delay:.5s}
.links .card-link:nth-child(3){animation-delay:.65s}
.card-link::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.22) 50%,transparent 60%);transform:translateX(-130%);animation:mhSheen 7s ease-in-out infinite}
.links .card-link:nth-child(2)::after{animation-delay:2.2s}
.links .card-link:nth-child(3)::after{animation-delay:4.4s}
.card-link img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
.card-link:hover img{transform:scale(1.04)}
.socials a{animation:mhPop .6s cubic-bezier(.34,1.56,.64,1) backwards}
.socials a:nth-child(1){animation-delay:.9s}.socials a:nth-child(2){animation-delay:1s}.socials a:nth-child(3){animation-delay:1.1s}.socials a:nth-child(4){animation-delay:1.2s}
body>.wrap{position:relative}

