body {
    height: 100vh;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    cursor: default;
}

.inicio {
    background-color: #050424;
    height: 30vh;
    width: 100%;
    display: flex;
    justify-content: end;
    align-items: center;
    flex-direction: column;
}

.intermedio {
    background-color: #050424;
    height: 20vh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.intermedio h2,
.inicio h2 {
    text-align: center;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 3px;
    font-size: 3em;
    color: #fff;
    text-shadow: 2px 2px 5px rgba(255, 255, 255, 0.527);
}

.valores,
.objetivo,
.quienes-somos {
    width: 100%;
    height: 50vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-color: #201f39;
    align-items: center;
    justify-content: center;
}

.texto {
    display: flex;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.texto p {
    max-width: 800px;
    padding: 0 20px;
    line-height: 1.5;
    font-family: "Josefin Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 1.5em;
    width: 100;
    text-align: justify;
    color: #fff;
    text-shadow: 2px 2px 5px rgba(255, 255, 255, 0.527);
}

.foto {
    position: relative;
    background-image: url("../images/8.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    overflow: hidden;
}

.foto2 {
    position: relative;
    background-image: url("../images/obje.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 100%;
    overflow: hidden;
}

.foto3,
.foto4,
.foto5 {
    /*2*/
    position: relative;
    background-size: cover;
    background-position: end;
    background-repeat: no-repeat;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: start;
    justify-content: center;
}

.foto4::after,
.foto::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to left, transparent 0%, transparent 80%, #201f39 100%);
}

.foto5::after,
.foto3::after,
.foto2::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent 0%, transparent 80%, #201f39 100%);
}

.foto5 h2,
.foto4 h2,
.foto3 h2 {
    text-align: center;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 3px;
    font-size: 3em;
    color: #fff;
    background-color: #050424;
    padding: 0px 15px;
    border-radius: 4px;
    text-shadow: 2px 2px 5px rgba(255, 255, 255, 0.527);
}

@media (max-width: 1656px) {
  .texto p{
    width: 96%;
    font-size: 1.3em;
  }

  .foto5 h2,
  .foto4 h2,
  .foto3 h2 {
    font-size: 2.8em;
  }

}

@media (max-width: 1024px) {
  .inicio{
    height: 23vh;
  }
  
  .valores,
  .objetivo,
  .quienes-somos {
    grid-template-columns: 1fr;
    height: auto;
  }

  .texto p {
    width: 95%;
    font-size: 1.2em;
    padding: 10px 15px;
    word-wrap: break-word;
  }

  .foto,
  .foto2,
  .foto3,
  .foto4,
  .foto5 {
    min-height: 300px;
    background-position: center;
  }

  .foto5 h2,
  .foto4 h2,
  .foto3 h2 {
    font-size: 2.5em;
  }
}


@media (max-width: 768px) {

  .body{
    overflow-x: hidden;
  }

  .inicio{
    height: 30vh;
  }

    .valores,
  .objetivo,
  .quienes-somos,
  .texto,
  .texto p {
    width: 100% !important;
    box-sizing: border-box;
  }

  .texto {
    padding: 10px 15px;
  }

  .texto p {
    font-size: 1em;
    padding: 0;
    margin: 0;
  }

  /* imágenes de fondo - ocupan todo el ancho */
  .foto,
  .foto2,
  .foto3,
  .foto4,
  .foto5 {
    width: 100%;
    height: 250px;
    background-size: cover;
    background-position: center;
  }

  /* Encabezados encima de las imágenes */
  .foto3 h2,
  .foto4 h2,
  .foto5 h2 {
    font-size: 1.5em;
    padding: 5px 10px;
  }
}