:root{
    --black:#000;
    --chrome-light:#f2f2f2;
    --chrome-mid:#bdbdbd;
    --chrome-dark:#5a5a5a;

    --red:#d10000;
    --red-hot:#ff2a00;
    --red-glow:rgba(255,40,0,.35);
}

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

html,body{
    width:100%;
    height:100%;
    background:#000;
    font-family:'Oswald', sans-serif;
    overflow:hidden;
}

body.page-leaving{
    animation: fadeOut .8s ease forwards;
}

.screen{
    width:100vw;
    height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
}


.content{
    position:relative;
    text-align:center;
    z-index:2;
    animation: appear 1s ease;
}

/* LOGO CROMO */
.logo img{
    width:min(520px, 80vw);
    filter:
        grayscale(1)
        brightness(1.4)
        contrast(1.2)
        drop-shadow(0 0 10px rgba(255,255,255,.08))
        drop-shadow(0 0 20px rgba(255,0,0,.15));
}

/* SUBTITULO */
.subtitle{
    margin-top:1rem;
    color:var(--chrome-mid);
    letter-spacing:.25rem;
    font-size:.9rem;
    text-transform:uppercase;
}

/* BOTÓN */
.btn-enter{
    margin-top:2rem;
    padding:.9rem 2.2rem;
    border:1px solid var(--chrome-mid);
    color:var(--chrome-light);
    text-transform:uppercase;
    letter-spacing:.2rem;
    font-weight:600;
    background:transparent;
    transition:.3s ease;
}

.btn-enter:hover{
    background:linear-gradient(120deg, #fff, #bbb, #fff);
    color:#000;
    box-shadow:
        0 0 15px rgba(255,255,255,.2),
        0 0 25px rgba(255,0,0,.15);
}

/* LÍNEA ROJA SUTIL */
.line{
    width:120px;
    height:2px;
    background:linear-gradient(90deg, transparent, var(--red), transparent);
    margin:1.5rem auto 0;
    opacity:.6;
}

@keyframes pulse{
    0%,100%{
        transform:scale(1);
        opacity:.6;
    }
    50%{
        transform:scale(1.08);
        opacity:1;
    }
}

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

@keyframes fadeOut{
    to{
        opacity:0;
        transform:scale(1.05);
    }
}

@media(max-width:768px){
    .logo img{
        width:min(360px, 85vw);
    }

    .subtitle{
        font-size:.75rem;
        letter-spacing:.15rem;
    }

    .btn-enter{
        padding:.8rem 1.6rem;
        font-size:.9rem;
    }
}
.video-intro{
    position: fixed;
    inset: 0;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity .4s ease;
}

.video-intro.active{
    opacity: 1;
    pointer-events: auto;
}

.video-intro video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    background: #000;
}

.skip-btn{
    position: absolute;
    right: 20px;
    bottom: 20px;
    padding: .65rem 1rem;
    border: 1px solid #fff;
    background: transparent;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .08rem;
}

@media (max-width: 768px){
    .video-intro video{
        object-fit: contain;
    }
}

@keyframes fadeVideo{
    from{ opacity:0; }
    to{ opacity:1; }
}
