/* LOADING SCREEN */
#loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #0a0d12;
    transition: opacity 0.8s ease, visibility 0.8s ease;
}

#loader.done { opacity: 0; visibility: hidden; pointer-events: none; }

#loader svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* FADE-IN ANIMATIONS */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.fade-in.d1 { transition-delay: 0.1s; }
.fade-in.d2 { transition-delay: 0.2s; }
.fade-in.d3 { transition-delay: 0.3s; }
.fade-in.d4 { transition-delay: 0.4s; }
