/* Imagem dos cards do carrossel de artigos do Blog */
.blog-card-img {
  width: 100%;
  max-width: 320px;
  height: 140px;
  object-fit: cover;
  border-radius: 10px;
  margin: 0.7em auto 0.5em auto;
  display: block;
  box-shadow: 0 2px 10px rgba(0,0,0,0.07);
}
/* Carrossel de artigos do Blog */
.blog-carousel-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  margin-bottom: 1.2em;
}
.blog-carousel-viewport {
  overflow: hidden;
  width: 100%;
  max-width: 1100px;
}
.blog-carousel-track {
  display: flex;
  transition: transform 0.5s cubic-bezier(.4,1.3,.5,1);
  gap: 1.5em;
}
.blog-carousel-btn {
  background: #fff;
  border: 1px solid #0077b6;
  color: #0077b6;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3em;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  box-shadow: 0 2px 8px rgba(0,123,255,0.07);
}
.blog-carousel-btn:hover {
  background: #0077b6;
  color: #fff;
}
.blog-ver-todos {
  text-align: center;
  margin-top: 0.5em;
}
.btn-ver-todos-artigos {
  background: #0077b6;
  color: #fff;
  border-radius: 8px;
  padding: 0.7em 1.5em;
  font-size: 1.08em;
  text-decoration: none;
  transition: background 0.2s;
  display: inline-block;
  margin: 0 auto;
}
.btn-ver-todos-artigos:hover {
  background: #00bcd4;
  color: #fff;
}
/* Bloco de fontes do artigo IA */
.ciencia-fontes-bloco {
  background: #f4f8fd;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0,123,255,0.07);
  padding: 1.2em 1.5em 1.2em 1.5em;
  margin: 2em auto 1.5em auto;
  max-width: 600px;
}
.ciencia-fontes-icone {
  color: #0077b6;
  margin-right: 0.5em;
}
.ciencia-fontes-lista {
  list-style: none;
  padding: 0;
  margin: 1em 0 0 0;
}
.ciencia-fontes-lista li {
  margin-bottom: 0.7em;
  font-size: 1.04em;
  display: flex;
  align-items: center;
}
.ciencia-fontes-lista a {
  color: #005fa3;
  text-decoration: underline;
  transition: color 0.2s;
  word-break: break-all;
}
.ciencia-fontes-lista a:hover {
  color: #00bcd4;
}
/* Imagem ilustrativa do artigo 5 erros de TI */
.ciencia-img-ilustrativa {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1.2em 0 1.2em 0;
}
.ciencia-img-ilustrativa img {
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 2px 18px rgba(0,0,0,0.10);
}
.ciencia-img-legenda {
  font-size: 0.98em;
  color: #4a5a7a;
  margin-top: 0.5em;
  text-align: center;
}
/* Justificar texto dos parágrafos do artigo */
.ciencia-main p,
.ciencia-main .dados-etapas-explicacao p,
.ciencia-main .casos-explicacao p,
.ciencia-main .motivos-explicacao p {
  text-align: justify;
  text-justify: inter-word;
}
.grafico-barra-item .grafico-label,
.grafico-barra-item .grafico-valor,
.grafico-barra-percentual {
  color: #fff !important;
}
.grafico-titulo {
  color: #fff !important;
}
/* Meta do artigo (data e autor) */
.ciencia-meta {
  font-size: 1em;
  color: #4a5a7a;
  margin: 0.5em 0 1.2em 0;
  text-align: center;
}
.ciencia-meta-data {
  font-weight: 500;
}
.ciencia-meta-autor {
  font-style: italic;
}
/* Cards dos motivos para investir em dados com a Linsp TI */
.motivos-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin: 1.2em 0 0.5em 0;
}
.motivo-card {
  background: #fff;
  color: #232b4b;
  border-radius: 14px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.09);
  display: flex;
  align-items: center;
  min-width: 220px;
  max-width: 340px;
  flex: 1 1 220px;
  padding: 1.1em 1.2em;
  margin-bottom: 0.5em;
  border-left: 6px solid #00bcd4;
  transition: box-shadow 0.2s, transform 0.2s;
}
.motivo-card:hover {
  box-shadow: 0 4px 24px rgba(0,123,255,0.13);
  transform: translateY(-2px) scale(1.02);
}
.motivo-icone {
  font-size: 2em;
  color: #00bcd4;
  margin-right: 1em;
  flex-shrink: 0;
}
.motivo-titulo {
  font-weight: 700;
  font-size: 1.08em;
  color: #004080;
  margin-bottom: 0.2em;
}
.motivo-desc {
  font-size: 0.98em;
  color: #333;
}
.ciencia-titulo-icone {
  font-size: 1.2em;
  color: #00bcd4;
  margin-right: 0.4em;
  vertical-align: middle;
}
.ciencia-frase-desc {
  color: #fff;
  font-size: 1.08em;
  margin-bottom: 1.1em;
  text-align: center;
}
@media (max-width: 800px) {
  .motivos-cards {
    flex-direction: column;
    gap: 1em;
    align-items: stretch;
  }
  .motivo-card {
    max-width: 100%;
    min-width: 0;
  }
}
/* Cards dos casos práticos */
.casos-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin: 1.2em 0 0.5em 0;
}
.caso-card {
  background: #fff;
  color: #232b4b;
  border-radius: 14px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.09);
  display: flex;
  align-items: center;
  min-width: 220px;
  max-width: 340px;
  flex: 1 1 220px;
  padding: 1.1em 1.2em;
  margin-bottom: 0.5em;
  border-left: 6px solid #00bcd4;
  transition: box-shadow 0.2s, transform 0.2s;
}
.caso-card:hover {
  box-shadow: 0 4px 24px rgba(0,123,255,0.13);
  transform: translateY(-2px) scale(1.02);
}
.caso-icone {
  font-size: 2em;
  color: #00bcd4;
  margin-right: 1em;
  flex-shrink: 0;
}
.caso-titulo {
  font-weight: 700;
  font-size: 1.08em;
  color: #004080;
  margin-bottom: 0.2em;
}
.caso-desc {
  font-size: 0.98em;
  color: #333;
}
@media (max-width: 800px) {
  .casos-cards {
    flex-direction: column;
    gap: 1em;
    align-items: stretch;
  }
  .caso-card {
    max-width: 100%;
    min-width: 0;
  }
}
/* Cards das etapas de aplicação de dados */
.dados-etapas-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin: 1.2em 0 0.5em 0;
}
.dados-etapa-card {
  background: #fff;
  color: #232b4b;
  border-radius: 14px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.09);
  display: flex;
  align-items: center;
  min-width: 220px;
  max-width: 340px;
  flex: 1 1 220px;
  padding: 1.1em 1.2em;
  margin-bottom: 0.5em;
  border-left: 6px solid #00bcd4;
  transition: box-shadow 0.2s, transform 0.2s;
}
.dados-etapa-card:hover {
  box-shadow: 0 4px 24px rgba(0,123,255,0.13);
  transform: translateY(-2px) scale(1.02);
}
.dados-etapa-icone {
  font-size: 2em;
  color: #00bcd4;
  margin-right: 1em;
  flex-shrink: 0;
}

/* Header login area */
.header-login {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.header-login .signup-btn {
  background: #0077b6;
  color: #fff;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 4px;
  border: 1px solid #00649a;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 6px;
}
.header-login .signup-btn:hover {
  background: #00bcd4;
  border-color: #00a0b3;
  color: #fff;
}
.header-login #login-form {
  display: flex;
  align-items: center;
  gap: 6px;
}
.header-login input[type="text"],
.header-login input[type="password"] {
  padding: 6px 8px;
}
.header-login #login-btn {
  padding: 6px 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.header-login #login-status {
  font-size: 0.9em;
}

/* Signup form styles */
.signup-section {
  padding-top: 1rem;
  max-width: 920px;
  margin: 0 auto;
}
.signup-section h1 {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  font-weight: 700;
}
#signup-form {
  background: #0077b6; /* azul da marca */
  border-radius: 12px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.08);
  padding: 1rem 1.2rem;
}
#signup-form fieldset {
  border-color: rgba(255,255,255,0.28);
}
#signup-form legend {
  color: #ffffff;
}
#signup-form .form-row label {
  color: #f1f5f9;
}
#signup-form small {
  color: #e0f2ff;
}
#signup-form fieldset {
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 10px;
  margin: 1rem 0;
  padding: 1rem;
}
#signup-form legend {
  padding: 0 .6rem;
  font-weight: 700;
  color: #ffffff;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px 16px;
}
.form-row {
  display: flex;
  flex-direction: column;
}
.form-row label {
  font-weight: 600;
  color: #334155;
  margin-bottom: 4px;
}
.form-row input,
.form-row select,
.form-row textarea {
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 1rem;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
  border-color: #00bcd4;
  box-shadow: 0 0 0 3px rgba(0,188,212,0.15);
}
/* keep helper text readable on blue background */
#signup-form small {
  color: #e0f2ff;
}
#signup-form .download-btn {
  margin-top: .6rem;
}

/* Status messages on signup page */
.success {
  background: #ecfdf5;
  border: 1px solid #10b981;
  color: #065f46;
  padding: .6rem .8rem;
  border-radius: 8px;
  margin: .5rem 0;
}
.error {
  background: #fef2f2;
  border: 1px solid #ef4444;
  color: #7f1d1d;
  padding: .6rem .8rem;
  border-radius: 8px;
  margin: .5rem 0;
}
.dados-etapa-titulo {
  font-weight: 700;
  font-size: 1.08em;
  color: #004080;
  margin-bottom: 0.2em;
}
.dados-etapa-desc {
  font-size: 0.98em;
  color: #333;
}
@media (max-width: 800px) {
  .dados-etapas-cards {
    flex-direction: column;
    gap: 1em;
    align-items: stretch;
  }
  .dados-etapa-card {
    max-width: 100%;
    min-width: 0;
  }
}
/* Título do gráfico de adoção de dados pelas PMEs */
.grafico-titulo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
  margin-bottom: 18px;
  margin-top: 0.5em;
}
.grafico-titulo-icone {
  font-size: 2em;
  color: #00bcd4;
  margin-bottom: 0.1em;
}
.grafico-titulo-texto {
  font-size: 1.25em;
  font-weight: 700;
  background: linear-gradient(90deg, #00bcd4 30%, #1a237e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  letter-spacing: 0.5px;
  text-align: center;
  display: block;
}
/* Percentual dentro das barras do gráfico */
.grafico-barra-percentual {
  color: #fff;
  font-weight: 600;
  font-size: 0.98em;
  padding-left: 10px;
  text-shadow: 0 1px 4px #00408044;
  letter-spacing: 0.5px;
  line-height: 22px;
  display: inline-block;
}
@media (max-width: 600px) {
  .grafico-barra-percentual {
    font-size: 0.92em;
    padding-left: 6px;
    line-height: 16px;
  }
}
/* Barras do gráfico de adoção de dados pelas PMEs */
.barra-70 { width: 70% !important; }
.barra-43 { width: 43% !important; }
.barra-36 { width: 36% !important; }
/* Destaque para nomes de tecnologias nos cards de linguagens */
.linguagens-destaque {
  color: #00bcd4;
  font-weight: 600;
  letter-spacing: 0.5px;
}
/* Linguagens e Bibliotecas - Página Especial */
.linguagens-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
  background: linear-gradient(120deg, #1a237e 60%, #00bcd4 100%);
  border-radius: 18px;
  box-shadow: 0 0 36px rgba(0,0,0,0.13);
}
.linguagens-hero {
  text-align: center;
  margin-bottom: 2.5em;
}
.linguagens-hero-icon {
  font-size: 3.5em;
  color: #00bcd4;
  margin-bottom: 0.3em;
}
.linguagens-hero h1 {
  font-size: 2.2em;
  background: linear-gradient(90deg, #00bcd4 30%, #1a237e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  margin-bottom: 0.3em;
}
.linguagens-hero-desc {
  color: #e0e0e0;
  font-size: 1.18em;
  max-width: 800px;
  margin: 0 auto;
}
.linguagens-bloco {
  background: #232b4b;
  color: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.09);
  padding: 1.7em 1.3em;
  margin-bottom: 1.7em;
  font-size: 1.09em;
  text-align: center;
}

.linguagens-tabela-container {
  background: #1a237e;
  border-radius: 14px;
  box-shadow: 0 2px 18px rgba(0,0,0,0.13);
  padding: 1.5em 1em 1em 1em;
  margin: 1.5em auto 2em auto;
  max-width: 700px;
  overflow-x: auto;
}
.linguagens-tabela {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 1.07em;
  background: #22306b;
  color: #fff;
}
.linguagens-tabela th, .linguagens-tabela td {
  padding: 0.7em 1em;
  border-bottom: 1px solid #2e3e7e;
  text-align: left;
}
.linguagens-tabela th {
  background: linear-gradient(90deg, #00bcd4 0%, #1a237e 100%);
  color: #fff;
  font-weight: 600;
  border-radius: 8px 8px 0 0;
  border-bottom: 2px solid #00bcd4;
}
.linguagens-tabela tr:last-child td {
  border-bottom: none;
}
.linguagens-tabela tr:hover td {
  background: #223e6b;
  transition: background 0.2s;
}
.linguagens-tabela td:first-child {
  font-weight: 600;
  color: #00bcd4;
}
.linguagens-titulo {
  color: #00bcd4;
  font-size: 1.25em;
  margin-bottom: 0.7em;
}
.linguagens-frase-impacto {
  background: linear-gradient(90deg, #00bcd4 0%, #1a237e 100%);
  color: #fff;
  font-size: 1.15em;
  font-weight: bold;
  border-radius: 12px;
  margin-bottom: 2em;
  padding: 1.5em 1em;
}
.linguagens-lista {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.linguagens-lista li {
  background: #fff;
  color: #232b4b;
  border-radius: 12px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.08);
  padding: 1.3em 1.1em;
  min-width: 220px;
  max-width: 320px;
  flex: 1 1 220px;
  font-size: 1.07em;
  margin-bottom: 0.5em;
  text-align: left;
  position: relative;
  border-left: 6px solid #00bcd4;
}
.linguagens-lista li strong {
  display: flex;
  align-items: center;
  font-size: 1.12em;
  margin-bottom: 0.4em;
}
.linguagens-lista li strong i {
  margin-right: 0.5em;
  color: #00bcd4;
  font-size: 1.2em;
}
.linguagens-chamada {
  background: #232b4b;
  color: #fff;
  font-size: 1.09em;
  border-left: 6px solid #00bcd4;
  border-radius: 10px;
  margin-bottom: 2em;
  padding: 1.3em 1em;
}
.linguagens-resumo {
  background: linear-gradient(90deg, #00bcd4 0%, #1a237e 100%);
  color: #fff;
  border-radius: 14px;
  padding: 2em 1em 1.5em 1em;
  text-align: center;
  font-size: 1.18em;
  box-shadow: 0 2px 14px rgba(0,0,0,0.09);
  margin-bottom: 0.5em;
}
.linguagens-resumo i {
  color: #fff700;
  font-size: 1.5em;
  margin-bottom: 0.3em;
  display: block;
}
.btn-contato-ciencia {
  background: #00bcd4;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 0.9em 2.2em;
  font-size: 1.13em;
  font-weight: 600;
  margin-top: 1.2em;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: background 0.2s, transform 0.2s;
  text-decoration: none;
  display: inline-block;
}
.btn-contato-ciencia:hover {
  background: #0097a7;
  transform: translateY(-2px) scale(1.04);
}
@media (max-width: 900px) {
  .linguagens-lista {
    flex-direction: column;
    align-items: center;
  }
  .linguagens-lista li {
    min-width: unset;
    max-width: 100%;
    width: 100%;
  }
  .linguagens-tabela-container {
    padding: 1em 0.2em 0.5em 0.2em;
  }
}
/* Fábrica de Soluções Inteligentes - Página Especial */
.fabrica-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
  background: linear-gradient(120deg, #003366 60%, #0055a5 100%);
  border-radius: 16px;
  box-shadow: 0 0 32px rgba(0,0,0,0.12);
}
.fabrica-hero {
  text-align: center;
  margin-bottom: 2.5em;
}
.fabrica-hero-icon {
  font-size: 3.5em;
  color: #00ccff;
  margin-bottom: 0.3em;
}
.fabrica-hero h1 {
  font-size: 2.1em;
  color: #00ccff;
  margin-bottom: 0.3em;
}
.fabrica-hero p {
  color: #e0e0e0;
  font-size: 1.15em;
  max-width: 800px;
  margin: 0 auto;
}
.fabrica-bloco {
  background: #002244;
  color: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding: 1.5em 1.2em;
  margin-bottom: 1.5em;
  font-size: 1.08em;
  text-align: center;
}
.fabrica-cards-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin-bottom: 2.5em;
}
.fabrica-card {
  background: #003366;
  color: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding: 1.2em 1em;
  width: 260px;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.2s, box-shadow 0.2s;
  font-size: 1.08em;
}
.fabrica-card.destaque {
  border: 2px solid #00ccff;
}
.fabrica-card-icon {
  font-size: 2em;
  color: #00ccff;
  margin-bottom: 0.5em;
}
.fabrica-card p {
  color: #e0e0e0;
  text-align: center;
}
.fabrica-frase-impacto {
  background: #004080;
  color: #fff700;
  font-size: 1.15em;
  font-weight: bold;
}
.fabrica-chamada {
  background: #002244;
  color: #fff;
  font-size: 1.08em;
}
.fabrica-resumo {
  background: linear-gradient(90deg, #00ccff 0%, #003366 100%);
  color: #fff;
  border-radius: 12px;
  padding: 2em 1em 1.5em 1em;
  text-align: center;
  font-size: 1.18em;
  box-shadow: 0 2px 12px rgba(0,0,0,0.09);
  margin-bottom: 0.5em;
}
.fabrica-resumo i {
  color: #fff700;
  font-size: 1.5em;
  margin-bottom: 0.3em;
  display: block;
}
@media (max-width: 900px) {
  .fabrica-cards-row {
    flex-direction: column;
    align-items: center;
  }
  .fabrica-card {
    width: 100%;
    min-width: unset;
    max-width: 400px;
  }
}
/* Alocação Inteligente de Talentos - Página Especial */
.alocacao-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
  background: linear-gradient(120deg, #003366 60%, #0055a5 100%);
  border-radius: 16px;
  box-shadow: 0 0 32px rgba(0,0,0,0.12);
}
.alocacao-hero {
  text-align: center;
  margin-bottom: 2.5em;
}
.alocacao-hero-icon {
  font-size: 3.5em;
  color: #00ccff;
  margin-bottom: 0.3em;
}
.alocacao-hero h1 {
  font-size: 2.1em;
  color: #00ccff;
  margin-bottom: 0.3em;
}
.alocacao-hero p {
  color: #e0e0e0;
  font-size: 1.15em;
  max-width: 800px;
  margin: 0 auto;
}
.alocacao-bloco {
  background: #002244;
  color: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding: 1.5em 1.2em;
  margin-bottom: 1.5em;
  font-size: 1.08em;
  text-align: center;
}
.alocacao-cards-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin-bottom: 2.5em;
}
.alocacao-card {
  background: #003366;
  color: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding: 1.2em 1em;
  width: 260px;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.2s, box-shadow 0.2s;
  font-size: 1.08em;
}
.alocacao-card.destaque {
  border: 2px solid #00ccff;
}
.alocacao-card-icon {
  font-size: 2em;
  color: #00ccff;
  margin-bottom: 0.5em;
}
.alocacao-card p {
  color: #e0e0e0;
  text-align: center;
}
.alocacao-frase-impacto {
  background: #004080;
  color: #fff700;
  font-size: 1.15em;
  font-weight: bold;
}
.alocacao-chamada {
  background: #002244;
  color: #fff;
  font-size: 1.08em;
}
.alocacao-resumo {
  background: linear-gradient(90deg, #00ccff 0%, #003366 100%);
  color: #fff;
  border-radius: 12px;
  padding: 2em 1em 1.5em 1em;
  text-align: center;
  font-size: 1.18em;
  box-shadow: 0 2px 12px rgba(0,0,0,0.09);
  margin-bottom: 0.5em;
}
.alocacao-resumo i {
  color: #fff700;
  font-size: 1.5em;
  margin-bottom: 0.3em;
  display: block;
}
@media (max-width: 900px) {
  .alocacao-cards-row {
    flex-direction: column;
    align-items: center;
  }
  .alocacao-card {
    width: 100%;
    min-width: unset;
    max-width: 400px;
  }
}
/* Consultoria Estratégica - Página Especial */
.consultoria-estrategica-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
  background: linear-gradient(120deg, #003366 60%, #0055a5 100%);
  border-radius: 16px;
  box-shadow: 0 0 32px rgba(0,0,0,0.12);
}

.consultoria-hero {
  text-align: center;
  margin-bottom: 2.5em;
}
.consultoria-hero-icon {
  font-size: 3.5em;
  color: #00ccff;
  margin-bottom: 0.3em;
}
.consultoria-hero h1 {
  font-size: 2.4em;
  color: #00ccff;
  margin-bottom: 0.3em;
}
.consultoria-hero p {
  color: #e0e0e0;
  font-size: 1.15em;
  max-width: 800px;
  margin: 0 auto;
}

.consultoria-cards-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin-bottom: 2.5em;
}
.consultoria-card {
  background: #002244;
  color: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding: 1.5em 1.2em;
  width: 220px;
  min-height: 210px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.2s, box-shadow 0.2s;
}
.consultoria-card:hover {
  transform: translateY(-6px) scale(1.03);
  box-shadow: 0 6px 24px rgba(0,0,0,0.13);
}
.consultoria-card-icon {
  font-size: 2.1em;
  color: #00ccff;
  margin-bottom: 0.5em;
}
.consultoria-card h3 {
  font-size: 1.1em;
  margin-bottom: 0.4em;
  color: #00ccff;
}
.consultoria-card p {
  font-size: 0.98em;
  color: #e0e0e0;
  text-align: center;
}

.consultoria-ciclo {
  margin-bottom: 2.5em;
  background: #004080;
  border-radius: 10px;
  padding: 2em 1em 1.5em 1em;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}
.consultoria-ciclo h2 {
  color: #00ccff;
  font-size: 1.4em;
  margin-bottom: 1.2em;
  text-align: center;
}
.consultoria-ciclo-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2em;
  justify-content: center;
}
.ciclo-step {
  background: #003366;
  color: #fff;
  border-radius: 8px;
  padding: 1em 1.1em;
  min-width: 170px;
  text-align: center;
  font-size: 1em;
  box-shadow: 0 1px 6px rgba(0,0,0,0.07);
  margin-bottom: 0.5em;
}
.ciclo-step span {
  display: inline-block;
  background: #00ccff;
  color: #003366;
  font-weight: bold;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  line-height: 28px;
  margin-bottom: 0.3em;
  font-size: 1.1em;
}
.ciclo-step strong {
  display: block;
  margin-bottom: 0.2em;
  color: #00ccff;
}

.consultoria-exemplos {
  margin-bottom: 2.5em;
  background: #002244;
  border-radius: 10px;
  padding: 2em 1em 1.5em 1em;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}
.consultoria-exemplos h2 {
  color: #00ccff;
  font-size: 1.3em;
  margin-bottom: 1.2em;
  text-align: center;
}
.consultoria-exemplos-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.1em;
  justify-content: center;
}
.consultoria-exemplo {
  background: #003366;
  color: #fff;
  border-radius: 8px;
  padding: 1em 1.2em;
  min-width: 220px;
  text-align: left;
  font-size: 1em;
  box-shadow: 0 1px 6px rgba(0,0,0,0.07);
  display: flex;
  align-items: center;
  gap: 0.7em;
}
.consultoria-exemplo i {
  color: #00ccff;
  font-size: 1.2em;
}

.consultoria-resumo {
  background: linear-gradient(90deg, #00ccff 0%, #003366 100%);
  color: #fff;
  border-radius: 12px;
  padding: 2em 1em 1.5em 1em;
  text-align: center;
  font-size: 1.18em;
  box-shadow: 0 2px 12px rgba(0,0,0,0.09);
  margin-bottom: 0.5em;
}
.consultoria-resumo i {
  color: #fff700;
  font-size: 1.5em;
  margin-bottom: 0.3em;
  display: block;
}

@media (max-width: 900px) {
  .consultoria-cards-row, .consultoria-exemplos-list, .consultoria-ciclo-steps {
    flex-direction: column;
    align-items: center;
  }
  .consultoria-card, .consultoria-exemplo, .ciclo-step {
    width: 100%;
    min-width: unset;
    max-width: 400px;
  }
}
/* Reset básico */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Segoe UI', sans-serif;
  line-height: 1.6;
  background-color: #003366; /* fundo azul escuro */
  color: #ffffff; /* texto branco */
}

/* Cabeçalho */
header {
  background-color: #002244;
  color: white;
  padding: 1em 2em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.logo {
  font-size: 1.5em;
  font-weight: bold;
}

nav ul {
  list-style: none;
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
}

nav a {
  color: white;
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s;
}

nav a:hover {
  color: #00ccff;
}

/* Hero */
.hero {
  background: linear-gradient(to right, #0055a5, #003366);
  color: white;
  text-align: center;
  padding: 4em 2em;
}

.hero .btn {
  background-color: white;
  color: #003366;
  padding: 0.8em 1.5em;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  margin-top: 1em;
  display: inline-block;
  transition: background-color 0.3s;
}

.hero .btn:hover {
  background-color: #e0e0e0;
}

/* Seções */
.section {
  padding: 3em 2em;
  text-align: center;
}

.section h2 i {
  margin-right: 0.5em;
  color: #ffffff;
}

/* Cards */
.cards {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
  justify-content: center;
  margin-top: 2em;
}

.card {
  background-color: #0055a5;
  color: white;
  padding: 2em;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(255,255,255,0.1);
  width: 300px;
  transition: transform 0.3s, box-shadow 0.3s;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 20px rgba(255,255,255,0.15);
  z-index: 1;
}

.card h3 i {
  margin-right: 0.5em;
  color: #ffffff;
}

/* Blog e Notícias */
#posts,
#feed-noticias,
#rss-feed {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  max-width: 800px;
  margin: 2em auto;
}

.post,
.noticia {
  background-color: #004080;
  color: white;
  padding: 1.5em;
  border-radius: 8px;
  box-shadow: 0 0 5px rgba(255,255,255,0.1);
  text-align: left;
}

.post h3,
.noticia h3 {
  margin-bottom: 0.5em;
  font-size: 1.1em;
  color: #ffffff;
}

.noticia a {
  color: #00ccff;
  text-decoration: none;
  font-weight: bold;
}

.noticia a:hover {
  text-decoration: underline;
}

/* Banner de Notícias */
.noticias-carousel {
  position: relative;
  width: 100%;
  max-width: 800px;
  height: 360px; /* altura reduzida */
  margin: 2em auto;
  overflow: hidden;
}

/* Card de notícia */
.noticia-card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1.5em;
  background: linear-gradient(to right, #0055a5, #003366); /* mesmo estilo da Hero */
  color: white;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
  opacity: 0;
  transition: opacity 0.8s ease-in-out;
  z-index: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
}

.noticia-card.active {
  opacity: 1;
  z-index: 1;
}

.noticia-card img {
  width: 100%;
  max-height: 160px; /* imagem mais compacta */
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 1em;
}

.noticia-card h3 {
  font-size: 1.1em;
  color: #ffffff;
  margin-bottom: 0.4em;
  font-weight: bold;
}

.noticia-card p {
  font-size: 0.9em;
  color: #e0e0e0;
  margin-bottom: 0.8em;
}

.noticia-card a {
  color: #00ccff;
  text-decoration: none;
  font-size: 0.9em;
  font-weight: bold;
}

.noticia-card a:hover {
  text-decoration: underline;
}


/* Contato */
.contato-container {
  display: flex;
  flex-direction: column; /* quebra vertical */
  align-items: center;
  gap: 2em;
  margin-top: 2em;
}

.contato-container form {
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.contato-container textarea {
  resize: vertical;
  min-height: 200px;
}

/* Estilo dos campos */
.contato input,
.contato textarea,
.contato-form input,
.contato-form textarea {
  padding: 1em;
  border: 1px solid #ffffff;
  border-radius: 5px;
  background-color: #002244;
  color: white;
}

/* Botão de envio */
.contato button,
.contato-form button {
  background-color: #00ccff;
  color: #003366;
  padding: 1em;
  border: none;
  border-radius: 5px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}

.contato button:hover,
.contato-form button:hover {
  background-color: #ffffff;
  color: #003366;
}

/* Redes sociais abaixo do formulário */
.contato-social {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  max-width: 500px;
  width: 100%;
}

.social-icons {
  font-size: 2rem;
  display: flex;
  gap: 18px;
  justify-content: center;
}

.whatsapp-btn {
  background-color: #25D366;
  color: white;
  padding: 1em 2em;
  border-radius: 50px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  transition: background-color 0.3s;
}

.whatsapp-btn:hover {
  background-color: #1ebe5d;
}


/* Rodapé */
footer {
  background-color: #001122;
  color: #ccc;
  text-align: center;
  padding: 2em;
}

.social-icons a {
  margin: 0 10px;
  color: #ccc;
  font-size: 1.2em;
  transition: color 0.3s;
}

.social-icons a:hover {
  color: white;
}

/* Animações */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease-out;
}

.fade-in {
  opacity: 1;
  transform: none;
  transition: none;
}


.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Responsividade para carrossel */
@media (max-width: 768px) {
  .noticias-carousel {
    height: auto;
  }

  .noticia-card {
    position: relative;
    opacity: 1;
    z-index: 1;
    margin-bottom: 2em;
  }

  .noticia-card img {
    max-height: 450px;
  }
}

.tech-cluster {
  background-color: #004080;
  color: white;
  padding: 2em;
  margin: 2em auto;
  max-width: 800px;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(255,255,255,0.05);
  text-align: left;
}

.tech-cluster h3 {
  color: #ffffff;
  margin-bottom: 1em;
}

.tech-cluster ul {
  list-style: none;
  padding-left: 0;
}

.tech-cluster li {
  padding: 0.5em 0;
  border-bottom: 1px solid #eee;
}

/* Seletor de Idioma */
.language-selector {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  padding: 8px 20px;
}

.language-selector .lang {
  font-family: inherit;
  font-size: 14px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  padding: 4px 8px;
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s ease, color 0.3s ease;
}

.language-selector .lang:hover {
  border-bottom: 2px solid #fff;
}

.language-selector .lang.active {
  border-bottom: 2px solid #fff;
}

/* Seção Institucional com Abas */
.institucional-section {
  padding: 4em 2em;
  background: linear-gradient(to right, #0055a5, #003366);
  color: white;
  text-align: center;
}

.institucional-section h2 {
  font-size: 32px;
  margin-bottom: 30px;
  color: white;
}

.institucional-tabs {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 30px;
}

.tab-btn {
  background: none;
  border: none;
  font-size: 16px;
  font-weight: bold;
  color: white;
  cursor: pointer;
  padding: 10px 20px;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}

.tab-btn.active,
.tab-btn:hover {
  border-bottom: 2px solid white;
}

.institucional-content {
  max-width: 700px;
  margin: 0 auto;
}

.tab-content {
  display: none;
  font-size: 18px;
  color: white;
  line-height: 1.8;
}

.tab-content.active {
  display: block;
  animation: fadeIn 0.4s ease-in-out;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}


.site-footer {
  background-color: #002244;
  color: white;
  padding: 40px 20px;
  font-size: 14px;
}

.footer-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.footer-left,
.footer-center,
.footer-right {
  flex: 1 1 200px;
}

.footer-left ul,
.footer-center ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-left li,
.footer-center li {
  margin-bottom: 10px;
}

.footer-left a,
.footer-center a {
  color: white;
  text-decoration: none;
  display: inline-block;
}

.footer-left a:hover,
.footer-center a:hover {
  text-decoration: underline;
}

.social-list li {
  text-align: center;
}

.footer-contact-icon {
  font-size: 2rem;
  color: #00ccff;
  text-decoration: none;
  display: inline-block;
  margin-top: 10px;
}

.footer-contact-icon:hover {
  color: #ffffff;
}

.footer-bottom {
  text-align: center;
  margin-top: 30px;
  font-size: 0.9em;
  color: #ccc;
}


/* Institucional */
main.section {
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 20px;
  color: #ffffff;
  background-color: #001f3f;
}

main h1 {
  font-size: 2.5rem;
  margin-bottom: 1em;
  text-align: center;
  color: #00ccff;
}

.institucional-bloco {
  margin-bottom: 40px;
  padding: 20px;
  background-color: #002244;
  border-radius: 8px;
  box-shadow: 0 0 10px rgba(255,255,255,0.05);
}

.institucional-bloco h2 {
  font-size: 1.8rem;
  margin-bottom: 0.5em;
  color: #00ccff;
}

.institucional-bloco p,
.institucional-bloco ul {
  font-size: 1rem;
  line-height: 1.6;
  color: #e0e0e0;
}

.institucional-bloco ul {
  list-style: disc;
  padding-left: 20px;
}

.institucional-bloco a {
  color: #00ccff;
  text-decoration: underline;
}

.institucional-bloco a:hover {
  color: #ffffff;
}

/* Responsivo */
@media (max-width: 768px) {
  main.section {
    padding: 20px 10px;
  }

  .institucional-bloco h2 {
    font-size: 1.5rem;
  }

  main h1 {
    font-size: 2rem;
  }
}


.institucional-saiba-mais {
  margin-top: 20px;
  text-align: center;
}

.btn-saiba-mais {
  display: inline-block;
  background-color: #00ccff;
  color: #003366;
  padding: 10px 20px;
  border-radius: 5px;
  font-weight: bold;
  text-decoration: none;
  transition: background-color 0.3s;
}

.btn-saiba-mais:hover {
  background-color: #ffffff;
  color: #003366;
}

/* Ciência de Dados - Página Especial */
.ciencia-main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;
  background: linear-gradient(120deg, #003366 60%, #0055a5 100%);
  border-radius: 16px;
  box-shadow: 0 0 32px rgba(0,0,0,0.12);
}
.ciencia-hero {
  text-align: center;
  margin-bottom: 2.5em;
}
.ciencia-hero-icon {
  font-size: 3.5em;
  color: #00ccff;
  margin-bottom: 0.3em;
}
.ciencia-hero h1 {
  font-size: 2.1em;
  color: #00ccff;
  margin-bottom: 0.3em;
}
.ciencia-hero p {
  color: #e0e0e0;
  font-size: 1.15em;
  max-width: 800px;
  margin: 0 auto;
}
.ciencia-bloco {
  background: #002244;
  color: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding: 1.5em 1.2em;
  margin-bottom: 1.5em;
  font-size: 1.08em;
  text-align: center;
}
.ciencia-cards-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  justify-content: center;
  margin-bottom: 2.5em;
}
.ciencia-card {
  background: #003366;
  color: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding: 1.2em 1em;
  width: 260px;
  min-height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.2s, box-shadow 0.2s;
  font-size: 1.08em;
}
.ciencia-card.destaque {
  border: 2px solid #00ccff;
}
.ciencia-card-icon {
  font-size: 2em;
  color: #00ccff;
  margin-bottom: 0.5em;
}
.ciencia-card p {
  color: #e0e0e0;
  text-align: center;
}
.ciencia-frase-impacto {
  background: #004080;
  color: #fff700;
  font-size: 1.15em;
  font-weight: bold;
}
.ciencia-chamada {
  background: #002244;
  color: #fff;
  font-size: 1.08em;
}
.ciencia-resumo {
  background: linear-gradient(90deg, #00ccff 0%, #003366 100%);
  color: #fff;
  border-radius: 12px;
  padding: 2em 1em 1.5em 1em;
  text-align: center;
  font-size: 1.18em;
  box-shadow: 0 2px 12px rgba(0,0,0,0.09);
  margin-bottom: 0.5em;
}
.ciencia-resumo i {
  color: #fff700;
  font-size: 1.5em;
  margin-bottom: 0.3em;
  display: block;
}
@media (max-width: 900px) {
  .ciencia-cards-row {
    flex-direction: column;
    align-items: center;
  }
  .ciencia-card {
    width: 100%;
    min-width: unset;
    max-width: 400px;
  }
}
/* ===== Download center / validation styles (extracted from inline styles) ===== */
.download-container { max-width:720px; margin:2rem auto; padding:1rem; }
.download-card { background:#002244; color:#fff; padding:1.25rem; border-radius:8px; box-shadow:0 6px 18px rgba(0,0,0,0.06); }
.download-card label { display:block; margin-top:0.75rem; font-weight:600; color: #fff; }
.download-card input[type="text"], .download-card input[type="email"], .download-card input[type="tel"] { width:100%; padding:0.6rem; border-radius:6px; border:1px solid #ffffff; background:#ffffff; color:#003366; }
.download-hint { color:#555; margin:0.5rem 0 1rem 0; }
.download-btn { display:inline-block; padding:0.6rem 1rem; border-radius:8px; background:#0077b6; color:#fff; text-decoration:none; border:none; cursor:pointer }
.download-btn[disabled] { opacity:0.5; cursor:not-allowed }
.success { background:#e6ffef; border-left:4px solid #2eb67d; padding:0.75rem; margin-top:1rem }
.radio-inline { display:inline-block; font-weight:normal; margin-right:1rem }
.notes { color:#555 }
.notes p { font-size:0.9rem; color:#555 }
.notes ul { color:#555 }
.mt-1rem { margin-top:1rem }
.text-error { color:#b00 }