/* ============================================================
   LINKPRODUCTION — ANIMATIONS
   Premium motion system for cyber-elegant interactions
   ============================================================ */

/* 1. Keyframe Definitions */

@keyframes pulse {
    0%   { transform: scale(0.94); box-shadow: 0 0 0 0 rgba(255, 77, 77, 0.65); }
    60%  { transform: scale(1);    box-shadow: 0 0 0 9px rgba(255, 77, 77, 0); }
    100% { transform: scale(0.94); box-shadow: 0 0 0 0 rgba(255, 77, 77, 0); }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(28px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-24px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes scrollHint {
    0%, 100% {
        opacity: 0.38;
        transform: translateX(-50%) translateY(0px);
    }
    50% {
        opacity: 0.75;
        transform: translateX(-50%) translateY(8px);
    }
}

@keyframes glow {
    0%, 100% {
        border-color: rgba(0, 168, 255, 0.18);
        box-shadow: none;
    }
    50% {
        border-color: rgba(0, 168, 255, 0.45);
        box-shadow: 0 0 18px rgba(0, 168, 255, 0.15);
    }
}

@keyframes shimmer {
    0%   { background-position: -200% center; }
    100% { background-position:  200% center; }
}

@keyframes popIn {
    0%   { transform: scale(0.85); opacity: 0; }
    70%  { transform: scale(1.04); }
    100% { transform: scale(1);    opacity: 1; }
}

@keyframes scanLine {
    0%   { top: 0%; }
    100% { top: 100%; }
}

/* 2. Reveal on Scroll */
.reveal {
    opacity: 0;
    animation: fadeInUp 0.85s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Staggered reveals for grid items */
.bento-card:nth-child(1) { animation-delay: 0.00s; }
.bento-card:nth-child(2) { animation-delay: 0.08s; }
.bento-card:nth-child(3) { animation-delay: 0.16s; }
.bento-card:nth-child(4) { animation-delay: 0.22s; }
.bento-card:nth-child(5) { animation-delay: 0.28s; }
.bento-card:nth-child(6) { animation-delay: 0.34s; }

.journey-step:nth-child(1) { animation-delay: 0.00s; }
.journey-step:nth-child(2) { animation-delay: 0.12s; }
.journey-step:nth-child(3) { animation-delay: 0.24s; }
.journey-step:nth-child(4) { animation-delay: 0.36s; }

/* 3. Live Badge / Eyebrow Glow */
.hero-eyebrow,
.live-badge {
    animation: glow 3s ease-in-out infinite;
}

/* 4. Pulse dot */
.pulse-dot {
    animation: pulse 2.2s infinite;
}

/* 5. Success form message */
.success-box,
.success-message {
    animation: popIn 0.42s ease-out forwards;
}

/* 6. Stat counter text pop */
.trust-number.counted {
    animation: popIn 0.35s ease-out;
}
