*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:Arial,Helvetica,sans-serif;
background:#f5f8fc;
color:#111;
overflow-x:hidden;
}

/* HEADER */

.header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
padding:18px 8%;
display:flex;
align-items:center;
justify-content:space-between;
background:rgba(4,12,25,.82);
backdrop-filter:blur(18px);
box-shadow:0 10px 35px rgba(0,0,0,.25);
border-bottom:1px solid rgba(255,255,255,.08);
}

.logo-area{
display:flex;
align-items:center;
gap:15px;
}

.header-logo{
width:320px;
height:auto;
object-fit:contain;
filter:drop-shadow(0 0 12px rgba(0,140,255,.35));
}

.menu{
display:flex;
gap:24px;
}

.menu a{
text-decoration:none;
color:white;
font-weight:700;
transition:.3s;
}

.menu a:hover{
color:#59a8ff;
}

.menu-toggle{
display:none;
background:#0f4c81;
color:white;
border:0;
font-size:24px;
padding:10px 14px;
border-radius:12px;
cursor:pointer;
}

/* BOTONES */

.btn-whatsapp,
.btn-primary{
background:#25d366;
color:white;
padding:15px 28px;
border-radius:50px;
text-decoration:none;
font-weight:800;
display:inline-block;
transition:.3s;
box-shadow:0 10px 25px rgba(37,211,102,.25);
}

.btn-whatsapp:hover,
.btn-primary:hover{
transform:translateY(-3px);
}

.btn-secondary{
color:white;
border:1px solid rgba(255,255,255,.35);
padding:15px 28px;
border-radius:50px;
text-decoration:none;
font-weight:800;
transition:.3s;
}

.btn-secondary:hover{
background:white;
color:#061226;
}

/* HERO */

.hero{
position:relative;
min-height:100vh;
padding:170px 8% 100px;
display:flex;
align-items:center;
background:
linear-gradient(rgba(2,10,25,.82),rgba(2,10,25,.88)),
url('../img/banner-servicios.png');
background-size:cover;
background-position:center;
overflow:hidden;
}

.hero-overlay{
position:absolute;
inset:0;
background:radial-gradient(circle at top right,rgba(0,140,255,.25),transparent 35%);
}

.hero-content{
position:relative;
z-index:2;
max-width:760px;
}

.tag{
display:inline-block;
background:rgba(255,255,255,.08);
border:1px solid rgba(255,255,255,.18);
padding:12px 22px;
border-radius:50px;
margin-bottom:30px;
color:white;
font-weight:700;
backdrop-filter:blur(10px);
}

.hero h1{
font-size:70px;
line-height:1;
font-weight:900;
color:white;
margin-bottom:20px;
text-shadow:0 5px 20px rgba(0,0,0,.5);
}

.hero h2{
font-size:28px;
color:#59a8ff;
margin-bottom:25px;
font-weight:800;
}

.hero p{
font-size:22px;
line-height:1.8;
color:#eef5ff;
max-width:700px;
}

.hero-buttons{
display:flex;
gap:18px;
margin-top:40px;
flex-wrap:wrap;
}

/* SERVICIOS CON IMAGEN */

.services{
padding:0;
background:#020a19;
margin:0;
}

.services-top{
text-align:center;
padding:70px 20px 40px;
background:#020a19;
color:white;
}

.services-top h2{
font-size:48px;
font-weight:900;
margin-bottom:18px;
}

.services-top p{
font-size:22px;
max-width:900px;
margin:auto;
line-height:1.7;
color:#c8d7ea;
}

.services-image-wrap{
width:100%;
max-width:1920px;
margin:0 auto;
overflow:hidden;
display:flex;
justify-content:center;
background:#020a19;
}

.services-full-image{
width:100%;
display:block;
height:auto;
object-fit:cover;
}

/* SECCIONES */

.categories,
.contact,
.quote-section,
.map-section{
padding:110px 8%;
}

.section-title{
font-size:50px;
text-align:center;
margin-bottom:60px;
font-weight:900;
color:#061226;
}

/* CATEGORIAS */

.categories{
background:white;
text-align:center;
}

.categories p{
max-width:900px;
margin:auto;
font-size:22px;
line-height:1.9;
color:#5d6878;
}

/* FORMULARIO */

.quote-section{
background:#eef4fb;
}

.quote-container{
display:grid;
grid-template-columns:1.2fr .8fr;
gap:35px;
max-width:1300px;
margin:auto;
}

.quote-form{
background:white;
padding:45px;
border-radius:30px;
box-shadow:0 15px 45px rgba(0,0,0,.08);
}

.quote-form form{
display:flex;
flex-direction:column;
gap:18px;
}

.quote-form input,
.quote-form select,
.quote-form textarea{
width:100%;
padding:18px;
border:none;
background:#f5f8fc;
border-radius:18px;
font-size:16px;
outline:none;
}

.quote-form textarea{
height:150px;
resize:none;
}

.quote-form button{
background:#0f4c81;
color:white;
padding:18px;
border:none;
border-radius:18px;
font-size:18px;
font-weight:800;
cursor:pointer;
transition:.3s;
}

.quote-form button:hover{
background:#133f68;
}

.quote-info{
background:linear-gradient(135deg,#071428,#0f4c81);
padding:50px;
border-radius:30px;
color:white;
display:flex;
flex-direction:column;
justify-content:center;
box-shadow:0 20px 60px rgba(0,0,0,.2);
}

.quote-info h3{
font-size:42px;
margin-bottom:20px;
}

.quote-info p{
line-height:1.9;
margin-bottom:18px;
color:#d9e6f5;
font-size:18px;
}

/* MAPA */

.map-container{
max-width:1300px;
margin:auto;
overflow:hidden;
border-radius:30px;
box-shadow:0 15px 45px rgba(0,0,0,.12);
}

/* CONTACTO */

.contact{
background:#061226;
}

.white{
color:white;
}

.contact-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
max-width:1300px;
margin:auto;
}

.contact-grid div{
background:rgba(255,255,255,.07);
padding:40px;
border-radius:28px;
border:1px solid rgba(255,255,255,.08);
}

.contact-grid h3{
color:#8cc7ff;
font-size:28px;
margin-bottom:18px;
}

.contact-grid p{
color:#e7eef8;
line-height:1.9;
font-size:17px;
}

/* WHATSAPP */

.float-whatsapp{
position:fixed;
right:22px;
bottom:22px;
background:#25d366;
color:white;
padding:16px 24px;
border-radius:50px;
font-weight:900;
text-decoration:none;
box-shadow:0 15px 40px rgba(0,0,0,.25);
z-index:1001;
}

/* FOOTER */

.footer{
background:#030914;
color:#b9c6d6;
text-align:center;
padding:35px;
line-height:2;
font-size:15px;
}

/* RESPONSIVE */

@media(max-width:900px){

.header{
padding:15px 5%;
}

.header-logo{
width:180px;
}

.menu-toggle{
display:block;
}

.menu{
display:none;
position:absolute;
top:85px;
left:5%;
right:5%;
background:#081626;
padding:25px;
border-radius:22px;
box-shadow:0 15px 45px rgba(0,0,0,.25);
flex-direction:column;
}

.menu.active{
display:flex;
}

.menu a{
color:white;
}

.btn-whatsapp{
display:none;
}

.hero{
padding:170px 25px 90px;
text-align:center;
}

.hero h1{
font-size:46px;
}

.hero h2{
font-size:24px;
}

.hero p{
font-size:18px;
}

.hero-buttons{
justify-content:center;
}

.services-top{
padding:50px 20px 30px;
}

.services-top h2{
font-size:34px;
}

.services-top p{
font-size:18px;
}

.contact-grid,
.quote-container{
grid-template-columns:1fr;
}

.section-title{
font-size:36px;
}

.btn-tienda{
display:inline-block;
margin-top:30px;
background:#0f4c81;
color:white;
padding:16px 32px;
border-radius:50px;
text-decoration:none;
font-weight:900;
}

}