
/* Reveal Animation */
.reveal { opacity:0; transform:translateY(12px); transition:.45s ease; }
.reveal-visible { opacity:1; transform:translateY(0); }

/* Hero Glow */
.hero-glow { filter: drop-shadow(0 0 14px rgba(59,130,246,.45)); }

/* Modal animation */
.checking-box { animation: pop .25s ease-out; }
@keyframes pop {
  0% { transform: scale(.9); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

/* Responsive hero frame:
   Mobile → 9:16
   Desktop → 16:9 */
.hero-frame {
  aspect-ratio: 9/16;
}

@media (min-width: 640px) {
  .hero-frame {
    aspect-ratio: 16/9;
  }
}

/* Prevent scroll bounce */
body { overscroll-behavior: none; }
