/*====================================================

ROVZO ENGENHARIA
Style.css

====================================================*/


/*====================================================

RESET

====================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Lexend',sans-serif;
    color:#111111;
    background:#FFFFFF;
    overflow-x:hidden;

}

img{

    display:block;
    max-width:100%;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}


/*====================================================

VARIÁVEIS

====================================================*/

:root{

    --roxo:#4D234B;

    --roxo-hover:#341732;

    --preto:#111111;

    --cinza:#666666;

    --cinza-claro:#F8F8FA;

    --branco:#FFFFFF;

    --container:1200px;

}


/*====================================================

CONTAINER

====================================================*/

.container{

    width:min(90%,1200px);

    margin:auto;

}


/*====================================================

HEADER

====================================================*/

.header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:90px;

    z-index:999;

    transition:.35s;

}

.header .container{

    height:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.logo img{

    height:58px;

}


/*====================================================

MENU DESKTOP

====================================================*/

.menu{

    display:flex;

    gap:42px;

}

.menu a{

    color:#FFFFFF;

    font-weight:500;

    transition:.3s;

}

.menu a:hover{

    color:#D6B4D5;

}


/*====================================================

BOTÃO DO MENU

====================================================*/

.btn-menu{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 30px;

    border-radius:12px;

    background:#FFFFFF;

    color:var(--roxo);

    font-weight:700;

    transition:.35s;

}

.btn-menu:hover{

    transform:translateY(-4px);

}


/*====================================================

HEADER AO ROLAR

====================================================*/

.header.scrolled{

    background:rgba(255,255,255,.95);

    backdrop-filter:blur(14px);

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.header.scrolled .menu a{

    color:#111111;

}

.header.scrolled .menu a:hover{

    color:var(--roxo);

}

.header.scrolled .btn-menu{

    background:var(--roxo);

    color:#FFFFFF;

}


/*====================================================

MENU HAMBÚRGUER

====================================================*/

.menu-toggle{

    display:none;

    width:48px;

    height:48px;

    border:none;

    background:transparent;

    cursor:pointer;

    flex-direction:column;

    justify-content:center;

    gap:6px;

}

.menu-toggle span{

    width:28px;

    height:3px;

    background:#FFFFFF;

    border-radius:999px;

    transition:.35s;

}

.header.scrolled .menu-toggle span{

    background:#111111;

}
/*====================================================

HERO

====================================================*/

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:170px 0 120px;

    background:
    linear-gradient(
        180deg,
        #111111 0%,
        #241624 55%,
        #4D234B 100%
    );

}

.hero-content{

    max-width:900px;

}

.hero-logo{

    width:220px;

    margin:0 auto 40px;

    filter:drop-shadow(0 15px 35px rgba(0,0,0,.35));

}

.hero-tag{

    display:block;

    margin-bottom:28px;

    color:#D9B8D8;

    font-size:14px;

    font-weight:700;

    letter-spacing:4px;

}

.hero h1{

    color:#FFFFFF;

    font-size:64px;

    line-height:1.1;

    font-weight:700;

    margin-bottom:30px;

}

.hero p{

    max-width:760px;

    margin:0 auto;

    color:rgba(255,255,255,.85);

    font-size:20px;

    line-height:1.9;

}

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    margin-top:50px;

    flex-wrap:wrap;

}

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 34px;

    border-radius:12px;

    background:#FFFFFF;

    color:var(--roxo);

    font-weight:700;

    transition:.35s;

}

.btn-primary:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 40px rgba(0,0,0,.25);

}

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 34px;

    border:2px solid rgba(255,255,255,.35);

    border-radius:12px;

    color:#FFFFFF;

    font-weight:700;

    transition:.35s;

}

.btn-secondary:hover{

    background:#FFFFFF;

    color:var(--roxo);

}

.hero-divider{

    width:120px;

    height:2px;

    margin:55px auto 35px;

    background:rgba(255,255,255,.18);

}

.hero-info{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    flex-wrap:wrap;

    color:rgba(255,255,255,.85);

    font-size:15px;

}

/*====================================================

SERVIÇOS

====================================================*/

.servicos{

    padding:140px 0;

    background:#FFFFFF;

}

.section-tag{

    display:block;

    text-align:center;

    color:var(--roxo);

    font-size:14px;

    font-weight:700;

    letter-spacing:4px;

    margin-bottom:18px;

}

.servicos h2,
.section-title{

    text-align:center;

    font-size:48px;

    line-height:1.2;

    color:var(--preto);

    max-width:820px;

    margin:0 auto 25px;

}

.section-texto{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

    color:var(--cinza);

    font-size:18px;

    line-height:1.9;

}

.cards{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    justify-content:center;

}

.card{

    background:#FFFFFF;

    border:1px solid #ECECEC;

    border-radius:22px;

    padding:40px;

    position:relative;

    overflow:hidden;

    transition:.35s;

}

.card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:var(--roxo);

}

.card:hover{

    transform:translateY(-10px);

    box-shadow:0 22px 50px rgba(0,0,0,.08);

}

.card .icone{

    width:72px;

    height:72px;

    margin-bottom:30px;

    border-radius:18px;

    background:#F5F0F5;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.35s;

}

.card .icone i{

    font-size:32px;

    color:var(--roxo);

    transition:.35s;

}

.card:hover .icone{

    background:var(--roxo);

}

.card:hover .icone i{

    color:#FFFFFF;

    transform:scale(1.12);

}

.card h3{

    font-size:24px;

    color:var(--preto);

    margin-bottom:18px;

}

.card p{

    color:var(--cinza);

    line-height:1.9;

}

/*====================================================

METODOLOGIA BIM

====================================================*/

.bim{

    position:relative;

    overflow:hidden;

    padding:160px 0;

    background:#ffffff;

}

.bim::after{

    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to left,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0) 5%,
            rgba(255,255,255,.20) 15%,
            rgba(255,255,255,.60) 35%,
            rgba(255,255,255,1) 55%
        ),
        url("../imagens/bim.png") right center / cover no-repeat;

    z-index:0;

}

.bim .container{

    position:relative;

    z-index:2;

    max-width:620px;

    margin-left:8%;

}

.bim-texto h2{

    font-size:48px;

    line-height:1.2;

    color:var(--preto);

    margin:20px 0 30px;

}

.bim-texto p{

    color:var(--cinza);

    font-size:18px;

    line-height:1.9;

    margin-bottom:22px;

}

.bim-lista{

    margin-top:40px;

    display:flex;

    flex-direction:column;

    gap:18px;

}

.bim-lista li{

    display:flex;

    align-items:center;

    gap:16px;

    color:var(--preto);

    font-weight:500;

}

.bim-lista i{

    width:42px;

    height:42px;

    border-radius:50%;

    background:var(--roxo);

    color:#FFFFFF;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

}

.bim-imagem{

    display:flex;

    justify-content:center;

}

.bim-imagem img{

    width:100%;

    max-width:520px;

    border-radius:24px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);

    transition:.4s;

}

.bim-imagem img:hover{

    transform:translateY(-8px);

}

/*====================================================

NOSSO PROCESSO

====================================================*/

.processo{

    padding:140px 0;

    background:#FFFFFF;

}

.processo-grid{

    margin-top:70px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.passo{

    position:relative;

    background:#FFFFFF;

    border:1px solid #ECECEC;

    border-radius:24px;

    padding:45px 32px;

    text-align:center;

    transition:.35s;

    overflow:hidden;

}

.passo::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:var(--roxo);

}

.passo:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.numero{

    display:inline-block;

    margin-bottom:24px;

    color:var(--roxo);

    font-size:14px;

    font-weight:700;

    letter-spacing:3px;

}

.passo .icone{

    width:82px;

    height:82px;

    margin:0 auto 28px;

    border-radius:20px;

    background:#F5F0F5;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.35s;

}

.passo .icone i{

    font-size:34px;

    color:var(--roxo);

    transition:.35s;

}

.passo:hover .icone{

    background:var(--roxo);

}

.passo:hover .icone i{

    color:#FFFFFF;

    transform:scale(1.1);

}

.passo h3{

    font-size:24px;

    color:var(--preto);

    margin-bottom:18px;

}

.passo p{

    color:var(--cinza);

    line-height:1.9;

}

/*====================================================

CONTATO

====================================================*/

.contato{

    padding:140px 0;

    background:linear-gradient(
        180deg,
        #161616 0%,
        var(--roxo) 100%
    );

}

.contato-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:70px;

    align-items:center;

}

.contato-info .section-tag{

    text-align:left;

    color:rgba(255,255,255,.75);

}

.contato-info .section-title{

    text-align:left;

    margin:20px 0 25px;

    color:#FFFFFF;

}

.contato-info .section-texto{

    text-align:left;

    margin:0 0 50px;

    color:rgba(255,255,255,.82);

}

.contato-lista{

    display:flex;

    flex-direction:column;

    gap:28px;

}

.contato-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

}

.contato-icone{

    width:60px;

    height:60px;

    background:var(--roxo);

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    transition:.35s;

}

.contato-item:hover .contato-icone{

    transform:translateY(-4px);

}

.contato-icone i{

    color:#FFFFFF;

    font-size:22px;

}

.contato-item h4{

    font-size:18px;

    margin-bottom:6px;

    color:#FFFFFF;

}

.contato-item span{

    color:rgba(255,255,255,.75);

    line-height:1.7;

}

.contato-card{

    background:#FFFFFF;

    border:1px solid #ECECEC;

    border-radius:24px;

    padding:45px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s;

}

.contato-card:hover{

    transform:translateY(-8px);

    box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.card-tag{

    display:inline-block;

    margin-bottom:18px;

    color:var(--roxo);

    font-size:14px;

    font-weight:700;

    letter-spacing:3px;

}

.contato-card h3{

    font-size:30px;

    color:var(--preto);

    margin-bottom:20px;

}

.contato-card p{

    color:var(--cinza);

    line-height:1.9;

    margin-bottom:35px;

}

.contato-card .btn-primary{

    width:100%;

}

/*====================================================

ANIMAÇÕES

====================================================*/

.reveal{

    opacity:0;

    transform:translateY(60px);

    transition:
        opacity .9s ease,
        transform .9s ease;

    will-change:opacity,transform;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}


/* Hover suave */

.card,
.passo,
.contato-card,
.bim-imagem img,
.btn-primary,
.btn-secondary,
.btn-secondary-dark,
.btn-menu{

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        background .35s ease,
        color .35s ease,
        border-color .35s ease;

}

/*====================================================

MENU MOBILE

====================================================*/

.menu-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:998;

}

.menu-overlay.active{

    opacity:1;

    visibility:visible;

}

@media (max-width:768px){

    .menu{

        position:fixed;

        top:0;

        right:-320px;

        width:300px;

        height:100vh;

        background:#FFFFFF;

        display:flex;

        flex-direction:column;

        justify-content:center;

        align-items:center;

        gap:35px;

        transition:.35s;

        z-index:999;

        box-shadow:-10px 0 30px rgba(0,0,0,.15);

    }

    .menu.active{

        right:0;

    }

    .menu a{

        color:#111111;

        font-size:20px;

        font-weight:600;

    }

    .btn-menu{

    display:none;

}


}

/*=========================================
MENU HAMBÚRGUER RESPONSIVO
=========================================*/

@media (max-width:768px){

    .menu-toggle{

        display:flex;

        align-items:center;

        justify-content:center;

        z-index:1001;

    }

}

/*====================================================

FOOTER

====================================================*/

.footer{

    background:#111111;

    color:#FFFFFF;

    padding:80px 0 25px;

}

.footer-grid{

    display:grid;

    grid-template-columns:1.4fr 1fr 1fr;

    gap:70px;

    align-items:start;

    margin-bottom:60px;

}

.footer-brand{

    display:flex;

    align-items:center;

    gap:24px;

    max-width:420px;

}

.footer-brand img{

    width:90px;

    flex-shrink:0;

}

.footer-brand p{

    margin:0;

    max-width:320px;

    line-height:1.9;
}

.footer-brand p{

    color:rgba(255,255,255,.70);

    line-height:1.9;

    max-width:300px;

    margin:0;

    color:rgba(255,255,255,.70);

    line-height:1.9;

}

.footer h4{

    margin-bottom:22px;

    font-size:18px;

}

.footer-links,
.footer-contato{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.footer a{

    color:rgba(255,255,255,.70);

    transition:.3s;

}

.footer a:hover{

    color:#FFFFFF;

}

.footer-contato span{

    color:rgba(255,255,255,.70);

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.08);

    padding-top:25px;

    text-align:center;

    color:rgba(255,255,255,.55);

    font-size:14px;

}

/*====================================================

BOTÃO FLUTUANTE WHATSAPP

====================================================*/

.whatsapp-float{

    position:fixed;

    right:25px;

    bottom:25px;

    width:64px;

    height:64px;

    border-radius:50%;

    background:#25D366;

    color:#FFFFFF;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    box-shadow:0 10px 30px rgba(0,0,0,.25);

    z-index:999;

    transition:.35s;

}

.whatsapp-float:hover{

    transform:translateY(-5px) scale(1.08);

    box-shadow:0 18px 40px rgba(0,0,0,.30);

    background:#20ba5a;

}

/*====================================================
RESPONSIVO MOBILE
====================================================*/

@media (max-width:992px){

    .cards{
        grid-template-columns:repeat(2,1fr);
    }

    .processo-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:768px){

    .cards{
        grid-template-columns:repeat(2,1fr);
        gap:16px;
    }

    .card p{
        display:none;
    }

    .card{
        padding:28px;
    }

    .card h3{

        font-size:16px;
        line-height:1.35;

    }

    .processo-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .card,
    .passo{
        padding:32px 24px;
    }

        .bim{

        background:#ffffff;

        padding:100px 0;

    }

    .bim::after{

        background:
            url("../imagens/bim.png") center center/cover no-repeat;

        opacity:.18;

    }

    .bim h2{

        color:var(--preto);

    }

    .bim p{

        color:var(--cinza);

    }

    .bim-lista li{

        color:var(--preto);

    }

}

    /*=========================================
CONTATO - MOBILE
=========================================*/

@media (max-width:768px){

    .contato-grid{

        display:grid;
        grid-template-columns:1fr;
        gap:40px;

    }

    .contato-info{

        order:1;

    }

    .contato-card{

        order:2;
        width:100%;
        max-width:100%;
        margin:0 auto;

    }

    .contato-card h3{

        font-size:32px;

    }

    .contato-card p{

        margin-bottom:25px;

    }

}


/*====================================================
FOOTER RESPONSIVO
====================================================*/

@media (max-width:768px){

    .footer-grid{

        display:flex;
        flex-direction:column;
        align-items:center;
        gap:40px;

    }

    .footer-brand{

        display:flex;
        flex-direction:column;
        align-items:center;
        text-align:center;
        max-width:320px;

    }

    .footer-brand img{

        width:90px;

    }

    .footer-links,
    .footer-contato{

        display:flex;
        flex-direction:column;
        align-items:center;

    }

    .footer-links h4,
    .footer-contato h4{

        margin-bottom:18px;

    }

}



