*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    margin:0;
    min-height:100vh;

    font-family:'Segoe UI', sans-serif;
}

.contenedor{
    width:100vw;
    height:100vh;
    display:flex;
    position:relative;
}

.izquierda{
    width:48%;
    padding:40px 70px;
    position:relative;
    z-index:2;
}

.derecha{
    width:52%;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:2;
}

.logos{
    display:flex;
    align-items:flex-start;
    gap:40px;
}

.logos img{
    height:90px;
    width:auto;
}

h1{
    margin-top:50px;
    margin-bottom:20px;
    color:#63b784;
    font-size:72px;
    font-weight:800;
}

.login-box{
    width:100%;
    max-width:760px;

    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.5);

    border-radius:15px;
    padding:25px;
}

.login-box h2{
    color:#6e6e6e;
    font-size:24px;
    margin-bottom:10px;
}

.login-box p{
    color:#777;
    font-size:14px;
    line-height:1.7;
    margin-bottom:20px;
}

.fila{
    display:flex;
    gap:15px;
    margin-bottom:15px;
}

.fila input{
    flex:1;
    height:42px;

    border:none;
    border-radius:8px;

    padding:0 15px;

    background:#f8f8f8;
}

.fila input::placeholder{
    color:#b0b0b0;
}

button{
    width:100%;
    height:50px;

    border:none;
    border-radius:8px;

    background:#f5b348;
    color:white;

    font-size:16px;
    cursor:pointer;
}

.contactos{
    margin-top:55px;

    max-width:760px;

    background:#63b784;
    color:white;

    border-radius:12px;

    padding:20px 25px;
}

.contactos h3{
    text-align:center;
    margin-bottom:12px;
    font-size:18px;
}

.contactos-grid{
    display:flex;
    justify-content:space-between;
}

.contactos-grid div{
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:14px;
}

.notebook{
    width:95%;
    max-width:850px;
}

/* Fondos */

.bg{
    position:absolute;
    pointer-events:none;
}

.bg-top{
    top:0;
    right:0;
    width:500px;
}

.bg-bottom{
    right:0;
    bottom:0;
    width:550px;
}

@media(max-width:1200px){

    .contenedor{
        flex-direction:column;
        overflow:auto;
    }

    .izquierda,
    .derecha{
        width:100%;
    }

    h1{
        font-size:50px;
    }

    .fila{
        flex-direction:column;
    }

    .contactos-grid{
        flex-direction:column;
        gap:20px;
    }

    .notebook{
        width:80%;
        margin:40px auto;
    }
}