/*============= RESET =============*/
*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
  font-family: 'Montserrat', sans-serif;
background:#f8f9fb;
color:#333;
}


/*============= HERO =============*/
.hero{
position:relative;
width:100%;
height:50vh;
min-height:500px;

/* imagen de fondo */
background:url("../../images/balance.jpg") center 60%/cover no-repeat;

display:flex;
align-items:center;
justify-content:center;
text-align:center;
}

/* overlay suave */
.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.35); /* suavidad */
}

/* contenido */
.hero-content{
position:relative;
z-index:2;
color:#fff;
max-width:800px;
padding:0 20px;
}

.hero-content h1{
font-size:60px;
font-weight:700;
margin-bottom:20px;
}

.hero-content p{
font-size:20px;
margin-bottom:30px;
opacity:.95;
}

/* botón */
.hero-btn{
display:inline-block;
padding:16px 34px;
background:#7b2121;
color:#fff;
text-decoration:none;
border-radius:1px;
font-weight:600;
transition:.3s;
}

.hero-btn:hover{
transform:translateY(-3px);
}


/*========= Responsive =========*/
@media(max-width:768px){

.hero{
height:65vh;
}

.hero-content h1{
font-size:38px;
}

.hero-content p{
font-size:16px;
}

}

/*============= SERVICE PAGE =============*/
.service-page{
padding:100px 8%;
}


/* contenedor principal */
.service-container{
max-width:1200px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:70px;
flex-wrap:wrap;
}


/*============= IMAGEN =============*/
.service-image{
flex:1;
min-width:320px;
display:flex;
justify-content:center;
}

/* control total de imagen */
.service-image img{
width:100%;
max-width:520px;

/* altura controlada */
height:400px;

/* recorte inteligente */
object-fit:cover;

/* posición de la imagen dentro del recorte */
object-position:center 60%; /* 🔥 aquí puedes mover la imagen */

border-radius:1px;

box-shadow:0 20px 40px rgba(0,0,0,.15);

transition:.4s ease;
}

/* efecto hover */
.service-image img:hover{
transform:scale(1.04);
}


/*============= CONTENIDO =============*/
.service-content{
flex:1;
min-width:320px;
}


/* titulo */
.service-content h1{
font-size:44px;
color:#4d0505;
margin-bottom:20px;
line-height:1.2;
position:relative;
}

/* línea decorativa */
.service-content h1::after{
content:"";
width:60px;
height:4px;
background:#4d0505;
display:block;
margin-top:12px;
border-radius:10px;
}


/* texto principal */
.lead{
font-size:20px;
font-weight:600;
color:#222;
margin-bottom:20px;
}


/* texto general */
.service-content p{
font-size:17px;
line-height:1.8;
color:#555;
margin-bottom:18px;
}


/*============= LISTA =============*/
.service-list{
margin:25px 0 30px;
padding-left:20px;
}

.service-list li{
font-size:16px;
margin-bottom:12px;
color:#444;
position:relative;
padding-left:22px;
}




/*============= BOTÓN WHATSAPP =============*/
.wsp-btn{
display:inline-block;
background:#25D366;
color:#fff;
padding:16px 34px;
border-radius:1px;
text-decoration:none;
font-weight:600;
font-size:16px;
transition:.3s;
box-shadow:0 10px 25px rgba(0,0,0,.15);
}

.wsp-btn:hover{
transform:translateY(-4px);
background:#1ebe5d;
}


/*============= CONTROL AVANZADO IMAGEN =============*/
/* puedes usar estas clases opcionales */

/* imagen más alta */
.img-large{
height:480px;
}

/* imagen más pequeña */
.img-small{
height:300px;
}

/* mover enfoque arriba */
.img-top{
object-position:center top;
}

/* mover enfoque abajo */
.img-bottom{
object-position:center bottom;
}

/* zoom leve sin hover */
.img-zoom{
transform:scale(1.1);
}


/*============= RESPONSIVE =============*/
@media(max-width:992px){

.service-container{
flex-direction:column;
text-align:center;
}

/* imagen en móvil */
.service-image img{
height:300px;
object-position:center;
}

.service-content h1{
font-size:36px;
}

.service-list{
text-align:left;
display:inline-block;
}

}


@media(max-width:768px){

.service-page{
padding:70px 6%;
}

.service-content h1{
font-size:30px;
}

.lead{
font-size:18px;
}

.service-content p{
font-size:16px;
}

.service-image img{
height:250px;
}

}