/* CONTAINER PRINCIPAL COM GRADIENTE DINÂMICO */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    
    /* Cores com um pouco mais de contraste para a oscilação aparecer */
    background: linear-gradient(-45deg, #f0f2f5, #cfd8dc, #b0bec5, #eceff1);
    background-size: 400% 400%; 
    
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
    
    /* Acelerei para 3 segundos para você ver ele "balançar" mais */
    animation: gradientOscilation 3s ease infinite;
}

/* --- KEYFRAME DA OSCILAÇÃO --- */
@keyframes gradientOscilation {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* Tamanho da Logo - Bem menor e Clean */
#logo-svg {
    width: 160px; /* Ajuste aqui se quiser ainda menor ou um pouco maior */
    height: auto;
    overflow: visible; /* Garante que elementos saindo da caixa não sumam */
}

/* --- ANIMAÇÕES --- */

/* 2. PRÉDIOS (Surgindo de baixo para cima) */
#SVG_PREDIO {
    opacity: 0;
    transform: translateY(80px);
    animation: surgindoBase 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    animation-delay: 0.5s; /* Delay sincronizado */
}

/* 3. MHL VERMELHO (Surgindo junto com o prédio) */
#SVG_MHL {
    opacity: 0;
    animation: fadeInOnSpot 1.2s ease-out forwards; /* Mesma duração para harmonia */
    animation-delay: 0.5s; /* EXATAMENTE o mesmo delay do prédio */
}

/* 4. TEXTO (Digitação) */
/* Começa um pouco antes agora, já que o MHL não espera mais o prédio terminar */
#SVG_TEXTO path {
    opacity: 0;
    animation: typeLetter 0.08s forwards;
}


/* (Enquanto o prédio/MHL ainda estão terminando de surgir) */
/* Delays da Digitação - Atualizado para 18 elementos */
#SVG_TEXTO path:nth-child(1)  { animation-delay: 1.5s; }
#SVG_TEXTO path:nth-child(2)  { animation-delay: 1.6s; }
#SVG_TEXTO path:nth-child(3)  { animation-delay: 1.7s; }
#SVG_TEXTO path:nth-child(4)  { animation-delay: 1.8s; }
#SVG_TEXTO path:nth-child(5)  { animation-delay: 1.9s; }
#SVG_TEXTO path:nth-child(6)  { animation-delay: 2.0s; }
#SVG_TEXTO path:nth-child(7)  { animation-delay: 2.1s; }
#SVG_TEXTO path:nth-child(8)  { animation-delay: 2.2s; }
#SVG_TEXTO path:nth-child(9)  { animation-delay: 2.3s; }
#SVG_TEXTO path:nth-child(10) { animation-delay: 2.4s; } /* Ã */
#SVG_TEXTO path:nth-child(11) { animation-delay: 2.45s; } /* Til (surge quase junto com o A) */
#SVG_TEXTO path:nth-child(12) { animation-delay: 2.6s; }
#SVG_TEXTO path:nth-child(13) { animation-delay: 2.7s; }
#SVG_TEXTO path:nth-child(14) { animation-delay: 2.8s; }
#SVG_TEXTO path:nth-child(15) { animation-delay: 2.9s; }
#SVG_TEXTO path:nth-child(16) { animation-delay: 3.0s; }
#SVG_TEXTO path:nth-child(17) { animation-delay: 3.1s; }
#SVG_TEXTO path:nth-child(18) { animation-delay: 3.2s; } /* O último L agora está aqui */

/* --- KEYFRAMES --- */

/* Prédio surgindo de baixo */
@keyframes surgindoBase {
    to {
        opacity: 1;
        transform: translateY(0); /* Volta para a posição original */
    }
}

/* Fade-in puro no lugar */
@keyframes fadeInOnSpot {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Aparecimento rápido de cada letra */
@keyframes typeLetter {
    to {
        opacity: 1;
    }
}

/* CLASSE DE SAÍDA (Adicionada pelo JS) */
.preloader-hidden {
    opacity: 0;
    visibility: hidden;
    transition: all 1s ease-in-out;
}