.hero{
  position: relative;
  min-height: 420px;          /* altura do hero */
  height: 100vh;               /* responsivo */
  overflow: hidden;
  background:#000;
}
.hero .carousel,
.hero .carousel-inner,
.hero .carousel-item{
  height: 100%;
}

/* banner como background */
.hero .carousel-item{
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: translateZ(0);
}

/* escurece o banner para o texto destacar */
.hero::before{
  content:"";
  position:absolute; inset:0;
  background: rgba(0,0,0,.45);
  z-index: 2;
  pointer-events:none;
}

/* camada fixa do texto */
.hero-overlay{
  position:absolute; inset:0;
  z-index: 3;
  display:flex;
  align-items:center;
}
.hero-content{
  max-width: 680px;
  color: #fff;
}
/* garante que as setas fiquem acima do overlay */
.hero .carousel-control-prev,
.hero .carousel-control-next{
  z-index: 4;
}
.hero h1{
  font-weight: bold;
}
.hero h1, .hero h1 span{
  color: var(--main-white);
  font-size: 72px;
}
.hero .lead{
  color: var(--main-white);
  font-size: 21px;
}
.hero .btn{
  border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
}
.hero .btn span{
  color: var(--main-white);
}
.hero .btn:hover{
  background-color: var(--main-empresa);
  border: 1px solid var(--main-empresa);
}

@media(max-width: 767px){
  .hero h1, .hero h1 span{
    font-size: 48px;
  }
}
@media(max-width: 550px){
  .hero h1, .hero h1 span{
    font-size: 34px;
  }
  .hero .btn img{
    width: 150px;
  }
}

/***********************************************/

#sobre h2{
  font-size: 58px;
  line-height: 60px;
  font-weight: bold;
}

#sobre p{
  font-size: 21px;
}

#sobre .box{
  display: flex;
  justify-content: initial;
  align-items: initial;
  flex-wrap: wrap;
}

#sobre .box .item{
  float: left;
  width: 50%;
  border-left: 5px solid var(--main-empresa);
  padding: 10px;
  font-size: 24px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
}

@media(max-width: 767px){
  #sobre h2{
    font-size: 34px;
    line-height: 35px;
  }
  #sobre .box .item{
    font-size: 21px;
  }
}

/***********************************************/

#nos{
  background-color: var(--main-black);
  padding-top: 40px;
  padding-bottom: 40px;
}

#nos h3{
  font-size: 58px;
  line-height: 60px;
  font-weight: bold;
  color: var(--main-white);
}

#nos p{
  font-size: 21px;
  color: var(--main-white);
}

#nos .lista{
  display: flex;
  justify-content: initial;
  align-items: center;
  flex-wrap: wrap;
}

#nos .lista .item{
  float: left;
  width: 33.33%;
  padding: 10px;
  border: 1px solid var(--main-white);
  background-color: transparent;
  color: var(--main-white);
  font-size: 18px;
  border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
  text-align: center;
  margin-bottom: 10px;
}

#nos .lista .item.width-2{
  width: 40%;
}
#nos .lista .item.width-4{
  background-color: var(--main-empresa);
  border: 1px solid var(--main-empresa);
  width: 60%;
}
#nos .foto{
  border-radius: 35px;
  -moz-border-radius: 35px;
  -webkit-border-radius: 35px;
}
#nos .titulo{
  color: var(--main-white);
  font-size: 21px;
  font-weight: 300;
}
#nos .nome{
  color: var(--main-white);
  font-size: 18px;
}

@media(max-width: 767px){
  #nos h3{
    font-size: 34px;
    line-height: 35px;
  }
  #nos .lista .item{
    width: 50% !important;
  }
  #nos .lista .item.width-4{
    width: 100% !important;
  }
}

@media(max-width: 500px){
  #nos .lista .item{
    width: 100% !important;
  }
}

/***********************************************/

#contato{
  background-repeat: no-repeat;
  background-position: center center;
  padding-top: 50px;
  padding-bottom: 50px;
}
#contato h3{
  color: var(--main-white);
  font-size: 52px;
  font-weight: bold;
}
#contato p{
  color: var(--main-white);
  font-size: 21px;
}
#contato .btn{
  border-radius: 30px;
  -moz-border-radius: 30px;
  -webkit-border-radius: 30px;
}
#contato .btn span{
  color: var(--main-white);
}
#contato .btn:hover{
  background-color: var(--main-empresa);
  border: 1px solid var(--main-empresa);
}

@media(max-width: 767px){
  #contato h3{
    font-size: 34px;
  }
  #contato .btn img{
    width: 150px;
  }
}




