    :root {
      --verde: #006400;
      --cinza: #666666;
      --preto: #1c1c1c;
      --branco: #fafafa;
    }
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      font-family: 'Inter', sans-serif;
    }
    html {
     scroll-behavior: smooth;
     margin: 0;
     padding: 0;
     overflow-x: hidden; /* impede scroll horizontal */
    }
    section {
      scroll-margin-top: 60px; /* ajuste conforme a altura do menu */
    }
    body {
      background-color: var(--branco);
      color: var(--preto);
      overflow-x: hidden;
      margin-top: 80px;
    }
    header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1rem 2rem;
      background-color: var(--branco);
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 1000;
      box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    }
    .logo img {
      height: 50px;
    }
    nav ul {
      display: flex;
      gap: 2rem;
      list-style: none;
    }
    nav ul li a {
      text-decoration: none;
      color: var(--verde);
      font-family: 'Poppins', sans-serif;
      transition: color 0.3s;
      padding: 35px 15px;
    }
    nav ul li a:hover {
      color: var(--branco);
      background-color: var(--verde);
    }
    .btn-contato {
      background-color: var(--verde);
      color: var(--branco);
      padding: 0.9rem 0.8rem;
      border: none;
      border-radius: 5px;
      font-family: 'Raleway', sans-serif;
      cursor: pointer;
      transition: background 0.3s;
    }
    .btn-contato:hover {
      background-color: #004d00;
    }
    /* Menu toggle (hamburguer) - escondido no desktop */
    .menu-toggle {
      display: none;
      font-size: 2rem;
      cursor: pointer;
      color: var(--verde);
    }

    /* Mobile */
    @media (max-width: 768px) {
      .logo img {
        height: 45px; /* menor no mobile */
        margin-top: 5px;
      }
      .menu-toggle {
        display: block;
      }
      nav {
        display: none; /* esconde menu */
        position: absolute;
        top: 70px;
        left: 0;
        width: 100%;
        background: var(--branco);
        box-shadow: 0 2px 6px rgba(0,0,0,0.1);
      }
      nav.active {
        display: block;
      }
      nav ul {
        flex-direction: column;
        gap: 0;
        padding: 1rem 0;
      }
      nav ul li a {
        display: block;
        padding: 1rem;
        border-bottom: 1px solid #eee;
      }
      .menu-toggle {
        display: block; /* mostra hamburguer */
      }
      .btn-contato {
        display: none; /* mostra hamburguer */
      }
    }

    section {
      padding: 2rem 2rem;
    }
    .hero {
      background-image: url("imagens/gericad_backgound-inicio2.jpg");
      background-size: cover;         /* cobre todo o espaço */
      background-position: center;    /* centraliza a imagem */
      background-repeat: no-repeat;
      text-align: center;
      padding: 14rem 2rem;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }
 
    .hero h1 {
      font-family: 'Poppins', sans-serif;
      font-size: 3.5rem;
      line-height: 4.5rem;
      margin-bottom: 1rem;
      color: var(--branco);
    }
    .hero p {
      font-size: 1.3rem;
      margin-bottom: 2rem;
      color: var(--branco);
    }
    .btn-solucoes {
      background-color: var(--verde);
      padding: 0.9rem 2.0rem;
      color: var(--preto);
      border: none;
      border-radius: 6px;
      font-size: 1.2rem;
      cursor: pointer;
      box-shadow: 0px 0px 40px 0px #1f1f1f;
      transition: transform 0.2s ease;
      animation: pulseColor 3s infinite ease-in-out; /* chama a animação */
    }
    .btn-solucoes:hover {
      background-color: #218838; /* verde mais forte no hover */
      transform: translateY(-3px) scale(1.03);
      box-shadow: 0px 0px 50px 0px #5e5d5d;
      /*box-shadow:0 10px 28px rgba(0,0,0,.10);*/
    }

    /* Animação de cor pulsante */
    @keyframes pulseColor {
      0% {
        background-color: #daa520; /* verde normal */
      }
      50% {
        background-color: #ffd700; /* verde mais claro */
      }
      100% {
        background-color: #daa520; /* volta ao verde base */
      }
    }

/* RESPONSIVO */
@media (max-width: 768px) {
  .hero {
    padding: 10rem 3.5rem;    /* menos altura no mobile */
    background-position: top; /* foca a parte superior da imagem */
  }
  .hero p {
    font-size: 1rem;
    padding: 0 10px;
  }

  .btn-solucoes {
    font-size: 1rem;
    padding: 0.7rem 1.5rem;
  }
}

@media (max-width: 480px) {
  .hero {
    padding: 6rem 1rem;      /* ainda mais compacto */
    background-position: center top; /* mostra o topo da imagem */
  }

  .hero h1 {
    font-size: 1.6rem;
    line-height: 2.2rem;
  }

  .hero p {
    font-size: 0.95rem;
  }
}

/* Sessão Quem somos */
.diferenciais {
  padding: 50px 0;
  font-family: 'Poppins', sans-serif;
  background-color: #f5f7f8;
}
.diferenciais h2 {
  text-align: center;
  font-weight: 700;
  font-size: 36px;
  margin-bottom: 30px;
  color: #004d00;
}
.diferenciais .container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}
.content {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
  margin-bottom: 60px;
}
.texto {
  flex: 1 1 480px;
  text-align: justify;
  margin: 0 auto;
  color: var(--verde);
  font-size: large;
  letter-spacing: 0.5px;
}
.icones {
  display: flex;
  gap: 40px;
  margin: 30px 0;
  flex-wrap: wrap;
}
.icon-box {
  text-align: center;
  transition: transform .3s;
  flex: 1;
  min-width: 120px;
}
.icon-box img {
  width: 50px;
  filter: saturate(2);
  transition: filter .3s, transform .3s;
}
.icon-box span {
  display: block;
  margin-top: 8px;
  font-weight: 500;
}
.icon-box:hover img {
  filter: grayscale(0);
  transform: translateY(-4px) scale(1.05);
}
.icon-box:hover {
  transform: translateY(-4px);
  color: #003000;
}
.img-area {
  flex: 1 1 420px;
}
.img-area img {
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .15);
  height: auto;
}

/* Bloco inferior com cards */
.diferenciais2 {
  background-color: #003000;
  margin-top: -30px;
  padding: 50px 0;
}
.diferenciais2 .container2 {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}
.cards {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.carde {
  background: #fff;
  padding: 35px 30px;
  border-radius: 15px;
  box-shadow: 0 6px 15px rgba(0, 0, 0, .1);
  text-align: center;
  transition: transform .3s, box-shadow .3s;
}
.carde h3 {
  color: #006400;
  margin-bottom: 12px;
  font-weight: 700;
  font-size: 19px;
}
.carde:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(245, 243, 243, 0.16);
}

/* Responsividade */
@media (max-width: 992px) {
  .content {
    flex-direction: column;
    text-align: center;
  }
  .texto {
    font-size: 16px;
    padding: 0 10px;
  }
  .icones {
    justify-content: center;
    gap: 20px;
  }
  .img-area {
    margin-top: 20px;
  }
}

@media (max-width: 768px) {
  .diferenciais h2 {
    font-size: 28px;
  }
  .texto {
    font-size: 16px;
  }
  .icones {
    flex-direction: column;
    align-items: center;
  }
  .icon-box {
    min-width: auto;
  }
  .carde {
    padding: 25px 20px;
  }
}

  /* Sessão Soluções */
      .solucoes {
        background: #f5f7f8;
        padding: 10px 20px;
        text-align: center;
      }
      .solucoes h2{
          text-align:center;
          font-weight:700;
          font-size:36px;
          font-family: 'Poppins', sans-serif;
          color: #004d00;
        }
      .solucoes h3{
        text-align:center;
          font-size:16px;
          font-family: 'Poppins', sans-serif;
          color: var(--preto);
      }
      .container-prin{
        width:98%;
        max-width:1240px;
        margin:auto;
        margin-top:10px;
      }
/*Principais Serviços*/
    .cards-servicos{
        margin-top: 40px;
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
        gap:30px;
      }
      .cards-servicos .card-serv{
       /* min-height: 350px;
        display: flex;
        flex-direction: column;*/
        background: #fff;
        border-radius: 18px;
        padding: 40px 30px;
        text-align: center;
        box-shadow: 0 6px 15px rgba(0,0,0,.08);
        transition: transform .25s, box-shadow .25s;
        
        /* Ajustes para alinhar botões */
        display: flex;
        flex-direction: column;
      }
      .card-serv{
        background:#fff;
        border-radius:18px;
        padding:40px 30px;
        text-align:center;
        box-shadow:0 6px 15px rgba(0,0,0,.08);
        transition:transform .25s, box-shadow .25s;
      }
      .card-serv:hover{
        transform:translateY(-6px);
        box-shadow:0 12px 25px rgba(0,0,0,.18);
      }
      .card-serv .icon{
        background:#e8f3e9;
        width:80px;
        height:80px;
        border-radius:50%;
        display:flex;
        justify-content:center;
        align-items:center;
        margin:0 auto 20px;
        transition: transform 0.4s ease;
        color: var(--verde);
        font-size: 3em;
      }
      .card-serv .icon:hover{
        transform: rotate(15deg) scale(1.1);
      }
      .card-serv h3{
        color:#006400;
        font-weight:700;
        font-size:20px;
        font: bold;
        margin-bottom:15px;
      }
      .card-serv p{
        color:#555;
        font-size:18px;
        line-height:1.5;
        height: 120px;
        margin-bottom: 20px;
      }
      .card-serv .action{
        margin-top: auto;
      }
      /*botão saiba mais*/
      .btn-saiba{
        display: inline-block;
        padding: 12px 18px;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 700;
        letter-spacing: .3px;
        transition: transform .2s ease, box-shadow .2s ease, background-color .25s ease, color .25s ease;
        background-color: #daa520;
        color: var(--preto);
        box-shadow: 0 4px 10px rgba(0,0,0,.08);
      }

      /* Hover/focus acessível */
      .btn-saiba:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(0,0,0,.16);
        background-color: #ca991e;      /* variação do verde no hover */
      }

      .btn-saiba:focus {
        outline: 2px solid #daa520;     /* foco visível */
        outline-offset: 2px;
      }
      /* Versão alternativa (contorno) caso prefira o botão “leve”
      .btn-saiba {
        background: transparent;
        color: #006400;
        border: 2px solid #006400;
      }
      .btn-saiba:hover {
        background: #006400;
        color: #fff;
      }
      */
      /* Responsivo */
@media (max-width: 992px) {
  .btn-saiba { font-size: 0.95rem; padding: 11px 16px; }
  .card-serv { padding: 32px 24px; }
}

@media (max-width: 768px) {
  .btn-saiba { width: 100%; }     /* no mobile, ocupa a largura do card */
  .card-serv { min-height: auto; }/* deixa o card se ajustar melhor no mobile */
}
      /*FIM BOTÃO SAIBA MAIS*/

      .swiper-slide .card-sa  {min-height:400px;}

/*Serviços Adicionais*/
  .servicos-adicionais{
    padding:50px 0;
    background:#f6f6f6;
    font-family: 'Poppins', sans-serif;
  }
  .container-sa{
    width:95%;
    max-width:1240px;
    margin:auto;
  }
  .topo-sa{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:30px;
    font-family: 'Poppins', sans-serif;
  }
  .topo-sa h2{
    font-size:32px;
    font-weight:700;
    font-family: 'Poppins', sans-serif;
    color: var(--preto);
  }
  .setas button{
    background:var(--preto);
    color:#fff;
    border:1px solid #ddd;
    width:40px;
    height:40px;
    border-radius:8px;
    cursor:pointer;
    font-size:20px;
    transition:.3s;
  }
  .setas button:hover{
    background-color: var(--cinza);
    color:var(--preto)
  }

  .card-sa{
    background:#fff;
    border-radius:18px;
    padding:40px 30px;
    text-align:center;
    box-shadow:0 6px 15px rgba(0,0,0,.08);
    min-height:350px;
    transition:transform .25s, box-shadow .25s;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
    font-family: 'Poppins', sans-serif;
  }
  .card-sa:hover{
    transform:translateY(-6px);
    box-shadow:50 12px 25px rgba(0,0,0,.18);
    z-index: 5;
  }
  .card-sa .icon{
    background:#e8f3e9;
    width:80px;
    height:80px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0 auto 20px;
    color: var(--cinza);
    font-size: 2.5em;
  }
  .card-sa h3{
    color: var(--preto);
    font-weight:700;
    font-size:20px;
    margin-bottom:15px;
  }
  .card-sa p{
    color:#555;
    font-size:18px;
    line-height:1.5;
  }

/*Sessão Planos Personalizados*/
  .planos-personalizados{
    padding:40px 0;
    background:#003000;
    font-family:'Inter',sans-serif;
  }
  .container-plano{
    width:95%;
    max-width:1240px;
    margin:auto;
    text-align:center;
  }
  .container-plano h2{
      text-align:center;
      font-weight:700;
      font-size:36px;
      font-family: 'Poppins', sans-serif;
      color: var(--branco);
    }
  .cards-planos{
    display:grid;
    gap:30px;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    margin-top: 30px;
  }
  .card-plano{
    background: #f5f7f8;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 6px 20px rgba(0,0,0,.1);
    transition:transform .3s, box-shadow .3s;
    font-family: 'Poppins', sans-serif;
  }
  .card-plano img{
    width:100%;
    height:230px;
    object-fit:cover;
  }
  .card-plano .info{
    padding:35px 30px 40px;
  }
  .card-plano h3{
    color:#006400;
    font-weight:700;
    font-size:21px;
    margin-bottom:15px;
    font-family: 'Poppins', sans-serif;
  }
  .card-plano p{
    color:#555;
    font-size:15px;
    line-height:1.5;
  }
  .card-plano:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 28px rgba(0,0,0,.18);
  }

  /* Responsividade */
@media (max-width: 992px) {
  .planos-personalizados {
    flex-direction: column;
    text-align: center;
  }
  .solucoes h2 {
    font-size: 28px;
  }
  .servicos-adicionais h2{
    font-size: 28px;
  }
  .container-plano h2 {
    font-size: 28px;
    padding: 0 10px;
  }
  .card-plano {
    justify-content: center;
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .planos-personalizados {
    flex-direction: column;
    text-align: center;
  }
  .container-plano h2 {
    font-size: 25px;
    padding: 0 5px;
  }
  .card-plano {
    justify-content: center;
    gap: 20px;
    padding: 25px 20px;
    margin: 5px 10px;
  }
}

/*sessão clientes*/
  .clientes-new {
    text-align: center;
    padding: 60px 20px;
    background: #F5F7F8;
  }

  .container-cli{
    width:95%;
    max-width:1240px;
    margin:auto;
  }

  .clientes-new h2{
      font-weight:700;
      font-size:36px;
      font-family: 'Poppins', sans-serif;
      color: #004d00;
    }

    .clientes-new h3{
      font-size:16px;
      font-family: 'Poppins', sans-serif;
      color: var(--preto);
  }

  .carousel {
    position: relative;
    max-width: 1240px;
    margin: auto;
    overflow: hidden;
    margin-top: 50px;
  }
  .carousel-track {
    display: flex;
    transition: transform 0.8s ease-in-out; /* transição rápida */
  }
  .carousel-item {
    min-width: 180px;
    margin: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .carousel-item img {
    max-width: 140px;
    max-height: 80px;
    object-fit: contain;
    border-radius: 6px;
    background: none;
    padding: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  }

  .carousel-btn {
    background: rgba(255,255,255,0.9);
    border: none;
    font-size: 28px;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    color: #006400;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  }

  .carousel-btn:hover {
  background: #006400;
  color: #fff;
}
  .carousel-btn.prev { left: 5px; }
  .carousel-btn.next { right: 5px; }

  /* Mobile */
@media (max-width: 768px) {
  .carousel-item {
    flex: 0 0 48%; /* garante 2 por vez */
    margin: 0 2px; /* menos espaço */
  }

  .carousel-item img {
    max-width: 100%;
    max-height: 65px;
  }

  .carousel-btn {
    font-size: 22px;
    width: 38px;
    height: 38px;
    top: 60%; /* desce um pouco para não encostar no logo */
  }
}

/*Sessão Por que nos escolher*/
    .por-que {
      text-align: center;
      padding: 40px 20px;
      background: #003000;
    }
    .por-que_gericad{
      width:95%;
      max-width:1240px;
      margin:auto;
      text-align:center;
    }
    .por-que h2{
        text-align:center;
        font-weight:700;
        font-size:36px;
        font-family: 'Poppins', sans-serif;
        color: #FAFAFA;
      }
    .por-que h3{
      text-align:center;
        font-size:16px;
        font-family: 'Poppins', sans-serif;
        color: #ececec;
    }
 
    .por-que_gericad {
        flex: 1 1 100%;
        min-width: 250px;
    }

    .accordion {
        border: 1px solid #ccc;
        border-radius: 6px;
        margin-top: 30px;
        font-family: 'Poppins', sans-serif;
        margin-bottom: 15px;
    }
    .accordion-item {
        border-bottom: 1px solid #ccc;
    }
    .accordion-header {
        background: var(--branco);
        color: var(--verde);
        padding: 15px;
        cursor: pointer;
        font-weight: bold;
        transition: background 0.3s;
        text-align: left;
        padding-left: 30px;
        font-size: 16px;
        font-family: 'Poppins', sans-serif;
    }
    /* Ícone triangular */
    .accordion-header::before {
        content: "\25B6"; /* Triângulo para a direita */
        margin-right: 10px;
        display: inline-block;
        transition: transform 0.3s ease;
    }
    /* Gira quando aberto */
    .accordion-item.active .accordion-header::before {
        transform: rotate(90deg);
    }

    .accordion-header:hover {
        background: #e0e0e0;
    }
    .accordion-content {
        display: none;
        padding: 15px;
        background: #eeeded;
        color: #003000;
    }
    .accordion-content p{
      text-align: left;
      padding-left: 35px;
      
    }
    .accordion-item.active .accordion-content {
        display: block;
    }
    /* Responsividade */
    @media (max-width: 768px) {
        .por-que {
            flex-direction: column;
        }
        .por-que h2 {
          font-size: 28px;
        }
    }

/*Sessão Contato*/
    .contato {
      text-align: center;
      padding: 60px 20px;
      background: #F5F7F8;
    }

    .container-contato{
      width:95%;
      max-width:1240px;
      margin:auto;
      text-align:center;
    }
    .container-contato h2{
        text-align:center;
        font-weight:700;
        font-size:36px;
        font-family: 'Poppins', sans-serif;
        color: #004d00;
      }
    .container-contato h3{
      text-align:center;
        font-size:16px;
        font-family: 'Poppins', sans-serif;
        color: var(--preto);
        margin-bottom: 20px;
    }

    .social-icons {
      display: flex;
      justify-content: center;
      gap: 20px;
      margin-bottom: 20px;
    }
    .social-icons .icon {
      font-size: 40px;
      color: #006400;
      transition: all 0.3s ease;
    }
    .social-icons .icon:hover {
      color: #666666;
      transform: translateY(-5px);
    }

    /* Formulário */
    .form-container {
      max-width: 700px;
      margin: auto;
      background: #fff;
      padding: 25px;
      border-radius: 12px;
      box-shadow: 0 3px 8px rgba(0,0,0,0.1);
      text-align: left;
    }
    .form-container h3 {
      margin-bottom: 20px;
      font-size: 20px;
      font-weight: bold;
      color: var(--verde);
      text-transform: uppercase;
    }
    .form-container p{
      text-align: center;
    }
    .form-group {
      display: flex;
      gap: 15px;
      margin-bottom: 15px;
    }
    .form-group input {
      flex: 1;
    }
    .form-container input, .form-container textarea {
      width: 100%;
      padding: 12px;
      border: 1px solid #ddd;
      border-radius: 8px;
      font-size: 14px;
      outline: none;
      transition: border 0.3s ease;
    }
    .form-container input:focus, 
    .form-container textarea:focus {
      border-color: #006400;
    }
    .form-container button {
      width: 100%;
      padding: 14px;
      background: #006400;
      color: #fff;
      font-size: 16px;
      font-weight: bold;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      transition: background 0.3s ease;
      margin-top: 10px;
    }
    .form-container button:hover {
      background: #008000;
    }
    /* === RESPONSIVIDADE === */
@media (max-width: 992px) {
  .clientes-new h2, 
  .container-contato h2 { font-size: 30px; }
  .clientes-new h3, 
  .container-contato h3 { font-size: 14px; }
}
@media (max-width: 768px) {
  .form-container { padding: 20px; }
  .form-container input, .form-container textarea { font-size: 14px; }
}
@media (max-width: 480px) {
  .form-group { flex-direction: column; }
  .form-group input { min-width: 100%; }
}

/*Rodapé*/
    .footer {
      background: var(--preto);
      color: #fff;
      text-align: center;
      padding: 20px;
      font-size: 14px;
      box-shadow: 0px -5px 10px rgba(0, 0, 0, 0.2); /* Sombra sutil acima */
    }
    .footer a {
      display: block;
      margin-top: 8px;
      color: #fff;
      text-decoration: underline;
      transition: opacity 0.3s ease;
    }
    .footer a:hover {
      opacity: 0.8;
    }

/* Modal */
    .modal {
      display: none;
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: rgba(0,0,0,0.6);
      justify-content: center;
      align-items: center;
    }
    .modal-content {
      background: #fff;
      padding: 25px;
      border-radius: 10px;
      max-width: 400px;
      text-align: center;
      position: relative;
      animation: fadeIn 0.3s ease;
    }
    .modal-content p {
      font-size: 15px;
      color: #333;
    }
    .fechar {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 20px;
      cursor: pointer;
      color: #333;
      transition: color 0.3s ease;
    }
    .fechar:hover {
      color: #006400;
    }
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(-10px); }
      to { opacity: 1; transform: translateY(0); }
    }

/*btn-topo*/
.btn-topo {
  position: fixed;
  bottom: 90px; /* fica logo acima do botão do WhatsApp */
  right: 20px;
  background: var(--verde);
  color: white;
  border: none;
  font-size: 20px;
  font-weight: bold;
  padding: 10px 14px;
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  display: none; /* escondido por padrão */
  z-index: 999;
}

.btn-topo:hover {
  background: #004d00;
}

/* Mostrar só no mobile */
@media (max-width: 768px) {
  .btn-topo {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

/*WhatsApp*/
    .whatsapp-float {
      position: fixed;
      width: 60px;
      height: 60px;
      bottom: 20px;
      right: 20px;
      max-width: 100%;
      overflow: hidden;
      box-sizing: border-box;
      max-width: 100%;
      background-color: #25D366;
      color: #fff;
      border-radius: 50%;
      text-align: center;
      font-size: 32px;
      box-shadow: 0 4px 8px rgba(0,0,0,0.2);
      z-index: 1100;
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      animation: whatsappPulse 2s infinite alternate;
      transition: transform 0.3s ease;
    }

    .whatsapp-float:hover {
      transform: scale(1.1);
    }

    /* animação suave de cor */
    @keyframes whatsappPulse {
      0%   { background-color: #25D366; }
      100% { background-color: #20b858; }
    }
    @media (max-width: 768px) {
      .whatsapp-float {
        width: 50px;
        height: 50px;
        font-size: 26px;
        bottom: 15px;
        right: 15px;
      }
    }

    /*PÁGINA CENTRAL DE CADASTROS*/
/* ===== Seção 01 - Central de Cadastros — Intro ===== */
.cc-intro{
  background:#F5F7F8;
  padding:60px 20px;
  text-align: center;
}
.cc-intro h1{
  color: var(--verde);
}
.cc-container{
  width:95%;
  max-width:1240px;
  margin:0 auto;
}
.cc-title{
  font-family:'Poppins', sans-serif;
  font-weight:700;
  font-size:32px;
  color:var(--verde);
  margin:0 0 16px 0;
}
.cc-grid{
  display:grid;
  grid-template-columns: 1.15fr 1fr;
  gap:36px;
  align-items:center;
}
.cc-text p{
  font-family:'Poppins', sans-serif;
  font-size:16.5px;
  line-height:1.7;
  color:#2b2b2b; /* var(--preto) suave */
  text-align:justify;
}
.cc-chart-wrap{
  background:#fff;
  border-radius:14px;
  padding:20px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.cc-chart-wrap canvas{
  width:100%;
  max-width:400px;
  height:auto;
  display:block;
  margin:0 auto;
}
.cc-chart-legend{
  margin-top:15px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  justify-content:center;
  font-family:'Poppins', sans-serif;
  font-size:13px;
  color:#444;
}

/* Responsivo */
@media (max-width: 992px){
  .cc-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .cc-title{ font-size:28px; }
}
@media (max-width: 768px){
  .cc-intro{ padding:44px 16px; }
  .cc-title{ font-size:24px; }
  .cc-text p{ font-size:15.5px; }
}

/* ===== Seção 02 - Panorama — Análises ===== */
.cc-panorama{
  background:#fff;
  padding:56px 20px;
}
.cc-panorama .cc-container{
  width:95%;
  max-width:1240px;
  margin:0 auto;
}
.cc-panorama h2{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  color: var(--verde);
  font-size:30px;
  margin:0 0 28px 0;
}

/* Grid principal: blocos + setas entre eles */
.panorama-grid{
  display:grid;
  grid-template-columns: 1fr 56px 1fr 56px 1fr 56px 1fr; /* 4 blocos + 3 setas */
  align-items:center;
  gap:16px;
}

/* Cartão dentro de um “moldura” (retângulo preto do print) */
.stage{
  /*border:2px solid #111;*/            /* moldura preta */
  border-radius:12px;
  padding:10px;
  background:#fff;
}
.stage-card{
  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.85));
  border-radius:10px;
  padding:14px;
}

/* Título (pílula grande) */
.stage-title{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  color:#fff;
  font-size:15px;
  text-align:center;
  padding:14px 12px;
  border-radius:10px;
  margin:2px 0 12px 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}

/* Lista de pílulas menores */
.stage-list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.stage-list li{
  background:rgba(255,255,255,.2);
  color:#fff;
  text-align:center;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:13px;
  padding:10px 12px;
  border-radius:10px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}

/* Setas entre os blocos */
.stage-arrow{
  width:100%;
  height:0;
  position:relative;
}
.stage-arrow::before{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:28px; height:28px;
  border-right:6px solid #7a7a7a;
  border-top:6px solid #7a7a7a;
  transform: translateX(-50%) rotate(45deg);
  opacity:.9;
}

/* Temas de cor (aprox. ao print) */
.stage--teal .stage-title,
.stage--teal .stage-list li{ background: linear-gradient(180deg,#2aacab,#1e8f8e); }
.stage--indigo .stage-title,
.stage--indigo .stage-list li{ background: linear-gradient(180deg,#5366d7,#3c4dc0); }
.stage--violet .stage-title,
.stage--violet .stage-list li{ background: linear-gradient(180deg,#a46adf,#8a4bc6); }
.stage--rose .stage-title,
.stage--rose .stage-list li{ background: linear-gradient(180deg,#c66985,#b25172); }

/* Acessibilidade: contraste da tipografia nas pílulas */
.stage--teal .stage-title, .stage--teal .stage-list li,
.stage--indigo .stage-title, .stage--indigo .stage-list li,
.stage--violet .stage-title, .stage--violet .stage-list li,
.stage--rose .stage-title, .stage--rose .stage-list li{
  color:#fff;
}

/* Responsivo */
/*@media (max-width: 1100px){
  .panorama-grid{
    grid-template-columns: 1fr 36px 1fr;
    row-gap:18px;
  }*/
  /* escondemos a segunda e terceira seta nas quebras para não poluir */
/*  .panorama-grid .stage-arrow:nth-of-type(2),
  .panorama-grid .stage-arrow:nth-of-type(4){ display:none; }
}*/

@media (max-width: 768px){
  .cc-panorama{ padding:44px 16px; }
  .cc-panorama h2{ font-size:26px; }
  .panorama-grid{
    grid-template-columns: 1fr; /* empilha tudo */
    gap:14px;
  }
  .stage-arrow{ 
    height:22px; 
  }
  .stage-arrow::before{
    left:50%;
    top:0;
    transform:translateX(-50%) rotate(135deg); /* seta apontando para baixo no mobile */
    border-right:6px solid #7a7a7a;
    border-top:6px solid #7a7a7a;
  }
}

/* ===== Seção 03 fixa ===== */
.cc-entregas{
  background:#F5F7F8;
  padding:56px 20px;
}
.botao-solucao{
  text-align: center;
  margin-top: 30px;
}
.cc-entregas .cc-container{
  width:95%;
  max-width:1240px;
  margin:0 auto;
}
.cc-entregas h2{
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:30px;
  color:var(--verde);
  margin:0 0 24px 0;
}

/* Grid 2 colunas (desktop) / 1 (mobile) */
.entregas-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:20px;
}

/* Card */
.entrega-card{
  background:#fff;
  border:2px solid #111;          /* moldura preta, consistente com seção 2 */
  border-left-width:10px;         /* destaque lateral */
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
}

/* Cabeçalho (estático) */
.entrega-head.static{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.88));
  cursor:default;
}

/* Corpo sempre visível */
.entrega-body{ padding:6px 18px 18px; flex: 1;}
.entrega-body h3{color: var(--preto);}
.entrega-list{
  list-style:none; margin:0; padding:12px 4px 0 4px;
  display:grid; gap:10px;
}
.entrega-list li{
  position:relative; padding-left:18px;
  line-height:1.55; color:#2b2b2b; font-size:15px;
}
.entrega-list li::before{
  content:""; position:absolute; left:0; top:10px;
  width:8px; height:8px; border-radius:50%;
  background: var(--cinza); box-shadow:0 0 0 3px rgba(0,100,0,.12);
}

/* Temas (cores laterais + ícone) */
.tema-verde { border-left-color:#2aa07a; }  .tema-verde .entrega-icon{ background:#2aa07a; }
.tema-roxo  { border-left-color:#7b56c4; }  .tema-roxo  .entrega-icon{ background:#7b56c4; }
.tema-coral { border-left-color:#f26c57; }  .tema-coral .entrega-icon{ background:#f26c57; }
.tema-rose  { border-left-color:#b25172; }  .tema-rose  .entrega-icon{ background:#b25172; }
.tema-indigo{ border-left-color:#5366d7; }  .tema-indigo .entrega-icon{ background:#5366d7; }
.tema-teal  { border-left-color:#28b29a; }  .tema-teal  .entrega-icon{ background:#28b29a; }

/* Responsivo */
@media (max-width: 992px){
  .entregas-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 768px){
  .cc-entregas{ padding:44px 16px; }
  .cc-entregas h2{ font-size:26px; }
  .entrega-texts h3{ font-size:17px; }
  .entrega-list li{ font-size:14.5px; }
}

/* ===== CTA Final ===== */
.cta-final {
  background: linear-gradient(135deg, var(--cinza), #e0e0e0);
  padding: 70px 20px;
  text-align: center;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.cta-final::before {
  content: "";
  position: absolute;
  top: -80px; left: -80px;
  width: 200px; height: 200px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  z-index: 0;
}

.cta-final::after {
  content: "";
  position: absolute;
  bottom: -100px; right: -100px;
  width: 250px; height: 250px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  z-index: 0;
}

.cta-container {
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.cta-final h2 {
  font-family: 'Poppins', sans-serif;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 18px;
}

.cta-final p {
  font-size: 17px;
  margin-bottom: 28px;
  line-height: 1.6;
}

.btn-cta {
  background-color: #daa520; /* dourado */
  color: #111;
  padding: 14px 34px;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.btn-cta:hover {
  background-color: #ca991e;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

/* Responsivo */
@media (max-width: 768px){
  .cta-final h2 { font-size: 24px; }
  .cta-final p { font-size: 15px; }
  .btn-cta { font-size: 16px; padding: 12px 28px; }
}
/*FIM Página Central de Cadastros*/

/*Começo Página Consultoria Empresarial*/
    .consultoria-empresarial {
      background:#F5F7F8;
      padding:25px 20px;
      text-align: center;
    }
    .intro-consultoria {
      width:100%;
      max-width:1240px;
      margin:0 auto;
    }

    .intro-consultoria h1 {
      font-family:'Poppins', sans-serif;
      font-weight:700;
      font-size:32px;
      color:var(--verde);
      margin:0 0 16px 0;
    }

    .intro-consultoria p {
      font-family:'Poppins', sans-serif;
      font-size:16.5px;
      line-height:1.7;
      color:#2b2b2b; /* var(--preto) suave */
      text-align:justify;
    }

    /* GRID DOS CARDS */
    .cards-consultoria {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1rem;
    }

    /* CARD ESTILO TRAPÉZIO */
    .card-consultoria {
      color: #fff;
      padding: 2rem 1.2rem;
      border-radius: 6px;
      text-align: center;
      position: relative;
      clip-path: polygon(0 0, 100% 5%, 100% 100%, 0 95%);
      box-shadow: 0 4px 12px rgba(0,0,0,0.15);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .card-consultoria:nth-child(odd) {
      background: var(--verde); /* azul petróleo */
    }

    .card-consultoria:nth-child(even) {
      background: var(--cinza); /* cinza */
    }

    .card-consultoria:hover {
      transform: translateY(-6px);
      box-shadow: 0 8px 20px rgba(0,0,0,0.2);
    }

    .icone-consultoria {
      font-size: 2rem;
      margin-bottom: 1rem;
      display: block;
    }

    .card-consultoria i {
      font-size: 2.2rem;
      margin-bottom: 1rem;
      display: block;
      color: var(--branco); /* destaque em amarelo ouro */
    }

    .card-consultoria h3 {
      font-size: 1.1rem;
      margin-bottom: 0.8rem;
      text-transform: uppercase;
    }

    .card-consultoria p {
      font-size: 0.95rem;
      color: #f2f2f2;
    }

    /* RESPONSIVIDADE */
    @media (max-width: 1024px) {
      .cards-consultoria {
        grid-template-columns: repeat(2, 1fr);
      }
      .intro-consultoria h1 {
        font-size:28px;
      }
    }

    @media (max-width: 768px) {
      .cards-consultoria {
        grid-template-columns: 1fr;
      }

      .intro-consultoria h2 {
        font-size: 1.6rem;
      }

      .intro-consultoria h1 {
        font-size:24px;
      }

      .intro-consultoria p {
        font-size:15.5px;
      }
    }
/*Fim Página Consultoria Empresarial*/

/*Começo Página Assessoria Continua*/
.assessoria-continua {
      background:#F5F7F8;
      padding:25px 20px;
      text-align: center;
    }
    .intro-assessoria {
      width:100%;
      max-width:1240px;
      margin:0 auto;
    }

    .intro-assessoria h1 {
      font-family:'Poppins', sans-serif;
      font-weight:700;
      font-size:32px;
      color:var(--verde);
      margin:0 0 16px 0;
    }

    .intro-assessoria p {
      font-family:'Poppins', sans-serif;
      font-size:15.5px;
      line-height:1.7;
      color:#2b2b2b; /* var(--preto) suave */
      text-align:justify;
    }
    /* Container circular */
    .circle-assessoria{
      margin-top: 0px;
      margin-bottom: 50px;
    }
    .circle-container {
      position: relative;
      width: 500px;
      height: 500px;
      margin: 0 auto;
    }

    /* Anel */
    .circle-ring {
      position: absolute;
      width: 100%;
      height: 100%;
      border: 4px solid var(--verde);
      border-radius: 50%;
      top: 0;
      left: 0;
      z-index: 1;
    }

    /* Círculo central */
    .circle-center {
      position: absolute;
      width: 160px;
      height: 160px;
      border-radius: 50%;
      background: var(--verde);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 18px;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
    }

    /* Itens ao redor */
    .circle-item {
      position: absolute;
      width: 220px;
      padding: 15px;
      border-radius: 30px;
      display: flex;
      align-items: center;
      gap: 10px;
      color: #fff;
      font-size: 14px;
      box-shadow: 0 4px 10px rgba(0,0,0,0.15);
      z-index: 3;
    }

    .circle-item i {
      background: rgba(255,255,255,0.1);
      padding: 10px;
      border-radius: 50%;
      font-size: 16px;
      color: #F2C94C /*var(--branco)*/
    }

    /* Cores alternadas */
    .circle-item:nth-child(odd) { background: #004d00; }
    .circle-item:nth-child(even) { background: var(--cinza); }

    .circle-item:hover{
      transform: scale(1.05);
    }

    /* Posições */
    .top { top: -20px; left: 25%; }
    .top-right { top: 100px; right: -80px; }
    .bottom-right { bottom: 100px; right: -80px; }
    .bottom { bottom: -20px; left: 25%; } /*.bottom { bottom: -20px; left: 50%; transform: translateX(-50%); }*/
    .bottom-left { bottom: 100px; left: -80px; }
    .top-left { top: 100px; left: -80px; }

    /* ---------- RESPONSIVO ---------- */
    @media (max-width: 768px) {
      .circle-container {
        width: 100%;
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
        padding: 20px 0;
      }

      /* Esconde círculo grande */
      .circle-ring { display: none; }

      /* Central no topo */
      .circle-center {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        margin: 0 auto 30px;
      }

      /* Linha vertical */
      .vertical-line {
         position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 4px;
        background: #004d00;
        z-index: 1; /* atrás dos boxes e pontos */
      }

      /* Boxes em coluna */
      .circle-item {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 90%;
        max-width: 400px;
        margin: 40px 0;
        text-align: left;
        z-index: 2;
      }
      /* Pontos conectando a linha */
      .circle-item::before {
        content: "";
        position: absolute;
        left: -25px;
        top: 50%;
        transform: translateY(-50%);
        width: 14px;
        height: 14px;
        background: #004d00;
        border-radius: 50%;
        z-index: 3;
      }
    }