/* ============================================
   MENDIX BFSI EVENT — Custom overrides
   (Only what Tailwind CDN can't handle)
   ============================================ */

html {
    scroll-behavior: smooth;
}

/* Hero animated orbs */
.hero-orb {
    animation: orbFloat 20s ease-in-out infinite;
}

@keyframes orbFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(30px, -20px) scale(1.05); }
    50% { transform: translate(-20px, 30px) scale(0.95); }
    75% { transform: translate(20px, 20px) scale(1.02); }
}

/* Hero grid pattern */
.hero-grid {
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 30%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 30%, transparent 70%);
}

/* Scroll reveal */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile menu states */
#mobileMenu.open {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Nav scrolled state */
#mainNav.scrolled {
    background: rgba(4, 13, 33, 0.95);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

/* Form validation error */
label.error {
    color: #E81F3D;
    font-size: 0.78rem;
    font-weight: 500;
    margin-top: 2px;
}