body{
font-family:'Inter',sans-serif;
margin:0;
background:#f5f7fa;
color:#1e293b;
line-height:1.6;
padding-top:90px;
}

.navbar{
display:flex;
align-items:center;
justify-content:space-between;
position:fixed;
top:0;
left:0;
width:100%;
padding:10px 40px;
background:#0f172a;
color:white;
z-index:1000;
box-sizing:border-box;
}

.logo{
font-weight:600;
font-size:18px;
letter-spacing:0.5px;
}

.menu{
list-style:none;
display:flex;
gap:25px;
margin-left:auto;
}

.menu a{
color:white;
text-decoration:none;
font-weight:500;
transition:0.3s;
font-size:14px;
}

.menu a:hover{
opacity:0.7;
}

.hero{
padding:100px 80px 60px 80px;
background:linear-gradient(120deg,#ffffff,#eef2f7);
display:flex;
align-items:center;
}

.hero-contenedor{
display:flex;
justify-content:space-between;
align-items:center;
gap:80px;
width:100%;
}

.hero-info{
max-width:600px;
}

.hero-info h1{
font-size:42px;
margin-bottom:10px;
font-weight:700;
}

.hero-info h2{
font-size:22px;
color:#334155;
margin-bottom:20px;
font-weight:500;
}

.descripcion{
font-size:16px;
color:#475569;
margin-bottom:25px;
}

.datos-personales{
display:flex;
flex-wrap:wrap;
gap:15px;
margin-bottom:30px;
}

.datos-personales span{
background:#f1f5f9;
padding:8px 14px;
border-radius:20px;
font-size:14px;
}

.hero button{
margin-top:10px;
background:#0f172a;
color:white;
border:none;
padding:14px 28px;
border-radius:6px;
cursor:pointer;
transition:0.3s;
}

.hero button:hover{
transform:translateY(-2px);
box-shadow:0 6px 18px rgba(0,0,0,0.15);
}

.hero-imagen img{
width:360px;
border-radius:16px;
box-shadow:0 20px 40px rgba(0,0,0,0.15);
}


.sobre{
padding:80px;
background:white;
}

.sobre h2{
margin-bottom:30px;
}

.grid-sobre{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
}

.grid-sobre div{
background:#f8fafc;
padding:25px;
border-radius:10px;
transition:0.3s;
}

.grid-sobre div:hover{
transform:translateY(-4px);
box-shadow:0 8px 18px rgba(0,0,0,0.08);
}


.servicios{
background:#eef2f7;
padding:80px;
}

.cards{
display:flex;
gap:25px;
flex-wrap:wrap;
}

.card{
background:white;
padding:30px;
border-radius:12px;
cursor:pointer;
flex:1;
min-width:260px;
transition:0.35s;
box-shadow:0 4px 14px rgba(0,0,0,0.06);
border:1px solid #e2e8f0;
}

.card:hover{
transform:translateY(-8px);
box-shadow:0 12px 28px rgba(0,0,0,0.12);
}


.contacto{
padding:80px;
background:white;
}

.contacto-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
margin-top:40px;
}

.info-contacto{
background:#f8fafc;
padding:30px;
border-radius:12px;
box-shadow:0 8px 20px rgba(0,0,0,0.05);
}

.bloque-ejecutivo{
margin-top:25px;
padding:20px;
background:#0f172a;
color:white;
border-radius:10px;
}

form{
display:flex;
flex-direction:column;
gap:12px;
max-width:420px;
}

input,textarea{
padding:12px;
border-radius:6px;
border:1px solid #cbd5e1;
font-family:'Inter';
}

button{
background:#0f172a;
color:white;
border:none;
padding:12px;
border-radius:6px;
cursor:pointer;
}


.modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(15,23,42,0.6);
justify-content:center;
align-items:center;
animation:fadeIn 0.3s ease;
}

.modal-contenido{
background:white;
padding:40px;
border-radius:12px;
max-width:500px;
text-align:left;
white-space:pre-line;
box-shadow:0 10px 30px rgba(0,0,0,0.2);
}


.fade-in{
opacity:0;
transform:translateY(30px);
transition:1s;
}

.fade-in.visible{
opacity:1;
transform:translateY(0);
}


@media(max-width:900px){

.hero{
padding:100px 20px;
}

.hero-contenedor{
flex-direction:column;
text-align:center;
gap:40px;
}

.hero-imagen img{
width:260px;
}

}

@media(max-width:768px){

.navbar{
padding:12px 20px;
}

.menu{
display:none;
}

.contacto-grid{
grid-template-columns:1fr;
}

}