/* Reset básico */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-color: #ffffff;
  color: #333;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.container {
  text-align: center;
  padding: 60px 20px;
}

.construction-img {
  max-width: 300px;
  margin-bottom: 30px;
}

h1 {
  font-size: 2em;
  margin-bottom: 15px;
}

p {
  font-size: 1.1em;
  margin-bottom: 10px;
}

footer {
  text-align: center;
  padding: 20px;
  background-color: #f4f4f4;
  font-size: 0.9em;
  color: #666;
}

/* ////////////////////////////////////// */
/* Estilos de Diseño */
body {
  font-family: 'Montserrat', sans-serif;
  scroll-behavior: smooth;
}
:root {
  --Violeta-Principal: #6A2771;
  --Violeta-Brillante-Secundario: #C45ECF;
  --Violeta-Oscuro-Secundario: #3B1140;
  --Amarillo-Secundario: #F58020;
  --Amarillo-Brillante-Secundario: #F0A363;
  --Amarillo-Oscuro-Secundario: #C86717;
  --Blanco: #fff;
  --Negro-Texto: #414141;
  --Gris-Secundario: #E4E4E4;
  --Gradiente-Violeta: linear-gradient(90deg, #C45ECF, #3B1140);
  --Gradiente-Violeta-90: linear-gradient(-90deg, #C45ECF, #3B1140);
  --Gradiente-Vio-Ama: linear-gradient(61deg,rgba(106, 39, 113, 1) 0%, rgba(196, 94, 207, 1) 50%, rgba(245, 128, 32, 1) 100%);
}

h1 {
  font-size: 3rem;
  line-height: 3rem;
}

.portada {
  height: 90vh;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: end;
  text-align: center;
}

.video-portada {
  position: absolute;
  width: 100%;
  object-fit: cover;
  z-index: -1;
}

.epigrafe {
  position: relative;
  bottom: 0%;
  z-index: 1;
  padding: .5rem 1rem;
  background: linear-gradient(-90deg, #F58020, #6A2771);
  border-radius: 0px 10px 0px 0px;
  width: fit-content;
}

.epigrafe h6 {
  margin-left: 2rem;
  color: var(--Blanco);
  font-size: 1rem;
  font-weight: 500;
}

.hero h1 {
  width: 60%;
  font-weight: 500;
  letter-spacing: -.17vw;
  text-align: start;
  margin-bottom: 0;
  padding: 1rem 2.5rem 4rem;
  background-color: #f4f4f4a1;
  border-radius: 0px 10px 0px 0px;
}

.asesoramiento-mobile {
  display: none;
}

.asesoramiento-desk {
  width: 12rem;
  position: fixed;
  display: flex;
  flex-direction: column;
  bottom: 20px;
  right: 20px;
  z-index: 99;
  transition: all .3s;
}

.asesoramiento-desk a {
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  padding: 1rem;
  border-radius: 5px 5px 0px 0px;
  color: #fff;
  background: linear-gradient(-40deg, #54cc30, #7af156);
  transition: all .3s;
}

.asesoramiento-desk a i {
  padding-left: .5rem;
  transition: all .3s;
}

.asesoramiento-desk p {
  padding: .5rem 1rem 1rem;
  font-weight: 500;
  font-size: small;
  text-align: start;
  color: var(--Negro-Texto);
  background: rgba(220, 255, 196, 0.3);
  /* background: linear-gradient(180deg, #fff, rgb(255, 255, 255, .0)); */
  backdrop-filter: blur(2px);
  transition: all .3s;
}

.asesoramiento-desk p span {
  font-style: italic;
  font-weight: 700;
}

@media (hover:hover) {
  .asesoramiento-desk:hover p {
    background: rgba(220, 255, 196, 0.8);
  }

  .asesoramiento-desk:hover a {
    background: linear-gradient(90deg, #317e1a, #7af156);
  }
  
  .asesoramiento-desk a:hover {
    padding-bottom: 1.5rem;
  }

  .asesoramiento-desk a:hover i {
    transform: scale(1.3);
  }
}

.experiencia {
  padding: 2rem;
  background: linear-gradient(-90deg, rgba(242, 242, 242, 1), rgba(228, 228, 228, .7)), url('assets/img/iso-marca.svg');
  background-position: left;
  background-repeat: no-repeat;
}

.experiencia h3 {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -.75px;
  color: var(--Violeta-Oscuro-Secundario);
  text-transform: uppercase;
  text-align: center;
  padding: 0rem 2rem 1rem;
}

.datos {
  display: flex;
  justify-content: space-around;
  gap: 1.5rem;
  overflow: hidden;
}

.datos article {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 2rem;
  border-radius: 5px;
  background-color: rgb(228, 228, 228, .5);
  backdrop-filter: blur(2px);
}

.datos article h2 {
  font-weight: 900;
  font-size: 10vh;
  letter-spacing: -3.3px;
}

.datos article h2,
.datos article p {
  color: var(--Violeta-Oscuro-Secundario);
  margin: 0;
}

.slide-in-bottom {
	opacity: 0;
}

.slide-in-bottom.animate {
  opacity: 1;
  -webkit-animation: slide-in-bottom 0.8s cubic-bezier(0.445, 0.050, 0.550, 0.950) both;
	        animation: slide-in-bottom 0.8s cubic-bezier(0.445, 0.050, 0.550, 0.950) both;
}
/**
 * ----------------------------------------
 * animation slide-in-bottom
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(1000px);
            transform: translateY(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(1000px);
            transform: translateY(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}


/* Misión y Visión */
.bg-mision {
  height: 90vh;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  justify-content: center;
  padding: 3rem 2rem;
  background: #6A2771;
  background: var(--Gradiente-Vio-Ama);
}

.bg-mision h2 {
  font-size: 5vh;
  color: var(--Gris-Secundario);
}

.bg-mision .redes-s {
  display: flex;
  height: fit-content;
  align-items: center;
  color: var(--Gris-Secundario);
  gap: 1rem;
}

.bg-mision .redes-s a {
  padding: .5rem;
  text-decoration: none;
  color: var(--Gris-Secundario);
}

@media (hover:hover) {
  .bg-mision .redes-s a:hover {
    color: var(--Violeta-Principal);
  }
}

.cards-mis-vis {
  display: flex;
  gap: 2rem;
  justify-content: center;
}

.card {
  display: flex;
  width: 40%;
  border: 2px solid var(--Blanco);
  border-radius: 10px;
}

.card-info {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-left: 2px solid var(--Blanco);
  padding: 1.5rem;
  color: var(--Blanco);
}

.card i:before {
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--Violeta-Oscuro-Secundario);
  border-bottom: 2px solid var(--Blanco);
  padding: 1rem;
}


/* Servicios */
#section-servicies {
  padding: 5rem 2rem 1rem;
  background-color: var(--Gris-Secundario);
}

.services {
  padding: 2rem;
}

.card-group {
  display: grid;
  /* gap: 1.85rem; */
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
}

.card-service {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  color: var(--Negro-Texto);
  /* border: 1px solid var(--Negro-Texto); */
  overflow: hidden;
}

.card-service div {
  display: flex;
  height: fit-content;
  flex-direction: column;
  gap: 1rem;
  padding: .85rem 1rem;
}

.card-service a.mobile {
  display: none;
}

.card-service a.desk {
  opacity: 0;
  position: absolute;
  top: 48%;
  left: 20%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: fit-content;
  font-weight: 600;
  font-size: .97rem;
  border-radius: 5px;
  padding: .5rem 1.85rem;
  margin-bottom: .5rem;
  text-decoration: none;
  color: var(--Violeta-Brillante-Secundario);
  background-color: var(--Violeta-Principal);
  transition: opacity .3s ease-out;
}

.card-service img {
  opacity: 0;
  width: 100%;
  height: 30vh;
  object-fit: cover;
  transition: all .5s;
}

@media (hover:hover) {
  .card-service:hover img {
    opacity: 1;
  }

  .card-service:hover {
    color: var(--Gris-Secundario);
    background-color: var(--Violeta-Oscuro-Secundario);
  }

  .card-service:hover a {
    opacity: 1;
    transition: opacity .3s ease-in 1s;
  }

  .card-service a:hover {
    color: var(--Blanco);
  }
}


/* Clientes */
#colaboraciones {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding: 5rem 0rem;
  align-items: center;
  justify-content: space-between;
  background-color: var(--Negro-Texto);
}

#colaboraciones h2 {
  color: var(--Gris-Secundario);
}

.clientes {
  display: flex;
  gap: 5rem;
  width: 100%;
  height: 150px;
  overflow: hidden;
  align-items: center;
  justify-content: center;
}

.clientes img {
  color: #fff;
  width: auto;
  height: 10vh;
}



/* Formulario */
#form {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 3rem 0rem;
  background: var(--Violeta-Brillante-Secundario);
}

.formulario {
  display: flex;
  gap: 4rem;
  align-items: center;
  margin: 1rem;
  padding: 2rem;
  width: 70vw;
  border-radius: 10px;
  background: var(--Violeta-Oscuro-Secundario);
}

.formulario img {
  height: 50vh;
}

.formulario form {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.formulario p input,
.formulario p input::placeholder,
.formulario p textarea,
.formulario p textarea::placeholder {
  width: 100%;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  color: var(--Violeta-Brillante-Secundario);
}

.formulario p input:focus-visible{
  outline: none;
  background-color: var(--Violeta-Principal);
}

.formulario p input:is(:-webkit-autofill, :autofill) {
  color: var(--Violeta-Oscuro-Secundario);
  background-color: var(--Gris-Secundario) !important;
}

.formulario p input:focus-visible::placeholder{
  color: var(--Gris-Secundario)
}

.formulario input,
.formulario p textarea {
  padding: 1rem;
  border-radius: 10px;
  background-color: transparent;
  border: 1px solid var(--Violeta-Brillante-Secundario);
  color: var(--Violeta-Brillante-Secundario);
}

/* Incrementales de campo telefono - Chrome, Safari, Opera*/
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

.info-gral {
  display: flex;
  flex-direction: column;
  color: var(--Gris-Secundario);
}

form p.enviar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: .85rem;
}

form p.enviar button {
  display: flex;
  gap: 1rem;
  align-items: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 1.15rem;
  color: var(--Blanco);
  padding: .85rem 2rem;
  border: 1px solid var(--Gris-Secundario);
  border-radius: 5px;
  background: var(--Gradiente-Violeta-90);
  transition: all .3s;
}


@media (hover:hover) {
  form p.enviar button:hover {
    transform: scale(1.05);
    background: var(--Violeta-Brillante-Secundario);
  }
}


/* Footer */
footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--Violeta-Oscuro-Secundario);
  padding: 3rem 0rem;
  gap: 2rem;
}

footer > div {
  display: flex;
  align-items: center;
  gap: 3rem;
}

footer > div > div {
  display: flex;
  flex-direction: column;
}

footer .cx div {
  display: flex;
  flex-direction: row;
  gap: .45rem;
  font-weight: 600;
}

footer .cx div a {
  text-decoration: none;
  color: var(--Violeta-Brillante-Secundario);
  transition: all .3s;
}

@media (hover:hover) {
  footer .cx div:hover a {
    transform: translateY(-.5rem);
    color: var(--Amarillo-Secundario);
  }
}

footer div div {
  color: var(--Violeta-Principal);
  text-align: start;
}


nav.navegador {
  display: none;
}
.navegador-desktop {
  position: fixed;
  width: 100%;
  height: fit-content;
  background-color: var(--Blanco);
  z-index: 99999;
}
.navegador-desktop img {
  height: 8vh;
  padding: 0.3rem 3rem;
}


/* Mensaje emergente "Gracias" */
.mensaje-exito {
  visibility: hidden;
  opacity: 0;
  min-width: 280px;
  max-width: 80%;
  background-color: #4CAF50;
  color: #fff;
  text-align: center;
  border-radius: 10px;
  padding: 20px;
  position: fixed;
  z-index: 99999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  font-size: 16px;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.mensaje-exito.show {
  visibility: visible;
  opacity: 1;
}