/* ============================================================
   WEDDING-13 | animations.css
   Quiet scroll-reveal — editorial pace, no flourish
   ============================================================ */

.reveal,
.reveal-up {
  opacity: 0;
  transition:
    opacity var(--duration-slow) var(--ease-out-expo),
    transform var(--duration-slow) var(--ease-out-expo);
}
.reveal-up {
  transform: translateY(18px);
}
.reveal.is-visible,
.reveal-up.is-visible {
  opacity: 1;
  transform: none;
}

@keyframes imgFadeLoad {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
img.loaded {
  animation: imgFadeLoad 0.5s ease forwards;
}

@keyframes mastheadIn {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.subscriber-label {
  animation: mastheadIn 0.7s var(--ease-out-expo) 0.05s both;
}
.masthead-eyebrow {
  animation: mastheadIn 0.7s var(--ease-out-expo) 0.15s both;
}
.masthead-title {
  animation: mastheadIn 0.8s var(--ease-out-expo) 0.28s both;
}
.masthead-dateline {
  animation: mastheadIn 0.7s var(--ease-out-expo) 0.42s both;
}
.masthead-desc {
  animation: mastheadIn 0.7s var(--ease-out-expo) 0.54s both;
}
.masthead-actions {
  animation: mastheadIn 0.7s var(--ease-out-expo) 0.66s both;
}
