/* Custom CSS for AI Nexus Landing Page */

/* Base & Typography overrides */
html {
    scroll-behavior: smooth;
}

/* Hide scrollbar for horizontal scrolling sections but allow scrolling */
.hide-scrollbar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}
.hide-scrollbar::-webkit-scrollbar {
    display: none;
}

/* Glassmorphism Utilities */
.glass-nav {
    background: rgba(10, 10, 15, 0.6);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.glass-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.01) 100%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

/* Hover glow effects (softened) */
.glow-hover {
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.glow-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 40px -10px rgba(110, 26, 255, 0.1);
}

/* Floating animation for icons on card hover */
@keyframes floatIcon {
    0% { transform: translateY(0px) scale(1.05); }
    50% { transform: translateY(-6px) scale(1.05); }
    100% { transform: translateY(0px) scale(1.05); }
}

.glow-hover:hover .icon-placeholder {
    animation: floatIcon 2s ease-in-out infinite;
}

/* Button Pull Animation */
.btn-pull {
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease;
}
.btn-pull:hover {
    transform: scale(0.96);
}

/* Animations */
@keyframes blob {
    0% { transform: translate(0px, 0px) scale(1); }
    33% { transform: translate(30px, -50px) scale(1.1); }
    66% { transform: translate(-20px, 20px) scale(0.9); }
    100% { transform: translate(0px, 0px) scale(1); }
}

.animate-blob {
    animation: blob 15s infinite alternate ease-in-out;
}
.animation-delay-2000 {
    animation-delay: 2s;
}
.animation-delay-4000 {
    animation-delay: 4s;
}

/* Scroll Reveal Classes (Hooked via JS) */
.reveal {
    opacity: 0;
    filter: blur(10px);
    transform: translateY(30px);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
    opacity: 1;
    filter: blur(0px);
    transform: translateY(0);
}

.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Slow-moving mesh gradient background container */
.mesh-bg {
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: -1;
    background: #0A0A0F;
}

/* Spotlight Card Hover Effect */
.spotlight-card {
    position: relative;
}
.spotlight-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(
        800px circle at var(--mouse-x, 0) var(--mouse-y, 0),
        rgba(110, 26, 255, 0.15),
        transparent 40%
    );
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
    z-index: 0;
}
.spotlight-card:hover::before {
    opacity: 1;
}
/* Ensure card content stays above the spotlight background */
.spotlight-card > * {
    position: relative;
    z-index: 10;
}

/* Magnetic buttons */
.magnetic-btn {
    will-change: transform;
}

/* Added Custom Keyframes for Mockups */
@keyframes scan {
    0% { transform: translateY(0); }
    100% { transform: translateY(100px); }
}
@keyframes flow {
    from { stroke-dashoffset: 20; }
    to { stroke-dashoffset: 0; }
}
@keyframes flowReverse {
    from { stroke-dashoffset: 0; }
    to { stroke-dashoffset: 20; }
}
