/* Homepage-only hero entrance animation — not reused elsewhere. */
@keyframes mgUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.mg-hero > * { animation: mgUp 1.4s var(--mg-ease) both; }
.mg-hero > *:nth-child(2) { animation-delay: .2s; }
.mg-hero > *:nth-child(3) { animation-delay: .4s; }
.mg-hero > *:nth-child(4) { animation-delay: .55s; }
.mg-hero > *:nth-child(5) { animation-delay: .7s; }
.mg-hero-img { display: flex; animation: mgUp 1.8s var(--mg-ease) .3s both; }
@media (prefers-reduced-motion: reduce) {
  .mg-hero > *, .mg-hero-img { animation: none; }
}

/* How it works: numbered step cards below the hero. */
.mg-how { list-style: none; margin: 0; padding: 0; }
.mg-how .mg-card { display: flex; flex-direction: column; align-items: flex-start; }

/* Hero sub-heading sits between the display headline and the body copy. */
.mg-hero-sub { font-size: clamp(1.25rem, 1.8vw, 1.5rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.3; color: var(--mg-gold); }
