:root{

   --verde-esmeralda:#0F4D2C;
    --verde-lima:#86D600;
    --morado:#551A8B;
    --turquesa:#23A29D;
    --naranja:#E67E22;

    --negro:#121212;
    --blanco:#FFFFFF;
    --blanco-suave:#F8FAF5;
    --gris:#333333;

}


*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}


body{

    font-family:'Montserrat', sans-serif;

    background:var(--blanco-suave);

    color:var(--gris);

}



/* NAVBAR */


.navbar{

    background:var(--negro);

    padding:20px 8%;

    display:flex;

    align-items:center;

    justify-content:space-between;

}



.logo img{

    width:300px;

    height:200px;

    object-fit:contain;

    display:block;

}
.logo img:hover{

    transform:scale(1.05);

    transition:.3s;

}



/* HERO */


.hero{

    min-height:90vh;

    background:
linear-gradient(
135deg,
rgba(15,77,44,.95),
rgba(134,208,38,.35)
);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:40px;

    position:relative;

    overflow:hidden;

}


.hero::before{

    content:"";

    position:absolute;

    width:400px;

    height:400px;

    background:var(--verde-lima);

    border-radius:50%;

    opacity:.15;

    top:-100px;

    right:-100px;

}


.hero h1{

    position:relative;

    color:white;

    font-size:clamp(40px,6vw,70px);

    font-weight:800;

    margin-bottom:20px;

}



.hero p{

    position:relative;

    color:white;

    max-width:600px;

    font-size:20px;

    line-height:1.6;

    margin-bottom:35px;

}



/* BOTÓN */


.btn-principal{

    position:relative;

    display:inline-block;

    background:var(--verde-lima);

    color:#121212;

    text-decoration:none;

    padding:16px 40px;

    border-radius:50px;

    font-size:17px;

    font-weight:700;

    transition:.3s;

}

.btn-principal:hover{

    transform:translateY(-5px);

    background:white;

}
/* MENU */


.menu{

    list-style:none;

    display:flex;

    gap:30px;

}


.menu a{

    text-decoration:none;

    color:white;

    font-weight:600;

    transition:.3s;

}


.menu a:hover{

    color:var(--verde-lima);

}



@media(max-width:768px){


.navbar{

    flex-direction:column;

    gap:20px;

}


.menu{

    flex-direction:column;

    text-align:center;

}


}
/* SECCIÓN NOSOTROS */

.nosotros{

    background:var(--blanco);

    padding:80px 8%;

    text-align:center;

}


.nosotros h2{

    color:var(--verde-esmeralda);

    font-size:38px;

    font-weight:800;

    margin-bottom:25px;

}


.nosotros p{

    max-width:900px;

    margin:auto;

    font-size:20px;

    line-height:1.8;

    color:var(--gris);

}
/* SERVICIOS */

.servicios{

    background:var(--blanco-suave);

    padding:80px 8%;

    text-align:center;

}


.servicios h2{

    color:var(--verde-esmeralda);

    font-size:38px;

    margin-bottom:40px;

}


.contenedor-servicios{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}


.tarjeta{

    background:white;

    padding:35px 25px;

    border-radius:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.1);

    transition:.3s;

}


.tarjeta:hover{

    transform:translateY(-10px);

}


.tarjeta h3{

    font-size:25px;

    margin-bottom:15px;

    color:var(--verde-esmeralda);

}


.tarjeta p{

    line-height:1.6;

    margin-bottom:25px;

}


.tarjeta a{

    display:inline-block;

    background:var(--verde-lima);

    color:var(--negro);

    padding:12px 25px;

    border-radius:30px;

    text-decoration:none;

    font-weight:700;

}
/* COMUNIDAD Y EVENTOS */

.comunidad{

    background:var(--verde-esmeralda);

    color:white;

    padding:px 0%;

    text-align:center;

}


.comunidad h2{

    font-size:38px;

    margin-bottom:20px;

}


.comunidad > p{

    font-size:20px;

    max-width:800px;

    margin:0 auto 40px;

    line-height:1.6;

}


.eventos-lista{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}


.evento{

    background:white;

    color:var(--gris);

    padding:30px;

    border-radius:20px;

    transition:.3s;

}


.evento:hover{

    transform:translateY(-8px);

}


.evento h3{

    color:var(--verde-esmeralda);

    margin-bottom:15px;

    font-size:22px;

}


.evento p{

    line-height:1.6;

}
/* CONTACTO */

.contacto{

    background:var(--blanco);

    padding:80px 8%;

    text-align:center;

}

.contacto h2{

    color:var(--verde-esmeralda);

    font-size:38px;

    margin-bottom:20px;

}

.contacto > p{

    max-width:700px;

    margin:0 auto 40px;

    font-size:20px;

}

.datos-contacto{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}

.dato{

    background:var(--blanco-suave);

    padding:30px;

    border-radius:20px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.dato h3{

    color:var(--verde-esmeralda);

    margin-bottom:15px;

}
/* FOOTER */

footer{

    background:var(--negro);

    color:white;

    text-align:center;

    padding:50px 8%;

}

footer h3{

    color:var(--verde-lima);

    margin-bottom:15px;

    font-size:28px;

}

footer p{

    margin:10px 0;

    line-height:1.6;

}
/* PAGINAS DE SERVICIOS */

.pagina-servicio{

    min-height:60vh;

    background:
    linear-gradient(
    135deg,
    rgba(0,102,51,.95),
    rgba(230,126,34,.85)
    );

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:60px 8%;

    color:white;

}


.pagina-servicio h1{

    font-size:50px;

    margin-bottom:20px;

}


.pagina-servicio p{

    font-size:22px;

    max-width:700px;

    line-height:1.6;

}



.informacion{

    padding:70px 8%;

    text-align:center;

    background:white;

}


.informacion h2{

    color:var(--verde-esmeralda);

    font-size:36px;

    margin-bottom:20px;

}


.informacion p{

    max-width:800px;

    margin:auto;

    font-size:20px;

    line-height:1.8;

}
/* GALERIA SERVICIOS */

.galeria-servicio{

    padding:70px 8%;

    background:var(--blanco-suave);

    text-align:center;

}


.galeria-servicio h2{

    color:var(--verde-esmeralda);

    font-size:36px;

    margin-bottom:40px;

}


.galeria-imagenes{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:25px;

}


.galeria-imagenes img{

    width:100%;

    height:280px;

    object-fit:cover;

    border-radius:25px;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

    transition:.4s;

}


.galeria-imagenes img:hover{

    transform:scale(1.05);

}
/* IMAGEN PRINCIPAL SERVICIO */

.imagen-principal-servicio{

    width:300px;

    height:300px;

    object-fit:cover;

    border-radius:30px;

    margin-bottom:30px;

    box-shadow:0 15px 30px rgba(0,0,0,.3);

}
/* BENEFICIOS */

.beneficios{

    padding:70px 8%;

    background:var(--blanco-suave);

    text-align:center;

}


.beneficios h2{

    color:var(--verde-esmeralda);

    font-size:36px;

    margin-bottom:40px;

}


.beneficios-contenedor{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));

    gap:25px;

}


.beneficio{

    background:white;

    padding:30px;

    border-radius:20px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}


.beneficio h3{

    color:var(--naranja);

    margin-bottom:15px;

}
/* CONTACTO SERVICIO */

.contacto-servicio{

    padding:70px 8%;

    text-align:center;

    background:var(--verde-esmeralda);

    color:white;

}


.contacto-servicio h2{

    font-size:36px;

    margin-bottom:15px;

}


.contacto-servicio p{

    font-size:20px;

    margin-bottom:30px;

}


.contacto-servicio a{

    display:inline-block;

    background:var(--verde-lima);

    color:var(--negro);

    padding:15px 35px;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    transition:.3s;

}


.contacto-servicio a:hover{

    transform:translateY(-5px);

    background:white;

}
/* FLAYER PRINCIPAL */

.flayer-principal{

    padding:60px 8%;

    background:var(--blanco-suave);

    display:flex;

    justify-content:center;

}


.flayer-principal img{

    width:100%;

    max-width:700px;

    border-radius:25px;

    box-shadow:0 15px 30px rgba(0,0,0,.15);

}
/* ACTIVIDADES */

.actividades{

    padding:70px 8%;

    background:white;

    text-align:center;

}


.actividades h2{

    font-size:38px;

    color:var(--verde-esmeralda);

    margin-bottom:40px;

}


.tarjetas-actividades{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}


.actividad{

    background:var(--blanco-suave);

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

}


.actividad img{

    width:100%;

    height:220px;

    object-fit:cover;

}


.actividad h3{

    margin:20px 10px 10px;

    color:var(--verde-esmeralda);

}


.actividad p{

    padding:0 20px 25px;

    line-height:1.6;

}
/* DIRECTORIO */

.directorio{

    padding:70px 8%;

    background:var(--blanco-suave);

    text-align:center;

}


.directorio h2{

    font-size:38px;

    color:var(--verde-esmeralda);

    margin-bottom:40px;

}


.directorio img{

    width:100%;

    max-width:800px;

    border-radius:25px;

    box-shadow:0 15px 30px rgba(0,0,0,.15);

}
/* ANIMACIONES */

@keyframes aparecer{

    from{

        opacity:0;

        transform:translateY(40px);

    }


    to{

        opacity:1;

        transform:translateY(0);

    }

}



.flayer-principal,
.actividades,
.directorio{

    animation:aparecer .8s ease;

}
.visor-imagen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.85);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    cursor: pointer;
}

.imagen-grande {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    border-radius: 10px;
}
html {
    scroll-behavior: smooth;
}
.btn-menu {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 25px;
    background: #86D026;
    color: #121212;
    text-decoration: none;
    font-weight: bold;
    border-radius: 25px;
    transition: 0.3s;
}

.btn-menu:hover {
    transform: scale(1.05);
}
.servicio-masajes h3{
    color:#0F4D2C;
}

.servicio-masajes{
    border-top:6px solid #23A29D;
}
img[src="img/reto.jpg"]{
    width:100%;
    max-width:700px;
    height:auto;
    display:block;
    margin:30px auto;
    border-radius:25px;
    box-shadow:0 15px 30px rgba(0,0,0,.15);
}