:root{
   --blanco: #ffffff;
   --azul: #2c4aac;
   --amarillo: #c7db27;
   --gris: #a6a6a6;
   --grisclaro: #c8ced3;   
   
}
html{
   font-size: 62.5%;
   box-sizing: border-box;
   scroll-snap-type: y mandatory;

/*scroll-snap*/
.cabecera-inicio,
.servicio,
.navegacion-principal,
.formulario, 
.footer{
   scroll-snap-align: center;
   scroll-snap-stop: always;
}
   }
*, *:before, *:after {
  box-sizing: inherit;
}

 body{
   font-size: 16px;
     font-family: "Quicksand", sans-serif;
     font-optical-sizing: auto;
     font-weight: 400;
     font-style: normal;
     background-image: linear-gradient(to top, var(--grisclaro) 0% var(--blanco) 100%);
}

h1{
   font-size: 3.8rem;
}
h2{
   font-size: 2.5rem;
}
h3{
   font-size: 1.8rem;

}

h1,h2,h3 {
   text-align: center;
}

.logo_vector_garci{
   text-align: center;
}


.cabecera-inicio{
   background-color: var(--azul);

}
.cabecera-inicio {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem 0;
}

.logo img {
  max-width: 430px;   /* 👈 ajusta aquí el tamaño */
  width: 100%;
  height: auto;
}
.boton{
   background-color: var(--amarillo);
   color: var(--blanco);
   padding: 1rem 3rem;
   margin-top: 1rem;
   font-size: 2rem;
   text-transform: uppercase;
   font-weight: bold;
   border-radius: .5rem;
   width: 90%;
   text-align: center;
   border: none;
}
@media (min-width: 768px) {
   .boton{
      width: auto;
   }
.boton:hover{
   cursor: pointer;
}
.sombra{
   box-shadow: 0px 5px 15px 8px rgba(71,71,71,0.3);
   background-color: var(--blanco);
   padding: 2rem;
   border-radius: 2rem;
} 
}
.contenedor{
      max-width: 120rem;
      margin: 0 auto;
}
/**utilidades**/
.w-100{
   width: 100%;
}
@media (min-width: 768px) {
   .w-100{
      width: auto;
   }
   
 
}
flex{
   display: flex;
}
.alinear-derecha{
   justify-content: flex-end;
}


.nav-bg{
background-color: var(--amarillo);
}
.navegacion-principal{
      display: flex;
      flex-direction: column;
   }

@media (min-width: 768px) {
 .navegacion-principal{
   flex-direction: row;
   justify-content: space-evenly;
 }
 
}   

.navegacion-principal a {
   display: block;
   text-align: center;
   font-size: 2rem;
   font-weight: bold;
   padding: 1rem;
   color: var(--azul)

}
.navegacion-principal a:hover {
   background-color: var(--blanco);
   }


.hero{
   background-image: url(../img/fence-4339312_1280.jpg);
   background-repeat: no-repeat;
   background-size: cover;
   height: 450px;
   position: relative;
   margin-bottom: 2rem;
}
.contenido-hero{
   position: absolute;
   background-color: rgba(0,0,0, .4 ); /*anterior*/
   background-color: rgb(0 0 0 /40%);
   width: 100%;
   height: 100%;

   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
}
.contenido-hero h2,
.contenido-hero p {
   color: var(--blanco);
}

/**servicios**/
@media (min-width: 768px) {
   .servicios{
   display: grid;
   grid-template-columns: 1fr 1fr 1fr 1fr;
   column-gap: 1.5rem;
}

}

.servicio{
   display: flex;
   flex-direction: column;
   align-items: center;


}
.servicio h3{
   color: var(--azul);
   font-weight: bold;

}
.servicio p{
   line-height: 2;
   text-align: center;

}
.servicio .iconos{
   height: 15rem;
   width: 15rem;
   background-color: #c7db27;
   border-radius: 50%;
   display: flex;
   justify-content: center;
   align-items: center;

}
/**contacto**/
.formulario{
   background-color: var(--azul);
   width: min( 60rem, 100% ); /**usar el valor mas pequeño**/
   margin: 0 auto;
   padding: 2rem;
   border-radius: 1.5rem;
}
.formulario fieldset{
   border: none;
}
.formulario legend{
   text-align: center;
   font-size: 1.8rem;
   text-transform: uppercase;
   font-weight: 700;
   margin-bottom: 2rem;
   color: var(--blanco);

}
@media (min-width: 768) {
   .contenedor-campo{
   display: grid;
   grid-template-columns: repeat(2 1fr);
   grid-template-rows: auto auto 20rem;
   column-gap: 1rem;
}
.campo:nth-child(3),
.campo:nth-child(4)
{
   grid-column: 1/3;
}

}

.campo{
   margin-bottom: 1rem;
}
.campo label{
   color: var(--blanco);
   font-weight: bold;
   margin-bottom: .5rem;
   display: block;
}
.campo textarea{
   height: 20rem;
}
.input-text{
   width: 100%;
   border: none;
   padding: 1.5rem;
   border-radius: .5rem;

}
/*footer*/
.footer{
   text-align: center;
}


