/* Hero Entrance Animations - Loaded from public/ to bypass Tailwind processing */
@keyframes heroFadeIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes heroScaleIn {
  from { opacity: 0; transform: scale(0.85); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes heroSlideLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes heroSlideRight {
  from { opacity: 0; transform: translateX(40px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes lineDrawX {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes lineDrawY {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

.ha-fade { opacity: 0; animation: heroFadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.ha-scale { opacity: 0; animation: heroScaleIn 1.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.ha-slide-l { opacity: 0; animation: heroSlideLeft 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.ha-slide-r { opacity: 0; animation: heroSlideRight 1s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.ha-line-x { transform: scaleX(0); transform-origin: left; animation: lineDrawX 2s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.ha-line-y { transform: scaleY(0); transform-origin: top; animation: lineDrawY 1.5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

.ha-d0 { animation-delay: 0s; }
.ha-d1 { animation-delay: 0.1s; }
.ha-d2 { animation-delay: 0.2s; }
.ha-d3 { animation-delay: 0.3s; }
.ha-d4 { animation-delay: 0.4s; }
.ha-d5 { animation-delay: 0.5s; }
.ha-d6 { animation-delay: 0.6s; }
.ha-d7 { animation-delay: 0.7s; }
.ha-d8 { animation-delay: 0.8s; }
.ha-d10 { animation-delay: 1.0s; }
.ha-d12 { animation-delay: 1.2s; }
.ha-d14 { animation-delay: 1.4s; }
.ha-d16 { animation-delay: 1.6s; }
