/* MOTION — todas as animações usadas na página About */

/* hero underline */
@keyframes sweep{
  0%{ transform:scaleX(.25); opacity:.7 }
  50%{ transform:scaleX(1); opacity:1 }
  100%{ transform:scaleX(.25); opacity:.7 }
}

/* shapes do hero */
@keyframes float{
  0%{ transform:translate3d(0,0,0) rotate(0) }
  50%{ transform:translate3d(0,-10px,0) rotate(6deg) }
  100%{ transform:translate3d(0,0,0) rotate(0) }
}

/* barra sob títulos da bio */
@keyframes slideBar{ to{ transform: scaleX(1); } }

/* reveal dos painéis */
@keyframes fadeInUp{
  0%{ opacity:0; transform: translateY(30px); }
  100%{ opacity:1; transform: translateY(0); }
}

/* preenchimento dos medidores de skill */
@keyframes fillMeter{ 0%{ width:0; } 100%{ width: var(--w); } }
.skill-meter > i{ animation: fillMeter 1.5s ease-in-out forwards; }

/* =================== HERO-MIN — animações exclusivas =================== */
@keyframes heroMinSweep{
  0%{ transform:scaleX(.08); opacity:.75 }
  35%{ transform:scaleX(1); opacity:1 }
  70%{ transform:scaleX(.25); opacity:.85 }
  100%{ transform:scaleX(.08); opacity:.75 }
}
@keyframes heroMinFloatY{
  0%{ transform: translateY(0) rotate(10deg); }
  50%{ transform: translateY(-10px) rotate(10deg); }
  100%{ transform: translateY(0) rotate(10deg); }
}
@keyframes heroMinFloatX{
  0%{ transform: translateX(0); }
  50%{ transform: translateX(12px); }
  100%{ transform: translateX(0); }
}

/* Acessibilidade — reduz animações para quem prefere menos movimento */
@media (prefers-reduced-motion: reduce){
  *{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  /* desliga a barra animada do hero */
  #hero-min .hero-bar-fill{ animation: none !important; }
}
