* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;

  font-family: "Poppins";
  font-optical-sizing: auto;
  font-style: normal;

  -webkit-font-smoothing: antialiased;
}

body {
  background-color: #efefef;
  height: 100vh
}

/* Estilização Header */

header {
  align-items: center;
  height: 70px;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000; 
  padding: 1.5rem;
  margin-inline: auto;

  .nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  img {
    width: 70px;
    height: 70px;
  };


  .nav-list {
    display: flex;
    gap: 32px;
    list-style: none;

   a {
    font-size: 0.9rem;
    text-decoration: none;
    font-weight: bold;
    color: #672cbc;
    padding-block: 16px;
   } 
  }
}

.hamburger {
  display: none;
  border: none;
  background: none;
  border-top: 3px solid #672cbc;
  cursor: pointer;
}

.hamburger::after,
.hamburger::before {
  content: " ";
  display: block;
  width: 30px;
  height: 3px;
  background: #672cbc;
  margin-top: 5px;
  position: relative;
  transition: 0.1s;
}

@media (max-width: 750px) {
  .hamburger {
    display: block;
    z-index: 11;
  }
  .nav-list {
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #cfcfcf;
    clip-path: circle(100px at 90% -15%);
    transition: 0.5s ease-out;

    flex-direction: column;
    justify-content: center;
    align-items: center;
  
    pointer-events: none;
  }

  .nav-list li:nth-child(1) a {
    transition: 0.5s 0.2s;
  }

  .nav-list li:nth-child(2) a {
    transition: 0.5s 0.4s;
  }

  .nav-list li:nth-child(3) a {
    transition: 0.5s 0.6s;
  }


  .nav.active .nav-list {
    clip-path: circle(1500px at 90% -15%);
    pointer-events: all;
  }

  .nav.active .nav-list a {
    opacity: 1;
  }

  .nav.active .hamburger {
    position: fixed;
    top: 26px;
    right: 16px;
    border-top-color: transparent;
  }

  .nav.active .hamburger::before {
    transform: rotate(135deg);
  }

  .nav.active .hamburger::after {
    transform: rotate(-135deg);
    top: -7px;
  }
}

/* Estilização Main */

main {
  max-width: 1380px; 
  margin: 0 auto;

  h1 {
    color: #3e3e3f;
    font-size: 1.4rem;
    max-width: 80%;

    @media (min-width: 768px) {
      font-size: 2rem;
    }
  }

  .main-inicial {
  
    padding: 4rem 1.5rem;
    padding-bottom: 2rem;
      
    .home {
      display: flex;
      flex-direction: column;
      gap: 1.2rem;

      @media (min-width: 768px) {
        flex-direction: row;
        align-items: center;
        overflow: hidden;
      }

      .home-text {
        display: flex;
        flex-direction: column;
        gap: 1.2rem;
      }

      h1 {
        font-weight: 800;
        font-size: 2rem;
        
        @media (min-width: 768px) {
          font-size: 2.5rem;
        }
      }
    
      span {
        font-size: 1rem;
        max-width: 90%;
        color: #605f5f;
        @media (min-width: 768px) {
          font-size: 1.1rem;
        }
      }

      .first-button {
        max-width: max-content;
        padding: 1.2rem 3rem;


        color: white;
        background-color: #672cbc;
        font-weight: 700;
        font-size: 0.85rem;
        
        border: none;
        border-radius: 25px;

        @media (min-width: 768px) {
          padding: 1rem 2rem;
          font-size: 1rem;
        }
      }

      .home-img {
        height: 20rem;
        border-radius: 30px 0px 0px 30px;  
        margin-right: -1.5rem;
        object-fit: cover;

        @media (min-width: 768px) {
          border-radius: 30px 0px 0px 30px;
          width: 60%;  
          height: 30rem;
        }
      }
    }


    .tarefas-title {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding-top: 4rem;

      h1 {
        text-align: center;
        padding-bottom: 1rem;
      }

      .linha {
        height: 2px;
        width: 12rem;
        background-color: #672cbc;

        @media (min-width: 768px) {
          width: 20rem;
        }
      }
    }

    .o-que-fazemos {
      padding-top: 2rem;
    }

    .cards {    
      .card {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        height: 21rem;
        
        border: 1px solid #3e3e3f;
        border-radius: 25px;

        padding: 1rem;

        @media (min-width: 768px) {
          height: 16rem;
        }

        h3 {
          color: #672cbc;
          font-size: 2rem;
          @media (min-width: 768px) {
            font-size: 2.5rem;
          }
        }

        h4 {
          font-size: 0.94rem;
          @media (min-width: 768px) {
            font-size: 1.5rem;
          }
        }

        p {
          font-size: 0.7rem;
          color: #605f5f;

          @media (min-width: 768px) {
            font-size: 1rem;
          }
        }

      }
    }

    .investir {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding-top: 4rem;
      gap: 1rem;

      h1 {
        text-align: center;
        padding-bottom: 1rem;
      }

      .text-investimento {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 0.5rem
      }

      .investimento {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        border-bottom: 1px solid #672cbc;
        padding-bottom: 1rem;
        
        @media (min-width: 768px) {
          width: 95%;
          justify-content: flex-start;
        }

        img {
          height: 1.5rem;
          width: 1.5rem;
        }

        p {
          font-size: 0.6rem;
          color: #605f5f;

          strong {
            color: #3e3e3f;
          }
          @media (min-width: 768px) {
            font-size: 1rem;
          }
        }
      }
    }
  }
    

  .turbinar {
    display: flex;
    width: 100%;
    background-color: #2c2c2c;


    h2 {
      font-size: 1.2rem;
      color: #efefef;
      text-align: center;
      padding-bottom: 1rem;
      max-width: 80%;
    }

    img {
      height: auto;
      width: 50%;
      opacity: 0.5;
      object-fit: cover;
      overflow: hidden;
      
      @media (min-width: 768px) {        
        height: 40rem;
      }
    }

    .mensagem-turbinar {
      display: flex;
      width: 50%;
      justify-content: center;
      align-items: center;

      flex-direction: column;

      .turbinar-button {
        padding: 1rem 1.5rem;
        
        color: #3e3e3f;
        font-size: 0.7rem;
        background-color: #d6fe00;
        font-weight: 700;
        
        border: none;
        border-radius: 25px;

        @media (min-width: 768px) {
          font-size: 1rem;
          padding: 1rem 4rem;
        }
      }

      @media (min-width: 768px) {
        h2 {
          font-size: 2rem;
        }
      }
    }
  }

  .title-portfolio {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 2rem;
  }

  .portfolio {
    padding-top: 2rem;

    .slider-wrapper {
      overflow: hidden;
      margin-left: 1rem;

      .projetos {
        .card-project {
          display: flex;
          align-items: center;
          justify-content: center;
          flex-direction: column;
          background-color: #2c2c2c;
          padding: 1rem 0;
          gap: 1rem;

        
          border-radius: 30px;

          img {
            height: auto;
            width: 90vw;

            @media (min-width: 768px) {
              width: 60vw;
            }
            
          }

          a {
            display: flex;
            justify-content: center;
            color: #2c2c2c;
            text-decoration: none;

            background-color: #d6fe00;
            border-radius: 30px;
            padding: 0.5rem;
            width: 60%;
            
            font-weight: 600;
            font-size: 0.75rem;
            
          }
        }
      }
    }
  }


  .processo-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;

    gap: 0.2rem;
    padding-top: 3rem;

    h2 {
      color: #3e3e3f;
      font-size: 1.3rem;
      @media (min-width: 768px) {
        font-size: 2.5rem;              
      }
    }

    p {
      font-size: 0.7rem;
      @media (min-width: 768px) {
        font-size: 1rem;              
      }
    }

    .processos-cards {
      display: flex;
      align-items: center;
      justify-content: center;
      /* max-width: 100vw; */
      padding: 0.3rem;

      gap: 0.2rem;

      .processo {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-direction: column;
        gap: 1rem;
        flex: 1;

        height: 15rem;
        padding: 0.3rem;

        @media (min-width: 768px) {
          height: 25rem;   
          padding: 1rem;
        }

        background-color: #672cbc;

        img {
          height: 3rem;
          @media (min-width: 768px) {
            height: 6rem;              
          }
        }

        h5 {
          font-size: 0.55rem;
          color: white;
          @media (min-width: 768px) {
            font-size: 1.1rem;                     
          }
        }

        span {
          font-size: 0.5rem;
          color: white;
          @media (min-width: 768px) {
            font-size: 1rem;                     
          }
        }
      }

    }
  }

  .entre-em-contato {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 1.5rem;
    background-color: #2c2c2c;
    text-decoration: none;
    margin: auto;
    margin-top: 2rem;

    border-radius: 30px;
    gap: 0.5rem;

    width: 80%;
    
    @media (min-width: 768px) {
      width: 50%;
      gap: 1.5rem;
    }

    h4 {
      font-size: 1rem;
      color: #d6fe00; 
    }
    
  }  
}

footer {
  background-color: #2c2c2c;
  color: #fff;
  text-align: center;
  padding: 2rem;
  margin-top: 2rem;
  @media (min-width: 768px) {
    padding: 5rem;
    margin-top: 5rem;
  }

  img {
    width: 5rem;
    @media (min-width: 768px) {
      width: 7rem;                    
    }
  }

  p {
    font-size: 0.5rem;
    line-height: 1.5;
    @media (min-width: 768px) {
      font-size: 0.7rem;                     
    }
  }

  .linha {
    height: 1px;
    background-color: white;
    margin: 20px auto;
  }

  .menu-footer {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 20px;

    a {
      color: white;
      font-size: 0.5rem;
      @media (min-width: 768px) {
        font-size: 0.8rem;                     
      }
    }
  }

}