/* rescue-vercel-v0.html — hero animation (prefix: vv-)
   Theme: Beautiful UI card with placeholder calls → backend stack fills in layer by layer */
@keyframes vvGlow { 0%,100% { opacity: 0.08; } 50% { opacity: 0.2; } }
@keyframes vvFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes vvBlink { 0%,100% { opacity: 0.8; } 50% { opacity: 1; } }
.vv-glow { animation: vvGlow 3.5s ease-in-out infinite; }
.vv-ui   { animation: vvFade 0.5s var(--ease-spring) 0.4s both; }
.vv-gap  { animation: vvBlink 1.6s ease-in-out 1s infinite; }
.vv-layer { }
.vv-l1 { animation: vvFade 0.45s var(--ease-spring) 1.2s both; }
.vv-l2 { animation: vvFade 0.45s var(--ease-spring) 1.4s both; }
.vv-l3 { animation: vvFade 0.45s var(--ease-spring) 1.6s both; }
.vv-l4 { animation: vvFade 0.45s var(--ease-spring) 1.8s both; }
.vv-l5 { animation: vvFade 0.45s var(--ease-spring) 2.0s both; }
