@font-face {
    font-family: 'NesansSemiBold';
    src: url('../fonte/nesans-semi-bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
    background: fixed;
    background-color: #18191A;
}

main {
    color: #F0F0F0;
    margin: 0 auto;
}

h1 {
    font-size: 2em;
}

p {
    line-height: 1.6;
    font-size: 1.2em;
}

header {
    height: 50px;
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: end;
}

.botoes {
    display: flex;
    gap: 30px;
    padding-right: 10px;
}

.botoes > a {
    padding: 5px 20px;
    font-size: 0.8em;
    color: white;
    border-radius: 40px;
    background: linear-gradient(to right, #F1D89C, #C2872F);
    background-size: 200%;
    background-position: left;
    transition: background-position 0.5s ease, box-shadow 0.3s ease;
    box-shadow: 0 0 10px 3px rgba(255, 255, 255, 0.2); /* Sombra branca ao redor */
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5); /* Sombra no texto */
}

.botoes > a:hover {
    background-position: right;
    box-shadow: 0 0 15px 5px rgba(255, 255, 255, 0.05); /* Aumenta a sombra no hover */
}

.banner {
    max-width: 100vw;
    position: relative;
    min-height: 600px;
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.banner > video {
    width: 100%;
    position: absolute;
    object-fit: cover;
    opacity: 0.3;
}

.ramo-1 {
    position: absolute;
    width: 150px;
    left: 10px;
    top: 10px;
    transform: scale(-1, -1);
}

.ramo-2 {
    position: absolute;
    width: 150px;
    right: 10px;
    bottom: 10px;
}

.conteudo {
    z-index: 1;
    max-width: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.conteudo > .nome {
    white-space: nowrap;
}

.nome {
    font-family: 'NesansSemiBold', sans-serif;
    font-size: 3em;
    padding-top: 25px;
    background: linear-gradient(to right, #F1D89C, #C2872F);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.container {
    max-width: 1100px;
    width: calc(100% - 20px);
    margin: 0 auto;
}

.dobra-1 {
    height: 500px;
    max-width: 1100px;
    padding: 20px 40px;
    display: grid;
    grid-template-columns: 1fr 350px;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
    border: 1px solid #F1D89C;
    border-radius: 40px;
    box-shadow: 0 0 0 0 rgba(241, 216, 156, 0); /* Início sem sombra */
    transition: box-shadow 1s ease-in-out; /* Usar transition para animar */
}

.dobra-1 > .img-logo {
    width: 100%;
    display: flex;
    align-items: center;
}

.img-logo > img {
    width: 250px;
}

.img-logo > h1 {
    padding: 0;
}

.dobra-1 > div {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.dobra-1.animate {
    box-shadow: 0 0 40px 20px rgba(241, 216, 156, 0.2); /* Sombra final */
}

.texto-1, .texto-2, .texto-3, .texto-4, .texto-5 {
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.atendimento, .notificacao, .grafico {
    opacity: 0;
    transform: translateX(-100px); /* Move a imagem para fora da tela, à direita */
    transition: transform 1s ease-in-out, opacity 1s ease-in-out;
}

.seta-enviar, .aprovado {
    opacity: 0;
    transform: translateX(100px); /* Move a imagem para fora da tela, à direita */
    transition: transform 1s ease-in-out, opacity 1s ease-in-out;
}

.parte-1.animate .atendimento {
    opacity: 1;
    transform: translateX(0); /* Traz a imagem da direita para sua posição original */
}

.parte-2.animate .seta-enviar {
    opacity: 1;
    transform: translateX(0); /* Traz a imagem da direita para sua posição original */
}

.parte-3.animate .notificacao {
    opacity: 1;
    transform: translateX(0); /* Traz a imagem da direita para sua posição original */
}

.parte-4.animate .aprovado {
    opacity: 1;
    transform: translateX(0); /* Traz a imagem da direita para sua posição original */
}

.parte-5.animate .grafico {
    opacity: 1;
    transform: translateX(0); /* Traz a imagem da direita para sua posição original */
}

.parte-1.animate .texto-1 {
    opacity: 1; /* Aparece o texto */
}

.parte-2.animate .texto-2 {
    opacity: 1; /* Aparece o texto */
}

.parte-3.animate .texto-3 {
    opacity: 1; /* Aparece o texto */
}

.parte-4.animate .texto-4 {
    opacity: 1; /* Aparece o texto */
}

.parte-5.animate .texto-5 {
    opacity: 1; /* Aparece o texto */
}

.dobra-1 > div > h1 {
    max-width: 500px;
}

.dobra-1 > div > p {
    max-width: 700px;
}

.dobra-2 {
    padding: 0 5px;
    max-width: 1100px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 40px;
}

.dobra-2 h1 {
    color: #F1D89C;
}

.parte-1, .parte-3, .parte-5 {
    display: grid;
    grid-template-columns: 3fr 2fr;
    height: auto;
    margin: 50px 0;
    align-items: center;
    gap: 20px;
}

.parte-1 > div, .parte-2 > div, .parte-3 > div, .parte-4 > div, .parte-5 > div {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.titulo {
    max-width: 500px;
}

.parte-2, .parte-4 h1 {
    text-align: right;
}

.parte-2, .parte-4 {
    display: grid;
    grid-template-columns: 2fr 3fr;
    height: auto;
    margin: 50px 0;
    align-items: center;
    gap: 20px;
}

.dobra-2 > div > .img, .dobra-2 > div > .img-desktop, .dobra-2 > div > .img-mobile {
    display: flex;
    align-items: center;
    justify-content: center;
}

.atendimento, .aprovado, .grafico {
    width: 200px;
}

.seta-enviar {
    width: 100px;
}

.notificacao {
    width: 170px;
}

.parte-2 > div, .parte-4 > div {
    align-items: end;
}

.tracado-1, .tracado-2 {
    max-width: 1100px;
    width: 70%;
}

.tracado-2 {
    transform: scaleX(-1);
}

.conteudo > img {
    width: 160px;
}

.dobra-3 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 50px 0 60px 0;
    border-radius: 30px;
    width: 100%;
    gap: 20px;
    color: #1d1b17;
    background-color: #e7e7e7;
    border: 4px solid #F1D89C;
    box-shadow: 0 0 40px 30px rgba(241,216,156, 0.2);
    margin-bottom: 60px ;
    animation: boxShadowMove 4s infinite ease-in-out; /* Adiciona a animação */
}

.dobra-3 > div {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
    max-width: 640px;
    padding: 0px 20px;
}

.dobra-3 h1 {
    line-height: 1.2;
}

.dobra-3 h1, .dobra-3 p {
    text-align: center;
}

.formulario-novo {
    width: 100%;
    max-width: 640px;
    padding: 0px 20px;
}

.formulario-novo > div {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.inputGroup {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.inputGroup label {
    padding: 22px;
}

.formulario-novo .inputs {
    font-size: 1em;
    padding: 8px 20px 0px 20px;
    width: 100%;
    border-radius: 15px;
    text-align: start;
    min-height: 50px;
}

.inputGroup :is(.inputs:focus, .inputs:valid)~label, .inputGroup :is(select:focus, select:valid)~label, .inputGroup :is(textarea:focus, textarea:valid)~label, .input-imagens input:valid + label {
    transform: translateY(-50%) scale(.9);
    padding: 2px 10px;
    margin-top: -21px;
    font-size: 0.8em !important;
}

.btn-acao {
    padding: 10px 100px;
    font-size: 1.4em;
}

@keyframes boxShadowMove {
    0% {
        box-shadow: 0 0 20px 20px rgba(241, 216, 156, 0.2);
    }
    50% {
        box-shadow: 0 0 70px 40px rgba(241, 216, 156, 0.4); /* Aumenta o brilho no meio da animação */
    }
    100% {
        box-shadow: 0 0 20px 20px rgba(241, 216, 156, 0.2); /* Volta ao estado inicial */
    }
}

.ramo-3 {
    position: absolute;
    width: 150px;
    left: 10px;
    bottom: 10px;
}

.ramo-4 {
    position: absolute;
    width: 150px;
    right: 10px;
    top: 10px;
    transform: scale(-1, -1);
}

.ramo-5 {
    position: absolute;
    width: 150px;
    left: 10px;
    top: 10px;
    transform: scale(-1, -1);
}

.ramo-6 {
    position: absolute;
    width: 150px;
    right: 10px;
    bottom: 10px;
}

.diamante {
    width: 200px;
    top: 5px;
}

.conteudo {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media(max-width: 470px) {
    .container h1 {
        font-size: 1.5em;
    }
    .container p {
        font-size: 1.2em;
    }
    .dobra-3 {
        padding: 20px 0px 50px 0px !important;
    }
    .ramo-3, .ramo-4, .ramo-5, .ramo-6 {
        width: 80px !important;
    }
}

@media (max-width: 600px) {
    .conteudo {
        flex-direction: column;
    }
    .botoes {
        gap: 20px;
    }
    .parte-1, .parte-2, .parte-3, .parte-4, .parte-5 {
        display: flex;
        flex-direction: column;
    }    
    .img-desktop {
        display: none !important;
    }
    .img-mobile {
        display: flex !important;
    }
    .atendimento, .aprovado, .grafico {
        width: 140px;
        margin: 20px 0;
    }
    .seta-enviar {
        width: 90px;
        margin: 20px 0;
    }
    .notificacao {
        width: 140px;
        margin: 20px 0;
    }
    .dobra-3 {
        padding: 20px 40px 30px 40px;
    }
    .ramo-3, .ramo-4, .ramo-5, .ramo-6 {
        width: 100px;
    }
    .container-inputs {
        flex-direction: column;
        gap: 25px;
    }
}

@media (max-width: 800px) {
    .dobra-1 {
        display: flex;
        flex-direction: column;
        gap: 20px;
        height: auto;
    }
    .container h1 {
        font-size: 1.7em;
    }
    .container p {
        font-size: 1.2em;
    }
    .dobra-1 > div, .dobra-1 > div > p {
        text-align: center;
        align-items: center;
    }
    .img-logo > img {
        width: 150px;
    }
    .img-logo > h1 {
        font-size: 2.4em;
    }
    .parte-1, .parte-3, .parte-5 {
        height: auto;
        margin: 40px 0;
    }
    .parte-2, .parte-4 {
        height: auto;
        margin: 40px 0;
    }
}

@media (max-width: 1080px) {
    .banner > video {
        max-width: auto;
        width: auto;
        height: 100%;
    }
}