/* ===================================================== */
/* ===== HOVER PREMIUM SUAVE E PROFISSIONAL ===== */
/* ===================================================== */

.grid .card{
  position: relative;
  overflow: hidden;

  transition: 
    transform .55s cubic-bezier(.16,1,.3,1),
    box-shadow .55s ease,
    filter .55s ease;
}

/* hover principal */
.grid .card:hover{
  transform: translateY(-8px) scale(1.03) rotateX(1deg);

  box-shadow:
    0 30px 60px rgba(0,0,0,0.18),
    0 15px 30px rgba(0,0,0,0.12);

  filter: brightness(1.03);
}


/* ===================================================== */
/* ===== ANIMAÇÃO DO ÍCONE MAIS SUAVE ===== */
/* ===================================================== */

.grid .card img{
  transition: transform .7s cubic-bezier(.16,1,.3,1);
}

.grid .card:hover img{
  transform: scale(1.15) rotate(4deg);
}


/* ===================================================== */
/* ===== BRILHO PREMIUM (MAIS LENTO E CHIQUE) ===== */
/* ===================================================== */

.grid .card::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:100%;
  height:100%;

  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.5),
    transparent
  );

  transition: 1.2s ease;
}

.grid .card:hover::after{
  left:120%;
}


/* ===================================================== */
/* ===== ANIMAÇÃO DE ENTRADA PREMIUM (SUAVE) ===== */
/* ===================================================== */

.card.anim-left,
.card.anim-right{
  opacity: 0;
  filter: blur(8px);
  will-change: transform, opacity;

  transition:
    transform 1.2s cubic-bezier(.16,1,.3,1),
    opacity .9s ease,
    filter .9s ease;
}

/* posição inicial */
.card.anim-left{
  transform: translateX(-100px) scale(0.95);
}

.card.anim-right{
  transform: translateX(100px) scale(0.95);
}

/* estado final */
.card.show{
  opacity: 1;
  transform: translateX(0) scale(1);
  filter: blur(0);
}


/* ===================================================== */
/* ===== EFEITO CASCATA PREMIUM (MAIS LENTO) ===== */
/* ===================================================== */

.grid .card,
.depoimentos .card,
.gallery .card{
  transition-delay: 0s;
}

/* antes e depois */
.gallery .card:nth-child(1){ transition-delay: .15s; }
.gallery .card:nth-child(2){ transition-delay: .3s; }

/* serviços */
.grid .card:nth-child(1){ transition-delay: .15s; }
.grid .card:nth-child(2){ transition-delay: .3s; }
.grid .card:nth-child(3){ transition-delay: .45s; }
.grid .card:nth-child(4){ transition-delay: .6s; }
.grid .card:nth-child(5){ transition-delay: .75s; }
.grid .card:nth-child(6){ transition-delay: .9s; }
.grid .card:nth-child(7){ transition-delay: 1.05s; }
.grid .card:nth-child(8){ transition-delay: 1.2s; }

/* depoimentos */
.depoimentos .card:nth-child(1){ transition-delay: .15s; }
.depoimentos .card:nth-child(2){ transition-delay: .3s; }
.depoimentos .card:nth-child(3){ transition-delay: .45s; }
.depoimentos .card:nth-child(4){ transition-delay: .6s; }
.depoimentos .card:nth-child(5){ transition-delay: .75s; }
.depoimentos .card:nth-child(6){ transition-delay: .9s; }


/* ===================================================== */
/* ===== OTIMIZAÇÃO MOBILE (IMPORTANTE) ===== */
/* ===================================================== */

@media (max-width: 768px){

  .grid .card{
    transition: 
      transform .35s ease,
      box-shadow .35s ease;
  }

  .grid .card:hover{
    transform: translateY(-4px) scale(1.02);
  }

  .grid .card img{
    transition: transform .4s ease;
  }

  .grid .card:hover img{
    transform: scale(1.08);
  }

  .card.anim-left,
  .card.anim-right{
    transition:
      transform .7s ease,
      opacity .6s ease,
      filter .6s ease;
  }

}


/* PARALLAX SUAVE */

.service-card img{
  will-change:transform;
}



/* BLUR REVEAL */

.reveal{
  opacity:0;

  filter:blur(14px);

  transform:translateY(60px);

  transition:
    opacity 1s ease,
    filter 1s ease,
    transform 1s ease;
}

.reveal.show{
  opacity:1;

  filter:blur(0);

  transform:translateY(0);
}

