*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    width:100%;
    min-height:100vh;
}

body{
    background:#141414;
    color:white;
    font-family:Arial, Helvetica, sans-serif;
}

/* HEADER */

header{

    width:100%;

    min-height:80px;

    background:#000;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 50px;

    position:sticky;

    top:0;

    z-index:999;

}

.logo{

    color:#e50914;

    font-size:2rem;

    font-weight:bold;

}

nav{

    display:flex;

    gap:25px;

}

nav a{

    color:white;

    text-decoration:none;

}

/* HERO */

.hero{

    position:relative;

    width:100%;

    height:80vh;

}

.hero picture{

    width:100%;
    height:100%;

}

.hero img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

}

.hero-info{

    position:absolute;

    left:50px;

    bottom:80px;

    background:rgba(0,0,0,.6);

    padding:30px;

    max-width:500px;

}

.hero-info h1{

    font-size:3rem;

    margin-bottom:15px;

}

/* CATÁLOGOS */

.catalogo{

    padding:40px;

}

.catalogo h2{

    margin-bottom:20px;

}

.linha-filmes{

    display:grid;

    grid-template-columns:
    repeat(5,1fr);

    gap:20px;

}

article{

    height:250px;

    background:#333;

    border:2px solid #555;

    display:flex;

    justify-content:center;

    align-items:center;

    font-weight:bold;

    transition:.3s;

}

article:hover{

    transform:scale(1.05);

    border-color:#e50914;

}

/* FOOTER */

footer{

    background:#000;

    text-align:center;

    padding:40px;

    margin-top:50px;

}

/* RESPONSIVO */

@media(max-width:1200px){

    .linha-filmes{

        grid-template-columns:
        repeat(3,1fr);

    }

}

@media(max-width:768px){

    header{

        flex-direction:column;

        padding:20px;

        gap:15px;

    }

    .linha-filmes{

        grid-template-columns:
        repeat(2,1fr);

    }

    .hero{

        height:60vh;

    }

    .hero-info{

        left:20px;
        right:20px;
        bottom:20px;

    }

    .hero-info h1{

        font-size:2rem;

    }

}