html {
    box-sizing: border-box;
}
*, *::before, *::after {
    box-sizing: inherit;
    margin: 0;
    padding: 0;
}

body {
    height: 100%;
    margin: 0;
    padding: 0;
    text-decoration: none;
    font-family: "Poppins", serif;
    overflow-x: hidden;
}

h1 {
    font-size: 50px;
    color: #FFDD00;
    margin: 0;
    text-decoration: none;
    text-align: center;
}
h2 {
    font-size: 20px;
    font-weight: 500;
}
h3 {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.2em;
}
h4 {
    font-size: 40px;
    color: #FFDD00;
    margin: 0;
    
}
p {
    font-size: 13px;
    line-height: 2;
    color: #888;
}
.nosotros-titulo {
    width: 100%;
    height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.elementos {
    padding: 6rem;
}

.elemento-titulo {
    width: 100%;
    height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.elemento-nosotros {
    display: grid;
    grid-template-columns: 1fr 2fr;
    padding: 1rem;
}
.elemento-titulo-h2 {
    padding: 1rem;
}

.elemento-contenido {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 2rem;
}

.quienes-somos {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 2rem;
    grid-gap: 20px;
    
}


.titulo { 
    text-decoration: none;
    text-transform: uppercase;
    color: #FFDD00;
    font-weight: 500;
    font-size: 13px;
    position: relative;
    margin-bottom: 20px;
    display: inline-block; /* Asegura que el pseudo-elemento se posicione correctamente */
    padding-left: 100px; /* Añade espacio a la izquierda para la línea */
   
}

.titulo::before {
    content: "";
    position: absolute;
    top: 50%; /* Centra verticalmente la línea */
    left: 5%; /* Coloca la línea al lado izquierdo del título */
    transform: translateY(-50%); /* Ajusta la posición vertical */
    width: 60px; /* Ajusta el ancho de la línea según sea necesario */
    height: 2px; /* Ajusta el grosor de la línea según sea necesario */
    background-color: #000;
}

.texto {
    font-size: 40px;
    color: #FFDD00;
    padding: 0 20px 0 20px;
    letter-spacing: 0.0em;
}
.texto1 {
    padding: 0 20px 0 20px;
    line-height: 2; /* Aumenta el espacio entre líneas */
}

.servicios {
    text-align: center;
    padding: 10px;
}

.servicios-contenido {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 40px;
    padding: 20px 90px;
    margin-bottom: 5rem;
}
.servicios-contenido-item {
    padding: 20px ;
    border: 1px solid #FFDD00;
    border-radius: 10px;
    background-color: #fff;
    color: #000;
    text-align: center;
}
.servicios-texto p {
    font-size: 15px;
    color: #807d7d;
    padding: 10px;
    line-height: 2;
}

.boton-mas {
    background-color: #000;
    color: #fff;
    padding: 5px 30px;
    border: none;
    border-radius: 5px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    
}
.boton-mas h5 {
    letter-spacing: 0.5em;
    padding: 0;
    margin: 0;
}
.boton-mas:hover {
    background-color: #FFDD00;
    color: #000;
    transition: 0.5s;
    box-shadow: 0px 0px 15px #FFDD00;
}

.boton {
    background-color: #000;
    color: #fff;
    padding: 15px 25px;
    border: none;
    border-radius: 5px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
    
}
.boton-contenido {
    display: flex;
    align-items: center;
    padding: 20px 10px;
}
.boton h5 {
    letter-spacing: 0.5em;
    padding: 0;
    margin: 0;
}
.boton:hover {
    background-color: #FFDD00;
    color: #000;
    transition: 0.5s;
    box-shadow: 0px 0px 15px #FFDD00;
}

.nosotros {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 3rem 2rem;
    grid-gap: 20px;
}
.nosotros-boton {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
}
.nosotros-contenido {
    display: flex;
    flex-direction: column;
}
.nosotros-img img{
    width: 100%;
    object-fit: cover;
}

.imagen_contacto {
    background-image: url('../SRC/logos/image.webp');
}
.imagen_contacto {
    
    background-position: center center;
    background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 35px;
}
.imagen_contacto p {
    font-size: 15px;
    color: #fff;
    padding: 20px;
}
.imagen_contacto span {
    font-size: 15px;
    color: #fff;
    padding: 0;
}


@media (max-width: 768px) {
    .quienes-somos {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        padding: 1rem;
   }

   .elementos {
        padding: 1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin: 0;
   }

   .elemento-titulo {
        padding: 10px;
        margin: 10px;
   }
   .elemento-nosotros {
        display: flex;
        flex-direction: column;
        margin: 0;
   }
   .elemento-titulo-h2 {
        padding: 0;
        margin: 0;
   }
   .elemento-contenido {
        display: block;
        margin: 0;
        margin-bottom: 2rem;
   }
   
   .quienes-somos {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        padding: 1rem;
    }
    .servicios-contenido {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 10px;
        padding: 25px 20px;
    }
    /* Sección "Nosotros" */
    .nosotros {
        grid-template-columns: 1fr; /* Apila los elementos de la sección "Nosotros" en una columna */
        padding: 10px;
    }
    .texto {
        padding: 0;
        margin: 0;
    }

}

@media (max-width: 480px) {
    .boton-mas {
        width: 100%; /* Asegura que los botones ocupen el 100% de su contenedor */
        padding: 15px 0;
        text-align: center;

    }
}