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

body{
font-family:Segoe UI,Arial,sans-serif;
background:#020817;
color:#ffffff;
line-height:1.7;
}

.contenedor{
width:90%;
max-width:1200px;
margin:auto;
}

.hero{
min-height:700px;
display:flex;
align-items:center;
background:
linear-gradient(rgba(2,8,23,.85),rgba(2,8,23,.85)),
url('../img/fondo-seo.jpg');
background-size:cover;
background-position:center;
}

.subtitulo{
display:block;
color:#ff2957;
font-size:18px;
letter-spacing:2px;
margin-bottom:15px;
}

.hero h1{
font-size:70px;
line-height:1.1;
max-width:800px;
margin-bottom:25px;
}

.hero p{
font-size:22px;
max-width:650px;
color:#cbd5e1;
margin-bottom:30px;
}

.boton{
display:inline-block;
padding:15px 40px;
border-radius:50px;
text-decoration:none;
color:#fff;
font-weight:bold;
background:linear-gradient(90deg,#ff2957,#2563eb);
}

.contenido{
padding:100px 0;
}

.contenido h2{
font-size:40px;
margin-bottom:25px;
}

.contenido p{
font-size:18px;
color:#cbd5e1;
}

.oscuro{
background:#081223;
}

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
margin-top:40px;
}

.card{
background:#101b31;
padding:30px;
border-radius:15px;
border:1px solid #1e293b;
}

.card h3{
margin-bottom:10px;
font-size:24px;
}

ul{
padding-left:25px;
}

ul li{
margin-bottom:12px;
}

.contacto{
padding:100px 0;
background:#030b1c;
}

.contacto h2{
text-align:center;
margin-bottom:30px;
}

form{
max-width:700px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
}

input,
textarea{
padding:15px;
border:none;
border-radius:8px;
background:#101b31;
color:#fff;
}

textarea{
height:140px;
resize:none;
}

button{
padding:15px;
border:none;
border-radius:8px;
font-size:16px;
font-weight:bold;
cursor:pointer;
background:linear-gradient(90deg,#ff2957,#2563eb);
color:#fff;
}

@media(max-width:768px){

.hero h1{
font-size:42px;
}

.hero p{
font-size:18px;
}

.contenido h2{
font-size:30px;
}

}
.ciudades{
    padding:100px 0;
    background:#081223;
}

.subtitulo-seccion{
    color:#ff2957;
    letter-spacing:2px;
    font-size:14px;
    display:block;
    margin-bottom:10px;
}

.ciudades h2{
    text-align:center;
    font-size:42px;
    margin-bottom:15px;
}

.intro-ciudades{
    max-width:800px;
    margin:0 auto 50px;
    text-align:center;
    color:#cbd5e1;
}

.grid-ciudades{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:15px;
}

.grid-ciudades a{
    display:flex;
    justify-content:center;
    align-items:center;

    min-height:70px;

    background:#101b31;
    border:1px solid #1e293b;

    border-radius:12px;

    text-decoration:none;
    color:#fff;

    font-weight:600;

    transition:.3s;
}

.grid-ciudades a:hover{

    transform:translateY(-5px);

    background:linear-gradient(
        90deg,
        #ff2957,
        #2563eb
    );

    border-color:transparent;

    box-shadow:0 10px 25px rgba(37,99,235,.25);
}
.contacto-info{
    padding:100px 0;
    background:#020817;
}

.contacto-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.contacto-subtitulo{
    color:#ff2957;
    font-size:14px;
    letter-spacing:2px;
    display:block;
    margin-bottom:15px;
}

.contacto-texto h2{
    font-size:42px;
    margin-bottom:20px;
}

.contacto-texto p{
    color:#cbd5e1;
    line-height:1.8;
}

.contacto-datos{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.dato{
    display:flex;
    align-items:center;
    gap:20px;

    background:#101b31;

    padding:25px;

    border-radius:15px;

    border:1px solid #1e293b;
}

.dato span{
    font-size:32px;
}

.dato h3{
    margin-bottom:5px;
}

.dato a{
    color:#cbd5e1;
    text-decoration:none;
}

.dato a:hover{
    color:#ff2957;
}

@media(max-width:768px){

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

    .contacto-texto h2{
        font-size:32px;
    }

}