/* Header */ 
@media (min-width: 992px) {
  #mobileMenu {
    display: none !important;
  }
}

@media (max-width: 992px) {
  #mobileMenu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 9999;
    border-radius: 0 0 18px 18px;
    -webkit-box-shadow: 0 4px 12px rgba(0,0,0,0.05);
            box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  }

  .custom-navbar {
    position: relative; /* para o menu ficar relativo ao header */
    z-index: 1000;
  }
}
@media (max-width: 992px) {
  .contact-container {
    padding: 26px !important;
  }
}
@media (max-width: 992px) {
  .custom-navbar .container {
    padding: 16px 20px !important;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }

  .custom-navbar .btn-whatsapp {
    font-size: 14px;
    padding: 8px 12px;
    border-radius: 10px;
    height: auto;
    white-space: nowrap;
  }

  .navbar-toggler {
    border: none;
    font-size: 24px;
    margin-left: auto;
  }

  .navbar-toggler-icon {
    background-image: none;
  }

  .navbar-toggler-icon::before {
    content: '≡';
    font-size: 24px;
    color: #3F4D5A;
  }
}
/* Ícone hamburguer customizado */
.custom-toggler-icon {
  background-image: none;
  font-size: 24px;
  color: #3F4D5A;
}

.custom-toggler-icon::before {
  content: '\2630'; /* unicode para "≡" */
}

/* Menu mobile estilizado */
.mobile-menu {
      z-index: 9999; 
  background: #fff;
  border-radius: 18px;
  margin: 12px;
  -webkit-box-shadow: 0 4px 12px rgba(0,0,0,0.05);
          box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.mobile-menu .menu-item a {
  font-size: 18px;
  font-weight: 500;
  color: #4B5C6C;
  text-decoration: none;
}

.mobile-menu .menu-item.active a {
  font-weight: 700;
  color: #3F4D5A;
}

.mobile-menu .menu-item {
  border-color: #F1F2F4;
}
body {
  font-family: 'Inter', sans-serif;
}

/* Navbar com sombra leve e fundo branco */
.custom-navbar {
  background-color: #FCFCFC;
  -webkit-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.05);
          box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.05);
  height: 102px;
  position: relative;
}

/* Logo */
.logo-text {
  font-size: 24px;
  font-weight: 700;
  color: #3F4D5A;
}

/* Itens do menu */
.menu-item {
  position: relative;
  font-size: 16px;
  font-weight: 400;
  color: #4B5C6C !important;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.menu-item::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px; 
  width: 0%;
  height: 2px;
  background-color: #4B5C6C;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.menu-item:hover::after {
  width: 100%;
}

.menu-item:hover {
  color: #3F4D5A !important;
}

.menu-item.active {
  font-weight: 600;
  color: #3F4D5A !important;
}

/* Botão WhatsApp */
.btn-whatsapp {
  background-color: #356797;
  border: 1px solid #356797;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 12px 16px;
  height: 52px;
  border-radius: 14px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.btn-whatsapp:hover {
  background-color: #2c5480;
  border-color: #2c5480;
  color: #fff;
}

/* Section 1 */
@media (max-width: 992px) {
  .hero-section {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-top: 60px;
    min-height: 100vh;
    background-color: transparent;
    position: relative;
  }

  .hero-mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
  }

  .hero-image-mask {
    width: 100%;
    height: 100%;
  }

  .hero-image-mask img.hero-img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .hero-content {
    position: relative;
    z-index: 1;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 60px;
    color: white;
  }

  .hero-title,
  .hero-description,
  .hero-subtitle {
    color: #fff;
  }

  .hero-btn {
    background-color: white;
    color: #356797;
    font-weight: 600;
    padding: 12px 20px;
    border-radius: 12px;
    border: none;
    font-size: 16px;
  }

  .sistema-section {
    margin-top: -40px; /* ou ajuste fino para evitar espaçamento branco */
    padding: 0;
  }

  .sistema-wrapper {
    padding: 0;
    margin: 0 auto;
    text-align: center;
  }

  .sistema-imagem {
    width: 100%;
    height: auto;
    display: block;
  }
}
@media (max-width: 992px) {
  .hero-section {
    height: auto;
    padding: 40px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .hero-mask {
    display: none; /* remove a imagem no mobile */
  }

  .hero-content {
    text-align: left;
    z-index: 2;
  }

  .hero-subtitle {
    font-size: 14px;
    text-align: left;
    opacity: 0.8;
    margin-bottom: 12px;
  }

  .hero-title {
    font-size: 22px;
    line-height: 30px;
    max-width: 100%;
    margin-bottom: 12px;
  }

  .hero-description {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 20px;
  }

  .hero-btn {
    font-size: 16px;
    padding: 14px;
    width: 100%;
    text-align: center;
    display: block;
  }
}
.hero-section {
  background-color: #467BAD;
  color: white;
  height: 590px;
  position: relative;
  overflow: hidden;
}

.hero-content {
  z-index: 2;
  max-width: 1280px;
}

.hero-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 500;
  opacity: 0.5;
}

.hero-title {
  font-family: 'Inter', sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 48px;
  max-width: 420px;
}

.hero-description {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 400;
}

.hero-btn {
  background-color: #fff;
  color: #1D3043;
  font-size: 20px;
  font-weight: 500;
  padding: 16px 20px;
  border: 1px solid #A3A3A3;
  border-radius: 6px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;

  width: -webkit-fit-content;

  width: -moz-fit-content;

  width: fit-content;          /* ✅ largura automática baseada no conteúdo */
  max-width: 100%;
  display: inline-block;       /* ✅ não deixa expandir */
  text-align: center;
}

.hero-btn:hover {
  background-color: #f1f1f1;
  color: #0f2235;
}

/* Máscara curva com sombra */
.hero-mask {
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  height: 100%;
  z-index: 1;
  -webkit-clip-path: ellipse(80% 100% at 100% 50%);
          clip-path: ellipse(80% 100% at 100% 50%);
  -webkit-box-shadow: inset 12px 0px 28px rgba(0, 0, 0, 0.25),
              -1px 0px 1px rgba(255, 255, 255, 0.5);
          box-shadow: inset 12px 0px 28px rgba(0, 0, 0, 0.25),
              -1px 0px 1px rgba(255, 255, 255, 0.5); /* sombra branca externa */
}

.hero-image-mask {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.hero-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1); /* espelha a imagem */
}

/* Section sistema */
.sistema-section {
  position: relative;
  z-index: 1;
  margin-top: -100px;
  padding-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;  
  margin-bottom: 80px;
}

.sistema-wrapper {
  background-color: transparent;
  max-width: 1200px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.sistema-imagem {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
  position: relative;
  z-index: 2;
}

/* section 3 */ 
@media (max-width: 992px) {
  .sistema-textos {
    width: 100% !important;
    max-width: 100%;
    padding: 0 20px; /* ou ajuste lateral que quiser */
    margin: 0 auto;
  }

  .sec-sistema-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 0 40px;
  }
}
@media (max-width: 992px) {
  .img-sistema {
    display: none !important;
  }
}
.sec-sistema {
  position: relative;
  margin-top: -80px; /* sobreposição */
  padding: 80px 0;
  background-color: #fff;
  z-index: 2;
}

.sec-sistema-wrapper {
  max-width: 1340px;
}

.sistema-imagem-wrapper {
  position: relative;
  width: 511px;
  height: 414px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.sombra-retangular {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #8C9BA9;
  border-radius: 4px;
  top: 0;
  left: 0;
  z-index: 1;
}

.img-sistema {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  -webkit-box-shadow: -2px -2px 6px rgba(0, 0, 0, 0.1);
          box-shadow: -2px -2px 6px rgba(0, 0, 0, 0.1);
  top: 7px;
  left: 8px;
  z-index: 2;
  -webkit-transform: rotate(-0.8deg);
          transform: rotate(-0.8deg);
}

.sistema-textos {
  width: 700.2px;
}

.sistema-legenda {
  font-size: 16px;
  line-height: 33px;
  color: #404040;
}

.sistema-titulo {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 24px;
  line-height: 45px;
  margin-top: 20px;
  color: #000;
}

.sistema-descricao {
  font-size: 20px;
  line-height: 33px;
  color: #121212;
  margin-top: 20px;
}

/* section 4 */
@media (max-width: 992px) {
  .card-func {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; /* manter lado a lado */
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100% !important;
    max-width: 100%;
    height: auto;
    padding: 24px 16px;
    gap: 16px;
  }

  .card-func img {
    width: 64px;
    height: 64px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

  .card-text {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }

  .card-description {
    font-size: 15px;
    line-height: 1.5;
    margin-top: 12px;
    margin-bottom: 0;
  }

  .func-label {
    font-size: 16px;
    padding: 4px 10px;
    line-height: 1.2;
    -webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.15);
            box-shadow: 0 2px 3px rgba(0,0,0,0.15);
  }

  .titulo-section {
    text-align: center;
    font-size: 22px;
  }

  .sec-funcionalidades .row > div {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.sec-funcionalidades {
  background-color: white;
}

.titulo-section {
  font-family: 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #121212;
}
.func-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.card-description {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  line-height: 33px;
  font-weight: 400;
  color: #121212;
  margin-top: 20px;
  margin-bottom: 0;
}
.func-label {
  background-color: #709AC2;
  -webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); /* sombra visível */
  color: #ffffff;
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 29px;
  padding: 2px 7px;
  border-radius: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.card-func {
  /* Card */

-webkit-box-sizing: border-box;

        box-sizing: border-box;

/* Auto layout */
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
    -ms-flex-direction: row;
        flex-direction: row;
-webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
padding: 50px;
gap: 40px;

margin: 0 auto;
width: 100%;
height: 297px;

background: #F7F7F7;
border: 1px solid #E2E2E2;
-webkit-box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04);
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.04);
border-radius: 6px;

/* Inside auto layout */
-webkit-box-flex: 0;
    -ms-flex: none;
        flex: none;
-webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
        order: 0;
-ms-flex-positive: 0;
    flex-grow: 0;

}

/* section 5 */
@media (max-width: 992px) {
  .box-imagem-mobile {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
  }

  .img-back-mobile {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 10px;
  }

  .img-front-mobile {
    position: absolute;
    top: -30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 90%;
    max-width: 320px;
    height: auto;
    border-radius: 10px;
    z-index: 2;
  }
}
.sec-destaque {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 64px 60px 64px 0;
  gap: 24px;
  width: 100%;
  height: 795.48px;
  background: #F0F2F4;
  margin: 0;
}

.sec-destaque .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
  max-width: 1280px;
  margin: 0 auto;
}

/* Coluna esquerda */
.box-texto {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

/* Card principal azul */
.card-principal {
  background: #527CA3;
  border-radius: 4px;
  padding: 25px;
  width: 416px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7.2px;
}
.card-principal h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #FFFFFF;
  margin: 0;
}

.card-principal p {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 26px;
  color: #FAFAFA;
  margin: 0;
}
.card-principal,
.card-secundario {
  -webkit-transition: background-color 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background-color 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  will-change: transform, opacity;
    background-color: #527CA3;
  color: white;
  -webkit-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
          box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
  width: 100%;
}

/* Quando o card principal é "apagado" */
.card-secundario-hover {
  background-color: #4C5D6D !important;
  opacity: 0.4 !important;
}

/* Quando o secundário vira destaque */
.card-principal-hover {
  background-color: #527CA3 !important;
  opacity: 1 !important;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
          box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* Tipografia do destaque */
.card-principal-hover h3 {
  font-size: 20px !important;
  color: #FFFFFF !important;
}

.card-principal-hover p {
  font-size: 13px !important;
  line-height: 22px !important;
  color: #FAFAFA !important;
}
/* Cards cinza */
.card-secundario {
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  -webkit-transition: all 0.5s ease;
  -webkit-transition: all 0.9s ease;
  transition: all 0.9s ease;
  background: #4C5D6D;
  opacity: 0.4;
  border-radius: 3px;
  padding: 18.75px;
  width: 312px;

  display: -webkit-box;

  display: -ms-flexbox;

  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5.4px;
}

.card-secundario h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 19.5px;
  font-weight: 700;
  line-height: 29px;
  color: #FFFFFF;
  margin: 0;
}

.card-secundario p {
  font-family: 'Inter', sans-serif;
  font-size: 11.25px;
  font-weight: 400;
  line-height: 20px;
  color: #FAFAFA;
  margin: 0;
}

/* Imagens lado a lado */
.box-imagem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

.box-imagem {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
}

/* Imagem do fundo (esquerda) */
.img-back {
  position: relative;
  left: 200px;
  z-index: 1;
  border-radius: 10px;
  height: 477px;
}

/* Imagem da frente (direita) sobreposta */
.img-front {
  position: absolute;
  top: -100px;
  left: 485px; /* ajuste horizontal */
  z-index: 2;
  border-radius: 10px;
}
/* Simula o card-principal ficando como secundário */

.card-secundario-hover h3 {
  font-size: 19.5px !important;
  color: #FFFFFF !important;
}
.card-secundario-hover p {
  font-size: 11.25px !important;
  line-height: 20px !important;
  color: #FAFAFA !important;
}


/* section 6 */
.sec-planos {
  background-color: #ffffff;
  padding: 80px 0;
}

.sec-planos .container {
  max-width: 1380px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 992px) {
  .planos-intro {
    display: none !important;
  }
}
/* Bloco inicial com imagem + texto */
.planos-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 60px;
  margin-bottom: 80px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.planos-img img {
  width: 550px;
  height: auto;
  border-radius: 8px;
  -webkit-box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);
          box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);
}

.planos-texto {
  max-width: 600px;
}

.planos-texto h4 {
  font-size: 16px;
  font-weight: 400;
  color: #555;
  margin-bottom: 8px;
}

.planos-texto h2 {
  font-size: 32px;
  font-weight: 700;
  color: #1D3043;
  margin-bottom: 16px;
}

.descricao-plano {
  font-size: 12px;
  font-style: italic;
  line-height: 28px;
  color: #333;
  margin-bottom: 10px;
}

.ver-planos-link {
  font-size: 14px;
  font-weight: 500;
  color: #1D3043;
  text-decoration: none;
}

.ver-planos-link:hover {
  text-decoration: underline;
}

/* Lista de planos */
.planos-lista .titulo-section {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
}

.planos-descricao {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 60px auto;
  font-size: 1rem;
  color: #555;
  line-height: 1.6;
}
/* Cards dos planos */
.cards-planos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 32px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.card-plano {
  max-width: 585px;
  width: 100%;
  background-color: #fff;
  border: 2px solid #5191CE;
  border-radius: 10px;
  padding: 48px 30px 32px;
  text-align: center;
  position: relative;
  -webkit-box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.03);
          box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.03);
}

.card-plano:hover {
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.08);
          box-shadow: 0px 6px 16px rgba(0, 0, 0, 0.08);
}

.card-plano h3 {
  font-size: 22px;
  font-weight: 700;
  color: #5191CE;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #fff;
  padding: 0 20px;
}

.card-plano .preco {
  font-size: 18px;
  color: #111;
  margin-bottom: 24px;
}

.card-plano .preco span {
  font-size: 42px;
  font-weight: 700;
  color: #111;
}

.card-plano small {
  font-size: 14px;
  color: #999;
  font-weight: 500;
}


.card-plano strong {
  font-size: 16px;
  margin-bottom: 12px;
  display: block;
  font-weight: 600;
  color: #111;
}

.card-plano ul {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
  font-size: 15px;
  color: #444;
  line-height: 28px;
}

.card-plano .detalhe {
  font-size: 14px;
  color: #555;
  line-height: 22px;
  margin-bottom: 20px;
}

.card-plano.destaque {
  border: 2px solid #356797;
}
.card-plano.destaque h3 {
  color: #1D3043;
}

.btn-plano {
  display: inline-block;
  background-color: #356797;
  color: #fff;
  padding: 12px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.btn-plano:hover {
  background-color: #2c5480;
}

/* Destaque para o plano central */
.card-plano.destaque {
  border: 2px solid #356797;
}
.card-plano.destaque h3 {
  color: #356797;
}

/* section 7 */
@media (max-width: 992px) {
  .container-faq {
    padding: 0 16px;
  }
.accordion-header {
    gap: 8px !important; 
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .accordion {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }

  .accordion-item {
    width: 100% !important;
    max-width: 100%;
    padding: 24px 16px !important; /* remove padding grande da web */
    gap: 12px;
  }

  .accordion-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 8px; /* reduzido para evitar quebra */
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }

  .accordion-label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px; /* reduzido para mobile */
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }

  .accordion-number {
    font-size: 20px;
    font-weight: 600;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

  .accordion-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 100% !important;
    letter-spacing: 0 !important;
  }

  .accordion-content {
    font-size: 14px;
    line-height: 20px;
  }

  .accordion-icon {
    width: 32px;
    height: 32px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }

  .accordion-icon svg {
    width: 100%;
    height: 100%;
  }

  .accordion-line {
    width: 100% !important;
  }
}
.faq-section {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 100px 0 100px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Título da seção */
.faq-section h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: 32px;
  font-weight: 600;
  color: #1A1A1A;
  margin-bottom: 36px; /* aumento do espaçamento */
}

/* Container principal */
.accordion {
    width: 100%;
    max-width: 1200px;

  border-radius: 16px;
  overflow: hidden;
  font-family: 'Montserrat', sans-serif;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.accordion-item {
  background: #F7F7F7;
  padding: 41px 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  cursor: pointer;
  margin-bottom: 32px; 
  border-radius: 16px;
}

.accordion-item.active {
  background: #6894BE;
  color: #fff;
}

.accordion-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 352px;
}

.accordion-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
}

.accordion-number {
  font-family: 'Inter', sans-serif;
  font-size: 40px;
  font-weight: 500;
  line-height: 48px;
  color: inherit;
}

.accordion-title {
  font-size: 24px;
  font-weight: 500;
  color: inherit;
}

.accordion-line {
  width: 1040px;
  height: 0px;
  border: 1px solid #8FB0CF;
}

.accordion-content {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 19px;
  color: inherit;
  display: none;
}

.accordion-item.active .accordion-content {
  display: block;
}

.accordion-icon {
  width: 40px;
  height: 40px;
  position: relative;
}

.accordion-icon svg {
  position: absolute;
  top: 0;
  left: 0;
}
.accordion-item:last-child {
  margin-bottom: 0;
}
.accordion-item .arrow {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.accordion-item:not(.active) .arrow {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); /* seta para baixo */
}

.accordion-item.active .arrow {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg); /* seta para cima */
}

/* section 8 */
/* Seção de Contato */
.contact-section {
  padding: 60px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.contact-container {
  background: #F7F7F7;
  border-radius: 16px;
  max-width: 1200px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  padding: 60px;
  -webkit-box-shadow: 0px 4px 20px rgba(0,0,0,0.04);
          box-shadow: 0px 4px 20px rgba(0,0,0,0.04);
}

.contact-form {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.contact-form h3 {
  font-size: 24px;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  margin-bottom: 24px;
  color: #1A1A1A;
}

.contact-form label {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  color: #333;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid #e2e2e2;
  font-size: 16px;
  font-family: 'Inter', sans-serif;
  margin-bottom: 20px;
  background-color: #fff;
}

.contact-form textarea {
  resize: vertical;
  min-height: 100px;
}

.contact-form button {
  background: #6894BE;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  padding: 14px 24px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: block;
   width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.contact-form button:hover {
  background: #577ca0;
}

.contact-form .icon {
  font-size: 16px;
}

.contact-image {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.contact-image img {
  max-width: 100%;
  height: auto;
}

/* footer */
/* Footer Container */
.social-wrapper {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.social-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1.5px solid #CECECE;
  border-radius: 8px;
  padding: 9px 8px;
  gap: 10px;
  cursor: pointer;
  -webkit-transition: border-color 0.2s ease, background-color 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.social-card:hover {
  border-color: #527CA3;
  background-color: rgba(82, 124, 163, 0.05);
}

.social-icon {
  width: 44px;
  height: 44px;
}

.social-title {
  color: #F6F6F9;
  font-weight: 500;
}

.social-subtitle {
  color: #E1E2EA;
}
@media (max-width: 992px) {
  .sistema-imagem-wrapper {
    display: none !important;
  }
  .contact-image{
    display: none !important;
  }
}
.footer {
  background: #191A23;
  border-radius: 24px 24px 0 0;
  padding: 55px 60px 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
  max-width: 1280px;
  margin: 0 auto;
  color: #ffffff;
}

/* Top Section */
.footer-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
}

.footer-logo-and-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 27px;
  max-width: 370px;
  font-size: 18px;
  line-height: 22px;
  font-family: 'Inter', sans-serif;
}

.footer-stats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}

.stat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}

.stat .number {
  font-size: 32px;
  font-weight: 600;
}

.stat .label {
  font-size: 16px;
  color: #f2f2f2;
  text-align: center;
}

/* Social Buttons */
.footer-social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 26px;
}

.social-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 9px 8px;
  border: 1.5px solid #CECECE;
  border-radius: 8px;
  background: transparent;
  color: #F6F6F9;
  font-family: 'Inter', sans-serif;
  width: 218px;
  height: 62px;
}

.social-button .icon {
  width: 44px;
  height: 44px;
  background: #ffffff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.social-button .text-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}

.social-button .text-block .title {
  font-weight: 500;
  font-size: 16px;
  line-height: 19px;
}

.social-button .text-block .desc {
  font-weight: 400;
  font-size: 16px;
  color: #E1E2EA;
}

/* Divider */
.footer-divider {
  border-top: 1px solid #ffffff;
  width: 100%;
}

/* Bottom Text */
.footer-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  font-size: 18px;
  line-height: 28px;
  font-family: 'Inter', sans-serif;
}

.footer-bottom a {
  text-decoration: underline;
  color: #ffffff;
}

/* checkout */
/* bolinhas de progresso */
.progress-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
    background-color: #B6C2CE;

  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.progress-dot + .progress-dot {
  margin-left: 6px;
}
.bg-primary {
  background-color: #527CA3 !important;
}
.bg-secondary {
  background-color: #B6C2CE;
}



/* Fundo do lado direito */
.plano-wrapper {
  background-color: #F9FAFA;
}

 .btn-round {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    font-size: 1.2rem;
    padding: 0;
    text-align: center;
    line-height: 48px;
  }

  .btn-giga {
    background-color: #527CA3;
    color: white;
    border: none;
  }

  .btn-giga:hover {
    background-color: #3e678d;
  }

  .custom-switch {
    background-color: #e0e0e0;
    border: none;
  }

  .custom-switch:checked {
    background-color: #527CA3 !important;
    border-color: #527CA3 !important;
  }

  .list-group-item {
    border-radius: 0.5rem;
    border: 1px solid #ddd;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }

  .list-group-item:hover {
    background-color: #f9f9f9;
  }

  .list-group .form-check-input:checked {
    background-color: #527CA3;
    border-color: #527CA3;
  }

  .gap-3 > * + * {
    margin-left: 1rem !important;
  }

  .form-switch .form-check-input {
  width: 51px;
  height: 31px;
  border-radius: 15.5px;
  padding: 2px;
  background-color: #dee2e6;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.form-switch .form-check-input:checked {
  background-color: #527CA3;
  border-color: #527CA3;
  border: 2px;
  margin-top: 0px;
}

.form-switch .form-check-input:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.form-control {
  border-radius: 0.5rem;
}

.form-check-input:checked {
  background-color: #527CA3;
  border-color: #527CA3;
}

@media (min-width: 992px) {
  .custompadding {
    padding-left: 8rem !important;
  }
}

@media (min-width: 992px) {
  .paddingrightcustom {
      padding-right: 6rem !important;
  }
}


@media (max-width: 992px) {
  .hero-section {
    position: relative;
    padding: 60px 20px;
    min-height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    overflow: hidden;
  }

  .hero-mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    -webkit-clip-path: none;
            clip-path: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    z-index: 0;
  }

  .hero-image-mask {
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .hero-img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }

  /* 🔵 Overlay azul por cima da imagem */
  .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(rgba(70, 123, 173, 0.9)), to(rgba(70, 123, 173, 0.8)));
    background: linear-gradient(to right, rgba(70, 123, 173, 0.9), rgba(70, 123, 173, 0.8));
    z-index: 1;
  }

  .hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: white;
  }

  .hero-subtitle,
  .hero-title,
  .hero-description {
    color: white;
  }
}

@media (max-width: 992px) {
  .sec-destaque {
    background: #F0F2F4;
    padding: 40px 16px 60px 16px;
    width: 100%;
    height: 100%;
  }

  .sec-destaque .container {
    width: 100% !important;
    max-width: 100%;
    margin: 0 auto;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 24px;
  }

  .sec-destaque .box-texto {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 20px;
  }

  .sec-destaque .card-principal {
    width: 100% !important;
    max-width: 100% !important;
  }

  .sec-destaque .card-secundario {
    width: 80% !important;
    max-width: 80% !important;
    margin-left: 0;
    -ms-flex-item-align: start;
        align-self: flex-start;
  }

  .box-imagem-mobile {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 100%;
    position: relative;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 32px;
  }

  .img-back-mobile {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
  }

  .img-front-mobile {
    position: absolute;
    top: -20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 90%;
    max-width: 320px;
    height: auto;
    border-radius: 10px;
    z-index: 2;
    -webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }

  .box-imagem {
    display: none !important;
  }
}

@media (min-width: 1476px) {
  .img-front {
    left: 485px;
    -webkit-transform: none;
            transform: none;
  }
}
@media (max-width: 1280px) {
  .img-front {
    left: 275px;
    -webkit-transform: none;
            transform: none;
  }
}
@media (max-width: 1280px) {
  .img-back {
    left: 70px;
    -webkit-transform: none;
            transform: none;
  }
}