/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Segoe UI',sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#ffffff;
    color:#333;
}

/* =========================
   NAVBAR
========================= */

nav{
    position:fixed;
    top:0;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 8%;
    background:#112b64;
    z-index:1000;
}

.menu-toggle{
    display:none;
    font-size:2rem;
    color:white;
    cursor:pointer;
}

.logo img{
    height:60px;
}

nav ul{
    display:flex;
    list-style:none;
    gap:25px;
}

nav a{
    text-decoration:none;
    color:white;
    font-weight:600;
}

/* =========================
   HERO
========================= */

header{
    height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:20px;

    background:
    linear-gradient(
        rgba(0,0,0,.75),
        rgba(44,34,72,.75)
    ),
    url("https://images.unsplash.com/photo-1558002038-1055907df827?q=80&w=2070");

    background-size:cover;
    background-position:center;
}

.hero{
    max-width:800px;
}

.hero h1{
    font-size:4rem;
    color:white;
    margin-bottom:20px;
}

.hero p{
    font-size:1.2rem;
    color:white;
    margin-bottom:30px;
}

/* =========================
   BOTÕES
========================= */

.botoes{
    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
}

.btn{
    text-decoration:none;
    padding:15px 30px;
    border-radius:8px;
    color:white;
    font-weight:bold;
    transition:.3s;
}

.btn:hover{
    transform:translateY(-3px);
}

.whatsapp{
    background:#3c49d8;
}


/* =========================
   SEÇÕES GERAIS
========================= */

section{
    padding:100px 8%;
}

h2{
    text-align:center;
    font-size:2.8rem;
    margin-bottom:50px;
}

/* =========================
   TÍTULOS
========================= */

#como-funciona h2,
#beneficios h2,
#servicos h2,
#contato h2{
    color:#667EB3;
}

/* =========================
   COMO FUNCIONA
========================= */

#como-funciona{
    background:#f8fafc;
}

.subtitulo{
    text-align:center;
    max-width:800px;
    margin:0 auto 60px;
    color:#555;
    font-size:1.1rem;
    line-height:1.8;
}

.funciona-grid{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

/* =========================
   UMA CASA INTELIGENTE
========================= */

#como-funciona{
    background:#f8fafc;
    padding:100px 8%;
}

#como-funciona h2{
    color:#667EB3;
    text-align:center;
    margin-bottom:20px;
}

.subtitulo{
    max-width:800px;
    margin:0 auto 60px;
    text-align:center;
    color:#555;
    line-height:1.8;
}

.funciona-grid{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

.funciona-card{
    position:relative;
    width:380px;
    height:250px;
    border-radius:20px;
    overflow:hidden;
    cursor:pointer;

    box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.funciona-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
}

.funciona-card:hover img{
    transform:scale(1.1);
}

.funciona-card .overlay{
    position:absolute;
    top:0;
    left:0;

    width:100%;
    height:100%;

    background:rgba(10,25,47,.85);

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;
    padding:25px;

    opacity:0;
    transition:.4s;
}

.funciona-card:hover .overlay{
    opacity:1;
}

.funciona-card .overlay h3{
    color:white;
    font-size:1.8rem;
    margin-bottom:15px;
}

.funciona-card .overlay p{
    color:white;
    line-height:1.7;
}

/* =========================
   PROJETOS / SERVIÇOS
========================= */

#servicos{
    background:#f7f9fc;
}

.servicos-grid{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

.servico{
    position:relative;
    width:380px;
    height:280px;

    border-radius:20px;
    overflow:hidden;
    cursor:pointer;

    box-shadow:
    0 10px 30px rgba(0,0,0,.15);

    transition:.4s;
}

.servico:hover{
    transform:translateY(-10px);
}

.servico img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
}

.servico:hover img{
    transform:scale(1.15);
}

.overlay{
    position:absolute;
    inset:0;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;
    padding:30px;

    background:rgba(10,25,47,.85);

    opacity:0;
    transition:.5s;
}

.overlay h3{
    color:white;
    font-size:1.8rem;
    margin-bottom:15px;
}

.overlay p{
    color:white;
    line-height:1.7;
}

.servico:hover .overlay{
    opacity:1;
}

/* =========================
   GALERIA
========================= */

.galeria{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
}

.galeria img{
    width:350px;
    height:250px;
    object-fit:cover;
    border-radius:15px;
    transition:.3s;
}

.galeria img:hover{
    transform:scale(1.05);
}

/* =========================
   DEPOIMENTOS
========================= */

.depoimento-box{
    max-width:700px;
    margin:auto;
    background:#204286;
    padding:40px;
    border-radius:15px;
    text-align:center;
}

#texto-depoimento{
    font-size:1.1rem;
    margin-bottom:20px;
    color:white;
}

#nome-cliente{
    color:#25D366;
    font-weight:bold;
}

/* =========================
   CONTATO
========================= */

#contato{
    text-align:center;
}

#contato p{
    margin-bottom:40px;
}

/* =========================
   FOOTER
========================= */

footer{
    background:#112b64;
    text-align:center;
    padding:40px;
}

footer h3,
footer p{
    color:white;
}

footer a{
    color:#E1306C;
    text-decoration:none;
}

/* =========================
   WHATSAPP FIXO
========================= */

.whatsapp-fixo{
    position:fixed;
    right:20px;
    bottom:20px;

    width:65px;
    height:65px;

    background:#25D366;
    color:white;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    text-decoration:none;
    font-size:30px;

    box-shadow:
    0 10px 25px rgba(0,0,0,.2);
}

/* =========================
   RESPONSIVO
========================= */

@media(max-width:768px){

    .hero h1{
        font-size:2.5rem;
    }

    nav ul{
        display:none;
    }

    .etapa,
    .servico{
        width:100%;
    }

    .galeria img{
        width:100%;
        height:auto;
    }
}

/* =========================
   RESPONSIVIDADE MOBILE
========================= */

@media (max-width: 768px){

    /* Menu */
    nav{
        padding:15px 5%;
    }

    nav ul{
        display:none;
    }

    .logo img{
        height:50px;
    }

    /* Hero */
    .hero h1{
        font-size:2.2rem;
        line-height:1.2;
    }

    .hero p{
        font-size:1rem;
    }

    .botoes{
        flex-direction:column;
        align-items:center;
    }

    .btn{
        width:100%;
        max-width:280px;
        text-align:center;
    }

    /* Títulos */
    h2{
        font-size:2rem;
    }

    #como-funciona h2,
    #contato h2,
    #servicos h2{
        font-size:2rem;
    }

    .subtitulo{
        font-size:1rem;
        padding:0 10px;
    }

    /* Cards Nossos Serviços */
    .servico{
        width:100%;
        max-width:350px;
        height:220px;
    }

    /* Cards Casa Inteligente */
    .funciona-card{
        width:100%;
        max-width:350px;
        height:220px;
    }

    .overlay h3{
        font-size:1.4rem;
    }

    .overlay p{
        font-size:.95rem;
    }

    /* Galeria */
    .galeria img{
        width:100%;
        height:auto;
    }

    /* Contato */
    #contato p{
        font-size:1rem;
        padding:0 15px;
    }

    footer{
        padding:30px 20px;
    }

}

/* CELULARES PEQUENOS */
@media (max-width:480px){

    .hero h1{
        font-size:1.8rem;
    }

    .hero p{
        font-size:.95rem;
    }

    h2{
        font-size:1.8rem;
    }

    .servico,
    .funciona-card{
        height:200px;
    }

    .overlay h3{
        font-size:1.2rem;
    }

    .overlay p{
        font-size:.9rem;
    }
}

@media (max-width:768px){

    .menu-toggle{
        display:block;
    }

    nav{
        padding:15px 5%;
    }

    nav ul{
        position:absolute;

        top:90px;
        left:0;

        width:100%;

        background:#112b64;

        flex-direction:column;

        text-align:center;

        gap:0;

        display:none;
    }

    nav ul.active{
        display:flex;
    }

    nav ul li{
        padding:18px;
        border-top:1px solid rgba(255,255,255,.1);
    }

    .hero h1{
        font-size:2rem;
    }

    .hero p{
        font-size:1rem;
    }

    .btn{
        width:100%;
        max-width:280px;
    }

    .servico,
    .funciona-card{
        width:100%;
        max-width:350px;
        height:220px;
    }

}