/* ============================================================
   911 STUDIO V4 — ANIMATIONS.CSS
   Movimiento intencional: reveal, ken-burns suave, rail
   ============================================================ */

[data-aos] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
[data-aos].aos-animate {
  opacity: 1;
  transform: none;
}
[data-aos="fade-right"] { transform: translateX(-28px); }
[data-aos="fade-left"] { transform: translateX(28px); }
[data-aos="zoom-in"] { transform: scale(.96); }
[data-aos].aos-animate[data-aos="fade-right"],
[data-aos].aos-animate[data-aos="fade-left"],
[data-aos].aos-animate[data-aos="zoom-in"] { transform: none; }

.stagger-children > * {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s var(--ease), transform .55s var(--ease);
}
.stagger-children.aos-animate > *:nth-child(1) { transition-delay: .05s; }
.stagger-children.aos-animate > *:nth-child(2) { transition-delay: .12s; }
.stagger-children.aos-animate > *:nth-child(3) { transition-delay: .19s; }
.stagger-children.aos-animate > *:nth-child(4) { transition-delay: .26s; }
.stagger-children.aos-animate > *:nth-child(5) { transition-delay: .33s; }
.stagger-children.aos-animate > *:nth-child(6) { transition-delay: .4s; }
.stagger-children.aos-animate > *:nth-child(7) { transition-delay: .47s; }
.stagger-children.aos-animate > * {
  opacity: 1;
  transform: none;
}

.reveal-line {
  position: relative;
  overflow: hidden;
}
.reveal-line::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: var(--amarillo);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .8s var(--ease);
}
.reveal-line.aos-animate::after { transform: scaleX(1); }

@keyframes riseIn {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: none; }
}
.hero-frame-content > * {
  animation: riseIn .9s var(--ease) both;
}
.hero-frame-content .brand-mark { animation-delay: .1s; }
.hero-frame-content .hero-line { animation-delay: .25s; }
.hero-frame-content .hero-actions { animation-delay: .4s; }
.hero-frame-content .hero-meta { animation-delay: .55s; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
  [data-aos] { opacity: 1; transform: none; }
}
