body {
    font-family: 'Inter', sans-serif;
    background: linear-gradient(135deg, #f0f2f5, #e0e2e5, #d0d2d5); /* Subtle gradient */
    background-size: 400% 400%;
    animation: gradientBackground 15s ease infinite;
}

@keyframes gradientBackground {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

h1, .funky-heading {
    font-family: 'Michroma', sans-serif;
}

.footer-heading {
    font-family: 'Michroma', sans-serif;
}

h2 {
    font-family: 'Michroma', sans-serif;
}

h3, .font-poppins {
    font-family: 'Poppins', sans-serif;
}

.fade-in {
    animation: fadeIn 1.2s ease-in-out forwards;
    opacity: 0;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

.gradient-hero {
    background: linear-gradient(135deg, #8B5CF6, #EC4899, #F97316);
    background-size: 200% 200%;
    animation: gradient-animation 10s ease infinite;
}

@keyframes gradient-animation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.card {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.service-logo {
    text-align: center;
    margin-bottom: 40px;
}

.service-logo img {
    width: 150px;
    height: 150px;
    border-radius: 0;
    background-color: white;
    padding: 0;
    box-shadow: none;
    object-fit: contain;
    transition: all 0.3s ease;
}

.bg-pattern {
    background-image:
        radial-gradient(circle at 10% 20%, rgba(255,255,255,0.1) 1px, transparent 1px),
        radial-gradient(circle at 70% 80%, rgba(255,255,255,0.15) 1px, transparent 1px);
    background-size: 40px 40px, 40px 40px;
    background-position: 0 0, 20px 20px;
    animation: moveBackground 60s linear infinite;
}

@keyframes moveBackground {
    from { background-position: 0 0, 20px 20px; }
    to { background-position: 40px 40px, 60px 60px; }
}

/* Blob animation for footer */
@keyframes blob {
    0% {
        transform: translate(0, 0) scale(1);
    }
    30% {
        transform: translate(30px, -50px) scale(1.1);
    }
    60% {
        transform: translate(-20px, 20px) scale(0.9);
    }
    100% {
        transform: translate(0, 0) scale(1);
    }
}

.animate-blob {
    animation: blob 7s infinite cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-4000 {
    animation-delay: 4s;
}

/* Mouse Follower */
#mouse-follower {
    position: fixed;
    width: 80px; /* Size of the circle */
    height: 80px;
    background: radial-gradient(circle, rgba(255,165,0,0.6) 0%, rgba(255,165,0,0) 70%); /* Orange fading out */
    border-radius: 50%;
    transform: translate(-50%, -50%); /* Center the circle on the mouse */
    pointer-events: none; /* Allow clicks to pass through */
    z-index: -2; /* Behind content, behind the main background gradient */
    transition: transform 0.1s ease-out; /* Smooth movement */
    filter: blur(20px); /* Soft blur effect */
    opacity: 0.7; /* Initial opacity */
}