* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
    background-color: #0d1b2a; /* Fondo de respaldo */
}

/* ==========================================================================
   NUEVO: CAPA DE ANIMACIÓN DE ZOOM INFINITO
   ========================================================================== */
.zoom-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('fondo.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    /* Animación ultralenta de 20 segundos de ida y vuelta continua */
    animation: infiniteZoomSlow 20s ease-in-out infinite alternate;
    will-change: transform; /* Optimiza el rendimiento de la tarjeta gráfica */
}

@keyframes infiniteZoomSlow {
    0% {
        transform: scale(1); /* Tamaño original */
    }
    100% {
        transform: scale(1.08); /* Zoom sutil del 8% para no pixelar el WebP */
    }
}

/* Capa translúcida que estabiliza el contraste por encima del fondo animado */
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(13, 27, 42, 0.3); 
    z-index: 1;
}

.container {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 20px;
    width: 100%;
    max-width: 800px;
}

/* Control del tamaño del logo con tu cambio de cabecera de SVG listo */
.logo-icon .main-logo {
    width: 450px;
    height: auto;
    display: block;
    margin: 0 auto;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.4)) 
            drop-shadow(0px 0px 8px rgba(133, 146, 158, 0.3));
}

.brand-name {
    font-family: 'Cinzel', serif;
    font-size: clamp(2.5rem, 8vw, 5.5rem);
    font-weight: 400;
    color: #85929E;
    letter-spacing: 0.2em;
    margin-top: 15px;
    margin-bottom: 25px;
    text-transform: uppercase;
    filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5));
}

.status-text {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(0.85rem, 2.5vw, 1.3rem);
    font-weight: 400;
    color: #707B7C;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    padding-left: 0.5em;
    filter: drop-shadow(0px 1px 3px rgba(0, 0, 0, 0.5));
}

/* Animaciones del texto e isotipo en cascada */
.fade-in-element {
    opacity: 0;
    transform: scale(0.98) translateY(5px);
    animation: fadeInSmooth 1.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.delay-1 {
    animation-delay: 0.3s;
}

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

@keyframes fadeInSmooth {
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@media (max-width: 480px) {
    .logo-icon .main-logo {
        width: 85px;
    }
}
