/* ============================================================
   EXTRA ANIMATIONS & UTILITIES
   ============================================================ */

/* Reveal animation utility */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children */
.stagger-children > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .5s ease, transform .5s ease;
}
.stagger-children.visible > *:nth-child(1) { opacity:1; transform:none; transition-delay: .1s; }
.stagger-children.visible > *:nth-child(2) { opacity:1; transform:none; transition-delay: .2s; }
.stagger-children.visible > *:nth-child(3) { opacity:1; transform:none; transition-delay: .3s; }
.stagger-children.visible > *:nth-child(4) { opacity:1; transform:none; transition-delay: .4s; }

/* Form success message */
.form-success {
  display: none;
  text-align: center;
  padding: 40px 20px;
}
.form-success.show { display: block; }
.form-success__icon {
  font-size: 3.5rem;
  color: #16a34a;
  margin-bottom: 16px;
}
.form-success h4 {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  color: var(--navy);
  margin-bottom: 10px;
}
.form-success p { color: var(--text-light); font-size: .95rem; }
