*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
background:#f4f7fc;
color:#1f2937;
}

.container{
max-width:1100px;
margin:auto;
padding:0 20px;
}

/* HEADER */

.header{
position:sticky;
top:0;
background:white;
box-shadow:0 4px 20px rgba(0,0,0,0.05);
z-index:1000;
}

.nav{
display:flex;
align-items:center;
justify-content:space-between;
padding:16px 0;
}

.logo img{
height:36px;
}

nav{
display:flex;
gap:22px;
}

nav a{
text-decoration:none;
color:#374151;
font-weight:500;
padding:6px 10px;
border-radius:8px;
}

nav a.active{
background:#eef2ff;
color:#2563eb;
}

/* BOTONES */

.btn-main{
background:linear-gradient(90deg,#2563eb,#3b82f6);
color:white;
padding:12px 24px;
border-radius:40px;
text-decoration:none;
font-weight:600;
box-shadow:0 12px 30px rgba(37,99,235,0.35);
}

.btn-outline{
border:2px solid #cbd5e1;
padding:12px 24px;
border-radius:40px;
text-decoration:none;
color:#1f2937;
background:white;
}

/* HERO */

.hero{
display:flex;
align-items:center;
justify-content:space-between;
gap:60px;
padding:80px 0;
flex-wrap:wrap;
position:relative;
}

.hero-text{
max-width:520px;
}

.hero-text h1{
font-size:48px;
margin-bottom:20px;
}

.hero-text span{
color:#2563eb;
}

.hero-text p{
margin-bottom:30px;
color:#64748b;
}

.hero-images{
position:relative;
}

.laptop{
max-width:520px;
width:100%;
border-radius:20px;
box-shadow:0 40px 80px rgba(0,0,0,0.15);
}

.phone{
position:absolute;
width:220px;
left:-60px;
bottom:-30px;
}

/* SECCIONES */

.section{
padding:100px 0;
}

.section-title{
text-align:center;
font-size:36px;
margin-bottom:60px;
}

.section-title span{
color:#2563eb;
}

/* BENEFICIOS */

.benefit-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.benefit-card{
background:white;
padding:30px;
border-radius:16px;
box-shadow:0 10px 30px rgba(0,0,0,0.06);
text-align:center;
}

.benefit-icon{
width:60px;
margin-bottom:18px;
}

/* PASOS */

.steps{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
text-align:center;
}

.step-number{
width:60px;
height:60px;
border-radius:50%;
background:#2563eb;
color:white;
display:flex;
align-items:center;
justify-content:center;
margin:auto;
margin-bottom:20px;
}

/* NORMATIVA */

.normativa{
background:#0b1b34;
color:white;
padding:100px 0;
}

.normativa-wrap{
display:flex;
align-items:center;
justify-content:space-between;
gap:80px;
}

.normativa-text{
max-width:520px;
}

.normativa-text h2{
font-size:34px;
margin-bottom:20px;
}

.normativa-text p{
color:#cbd5e1;
line-height:1.6;
}

.normativa-img img{
width:520px;
max-width:100%;
border-radius:18px;
box-shadow:0 40px 80px rgba(0,0,0,0.45);
}

/* IMAGEN CLICK */

.preview-img{
cursor:pointer;
transition:0.3s;
}

.preview-img:hover{
transform:scale(1.03);
}

/* VISOR MODAL */

.visor-img{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
align-items:center;
justify-content:center;
z-index:9999;
}

.visor-img img{
max-width:90%;
max-height:90%;
border-radius:12px;
box-shadow:0 40px 100px rgba(0,0,0,0.7);
}

/* FOOTER */

.footer{
background:#f1f5f9;
padding:60px 0;
}

/* CONTACTO */

.contacto-wrap{
max-width:650px;
margin:auto;
text-align:center;
}

.contacto-text{
margin:20px 0 30px 0;
color:#64748b;
}

.contact-form{
display:flex;
flex-direction:column;
gap:15px;
}

.contact-form input,
.contact-form textarea{
padding:14px;
border-radius:10px;
border:1px solid #d1d5db;
font-family:inherit;
font-size:14px;
}

.contact-form textarea{
min-height:120px;
resize:vertical;
}

.contact-form button{
background:#2563eb;
color:white;
border:none;
padding:14px;
border-radius:10px;
font-weight:600;
cursor:pointer;
transition:0.2s;
}

.contact-form button:hover{
background:#1d4ed8;
}

.copyright{
text-align:center;
padding:20px;
font-size:14px;
color:#64748b;
}

/* RESPONSIVE */

@media (max-width:900px){

.benefit-grid{
grid-template-columns:repeat(2,1fr);
}

.steps{
grid-template-columns:1fr;
}

.normativa-wrap{
flex-direction:column;
text-align:center;
}

.normativa-img img{
width:100%;
max-width:400px;
}

}

@media (max-width:768px){

.hero{
flex-direction:column;
text-align:center;
}

.phone{
position:relative;
left:0;
bottom:0;
margin-top:20px;
}

.benefit-grid{
grid-template-columns:1fr;
}

.nav{
flex-direction:column;
gap:12px;
}

nav{
flex-wrap:wrap;
justify-content:center;
}

}