/* Topo azul */
    .topbar {
      background-color: #0d3a67;
      color: #fff;
      font-size: 0.9rem;
      padding: 0.4rem 0;
    }

    /* Barra branca com sombra */
    .mainbar {
      background: #fff;
      box-shadow: 0 4px 6px rgba(0,0,0,0.1);
      padding: 0.7rem 0;
    }

    .logo {
      height: 25px;
    }

    .social-icons a {
      color: #0d3a67;
      margin-left: 15px;
      font-size: 1.2rem;
      transition: color 0.3s;
    }

    .social-icons a:hover {
      color: #f0a500;
    }

    /* Mostrar menu hamburguer só no mobile */
    .menu-mobile {
      display: none;
    }

    @media (max-width: 768px) {
      .menu-desktop {
        display: none;
      }
      .menu-mobile {
        display: block;
      }
    }

.social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  margin-left: 10px;
  border-radius: 50%;
  background-color: #0d3a67;      /* fundo padrão azul */
  color: #fff;                   /* ícone branco */
  font-size: 1.2rem;
  text-decoration: none;
  transition: all 0.3s ease;
 
}

.social-icons a:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 6px 12px rgba(0,0,0,0.25);
}

/* Cores personalizadas por rede (opcional) */
.social-icons a.facebook:hover   { background: #1877f2; }
.social-icons a.instagram:hover  { background: #e1306c; }
.social-icons a.twitter:hover    { background: #1da1f2; }
.social-icons a.linkedin:hover   { background: #0a66c2; }


/*Top imagem*/

/* Cor do topbar para reutilizar */
    :root {
      --topbar-color: #0d3a67;
    }

    .section-area {
      padding: 3rem 0;
    }

    /* Imagem da esquerda */
    .image-box {
      border: 5px solid var(--topbar-color);
      border-radius: 15px;
      box-shadow: 0 6px 14px rgba(0,0,0,0.15);
      overflow: hidden;
    }

    .image-box img {
      width: 100%;
      height: auto;
      display: block;
    }

    /* Cards da direita */
    .custom-card {
      border: none;
      border-radius: 15px;
      box-shadow: 0 8px 16px rgba(0,0,0,0.1);
      padding: 1.5rem;
      margin-bottom: 1.5rem;
      transition: transform 0.3s ease;
      background: #fff;
    }

    .custom-card:hover {
      transform: translateY(-5px);
    }

    .custom-card .icon {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(13,58,103,0.1); /* transparente com tom azul */
      color: var(--topbar-color);
      font-size: 1.5rem;
      margin-bottom: 1rem;
    }

    .custom-card h5 {
      font-weight: 600;
      margin-bottom: 0.5rem;
    }
    .semi-text{
        display: inline-block;
        color: rgb(13,58,103);
        text-decoration: none;
    }

    .semi-text1{
        display: inline-block;
        color: #fff;
        text-decoration: none;
    }

    .custom-card .chevron {
      color: var(--topbar-color);
      font-size: 1.2rem;
      margin-left: auto;
    }

    /* Card com fundo topbar */
    .custom-card.bg-topbar {
      background: var(--topbar-color);
      color: #fff;
    }

    .custom-card.bg-topbar .icon {
      background: rgba(255,255,255,0.15);
      color: #fff;
    }

    .custom-card.bg-topbar .chevron {
      color: #fff;
    }

    /*CTA*/
.cta-wrap {
  background:#0d3a67;
  color:#fff;
  border-radius:12px;
  padding:36px 20px;
  box-shadow:0 10px 40px rgba(3,8,36,0.55);
  text-align:center;
}

.cta-title {
  font-weight:600;
  line-height:1.3;
  margin:0 0 20px;
  color:#fff;
  font-size:clamp(18px,2.5vw,28px);
}
.cta-title .rocket {
  
  margin-left:6px;
  font-size:30px;
}

/* --- Botão com ARCO GIRATÓRIO --- */
.cta-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 56px;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  background: rgba(11,20,66,0.35);
  border: 1px solid #fff;
  border-radius: 999px;
 
  box-shadow: 0 10px 25px rgba(11,20,66,0.35);
  overflow: hidden;
  z-index: 1;
}

/*contacto*/

/* Seção geral */
.contact-section {
  padding: 80px 0;
}

/* Cards da coluna esquerda */
.contact-card {
  background: #fff;
  border: none;
  border-radius: 16px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  margin-bottom: 24px;
  padding: 32px 20px;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  border-left: 3px solid #0b1542;
}
.contact-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 35px rgba(0,0,0,0.12);
}
.contact-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 16px;
  background: #0b1542;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  box-shadow: 0 6px 18px rgba(13,110,253,0.3);
}

.card-fundo{
  background-color:  #0b1542;
  color: #fff;
  border: 3px solid #fff !important;
  box-shadow: none;
}

.card-fundo .contact-icon {
  background-color: #fff;
  color: #0b1542;
}
.card-fundo .contact-card p{color: #fff;}

/* Card do mapa */
.map-card {
  background: #fff;
 
  border-radius: 16px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  overflow: hidden;
  height: 410px;
  padding: 10px;
  min-height: 30px;
}
.map-card iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.footer {
  background: linear-gradient(90deg, #0d3a67, #0d3a67);
  color: #fff;
  font-weight: 600;
 
}
.footer-link {
  color: #dbe2ef;
  text-decoration: none;
  transition: color .2s ease;
}
.footer-link:hover {
  color: #0dcaf0;
}
.social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background: rgba(255,255,255,0.1);
  color: #fff;
  border-radius: 50%;
  transition: background .25s ease, transform .25s ease;
  text-decoration: none;
}
.social-link:hover {
  background: linear-gradient(135deg,#0d6efd,#0dcaf0);
  transform: translateY(-3px);
}

.text-warning1{
   color: #0b1542;
}

/*Forms*/

.contact-form {
 

  max-width: 900px;
  margin-top: 45px;
 
}

.contact-form h3 {
  font-weight: 700;
  margin-bottom: 30px;
  color: #0b1542;
}

.form-control {
  border-radius: 10px;
  border: 1px solid #ced4da;
  padding: 12px 16px;
  transition: border-color .25s ease, box-shadow .25s ease;
}

.form-control:focus {
  border-color: #0d6efd;
  box-shadow: 0 0 0 0.2rem rgba(13,110,253,.25);
}

.btn-submit {
  background: #0b1542;
  border: none;
  padding: 12px 40px;
  border-radius: 50px;
  color: #fff;
  font-weight: 600;
  transition: transform .2s ease, box-shadow .2s ease;
}

.btn-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(13,110,253,0.3);
}

.scrolled {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px 0;
  background: #fff;
  z-index: 999;
  transition: all .3s ease;
}



    @media screen and (max-width:768px) {

         .image-box {
            width: 90%;
            margin: auto;
            
         }
         .custom-card{
            width: 90%;
            margin: auto;
            margin-bottom: 35px;
         }
         .ns{
            margin-top: 45px !important;
         }
         .contact-section .card{
            width: 90%;
            margin: auto;
            margin-bottom: 15px;
         }
         .contact-form { width: 90%;margin: auto;}

         .footer{
             font-size: 15px;
         }


        
    }


    /*shapp*/

 .container-principal {
  padding: 50px 15px;
  margin-top: 45px;
}

/* Imagem lateral */
.imagem-lateral-nova img {
  width: 100%;
  border-left: 8px solid #0d3a67;
  border-radius: 8px;
}

/* Container da coluna direita */
.col-direita {
  position: relative;
  min-height: 450px;
  display: flex;
  justify-content: flex-start; /* cards vão começar do lado do círculo */
  align-items: center;
}

.circulo-grande {
  width: 400px;
  height: 400px;
  background-color: #0d3a67;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: 2px solid #f0a500;
  z-index: 1;

  /* Pulsação suave apenas da borda */
  animation: pulse-externo1 2.5s infinite ease-out;
}

/* Pulsação suave da borda */
@keyframes pulse-externo1 {
  0% {
    box-shadow: 0 0 0 0 rgba(240, 165, 0, 0.4);
  }
  50% {
    box-shadow: 0 0 0 25px rgba(240, 165, 0, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(240, 165, 0, 0.4);
  }
}

/* Círculo pulsante centralizado */
.circulo-pulse {
  width: 160px;
  height: 160px;
  background-color: #f0a500;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 25%;
  transform: translate(-50%, -50%);
  animation: pulse 2s infinite;
  z-index: 2;
  border: 3px solid #f0a500;

}

@keyframes pulse {
  0% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
  50% { transform: translate(-50%, -50%) scale(1.3); opacity: 0.5; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

/* Cards sobre o círculo */
.cards-lateral {
  position: relative; /* relativo ao col-direita */
  margin-left: 220px; /* desloca os cards para a direita do círculo */
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: calc(100% - 220px); /* ocupa o restante da coluna */
  z-index: 3;
}

/* Card individual */
.card-vert {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  width: 100%;
  box-shadow: 0 4px 6px rgba(0,0,0,0.15);
  transition: transform 0.3s;
}

.card-vert:hover {
  transform: translateY(-5px);
}

/* Ícone do card */
.icone-vert {
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #0d3a67;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-right: 20px;
}

/* Texto do card */
.texto-vert h5 {
  margin: 0;
  font-size: 18px;
  font-weight: bold;
}

.texto-vert p {
  margin: 0;
  font-size: 14px;
  color: #555;
}

/* Responsividade */
@media (max-width: 992px) {
  .col-direita {
    justify-content: center;
    flex-direction: column;
    min-height: auto;
    margin-top: -300px;
    
  }

  .circulo-grande {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 30px;
    
  }

  .circulo-pulse {
    width: 190px;
    height: 190px;
    top: 76%;
    left: 50%;
    transform: translateX(-50%);
  }

  .cards-lateral {
    margin-left: 0;
    width: 100%;
    align-items: center;
  }


}

/*Newlatter*/

.newsletter-section {
  padding: 50px 15px;
  text-align: center;
  max-width: 700px;
  margin: 30px auto;
}

.newsletter-section h2 {
  font-size: 28px;
  margin-bottom: 15px;
}

.newsletter-section p {
  font-size: 16px;
  margin-bottom: 30px;
}

.newsletter-form {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

.newsletter-input {
  width: 100%;
  border-radius: 37px;
  padding: 12px 20px 12px 45px; /* espaço para ícone */
  border: 2px solid #0d3a67;
  font-size: 16px;
}

.newsletter-input:focus {
  outline: none;
  box-shadow: 0 0 8px rgba(13,58,103,0.3);
}

/* Ícone dentro do input */
.input-icon {
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #0d3a67;
  font-size: 18px;
}

/* Botão dentro do input à direita */
.newsletter-btn {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  border: none;
  background-color: #0d3a67;
  color: #fff;
  border-top-right-radius: 37px;
  border-bottom-right-radius: 37px;
  padding: 0 20px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.newsletter-btn:hover {
  background-color: #0a2b4f;
}

/* Responsividade */
@media (max-width: 576px) {
  .newsletter-input {
    padding-right: 120px; /* espaço para o botão */
  }

  .newsletter-btn {
    padding: 0 15px;
  }
}

.footer {
  background-color: #0d3a67;
  color: #fff;
  padding: 60px 15px 20px;
}

.footer a {
  color: #fff;
  text-decoration: none;
}

.footer a:hover {
  color: #f0a500;
  text-decoration: none;
}

.footer .footer-title {
  font-weight: bold;
  margin-bottom: 20px;
  font-size: 18px;
  position: relative;
}

.footer .footer-title::after {
  content: '';
  width: 50px;
  height: 2px;
  background: #f0a500;
  position: absolute;
  bottom: -8px;
  left: 0;
}

.footer ul {
  list-style: none;
  padding: 0;
}

.footer ul li {
  margin-bottom: 10px;
}
.footer .social-icons {
  margin-top: 25px;
}

.footer .social-icons a {
  display: inline-block;
  margin-right: 1px;
  font-size: 18px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 50%;
  background-color: #fff;
  color: #0d3a67;
  transition: all 0.3s ease;
  margin-top: 10px;
}

.footer .social-icons a:hover {
  background-color: #f0a500;
  color: #0d3a67;
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.2);
  margin-top: 30px;
  padding-top: 15px;
  text-align: center;
  font-size: 14px;
  color: rgba(255,255,255,0.7);
}

/* Responsividade */
@media (max-width: 768px) {
  .footer .col-md-3, .footer .col-md-4 {
    margin-bottom: 30px;
  }
}


/* Marca KC com destaque */
.marca-destaque {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.marca-destaque .marca-iniciais {
  font-family: 'Raleway', sans-serif;
  font-size: 48px;
  font-weight: 700;
  color: #f0a500;
  line-height: 1;
}

.marca-destaque .marca-nome {
  font-family: 'Roboto', sans-serif;
  font-size: 18px;
  color: #fff;
  letter-spacing: 1px;
  margin-top: -5px;
}

/* Círculo pulsante */
.container-circulo {
  position: relative;
  width: 100px;  /* tamanho do círculo externo */
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.circulo-externo {
  position: relative;
  width: 100%;
  height: 100%;
  border: 2px solid #f0a500;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: pulse-externo 2s infinite;
}

.circulo-interno {
  width: 60px;  /* círculo interno maior */
  height: 60px;
  background-color: #f0a500;
  border-radius: 50%;
  animation: pulse-interno 1.5s infinite;
}
.bth{
  background-color: #f0a500;
}
.bth:hover{
  background-color: #ff7f00;
}

/* Animação do círculo interno */
@keyframes pulse-interno {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
  100% { transform: scale(1); opacity: 1; }
}

/* Animação do círculo externo */
@keyframes pulse-externo {
  0% { box-shadow: 0 0 0 0 rgba(240, 165, 0, 0.4); }
  50% { box-shadow: 0 0 0 12px rgba(240, 165, 0, 0); }
  100% { box-shadow: 0 0 0 0 rgba(240, 165, 0, 0.4); }
}