/* ── Hero keyframes ───────────────────────────────────────────────── */
@keyframes hero-kenburns {
  0%   { transform: scale(1.04) translate3d(0, 0, 0); }
  100% { transform: scale(1.12) translate3d(-1.5%, -1.2%, 0); }
}
@keyframes hero-fade-up {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes hero-rule-grow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

/* ── Hero animation utility classes ──────────────────────────────── */
.hero-ken     { animation: hero-kenburns 28s ease-out forwards; transform-origin: 60% 55%; will-change: transform; }
.hero-eyebrow { animation: hero-fade-up 1.1s 0.15s ease-out both; }
.hero-h1      { animation: hero-fade-up 1.1s 0.35s cubic-bezier(.2,.7,.2,1) both; }
.hero-body    { animation: hero-fade-up 1.1s 0.55s ease-out both; }
.hero-corner  { animation: hero-fade-up 1.4s 0.75s ease-out both; }
.hero-rule    { animation: hero-rule-grow 1.4s 0.4s cubic-bezier(.2,.7,.2,1) both; transform-origin: left center; }

@media (prefers-reduced-motion: reduce) {
  .hero-ken, .hero-eyebrow, .hero-h1, .hero-body, .hero-corner, .hero-rule {
    animation: none !important;
  }
}
