/* Custom styles for the 3D canvas and typography */
body {
    font-family: 'Inter', sans-serif;
    background-color: #0a0a0a;
    color: #e2e8f0;
}

#bg-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.3;
}

.text-gradient {
    background: linear-gradient(90deg, #4f46e5, #ec4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Animation for sections fading in on scroll */
.fade-in-section {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-section.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* NEW: Blinking cursor for typing effect */
#typing-effect::after {
    content: '|';
    animation: blink 1s step-end infinite;
    font-weight: 400; /* Make cursor normal weight */
}

@keyframes blink {
    from, to {
        color: transparent;
    }
    50% {
        color: #ec4899; /* A color from the gradient */
    }
}