 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: Arial, Helvetica, sans-serif;
        }

        body {
            background: #08080d;
            color: #fff;
        }

        [hidden] {
            display: none !important;
        }

        /* CABEÇALHO */
        .cabecalho {
            width: 100%;
            min-height: 118px;
            padding: 20px 3%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 25px;
            flex-wrap: wrap;
            background: linear-gradient(110deg, #c40000, #65000b);
            border-bottom: 1px solid rgba(255,255,255,.1);
        }

        .cabecalho .marca {
            color: #fff;
            font-size: 36px;
            font-weight: 900;
            text-decoration: none;
            white-space: nowrap;
        }

        .cabecalho .marca span {
            color: #ff3153;
        }

        .menu {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 12px;
        }

        .menu a {
            padding: 18px 22px;
            border-radius: 15px;
            background: #fff;
            color: #08080d;
            font-size: 13px;
            font-weight: 800;
            text-decoration: none;
            transition: .3s;
        }

        .menu a:hover,
        .menu a.ativo {
            background: #171016;
            color: #fff;
        }

        .pesquisa {
            width: 270px;
            max-width: 100%;
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 15px 18px;
            border-radius: 15px;
            background: #fff;
        }

        .pesquisa i {
            color: #08080d;
        }

        .pesquisa input {
            width: 100%;
            min-width: 0;
            border: none;
            outline: none;
            background: transparent;
            color: #08080d;
            font-size: 14px;
        }

        /* BANNER */
        .banner-lancamentos {
            position: relative;
            width: 100%;
            min-height: 475px;
            padding: 55px 5%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 40px;
            overflow: hidden;
            background:
                radial-gradient(ellipse at 90% 50%,
                rgba(190,0,35,.22), transparent 48%),
                linear-gradient(110deg, #08080d, #16050a);
        }

        .banner-texto {
            position: relative;
            z-index: 2;
            flex: 1;
            max-width: 700px;
        }

        .etiqueta {
            margin-bottom: 20px;
            color: #ff2348;
            font-size: 13px;
            font-weight: 800;
            letter-spacing: 4px;
        }

        .banner-texto h1 {
            margin-bottom: 20px;
            color: #fff;
            font-size: clamp(38px, 4.5vw, 72px);
            font-weight: 900;
            line-height: 1.08;
        }

        .banner-texto h1 span {
            display: block;
            color: #ff2348;
        }

        .descricao {
            max-width: 600px;
            color: #e0dce0;
            font-size: 16px;
            line-height: 1.8;
        }

        .botao {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            margin-top: 25px;
            padding: 19px 24px;
            border-radius: 11px;
            background: #d00029;
            color: #fff;
            font-size: 13px;
            font-weight: 800;
            text-decoration: none;
            transition: .3s;
        }

        .botao:hover {
            background: #ff2348;
            transform: translateY(-2px);
        }

        .banner-visual {
            position: relative;
            flex: 0 1 48%;
            min-height: 305px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            border: 1px solid rgba(255,35,72,.35);
            border-radius: 24px;
            background: rgba(15,5,12,.65);
        }

        .circulo {
            position: absolute;
            border: 1px solid rgba(255,35,72,.25);
            border-radius: 50%;
        }

        .circulo-1 {
            width: 360px;
            height: 360px;
        }

        .circulo-2 {
            width: 260px;
            height: 260px;
        }

        .icone-filme {
            position: absolute;
            top: 20px;
            right: 25px;
            color: rgba(255,255,255,.1);
            font-size: 40px;
        }

        .banner-logo {
            position: relative;
            z-index: 1;
            text-align: center;
        }

        .banner-logo > i {
            color: #ff2348;
            font-size: 60px;
        }

        .banner-logo h2 {
            margin: 15px 0;
            color: #fff;
            font-size: 38px;
            font-weight: 900;
        }

        .banner-logo h2 span {
            color: #ff3153;
        }

        .banner-logo p {
            color: #ddd;
            font-size: 12px;
            letter-spacing: 3px;
        }

        /* SEÇÃO DE INDICAÇÕES */
        .conteudo {
            max-width: 1500px;
            margin: auto;
            padding: 55px 5% 70px;
        }

        .introducao {
            margin-bottom: 35px;
            text-align: center;
        }

        .introducao .etiqueta {
            margin-bottom: 12px;
        }

        .introducao h2 {
            margin-bottom: 15px;
            color: #fff;
            font-size: clamp(27px, 3vw, 38px);
        }

        .introducao > p:last-child {
            color: #c7c7d0;
            font-size: 16px;
            line-height: 1.7;
        }

        .grade-filmes {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            align-items: stretch;
            gap: 28px;
        }

        .filme {
            min-width: 0;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            border: 1px solid #29232d;
            border-radius: 18px;
            background: #17171f;
            transition: transform .3s, box-shadow .3s;
        }

        .filme:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 28px rgba(229,9,46,.16);
        }

        .filme > img {
            display: block;
            width: 100%;
            height: 270px;
            object-fit: cover;
            object-position: center;
            background: #101015;
        }

        .informacoes {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            padding: 20px;
        }

        .categoria {
            margin-bottom: 10px;
            color: #ff3153;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: 1px;
        }

        .informacoes h3 {
            margin-bottom: 10px;
            color: #fff;
            font-size: 21px;
            line-height: 1.4;
        }

        .estrelas {
            margin-bottom: 12px;
            color: #ffc629;
            font-size: 18px;
            letter-spacing: 2px;
        }

        .informacoes p {
            color: #d0d0d8;
            font-size: 14px;
            line-height: 1.7;
        }

        .sem-resultados {
            padding: 30px 10px;
            color: #ddd;
            text-align: center;
        }

        /* RODAPÉ */
        .rodape {
            padding: 40px 20px 25px;
            border-top: 1px solid #29232d;
            background: #101015;
            text-align: center;
        }

        .rodape .marca {
            color: #fff;
            font-size: 30px;
            font-weight: 900;
            text-decoration: none;
        }

        .rodape .marca span {
            color: #ff3153;
        }

        .texto-rodape {
            margin-top: 12px;
            color: #c7c7d0;
        }

        .links-rodape {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 22px;
            margin: 25px 0;
        }

        .links-rodape a {
            color: #ddd;
            font-size: 13px;
            text-decoration: none;
        }

        .links-rodape a:hover {
            color: #ff3153;
        }

        .redes {
            display: flex;
            justify-content: center;
            gap: 22px;
            margin: 20px 0;
        }

        .redes a {
            color: #fff;
            font-size: 23px;
        }

        .redes a:hover {
            color: #ff3153;
        }

        .linha-footer {
            width: 100%;
            max-width: 1000px;
            height: 1px;
            margin: 25px auto;
            background: #30252b;
        }

        .creditos,
        .desenvolvedores {
            margin-top: 10px;
            color: #999;
            font-size: 12px;
        }

        /* TABLETS */
        @media (max-width: 1200px) {
            .cabecalho {
                justify-content: center;
            }

            .grade-filmes {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .banner-visual {
                flex-basis: 42%;
            }
        }

        /* CELULARES */
        @media (max-width: 800px) {
            .banner-lancamentos {
                flex-direction: column;
                align-items: stretch;
                padding: 40px 7%;
            }

            .banner-visual {
                flex-basis: auto;
                width: 100%;
            }

            .banner-texto h1 {
                font-size: clamp(35px, 8vw, 52px);
            }
        }

        @media (max-width: 500px) {
            .cabecalho {
                padding: 22px 15px;
            }

            .cabecalho .marca {
                font-size: 32px;
            }

            .menu {
                width: 100%;
                gap: 7px;
            }

            .menu a {
                padding: 13px 10px;
                font-size: 10px;
            }

            .pesquisa {
                width: 100%;
            }

            .banner-visual {
                display: none;
            }

            .banner-texto h1 {
                font-size: 35px;
            }

            .grade-filmes {
                grid-template-columns: 1fr;
            }

            .filme > img {
                height: 260px;
            }

            .links-rodape {
                flex-direction: column;
                gap: 15px;
            }
        }