/* Fade-in on scroll */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }

/* Hero entrance */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hero__text > * {
  animation: fadeUp .7s ease both;
}
.hero__label  { animation-delay: .05s; }
.hero__title  { animation-delay: .15s; }
.hero__desc   { animation-delay: .25s; }
.hero__actions{ animation-delay: .35s; }
.hero__stats  { animation-delay: .45s; }

@keyframes floatPhone {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-10px); }
}
.phone-frame { animation: floatPhone 4s ease-in-out infinite; }

/* Pulse SOS */
@keyframes sosPulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(255,59,48,.3); }
  50%       { box-shadow: 0 4px 28px rgba(255,59,48,.6); }
}
.phone-sos { animation: sosPulse 2s ease-in-out infinite; }
