html{
  scroll-behavior: smooth;
}

.flower{
  position:absolute;
  top:-30px;
  font-size:24px;
  animation: fall 7s linear;
}

@keyframes fall{
  to{
    transform: translateY(500px) rotate(360deg);
    opacity:0;
  }
}



.btn-pink:hover{
  background:#d63384;
  color:#fff;
}

.cursor-glow{
  position: fixed;
  width: 45px;
  height: 45px;
  background: radial-gradient(circle, rgba(255,105,180,.9), transparent 65%);
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  z-index: 999999;
}


.text-pink{
  color:#e83e8c;
}

.bg-pink{
  background:#e83e8c;
}

.bg-pink-subtle{
  background:#ffe6f1;
}

.about-img{
  max-width:420px;
  transition: transform .4s ease;
}

.about-img:hover{
  transform: scale(1.05);
}

/* REVEAL BASE */
.reveal{
  opacity:0;
  transform: translateY(30px);
  transition: all .6s ease-out;
  will-change: transform, opacity;
}

/* CUANDO ES VISIBLE */
.reveal.active{
  opacity:1;
  transform: translateY(0);
}

/* MENOS MOVIMIENTO (ACCESIBILIDAD) */
@media (prefers-reduced-motion: reduce){
  .reveal{
    opacity:1;
    transform:none;
    transition:none;
  }
}


.card,
.btn,
.about-img{
  transition: transform .35s ease, box-shadow .35s ease;
}

/* desktop hover */
@media (hover:hover){
  .card:hover,
  .btn:hover,
  .about-img:hover{
    transform: translateY(-6px);
    box-shadow:0 20px 40px rgba(0,0,0,.15);
  }
}

/* mobile tap feedback */
@media (hover:none){
  .btn:active,
  .card:active{
    transform: scale(.97);
  }
}

.pulse{
  animation: pulse 2.5s infinite;
}

@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(232,62,140,.5); }
  70%{ box-shadow:0 0 0 18px rgba(232,62,140,0); }
  100%{ box-shadow:0 0 0 0 rgba(232,62,140,0); }
}

/*animacion en icnos */
.icon-animate{
  display:inline-block;
  animation: floatIcon 3s ease-in-out infinite;
}

@keyframes floatIcon{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-6px); }
}
