/*=========================================
ILUMINAS ENGENHARIA
STYLE.CSS
=========================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#f4f7fb;
    color:#1f2937;
    line-height:1.6;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

.container{
    width:90%;
    max-width:1280px;
    margin:auto;
}

/* HEADER */

header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    background:#fff;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    z-index:999;
    transition:.3s;
}

header.ativo{
    height:75px;
    background:#163d75;
}

header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:90px;
}

.logo img{
    height:70px;
}

nav ul{
    display:flex;
    gap:35px;
}

nav a{
    color:#163d75;
    font-weight:600;
    transition:.3s;
}

header.ativo nav a{
    color:#fff;
}

nav a:hover{
    color:#d8a100;
}

/* BOTÕES */

.btn-menu,
.btn-primary{

    background:#163d75;
    color:#fff;
    padding:15px 32px;
    border-radius:8px;
    font-weight:600;
    transition:.3s;
}

.btn-menu:hover,
.btn-primary:hover{

    background:#0b2f5f;
    transform:translateY(-4px);

}

.btn-secondary{

    border:2px solid #fff;
    color:#fff;
    padding:15px 32px;
    border-radius:8px;
    transition:.3s;

}

.btn-secondary:hover{

    background:#fff;
    color:#163d75;

}

/* HERO */

.hero{

    min-height:100vh;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#163d75,#245ca6);
    color:#fff;

}

.overlay{

    position:absolute;
    inset:0;
    background:rgba(0,0,0,.35);

}

.hero-content{

    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;

}

.hero h1{

    font-size:3.5rem;
    margin-bottom:25px;
    line-height:1.2;

}

.hero p{

    font-size:1.15rem;
    margin-bottom:35px;

}

.hero-buttons{

    display:flex;
    gap:20px;

}

.tag{

    display:inline-block;
    background:#d8a100;
    color:#163d75;
    padding:8px 18px;
    border-radius:50px;
    margin-bottom:25px;
    font-weight:700;
    font-size:.9rem;

}

.hero-image img{

    animation:flutuar 5s infinite ease-in-out;

}

section{

    padding:100px 0;

}

.titulo{

    text-align:center;
    margin-bottom:60px;

}

.titulo h2{

    color:#163d75;
    font-size:2.6rem;
    margin-bottom:15px;

}

.titulo h2::after{

    content:"";
    display:block;
    width:90px;
    height:4px;
    margin:18px auto 0;
    background:#d8a100;
    border-radius:50px;

}

.titulo p{

    max-width:760px;
    margin:auto;
    color:#666;

}

@keyframes flutuar{

    0%{transform:translateY(0);}
    50%{transform:translateY(-18px);}
    100%{transform:translateY(0);}

}

/*=========================================
QUEM SOMOS
=========================================*/

.sobre{
    background:#ffffff;
}

.sobre-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

.sobre-card{
    background:#fff;
    padding:40px 30px;
    border-radius:18px;
    text-align:center;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.35s;
}

.sobre-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,.15);
}

.sobre-card i{
    font-size:52px;
    color:#163d75;
    margin-bottom:20px;
}

.sobre-card h3{
    color:#163d75;
    margin-bottom:15px;
}

.sobre-card p{
    color:#666;
}

/*=========================================
SERVIÇOS
=========================================*/

.servicos{
    background:#f7f9fc;
}

.cards-servicos{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.35s;
}

.card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,.15);
}

.card img{
    width:100%;
    height:230px;
    object-fit:cover;
}

.card h3{
    margin:25px 25px 15px;
    color:#163d75;
}

.card p{
    margin:0 25px 30px;
    color:#666;
}

/*=========================================
DIFERENCIAIS
=========================================*/

.diferenciais{
    background:#ffffff;
}

.diferenciais-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.item{
    padding:35px;
    text-align:center;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
}

.item:hover{
    transform:translateY(-10px);
}

.item i{
    font-size:50px;
    color:#d8a100;
    margin-bottom:18px;
}

.item h3{
    color:#163d75;
    margin-bottom:15px;
}

.item p{
    color:#666;
}

/*=========================================
NÚMEROS
=========================================*/

.numeros{
    background:linear-gradient(135deg,#163d75,#0b2f5f);
    color:#fff;
}

.numeros .container{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    text-align:center;
}

.numero h2{
    font-size:3.2rem;
    color:#f6c343;
}

.numero span{
    font-size:1rem;
}

/*=========================================
GALERIA
=========================================*/

.galeria{
    background:#fff;
}

.galeria-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.galeria-grid img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:15px;
    transition:.4s;
    cursor:pointer;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
}

.galeria-grid img:hover{
    transform:scale(1.05);
}

/*=========================================
ORÇAMENTO
=========================================*/

.orcamento{
    background:linear-gradient(135deg,#163d75,#245ca6);
    color:#fff;
}

.orcamento .container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.orcamento h2{
    font-size:2.8rem;
    margin-bottom:20px;
}

.formulario{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.formulario input,
.formulario select,
.formulario textarea{

    width:100%;
    padding:16px;
    border:none;
    border-radius:10px;
    font-family:inherit;
    font-size:1rem;
}

.formulario textarea{
    resize:vertical;
    min-height:180px;
}

.formulario button{

    background:#f6c343;
    color:#163d75;
    border:none;
    padding:18px;
    border-radius:10px;
    font-size:1rem;
    font-weight:700;
    cursor:pointer;
    transition:.3s;

}

.formulario button:hover{

    background:#ffd65c;
    transform:translateY(-3px);

}

/*=========================================
CONTATO
=========================================*/

.contato{

    background:#f5f7fb;

}

.contato-grid{

    display:grid;
    grid-template-columns:380px 1fr;
    gap:40px;

}

.info{

    background:#163d75;
    color:#fff;
    padding:40px;
    border-radius:20px;

}

.info h3{

    margin-bottom:25px;

}

.info p{

    display:flex;
    gap:15px;
    margin-bottom:18px;

}

.info i{

    color:#f6c343;
    width:20px;

}

.mapa iframe{

    width:100%;
    min-height:420px;
    border:none;
    border-radius:20px;
    box-shadow:0 15px 30px rgba(0,0,0,.12);

}

/*=========================================
RODAPÉ
=========================================*/

.footer{

    background:#0d203f;
    color:#fff;
    padding:70px 0 30px;

}

.footer-grid{

    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:35px;

}

.footer-logo img{

    width:170px;
    margin-bottom:20px;

}

.footer h3{

    color:#f6c343;
    margin-bottom:18px;

}

.footer li{

    margin-bottom:12px;
    color:#d5d9e0;

}

.footer li:hover{

    color:#fff;

}

/*=========================================
REDES SOCIAIS
=========================================*/

.redes{

    display:flex;
    gap:15px;
    margin-top:20px;

}

.redes a{

    width:48px;
    height:48px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.08);
    color:#fff;
    transition:.35s;

}

.redes a:hover{

    background:#f6c343;
    color:#163d75;
    transform:translateY(-5px);

}

/*=========================================
COPYRIGHT
=========================================*/

.copyright{

    text-align:center;
    margin-top:50px;
    padding-top:25px;
    border-top:1px solid rgba(255,255,255,.1);
    color:#cfd8e3;

}

/*=========================================
BOTÃO WHATSAPP
=========================================*/

.whatsapp{

    position:fixed;
    right:25px;
    bottom:25px;
    width:65px;
    height:65px;
    border-radius:50%;
    background:#25D366;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:34px;
    box-shadow:0 15px 35px rgba(0,0,0,.25);
    z-index:999;
    transition:.3s;

}

.whatsapp:hover{

    transform:scale(1.1);

}

/*=========================================
BOTÃO TOPO
=========================================*/

.topo{

    position:fixed;
    left:25px;
    bottom:25px;
    width:55px;
    height:55px;
    background:#163d75;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    transition:.3s;

}

.topo:hover{

    background:#245ca6;

}

/*=========================================
TABLETS
=========================================*/

@media (max-width:1024px){

.hero-content,
.orcamento .container,
.contato-grid,
.footer-grid{

grid-template-columns:1fr;

}

.sobre-grid,
.cards-servicos,
.diferenciais-grid,
.atuacao-grid,
.galeria-grid,
.depoimentos-grid,
.numeros .container{

grid-template-columns:repeat(2,1fr);

}

.hero{

padding-top:120px;

}

.hero h1{

font-size:2.6rem;

}

.hero-image{

margin-top:40px;

text-align:center;

}

nav ul{

gap:20px;

}

}

/*=========================================
CELULARES
=========================================*/

@media (max-width:768px){

header .container{

height:75px;

}

.logo img{

height:55px;

}

nav{

display:none;

}

.menu-mobile{

display:flex;
font-size:30px;
color:#163d75;
cursor:pointer;

}

.hero{

padding:120px 0 60px;

}

.hero-content{

grid-template-columns:1fr;
text-align:center;

}

.hero h1{

font-size:2rem;

}

.hero p{

font-size:1rem;

}

.hero-buttons{

flex-direction:column;
align-items:center;

}

.btn-primary,
.btn-secondary,
.btn-menu{

width:100%;
max-width:320px;
text-align:center;

}

.sobre-grid,
.cards-servicos,
.diferenciais-grid,
.atuacao-grid,
.galeria-grid,
.depoimentos-grid,
.numeros .container{

grid-template-columns:1fr;

}

.numero{

padding:20px 0;

}

.orcamento .container,
.contato-grid,
.footer-grid{

grid-template-columns:1fr;

}

.info{

padding:30px;

}

.mapa iframe{

min-height:300px;

}

.footer{

text-align:center;

}

.redes{

justify-content:center;

}

.whatsapp{

width:60px;
height:60px;
font-size:30px;
right:18px;
bottom:18px;

}

.topo{

left:18px;
bottom:18px;

}

section{

padding:70px 0;

}

.titulo h2{

font-size:2rem;

}

}

/*=========================================
ANIMAÇÕES
=========================================*/

.fade{

opacity:0;
transform:translateY(40px);
transition:.8s;

}

.fade.show{

opacity:1;
transform:translateY(0);

}

.card,
.sobre-card,
.item,
.atuacao-card,
.depoimento{

transition:
transform .35s ease,
box-shadow .35s ease;

}

.card:hover,
.sobre-card:hover,
.item:hover,
.atuacao-card:hover,
.depoimento:hover{

transform:translateY(-10px);
box-shadow:0 20px 40px rgba(0,0,0,.18);

}

/* ===========================
   RESPONSIVO - CELULAR
=========================== */
@media (max-width: 768px) {

header{
    padding:15px 20px;
}

.container{
    width:92%;
    margin:auto;
}

.logo img{
    height:55px;
    width:auto;
}

.hero{
    min-height:90vh;
    padding:120px 0 60px;
}

.hero-content{
    display:flex;
    flex-direction:column;
    text-align:center;
    gap:35px;
}

.hero-text h1{
    font-size:2.3rem;
    line-height:1.2;
}

.hero-text p{
    font-size:1.1rem;
}

.hero-image img{
    max-width:100%;
    height:auto;
}

.servicos-grid,
.galeria-grid,
.contato-grid,
.footer-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:25px;
}

.btn{
    width:100%;
    max-width:320px;
    margin:auto;
}

section{
    padding:70px 0;
}

h2{
    font-size:2rem;
}
}