/* ==========================================================================
   BRAIN OF A MOTHER — ANIMATIONS
   ========================================================================== */

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes softDrift {
  0%   { transform: translate3d(0,0,0); }
  50%  { transform: translate3d(0,-8px,0); }
  100% { transform: translate3d(0,0,0); }
}

@keyframes breathe {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  50%      { transform: scale(1.06); opacity: 1; }
}

@keyframes lineGrow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* Page-load choreography for the hero — staged reveal */
.hero-copy h1           { animation: fadeUp var(--dur-slow) var(--ease-editorial) both; animation-delay: 120ms; }
.hero-copy .hero-lead-box{ animation: fadeUp var(--dur-slow) var(--ease-editorial) both; animation-delay: 280ms; }
.hero-copy .hero-actions{ animation: fadeUp var(--dur-slow) var(--ease-editorial) both; animation-delay: 420ms; }
.hero-visual            { animation: fadeIn 1.1s var(--ease-editorial) both; animation-delay: 200ms; }

/* Ambient drift for the load-scene chips, paused once calmed */
.load-chip { animation: softDrift 6s ease-in-out infinite; }
.load-chip:nth-child(2n) { animation-duration: 7.2s; animation-delay: 0.4s; }
.load-chip:nth-child(3n) { animation-duration: 5.4s; animation-delay: 0.9s; }
.load-scene.is-calm .load-chip { animation-play-state: paused; }

.folio-mark { animation: breathe 4.5s ease-in-out infinite; }

.eyebrow::before,
.divider-label::before,
.divider-label::after { transform-origin: left center; }

@media (prefers-reduced-motion: reduce) {
  .hero-copy h1, .hero-copy .hero-lead-box, .hero-copy .hero-actions,
  .hero-visual, .load-chip, .folio-mark {
    animation: none !important;
  }
  .reveal { opacity: 1; transform: none; }
}
