.cta {
    background: linear-gradient(-45deg, #E07650 0%, #F29979 100%);

    padding: 20px 8px;

    width: calc(100% - 16px);
    margin-top: 60px;

    position: relative;

    display: flex;
    justify-content: center;
    align-items: center;
}

.cta::before {
    transform: rotate(45deg);

    position: absolute;
    left: -150px;
    top: 0;
    content: "";
    z-index: 1;

    height: 350px;
    width: 350px;

    background-color: rgba(255, 255, 255, 0.199);
}

.cta::after {
    position: absolute;
    right: 0;
    bottom: 0;
    content: "";
    z-index: 1;

    transform: rotate(180deg);

    height: 200px;
    width: 100%;
    max-width: 500px;

    background-image: url("../img/docoracao.png");
    background-repeat: no-repeat;
    background-size: 100%;
}

.cta__conteudo {
    max-width: 500px;

    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 20px;
    z-index: 3;

    overflow: hidden;
}

.cta__title {
    text-transform: uppercase;
    font-size: 45px;
    color: #005678;
}

.cta__subtitle {
    text-transform: capitalize;
    font-size: 20px;
    color: white;
}

.cta__button {
    font-size: 20px;
    font-weight: bold;
    color: white;
    text-align: start;

    padding: 10px 15px;
    margin-top: auto;

    background-color: #0387BB;

    border: none;
    border-bottom: 3px solid #006188;
    border-right: 3px solid #006188;
    border-radius: 5px;

    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.cta__button:hover {
    border-bottom: 3px solid #047faf;
    border-right: 3px solid #047faf;

    background-color: #0798d1;
}

.cta__button img {
    width: 30px;
}

.cta__img {
    z-index: 2;
    width: 350px;
}

@media screen and (max-width: 890px) {
    .cta__title {
        font-size: 35px;
    }

    .cta__img {
        width: 300px;
    }

    .cta__conteudo {
        max-width: 380px;
    }
}

@media screen and (max-width: 701px) {
    .cta__img {
        width: 250px;
    }
}

@media screen and (max-width: 662px) {
    .cta {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .cta::before {
        height: 450px;
        width: 300px;
    }

    .cta__title {
        font-size: 22px;
        text-align: center;
    }

    .cta__subtitle {
        font-size: 18px;
        font-weight: 500;
        text-transform: uppercase;
        text-align: center;
    }

    .cta__button {
        font-size: 18px;
        padding: 10px;
        gap: 8px;
    }

    .cta__conteudo {
        max-width: 243px;
        align-items: center;
    }

    .cta__button img {
        width: 20px;
    }

    .cta__conteudo {
        position: relative;
    }

    .cta__img {
        width: 220px;
    }
}