/* =========================================================
   COMO CONTRATAR PLANO COM ALBERT EINSTEIN
   PRETO + DOURADO
========================================================= */

.einstein-contratar {
    --ect-preto: #080808;
    --ect-preto-2: #11100e;
    --ect-preto-3: #1c1710;

    --ect-gold: #c79b4c;
    --ect-gold-light: #e8ca80;
    --ect-gold-dark: #99702c;

    --ect-bege: #f6f0e5;
    --ect-branco: #ffffff;

    --ect-texto: #3e3932;
    --ect-cinza: #756f66;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    color:
        var(--ect-texto);
}


/* =========================================================
   HERO
========================================================= */

.ect-hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(420px, .95fr);

    min-height: 650px;

    overflow: hidden;

    border-radius:
        0
        0
        36px
        36px;

    background:
        radial-gradient(
            circle at 15% 15%,
            rgba(199,155,76,.15),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #050505,
            #11100d 60%,
            #20160b
        );
}


.ect-hero__conteudo {
    display: flex;

    flex-direction: column;
    justify-content: center;

    padding:
        80px
        clamp(35px, 5vw, 85px);
}


.ect-etiqueta {
    display: inline-flex;

    width: fit-content;

    margin-bottom: 22px;

    padding:
        9px
        14px;

    color:
        var(--ect-gold-light);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.6px;

    border:
        1px solid
        rgba(232,202,128,.35);

    border-radius: 999px;

    background:
        rgba(199,155,76,.08);
}


.ect-hero h1 {
    max-width: 780px;

    margin:
        0
        0
        25px;

    color: #fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(40px, 5vw, 66px);

    line-height: 1.05;

    letter-spacing: -2px;
}


.ect-hero h1 span {
    display: block;

    color:
        var(--ect-gold-light);
}


.ect-hero__descricao {
    max-width: 690px;

    margin:
        0
        0
        34px;

    color: #d1cbc1;

    font-size: 18px;
    line-height: 1.75;
}


.ect-hero__acoes {
    display: flex;

    flex-wrap: wrap;

    gap: 12px;
}


.ect-btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 52px;

    padding:
        0
        23px;

    text-decoration: none;

    font-size: 14px;
    font-weight: 800;

    border-radius: 8px;

    transition:
        .25s ease;
}


.ect-btn--gold {
    color: #161109;

    background:
        linear-gradient(
            135deg,
            #e8ca80,
            #b47c31
        );
}


.ect-btn--outline {
    color:
        var(--ect-gold-light);

    border:
        1px solid
        rgba(232,202,128,.42);
}


.ect-btn:hover {
    transform:
        translateY(-2px);
}


/* =========================================================
   PROCESSO HERO
========================================================= */

.ect-hero__visual {
    display: flex;

    align-items: center;
    justify-content: center;

    padding: 50px;

    background:
        radial-gradient(
            circle,
            rgba(199,155,76,.14),
            transparent 60%
        );
}


.ect-processo {
    width: 100%;

    max-width: 520px;

    padding: 28px;

    border:
        1px solid
        rgba(232,202,128,.22);

    border-radius: 20px;

    background:
        rgba(255,255,255,.035);

    backdrop-filter:
        blur(10px);
}


.ect-processo__item {
    display: grid;

    grid-template-columns:
        48px
        1fr;

    align-items: center;

    column-gap: 15px;

    padding: 18px;

    border-radius: 12px;

    background:
        #171512;
}


.ect-processo__item span {
    grid-row:
        1 / 3;

    display: flex;

    width: 42px;
    height: 42px;

    align-items: center;
    justify-content: center;

    color:
        var(--ect-gold-light);

    font-size: 12px;
    font-weight: 800;

    border:
        1px solid
        rgba(232,202,128,.30);

    border-radius: 50%;
}


.ect-processo__item strong {
    color: #fff;

    font-family:
        Georgia,
        serif;

    font-size: 22px;
}


.ect-processo__item small {
    color: #aaa49a;
}


.ect-processo__item--destaque {
    background:
        linear-gradient(
            135deg,
            #68481d,
            #aa7730
        );
}


.ect-processo__item--destaque small,
.ect-processo__item--destaque span {
    color: #f5e0af;
}


.ect-processo__linha {
    width: 1px;
    height: 20px;

    margin:
        0
        0
        0
        39px;

    background:
        rgba(232,202,128,.35);
}


/* =========================================================
   RESUMO
========================================================= */

.ect-resumo {
    position: relative;

    z-index: 5;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    max-width: 1160px;

    margin:
        -35px
        auto
        45px;

    overflow: hidden;

    background: #fff;

    border:
        1px solid
        #eadbc0;

    border-radius: 14px;

    box-shadow:
        0
        15px
        40px
        rgba(0,0,0,.09);
}


.ect-resumo div {
    padding: 24px;

    border-right:
        1px solid
        #eee1cd;
}


.ect-resumo div:last-child {
    border-right: 0;
}


.ect-resumo span {
    display: block;

    margin-bottom: 7px;

    color:
        var(--ect-gold-dark);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1px;
}


.ect-resumo strong {
    color: #27221b;

    font-size: 14px;
}


/* =========================================================
   ÍNDICE
========================================================= */

.ect-indice {
    max-width: 1120px;

    margin:
        45px
        auto;

    padding: 28px;

    border:
        1px solid
        #dec99f;

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            #fff,
            #fbf6ec
        );
}


.ect-indice__titulo {
    display: block;

    margin-bottom: 17px;

    color: #221d16;

    font-size: 15px;
    font-weight: 800;
}


.ect-indice__links {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;
}


.ect-indice__links a {
    padding:
        8px
        13px;

    color: #6f5125;

    text-decoration: none;

    font-size: 13px;
    font-weight: 700;

    border-radius: 999px;

    background:
        #f3e6ce;

    transition:
        .2s ease;
}


.ect-indice__links a:hover {
    color: #fff;

    background:
        #98702f;
}


/* =========================================================
   SEÇÕES
========================================================= */

.ect-secao {
    max-width: 1120px;

    margin:
        0
        auto;

    padding:
        70px
        25px;
}


.ect-mini-etiqueta {
    display: inline-block;

    margin-bottom: 11px;

    color:
        var(--ect-gold-dark);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.4px;
}


.ect-secao h2,
.ect-faq h2,
.ect-cta h2,
.ect-preco h2 {
    margin:
        0
        0
        22px;

    color: #18140f;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(30px, 4vw, 46px);

    line-height: 1.16;

    letter-spacing: -1px;
}


.ect-secao > p {
    max-width: 920px;

    margin:
        0
        0
        18px;

    font-size: 17px;
    line-height: 1.8;
}


/* =========================================================
   ALERTA
========================================================= */

.ect-alerta {
    display: grid;

    grid-template-columns:
        45px
        1fr;

    gap: 20px;

    margin-top: 35px;

    padding: 26px;

    border-left:
        4px solid
        var(--ect-gold);

    border-radius:
        0
        12px
        12px
        0;

    background:
        #f8f2e7;
}


.ect-alerta__icone {
    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    color:
        var(--ect-gold-dark);

    border:
        1px solid
        #d9bd82;

    border-radius: 50%;
}


.ect-alerta strong {
    color: #2c2419;
}


.ect-alerta p {
    margin:
        8px
        0
        0;

    line-height: 1.65;
}


/* =========================================================
   SEÇÃO ESCURA
========================================================= */

.ect-secao--escura {
    max-width: none;

    padding:
        75px
        max(25px, calc((100% - 1070px) / 2));

    color: #c8c1b6;

    background:
        radial-gradient(
            circle at top right,
            rgba(199,155,76,.13),
            transparent 32%
        ),
        #0c0b0a;
}


.ect-secao--escura h2,
.ect-secao--escura h3 {
    color: #fff;
}


.ect-secao--escura
.ect-mini-etiqueta {
    color:
        var(--ect-gold-light);
}


.ect-secao--escura > p {
    color:
        #c4beb4;
}


/* =========================================================
   PASSOS
========================================================= */

.ect-passos {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;

    margin-top: 35px;
}


.ect-passos article {
    min-height: 210px;

    padding: 25px;

    border:
        1px solid
        rgba(232,202,128,.22);

    border-radius: 12px;

    background:
        rgba(255,255,255,.03);

    transition:
        .25s ease;
}


.ect-passos article:hover {
    transform:
        translateY(-4px);

    border-color:
        rgba(232,202,128,.55);
}


.ect-passos span {
    display: block;

    margin-bottom: 24px;

    color:
        var(--ect-gold);

    font-size: 12px;
    font-weight: 800;
}


.ect-passos h3 {
    margin:
        0
        0
        10px;

    font-size: 19px;
}


.ect-passos p {
    margin: 0;

    color: #aaa399;

    line-height: 1.65;
}


/* =========================================================
   PERFIS
========================================================= */

.ect-perfis {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;

    margin-top: 30px;
}


.ect-perfis article {
    display: flex;

    flex-direction: column;

    min-height: 220px;

    padding: 26px;

    border:
        1px solid
        #e1d2b7;

    border-radius: 13px;

    background: #fff;

    transition:
        .25s ease;
}


.ect-perfis article:hover {
    transform:
        translateY(-4px);

    border-color:
        var(--ect-gold);
}


.ect-perfis article > span {
    margin-bottom: 13px;

    color:
        var(--ect-gold-dark);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1px;
}


.ect-perfis h3 {
    margin:
        0
        0
        11px;

    color: #251f17;

    font-family:
        Georgia,
        serif;

    font-size: 22px;
}


.ect-perfis p {
    margin:
        0
        0
        16px;

    color:
        var(--ect-cinza);

    line-height: 1.65;
}


.ect-perfis a {
    margin-top: auto;

    color:
        var(--ect-gold-dark);

    text-decoration: none;

    font-weight: 800;
}


/* =========================================================
   BEGE + CHECKLIST
========================================================= */

.ect-secao--bege {
    max-width: none;

    padding:
        75px
        max(25px, calc((100% - 1070px) / 2));

    background:
        linear-gradient(
            145deg,
            #fbf7ee,
            #f2e8d7
        );
}


.ect-comparar {
    display: grid;

    grid-template-columns:
        1fr
        .9fr;

    gap: 60px;

    align-items: start;
}


.ect-comparar p {
    font-size: 17px;
    line-height: 1.8;
}


.ect-checklist {
    overflow: hidden;

    border:
        1px solid
        #ddc89e;

    border-radius: 14px;

    background: #fff;
}


.ect-checklist > div {
    display: grid;

    grid-template-columns:
        160px
        1fr;

    gap: 15px;

    padding: 18px 21px;

    border-bottom:
        1px solid
        #eee3cf;
}


.ect-checklist > div:last-child {
    border-bottom: 0;
}


.ect-checklist strong {
    color: #282119;
}


.ect-checklist span {
    color: #746c61;

    font-size: 14px;
}


/* =========================================================
   UNIDADES
========================================================= */

.ect-unidades {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;

    margin-top: 30px;
}


.ect-unidades a,
.ect-unidades__info {
    display: flex;

    flex-direction: column;

    min-height: 220px;

    padding: 25px;

    text-decoration: none;

    border:
        1px solid
        #e1d1b6;

    border-radius: 13px;

    background: #fff;

    transition:
        .25s ease;
}


.ect-unidades a:hover {
    transform:
        translateY(-4px);

    border-color:
        var(--ect-gold);
}


.ect-unidades span {
    margin-bottom: 14px;

    color:
        var(--ect-gold-dark);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1px;
}


.ect-unidades strong {
    color: #251f17;

    font-family:
        Georgia,
        serif;

    font-size: 22px;
}


.ect-unidades p {
    color:
        var(--ect-cinza);

    line-height: 1.65;
}


.ect-unidades small {
    margin-top: auto;

    color:
        var(--ect-gold-dark);

    font-weight: 800;
}


.ect-unidades__info {
    color: #fff;

    border-color:
        #392b18;

    background:
        linear-gradient(
            145deg,
            #0c0b09,
            #20160b
        );
}


.ect-unidades__info strong {
    color: #fff;
}


.ect-unidades__info p {
    color: #bcb5aa;
}


/* =========================================================
   PREÇO
========================================================= */

.ect-preco {
    display: grid;

    grid-template-columns:
        1fr
        .75fr;

    gap: 60px;

    max-width: 1120px;

    margin:
        0
        auto;

    padding:
        75px
        25px;

    align-items: center;
}


.ect-preco > div:first-child > span {
    display: block;

    margin-bottom: 10px;

    color:
        var(--ect-gold-dark);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1.4px;
}


.ect-preco p {
    font-size: 17px;
    line-height: 1.8;
}


.ect-preco a {
    display: inline-block;

    margin-top: 10px;

    color:
        var(--ect-gold-dark);

    text-decoration: none;

    font-weight: 800;
}


.ect-preco__visual {
    overflow: hidden;

    border:
        1px solid
        #ddc79e;

    border-radius: 14px;

    background: #fff;
}


.ect-preco__visual > div {
    display: grid;

    grid-template-columns:
        45px
        1fr;

    gap: 15px;

    padding: 22px;

    border-bottom:
        1px solid
        #eee3cf;
}


.ect-preco__visual > div:last-child {
    border-bottom: 0;
}


.ect-preco__visual span {
    grid-row:
        1 / 3;

    color:
        var(--ect-gold);

    font-family:
        Georgia,
        serif;

    font-size: 22px;
}


.ect-preco__visual strong {
    color: #261f17;
}


.ect-preco__visual small {
    color: #7b7469;
}


/* =========================================================
   ERROS
========================================================= */

.ect-erros {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;

    margin-top: 32px;
}


.ect-erros article {
    padding: 22px;

    border:
        1px solid
        rgba(232,202,128,.20);

    border-radius: 12px;

    background:
        rgba(255,255,255,.025);
}


.ect-erros span {
    display: block;

    margin-bottom: 20px;

    color:
        var(--ect-gold);
}


.ect-erros h3 {
    margin:
        0
        0
        9px;

    font-size: 17px;
}


.ect-erros p {
    margin: 0;

    color: #aaa399;

    font-size: 14px;
    line-height: 1.55;
}


/* =========================================================
   OPERADORAS
========================================================= */

.ect-operadoras {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;

    margin-top: 28px;
}


.ect-operadoras a {
    display: flex;

    min-height: 150px;

    flex-direction: column;

    padding: 22px;

    text-decoration: none;

    border:
        1px solid
        #e1d2b7;

    border-radius: 12px;

    background: #fff;

    transition:
        .25s ease;
}


.ect-operadoras a:hover {
    transform:
        translateY(-4px);

    border-color:
        var(--ect-gold);
}


.ect-operadoras span {
    margin-bottom: 20px;

    color:
        var(--ect-gold);
}


.ect-operadoras strong {
    color: #261f17;

    font-family:
        Georgia,
        serif;

    font-size: 18px;
}


.ect-operadoras small {
    margin-top: auto;

    color:
        var(--ect-gold-dark);

    font-weight: 800;
}


/* =========================================================
   FAQ
========================================================= */

.ect-faq {
    max-width: 1120px;

    margin:
        0
        auto;

    padding:
        70px
        25px;
}


.ect-faq__cabecalho {
    max-width: 850px;

    margin-bottom: 30px;
}


.ect-faq details {
    margin-bottom: 10px;

    overflow: hidden;

    border:
        1px solid
        #e2d4bd;

    border-radius: 10px;

    background: #fff;
}


.ect-faq summary {
    position: relative;

    padding:
        20px
        56px
        20px
        20px;

    cursor: pointer;

    list-style: none;

    color: #272018;

    font-size: 16px;
    font-weight: 700;
}


.ect-faq summary::-webkit-details-marker {
    display: none;
}


.ect-faq summary::after {
    content: "+";

    position: absolute;

    right: 20px;
    top: 50%;

    transform:
        translateY(-50%);

    color:
        var(--ect-gold-dark);

    font-size: 24px;
}


.ect-faq details[open] summary {
    color: #fff;

    background:
        #19140e;
}


.ect-faq details[open] summary::after {
    content: "−";

    color:
        var(--ect-gold-light);
}


.ect-faq details > div {
    padding:
        5px
        22px
        20px;
}


.ect-faq p {
    margin:
        14px
        0
        0;

    color: #625c53;

    line-height: 1.7;
}


/* =========================================================
   CTA
========================================================= */

.ect-cta {
    max-width: 1120px;

    margin:
        30px
        auto
        70px;

    padding:
        60px
        40px;

    text-align: center;

    color: #fff;

    border:
        1px solid
        #3a2b19;

    border-radius: 20px;

    background:
        radial-gradient(
            circle at top,
            rgba(199,155,76,.18),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #080808,
            #1d140a
        );
}


.ect-cta > span {
    display: block;

    margin-bottom: 14px;

    color:
        var(--ect-gold-light);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.5px;
}


.ect-cta h2 {
    max-width: 770px;

    margin:
        0
        auto
        18px;

    color: #fff;
}


.ect-cta p {
    max-width: 680px;

    margin:
        0
        auto
        28px;

    color: #c9c2b8;

    font-size: 17px;
    line-height: 1.7;
}


.ect-cta a {
    display: inline-flex;

    min-height: 52px;

    align-items: center;
    justify-content: center;

    padding:
        0
        28px;

    color: #171109;

    text-decoration: none;

    font-weight: 800;

    border-radius: 7px;

    background:
        linear-gradient(
            135deg,
            #e8ca80,
            #b57f34
        );
}


/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 1050px) {

    .ect-erros {
        grid-template-columns:
            repeat(3, 1fr);
    }

    .ect-operadoras {
        grid-template-columns:
            repeat(3, 1fr);
    }

}


@media (max-width: 980px) {

    .ect-hero {
        grid-template-columns: 1fr;
    }


    .ect-hero__visual {
        min-height: 480px;
    }


    .ect-resumo {
        grid-template-columns:
            repeat(2, 1fr);

        margin:
            25px
            20px
            40px;
    }


    .ect-passos {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .ect-comparar,
    .ect-preco {
        grid-template-columns: 1fr;
    }


    .ect-unidades {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


@media (max-width: 680px) {

    .ect-hero {
        border-radius:
            0
            0
            22px
            22px;
    }


    .ect-hero__conteudo {
        padding:
            60px
            24px;
    }


    .ect-hero h1 {
        font-size: 39px;

        letter-spacing:
            -1.2px;
    }


    .ect-hero__descricao {
        font-size: 16px;
    }


    .ect-hero__acoes {
        flex-direction: column;
    }


    .ect-btn {
        width: 100%;
    }


    .ect-hero__visual {
        padding:
            30px
            18px;
    }


    .ect-resumo {
        grid-template-columns: 1fr;
    }


    .ect-resumo div {
        border-right: 0;

        border-bottom:
            1px solid
            #eee1cd;
    }


    .ect-indice {
        margin:
            35px
            18px;
    }


    .ect-indice__links {
        flex-direction: column;
    }


    .ect-indice__links a {
        border-radius: 7px;
    }


    .ect-secao,
    .ect-faq,
    .ect-preco {
        padding:
            55px
            20px;
    }


    .ect-secao--escura,
    .ect-secao--bege {
        padding:
            55px
            20px;
    }


    .ect-secao h2,
    .ect-faq h2,
    .ect-cta h2,
    .ect-preco h2 {
        font-size: 32px;
    }


    .ect-passos,
    .ect-perfis,
    .ect-unidades,
    .ect-erros,
    .ect-operadoras {
        grid-template-columns: 1fr;
    }


    .ect-checklist > div {
        grid-template-columns: 1fr;

        gap: 4px;
    }


    .ect-cta {
        margin:
            25px
            18px
            50px;

        padding:
            45px
            22px;
    }

}