/* ==========================================
RESET
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;
    color:#4A4A4A;
    background:#ffffff;
    overflow-x:hidden;

}

img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

.container{

    width:90%;
    max-width:1200px;
    margin:auto;

}


/* ==========================================
CORES
========================================== */

:root{

    --azul:#1B2954;
    --azul2:#24366D;
    --dourado:#B99749;
    --branco:#fff;
    --cinza:#666;
    --cinzaClaro:#F7F7F7;

}


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

.hero{

    position: relative;

    min-height: 100vh;

    display: flex;

    justify-content: center;

    align-items: center;

    text-align: center;

    background-image: url("../images/hero.png");
    background-size: cover;
    background-repeat: no-repeat;

    /* Ajuste esta linha */
    background-position: center 20%;
}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(15,22,46,.72);

}

.hero-content{

    position:relative;

    z-index:5;

    width:90%;

    max-width:900px;

}

.hero-logo{
    width: 300px;
    height: auto;
    display: block;
    margin: 0 auto 30px auto;
}

.hero h1{

    font-family:'Cormorant Garamond',serif;

    color:#fff;

    font-size:72px;

    font-weight:700;

    margin-bottom:20px;

}

.hero h2{

    color:#fff;

    font-weight:400;

    font-size:25px;

    line-height:1.7;

    margin-bottom:25px;

}

.hero p{

    color:#ECECEC;

    font-size:19px;

    line-height:1.8;

    margin-bottom:45px;

}


/* ==========================================
BOTÃO
========================================== */

.btn-principal{

    display:inline-block;

    padding:18px 45px;

    background:#27C44B;

    color:#fff;

    font-weight:600;

    border-radius:40px;

    transition:.35s;

    letter-spacing:.5px;

}

.btn-principal:hover{

    transform:translateY(-4px);

    background:#1EA53D;

    box-shadow:0 15px 35px rgba(0,0,0,.25);

}


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

section{

    padding:100px 0;

}

section h2{

    font-family:'Cormorant Garamond',serif;

    font-size:52px;

    color:var(--azul);

    text-align:center;

    margin-bottom:20px;

}

.linha{

    width:90px;

    height:3px;

    background:var(--dourado);

    margin:0 auto 40px;

}

section p{

    font-size:18px;

    line-height:1.9;

    color:var(--cinza);

}


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

@media(max-width:991px){

.hero h1{

font-size:52px;

}

.hero h2{

font-size:21px;

}

.hero-logo{

width:170px;

}

}

@media(max-width:768px){

.hero{

padding:100px 20px;

}

.hero h1{

font-size:40px;

}

.hero h2{

font-size:18px;

}

.hero p{

font-size:16px;

}

.btn-principal{

width:100%;

max-width:320px;

}

}
/* ==========================================
O QUE É O BPC
========================================== */

.sobre-beneficio{

    background:#fff;

}

.sobre-beneficio .container{

    max-width:1000px;

    text-align:center;

}

.sobre-beneficio p{

    margin-bottom:25px;

}


/* ==========================================
QUEM TEM DIREITO
========================================== */

.direito-beneficio{

    background:#f5f7fb;

}

.subtitulo{

    text-align:center;

    margin-bottom:70px;

    color:#777;

}

.card-direito{

    display:grid;
    grid-template-columns:340px 1fr;
    align-items:center;

    background:#fff;
    border-radius:60px;
    overflow:hidden;

    margin:60px 0;

}

.card-direito.reverso{

    grid-template-columns:1fr 1fr;

}

.card-direito.reverso .imagem{
    width: 310px;
    height: 420px;
    flex: 0 0 310px;

    margin-left: auto;   /* empurra para a direita */

    overflow: hidden;
    border-radius: 12px;
}

.card-direito .imagem{
    flex: 0 0 310px;
    width: 310px;
    height: 420px;
    overflow: hidden;
    border-radius: 12px;
}

.card-direito img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.card-direito .texto{

    padding:55px 60px;

}

.card-direito h3{

    font-family:'Cormorant Garamond',serif;

    color:var(--azul);

    font-size:42px;

    margin-bottom:25px;

}

.card-direito ul{

    list-style:none;

}

.card-direito li{

    position:relative;

    padding-left:28px;

    margin-bottom:18px;

    color:#666;

    line-height:1.8;

}

.card-direito li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:var(--dourado);

    font-weight:bold;

}

.texto-final{

    max-width:900px;

    margin:60px auto 45px;

    text-align:center;

    font-size:19px;

}

.direito-beneficio .btn-principal{

    display:block;

    width:max-content;

    margin:auto;

}


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

@media(max-width:991px){

.card-direito{

grid-template-columns:1fr;

}

.card-direito.reverso{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 80px;
}

.card-direito .texto{

padding:40px;

}

.card-direito h3{

font-size:34px;

}

.card-direito img{

min-height:300px;

}

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

.cta{

    position:relative;

    padding:140px 0;

    background:url("../images/banner-cta.png") center center/cover no-repeat;

    text-align:center;

}

.cta .overlay{

    position:absolute;

    inset:0;

    background:rgba(18,27,59,.78);

}

.cta .container{

    position:relative;

    z-index:2;

    max-width:900px;

}

.cta h2{

    font-family:'Cormorant Garamond',serif;

    color:#fff;

    font-size:58px;

    line-height:1.2;

    margin-bottom:30px;

}

.cta p{

    color:#F2F2F2;

    font-size:20px;

    line-height:1.8;

    margin-bottom:45px;

}


/* ==========================================
PASSO A PASSO
========================================== */

.passos{

    background:#fff;

}

.cards-passos{

    display:grid;

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

    gap:35px;

    margin-top:70px;

}

.passo{

    background:#fff;

    border-radius:18px;

    padding:45px 30px;

    text-align:center;

    border:1px solid #EAEAEA;

    box-shadow:0 12px 35px rgba(0,0,0,.06);

    transition:.35s;

}

.passo:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.passo img{

    width:80px;

    height:80px;

    object-fit:contain;

    margin:0 auto 25px;

}

.passo h3{

    font-family:'Cormorant Garamond',serif;

    color:var(--azul);

    font-size:32px;

    margin-bottom:18px;

}

.passo p{

    color:#666;

    font-size:16px;

    line-height:1.8;

}


/* ==========================================
ANIMAÇÕES
========================================== */

.card-direito,
.passo,
.btn-principal{

    transition:all .35s ease;

}

.btn-principal:hover{

    transform:translateY(-4px);

}


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

@media(max-width:1100px){

.cards-passos{

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

}

}

@media(max-width:768px){

.cta{

padding:90px 20px;

}

.cta h2{

font-size:38px;

}

.cta p{

font-size:17px;

}

.cards-passos{

grid-template-columns:1fr;

gap:25px;

}

.passo{

padding:35px 25px;

}

.passo h3{

font-size:28px;

}

.passo img{

width:65px;

height:65px;

}

}
/* ==========================================
QUEM SOMOS
========================================== */

.quem-somos{

    background:#ffffff;

    padding:120px 0;

}


.quem-grid{

    display:grid;

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

    gap:70px;

    align-items:center;

}

.quem-texto h2{

    text-align:left;

    margin-bottom:25px;

}

.quem-texto p{

    color:#666;

    margin-bottom:22px;

    line-height:1.9;

    font-size:17px;

}

.quem-imagem{

    display:flex;

    justify-content:center;

}

.quem-imagem img{

    width:100%;

    max-width:470px;

    border-radius:18px;

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}


/* ==========================================
LOGO CENTRAL
========================================== */

.logo-central{

    padding:80px 0;

    background:#f8f8f8;

    display:flex;

    justify-content:center;

    align-items:center;

}

.logo-central img{

    width:180px;

    opacity:.95;

}


/* ==========================================
CONTATO
========================================== */

.contato{

    background:#ffffff;

    padding:120px 0;

}

.contato-grid{

    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:60px;

    align-items:flex-start;

}

.mapa iframe{

    width:100%;

    height:430px;

    border:none;

    border-radius:18px;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.info-contato{

    background:#fff;

    padding:45px;

    border-radius:18px;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.info-contato h3{

    font-family:'Cormorant Garamond',serif;

    color:var(--azul);

    font-size:30px;

    margin-bottom:18px;

}

.info-contato p{

    color:#666;

    margin-bottom:20px;

    line-height:1.8;

}

.info-contato .btn-principal{

    margin-top:20px;

    width:100%;

    text-align:center;

}


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

@media(max-width:991px){

.quem-grid{

grid-template-columns:1fr;

}

.quem-texto{

text-align:center;

}

.quem-texto h2{

text-align:center;

}

.contato-grid{

grid-template-columns:1fr;

}

.info-contato{

margin-top:40px;

}

}

@media(max-width:768px){

.quem-somos{

padding:80px 0;

}

.logo-central img{

width:140px;

}

.info-contato{

padding:30px;

}

.info-contato h3{

font-size:26px;

}

}
/* ==========================================
RODAPÉ
========================================== */

footer{

    background:var(--azul);

    padding:70px 20px;

    text-align:center;

    color:#fff;

}

footer img{

    width:140px;

    margin:0 auto 25px;

}

footer p{

    color:#D9DDE9;

    font-size:15px;

    line-height:1.8;

    margin-bottom:8px;

}

footer .copyright{

    margin-top:25px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.15);

    color:#AEB8D0;

    font-size:14px;

}


/* ==========================================
BOTÃO WHATSAPP
========================================== */

.whatsapp{

    position:fixed;

    right:25px;

    bottom:25px;

    width:70px;

    height:70px;

    border-radius:50%;

    background:#25D366;

    display:flex;

    justify-content:center;

    align-items:center;

    box-shadow:0 15px 35px rgba(0,0,0,.25);

    transition:.3s;

    z-index:9999;

}

.whatsapp{
    position: fixed;
    right: 20px;
    bottom: 20px;

    width: 70px;
    height: 70px;

    border-radius: 50%;
    background: #25D366;

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

    overflow: hidden; /* IMPORTANTE */
}

.whatsapp img{
    width: 46px;
    height: 46px;
    object-fit: contain;
}

.whatsapp:hover{

    transform:scale(1.08);

}


/* ==========================================
ANIMAÇÕES
========================================== */

.hero-content{

    animation:fadeHero 1.2s ease;

}

@keyframes fadeHero{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.card-direito,
.passo,
.info-contato,
.btn-principal{

    transition:all .35s ease;

}

.card-direito:hover{

    transform:translateY(-10px);

}

.info-contato:hover{

    transform:translateY(-6px);

}


/* ==========================================
SCROLLBAR
========================================== */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#ECECEC;

}

::-webkit-scrollbar-thumb{

    background:var(--azul);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--azul2);

}
/* ==========================================
RESPONSIVO FINAL
========================================== */

@media (max-width:1200px){

    .container{
        width:92%;
    }

}

@media (max-width:991px){

    .card-esquerdo,
    .card-direito,
    .card-direito.reverso{

        display:flex;
        flex-direction:column;
        text-align:center;
        gap:25px;

    }

    .card-esquerdo .imagem,
    .card-direito .imagem{

        order:1;

    }

    .card-esquerdo .texto,
    .card-direito .texto{

        order:2;

    }

    .card-esquerdo img,
    .card-direito img{

        width:100%;
        max-width:320px;
        margin:auto;
        display:block;

    }

    .texto ul{

        text-align:left;
        display:inline-block;

    }

    footer{

        padding:60px 20px;

    }

    footer img{

        width:120px;

    }

    .whatsapp{

        width:62px;
        height:62px;

    }

    .whatsapp img{

        width:36px;

    }

}

@media (max-width:768px){

    section{

        padding:70px 0;

    }

    h2{

        font-size:38px !important;

    }

    p{

        font-size:16px !important;

    }

    .hero h1{

        font-size:42px;

    }

    .hero h2{

        font-size:22px;

    }

    footer{

        padding:50px 20px;

    }

    .whatsapp{

        width:58px;
        height:58px;
        right:18px;
        bottom:18px;

    }

    .whatsapp img{

        width:34px;

    }

}

@media (max-width:480px){

    .container{

        width:94%;

    }

    .hero h1{

        font-size:34px;

    }

    .hero h2{

        font-size:18px;

    }

    .btn-principal{

        width:100%;

    }

}