:root {
  --bg-dark: #1E43783;
  --accent-cyan: #378cbb;
  --accent-blue: #00b4d8;
  --text-gray: #a0a0a0;
  --grid-color: rgba(0, 229, 255);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Inter", sans-serif;
}

body {
  background-color: var(--bg-dark);
  background-image:
    linear-gradient(var(--grid-color) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);
  background-size: 40px 40px;
  background-position: top; /* Alinha o início do grid com o canto da tela */
  background-attachment: fixed; /* O grid não "corre" nem entorta no scroll */
  color: white;
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
  --grid-color: rgba(255, 255, 255, 0.02);
}

.navbar::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(0, 229, 255, 0.6),
    transparent
  );
}

/* CONTAINER */
.nav-container {
  display: grid;
  grid-template-columns: auto 1fr auto; /* esquerda | centro | direita */
  align-items: center;
  width: 100%;
}

.navbar {
    width: 100%;
  padding: 15px 5%;
  background: linear-gradient(90deg, #020617, #0a1a3a);
  position: sticky;
  background: rgba(10, 17, 40, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  top: 0;
  z-index: 1000;
  backdrop-filter: blur(10px);

  top: 15px;
  left: 5%;
  width: 90%;
  position: fixed;
  z-index: 1000;
  padding: 10px 5%;
  box-shadow: 0 5px 30px rgba(0, 229, 255, 0.08);

  background: rgba(10, 17, 40, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 50px;
  border: 1px solid rgba(0, 229, 255, 0.2);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease;
  overflow: visible; /* evita cortar o dropdown */
}

/* Compensação para o conteúdo não sumir sob a navbar */
body {
  padding-top: 100px;
}

/* LOGO */
.company-logo {
  height: 40px;
}

/* LINKS */
.nav-links {
  display: flex;
  justify-content: center; /* CENTRALIZA */
  align-items: center;
  gap: 30px;
}
.cta-btn {
  justify-self: end; /* joga pro canto direito */
}
.nav-links a {
  text-align: center;
  white-space: nowrap;
}
.nav-links a {
  color: #cbd5f5;
  text-decoration: none;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 1px;
  transition: 0.3s;
}

.nav-links a:hover {
  color: white;
}

/* BOTÃO CTA */
.cta-btn {
  background: linear-gradient(90deg, #00b4d8, #378cbb);
  color: #001219;
  padding: 10px 22px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  text-decoration: none;
  transition: 0.3s;
}

.cta-btn:hover {
  transform: scale(1.05);
  filter: brightness(1.1);
}

/* DROPDOWN AJUSTADO */
.dropdown {
  position: relative;
}

.dropdown-content {
  display: none;
  position: absolute;
  top: 120%; /* 👇 abre pra baixo no PC */
  left: 0;
  background: rgba(10, 17, 40, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 10px;
  padding: 10px 0;
  min-width: 220px;
  border: 1px solid rgba(0, 229, 255, 0.1);
}

.dropdown-content a {
  display: block;
  padding: 10px 20px;
  font-size: 0.8rem;
}

.dropdown:hover .dropdown-content {
  display: block;
}
@media (max-width: 992px) {
  .dropdown-content {
    top: auto; /* remove o de cima */
    bottom: 110%; /* 👆 abre pra cima */
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 8px;
  }
}

.dropdown {
  position: relative;
}
.dropdown-content {
  display: none;
  position: absolute;
  top: 120%;
  left: 0;

  background: rgba(10, 17, 40, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 10px;
  padding: 10px 0;
  min-width: 220px;
}
@media (max-width: 992px) {
  .dropdown-content {
    top: auto !important;
    bottom: 100% !important; /* 👈 força subir */

    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 992px) {
  .dropdown-content {
    display: none;

    position: absolute;
    top: auto;
    bottom: 110%; /* 👆 sobe */

    left: 50%;
    transform: translateX(-50%);
  }

  /* quando estiver ativo */
  .dropdown.active .dropdown-content {
    display: block;
  }
}
/* SETINHA */
.arrow {
  font-size: 0.6rem;
}

.wave-divider {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  position: relative;
  width: 100vw; /* força largura total da tela */
  left: 50%;
  transform: translateX(-50%);
}

.wave-divider svg {
  display: block;
  width: 100%;
  height: 80px;
}

.wave-divider path {
  fill: #ffffff; /* cor da linha */
}

/* opcional: sobrepor suave */
.wave-divider.top {
  margin-bottom: -5px;
}

.wave-divider.bottom {
  margin-top: -5px;
}

.baleia-background-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: 3000px; /* ajuste conforme necessário */
  height: auto;

  z-index: -1;
  pointer-events: none;

  /* efeito visual */
  filter: blur(1px);
  opacity: 0.15;

  /* máscara suave */
  mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 40%, transparent 80%);
  -webkit-mask-image: radial-gradient(
    circle,
    rgba(0, 0, 0, 1) 60%,
    transparent 80%
  );
}
.baleia-rabo-background-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  width: 1000px; /* ajuste conforme necessário */
  height: auto;

  z-index: -1;
  pointer-events: none;

  /* efeito visual */
  filter: blur(2px);
  opacity: 0.18;

  /* máscara suave */
  mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 40%, transparent 80%);
  -webkit-mask-image: radial-gradient(
    circle,
    rgba(0, 0, 0, 1) 1%,
    transparent 90%
  );
}

.automation-background-icon {
  filter: blur(2px);
  opacity: 1;
  width: 50px; /* ajuste conforme necessário */
  height: auto;

  mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 40%, transparent 80%);
  -webkit-mask-image: radial-gradient(
    circle,
    rgba(0, 0, 0, 1) 60%,
    transparent 80%
  );
}

.baleia-kids-background-icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  z-index: -1;
  pointer-events: none;
  opacity: 0.35;
  filter: blur(0px) brightness(1.1);
}

@keyframes floatWhale {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(0px);
  }
}

.whale-bg {
  position: absolute;
  width: 900px;
  opacity: 0.1;
}

.whale-front {
  position: absolute;
  width: 400px;
  opacity: 1;
}
.baleia-kids-background-icon:hover {
  transform: scale(1.05);
  transition: 0.4s;
}
.hero-layout-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hero-text-block {
  max-width: 900px;
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* Força o alinhamento de todos os blocos na mesma linha vertical */
  text-align: justify; /* Justifica o texto globalmente no bloco */
}

/* Garante que o container interno não tenha paddings ou margens que desalinhem */
.hero-solution-group {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Alinhamento fino para o parágrafo description */
.hero-description {
  width: 100%;
  margin-left: 0 !important; /* Remove qualquer deslocamento residual */
  padding-left: 0 !important;
  margin-bottom: 20px;
  text-align: justify;
  line-height: 1.6;
}

/* Mantém o título h2 alinhado */
.sub-headline {
  width: 100%;
  margin-left: 0;
  text-align: justify;
  margin-bottom: 15px;
}
/* .hero {
  background: url('./icons/Glowing whale in ocean depths.png') no-repeat right center;
  background-size: contain;
} */
.buttons {
  display: flex;
  gap: 16px;
  margin-top: 20px;
}
.hero-text-block h1 {
  margin-bottom: 20px;
}

.hero-text-block h3 {
  margin-bottom: 20px;
}
.hero-text-block p {
  margin-bottom: 20px;
}
.hero::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -200px;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(0, 229, 255, 0.15), transparent 70%);
  filter: blur(80px);
  transform: translateY(-50%);
  pointer-events: none;
}

.hero::after {
  content: "";
  position: absolute;
  right: -100px;
  top: 30%;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 229, 255, 0.1), transparent 70%);
  filter: blur(100px);
  pointer-events: none;
}

.hero .curve-line {
  position: absolute;
  right: -100px;
  top: 50%;
  width: 600px;
  height: 300px;
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  transform: rotate(20deg);
  opacity: 0.2;
}

.section-dark {
  background: #0b0f14;
  position: relative;
}

.section-dark::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 0;
  width: 100%;
  height: 80px;

  background: linear-gradient(to bottom, transparent, #0b0f14);
}
.hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 300px;

  /* background: radial-gradient(circle, rgba(0, 229, 255, 0.2), transparent 70%); */

  filter: blur(60px);
  pointer-events: none;
}
/* 
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 5%; */

  /* Torna o menu fixo */
  /* position: sticky; */
  /* top: 0; */
  /* z-index: 1000; Garante que ele fique acima de tudo */

  /* Efeito de fundo para não misturar com o conteúdo no scroll */
  /* background: rgba(10, 17, 40, 0.8);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0, 229, 255, 0.05);
  transition: all 0.3s ease;
} */
.logo {
  color: var(--accent-cyan);
  font-weight: 900;
  font-size: 1.5rem;
  letter-spacing: 2px;
}

nav a {
  color: white;
  text-decoration: none;
  margin-left: 20px;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.8;
  transition: 0.3s;
}

nav a:hover {
  color: var(--accent-cyan);
  opacity: 1;
}

.hero {
  text-align: center;
  padding: 100px 10%;
}

.hero h1 {
  font-size: 3.5rem;
  font-weight: 900;
  margin-bottom: 1rem;
}

.hero h1 span {
  color: var(--accent-cyan);
}

.hero p {
  color: var(--text-gray);
  max-width: 600px;
  margin: 0 auto 2.5rem auto;
  font-size: 1.1rem;
}

.buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 80px;
}

.btn {
  padding: 15px 30px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: bold;
  font-size: 0.9rem;
  transition: 0.4s;
  text-transform: uppercase;
}

.btn-whatsapp {
  /* background-color: #00d991; */
  color: #000;
  /* box-shadow: 0 0 20px rgba(0, 217, 145, 0.4); */
}

.btn-outline {
  border: 2px solid #102a43;
  color: var(--accent-cyan);
}

.btn:hover {
  transform: translateY(-3px);
  filter: brightness(1.1);
}

.solutions {
  padding: 60px 5%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
  margin-bottom: 80px;
}

.solution-card {
  background: rgba(16, 42, 67, 0.3);
  border: 1px solid rgba(0, 229, 255, 0.1);
  padding: 30px;
  border-radius: 15px;
  transition: 0.3s;
}

.solution-card:hover {
  border-color: var(--accent-cyan);
  background: rgba(16, 42, 67, 0.5);
}

.solution-card h3 {
  color: var(--accent-cyan);
  margin-bottom: 15px;
}

.testimonial-box {
  border: 1px solid #102a43;
  padding: 40px;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

.testimonial-box h2 {
  font-size: 2rem;
}

.testimonial-box span {
  color: var(--accent-cyan);
}

.corner {
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid var(--accent-cyan);
}

.top-left {
  top: -5px;
  left: -5px;
  border-right: none;
  border-bottom: none;
}

.bottom-right {
  bottom: -5px;
  right: -5px;
  border-left: none;
  border-top: none;
}

.cards-container {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 0 5% 80px 5%;
  margin-top: 40px;
  position: relative;
  z-index: 1;
}

.card {
  background: #0a0e14;
  padding: 25px;
  border-radius: 12px;
  flex: 1;
  font-size: 0.9rem;
  color: var(--text-gray);
  border-bottom: 3px solid transparent;
}

.card.active {
  border-color: var(--accent-cyan);
  box-shadow: 0 0 15px rgba(0, 229, 255, 0.2);
}

/* ===== TRANSIÇÃO PARA FOOTER ===== */
.footer-fade {
  height: 120px;
  margin-top: -60px;
  background: linear-gradient(
    to bottom,
    rgba(5, 7, 10, 0) 0%,
    rgba(5, 7, 10, 0.6) 40%,
    rgba(5, 7, 10, 0.9) 70%,
    rgba(5, 7, 10, 1) 100%
  );
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* ===== FOOTER ===== */
.footer {
  padding: 60px 5% 30px;
  border-top: 1px solid rgba(0, 229, 255, 0.1);
  background: rgba(5, 7, 10, 0.9);
  backdrop-filter: blur(10px);
}

.footer-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 40px;
  margin-bottom: 40px;
}

.footer h2 {
  color: var(--accent-cyan);
  margin-bottom: 10px;
}

.footer p {
  color: var(--text-gray);
  font-size: 0.9rem;
}

.footer h4 {
  margin-bottom: 15px;
}

.footer-links a {
  display: block;
  text-decoration: none;
  color: var(--text-gray);
  margin-bottom: 8px;
  font-size: 0.9rem;
  transition: 0.3s;
}

.footer-links a:hover {
  color: var(--accent-cyan);
  transform: translateX(5px);
}

.footer-bottom {
  text-align: center;
  font-size: 0.8rem;
  color: var(--text-gray);
  border-top: 1px solid rgba(0, 229, 255, 0.1);
  padding-top: 20px;
}

@media (max-width: 768px) {
  .hero h1 {
    font-size: 2.2rem;
  }
  .buttons {
    flex-direction: column;
    align-items: center;
  }
  .cards-container {
    flex-direction: column;
  }
}

/* Nova Área de Soluções */
/* Container que envolve os 3 cards */
.solutions-wrapper {
  background: rgba(0, 0, 0, 0.4); /* Fundo preto transparente */
  border: none;
  padding: 50px 30px;
  border-radius: 24px;
  backdrop-filter: blur(5px); /* Efeito de vidro opcional */
  max-width: 1200px;
  margin: 0 auto;
}

.solutions-grid {
  display: flex;
  justify-content: center;
  gap: 25px;
  max-width: 3000px;
  margin: 0 auto;
}

/* Ajuste nos cards para ficarem bem dentro do contorno preto */
.solution-card-box {
  flex: 1;
  background: rgba(16, 42, 67, 0.3);
  border: none;
  padding: 30px 20px;
  border-radius: 15px;
  transition: 0.3s;
}

.solution-card-box:hover {
  background: rgba(16, 42, 67, 0.6);
  border: none;
  transform: translateY(-5px);
}

.card {
  background: #0a0e14;
  padding: 30px;
  border-radius: 12px;
  flex: 1;
  font-size: 0.9rem;
  color: var(--text-gray);
  border: none;
  border-bottom: 3px solid transparent;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Transição com "bounce" */
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

/* Efeito de Hover (Passar o Mouse) */
.card:hover {
  transform: translateY(-10px) scale(1.02); /* Sobe e cresce levemente */
  background: #0f172a; /* Fica um pouco mais claro */
  border-color: rgba(30, 67, 115, 0.3);
  border-bottom-color: var(--accent-cyan);
  box-shadow:
    0 15px 30px rgba(0, 0, 0, 0.5),
    0 0 20px rgba(0, 229, 255, 0.1); /* Brilho suave */
  color: white; /* Texto ganha destaque */
}

/* Mantém o card do meio (ou o ativo) destacado por padrão */
.card.active {
  border-color: rgba(0, 229, 255, 0.4);
  border-bottom-color: var(--accent-cyan);
  background: #0d1520;
  box-shadow: 0 10px 25px rgba(0, 229, 255, 0.1);
}

.company-logo {
  height: 40px; /* Ajuste este valor conforme preferir */
  width: auto; /* Mantém a proporção da imagem */
  display: block;
  transition: transform 0.3s ease;
}

/* Opcional: leve efeito de destaque ao passar o mouse no logo */
.company-logo:hover {
  transform: scale(1.05);
}
.logo {
  display: flex;
  align-items: center;
}
/* Ajuste no Hero para ser o container de referência */
.hero {
  text-align: center;
  padding: 100px 10%;
  position: relative; /* Importante para o ícone absoluto */
  overflow: hidden; /* Impede bordas brancas e mantém o fundo no lugar */
}

/* Estilização do ícone de automação ao fundo */
.automation-background-icon {
  position: absolute;
  top: 50%; /* Centraliza verticalmente */
  left: 50%; /* Centraliza horizontalmente */
  transform: translate(-50%, -50%); /* Centralização sem rotação */

  width: 10000px; /* Tamanho grande */
  height: auto;

  /* Define que ele fique por trás do texto e botões */
  z-index: -1;

  /* Deixa o ícone bem sutil (quase transparente) */
  opacity: 0.2;

  /* Garante que o usuário não interaja com o ícone ao invés do texto */
  pointer-events: none;
}
.automation-c-background-icon {
  position: absolute;
  top: 50%; /* Centraliza verticalmente */
  left: 50%; /* Centraliza horizontalmente */
  transform: translate(-50%, -50%); /* Centralização sem rotação */

  width: 2000px; /* Tamanho grande */
  height: auto;

  /* Define que ele fique por trás do texto e botões */
  z-index: -1;

  /* Deixa o ícone bem sutil (quase transparente) */
  opacity: 0.4;

  /* Garante que o usuário não interaja com o ícone ao invés do texto */
  pointer-events: none;
}
.automation-pulo-background-icon {
  position: absolute;
  top: 50%; /* Centraliza verticalmente */
  left: 50%; /* Centraliza horizontalmente */
  transform: translate(-50%, -50%); /* Centralização sem rotação */

  width: 3000px; /* Tamanho grande */
  height: 1400px;

  /* Define que ele fique por trás do texto e botões */
  z-index: -1;

  /* Deixa o ícone bem sutil (quase transparente) */
  opacity: 0.2;

  /* Garante que o usuário não interaja com o ícone ao invés do texto */
  pointer-events: none;
  filter: blur(3px) !important;

  mask-image: radial-gradient(
    circle at center,
    rgba(0, 0, 0, 1) 50%,
    transparent 90%
  ) !important;
}

/* Ajuste sutil no H1 para garantir que ele fique legível */
.hero h1 {
  font-size: 3.5rem;
  font-weight: 900;
  margin-bottom: 1rem;
  position: relative; /* Garante que o H1 fique acima da imagem */
  z-index: 2; /* H1 acima do ícone */
}

/* Container do Ecossistema */
.ecosystem-flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin-top: 40px;
}

.ecosystem-card {
  background: rgba(16, 42, 67, 0.3);
  border: 1px solid rgba(0, 229, 255, 0.1);
  padding: 20px;
  border-radius: 12px;
  width: 180px; /* Largura fixa para manter o padrão */
  text-align: center;
  transition: 0.3s;
}

.ecosystem-card:hover {
  border-color: var(--accent-cyan);
  transform: translateY(-5px);
  background: rgba(16, 42, 67, 0.5);
}

.ecosystem-card h4 {
  color: var(--accent-cyan);
  font-size: 0.9rem;
  margin-bottom: 8px;
}

.ecosystem-card p {
  font-size: 0.75rem;
  color: var(--text-gray);
  line-height: 1.3;
}

/* Estilização da Seta */
.arrow-separator {
  color: var(--accent-cyan);
  font-weight: bold;
  font-size: 3.5rem;
  opacity: 0.6;
}

/* Esconder setas específicas no mobile se necessário */
@media (max-width: 768px) {
  .arrow-separator {
    transform: rotate(90deg); /* Seta aponta para baixo no mobile */
    margin: 10px 0;
  }
  .ecosystem-flow {
    flex-direction: column;
  }
}

/* Container do Dropdown */
.dropdown {
  position: relative;
  display: inline-block;
}

/* Estilo do link principal com a setinha */
.dropdown-trigger {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
}

.arrow {
  font-size: 0.6rem;
  transition: transform 0.3s ease;
}

/* Caixa do Menu Suspenso */
.dropdown-content {
  display: none;
  position: absolute;
  background: rgba(10, 17, 40, 0.95); /* Azul escuro do seu root */
  backdrop-filter: blur(15px); /* Efeito de vidro */
  min-width: 220px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(0, 229, 255, 0.1); /* Borda ciano sutil */
  border-radius: 12px;
  padding: 10px 0;
  z-index: 1100;
  top: 100%;
  left: 0; /* Ajustei para alinhar melhor à esquerda */
  margin-top: 0; /* REMOVA o margin-top: 10px que estava causando o buraco */
  padding-top: 10px;
}

/* Links dentro do Dropdown */
.dropdown-content a {
  color: white;
  padding: 12px 20px;
  text-decoration: none;
  display: block;
  font-size: 0.85rem;
  text-transform: none; /* Mantém leitura natural como na imagem */
  margin-left: 0; /* Reseta o margin do nav a */
  transition: 0.2s;
  opacity: 0.9;
}

/* Hover nos links internos */
.dropdown-content a:hover {
  background: rgba(0, 229, 255, 0.1);
  color: var(--accent-cyan);
  padding-left: 25px; /* Efeito de deslocamento ao passar o mouse */
}

/* Mostrar o menu no Hover */
.dropdown:hover .dropdown-content {
  display: block;
  animation: fadeIn 0.3s ease;
}

.dropdown:hover .arrow {
  transform: rotate(180deg);
  color: var(--accent-cyan);
}

/* Animação suave de entrada */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Cria uma área invisível para o mouse não perder o contato entre o link e o menu */
.dropdown::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 20px; /* Tamanho da ponte invisível */
  display: none;
}

.dropdown:hover::after {
  display: block;
}
/* Contêiner principal do Hero */
.hero-main-content {
  display: flex;
  align-items: center; /* Centraliza verticalmente a foto com o texto */
  justify-content: center; /* Centraliza o conjunto na tela */
  gap: 40px; /* Espaço entre a foto e o texto */
  margin-bottom: 30px;
  text-align: left; /* Garante que o texto fique alinhado à esquerda dentro do bloco */
}

/* Ajuste da foto para não quebrar */
.sidebar-identity {
  flex-shrink: 0; /* Impede que a foto diminua se o texto for grande */
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Ajuste do bloco de texto */
.hero-text-block {
  max-width: 900px; /* Limita a largura para manter a legibilidade */
}

/* Responsividade: No celular, eles voltam a ficar um em cima do outro */
@media (max-width: 768px) {
  .hero-main-content {
    flex-direction: column;
    text-align: center;
  }
}

.avatar-gradient-border {
  width: 280px;
  height: 280px;
  border-radius: 50%;
  padding: 6px;
  /* background: linear-gradient(135deg, #0ea5e9, #6366f1, #1E43783); */
  box-shadow:
    0 0 35px rgba(99, 102, 241, 0.3),
    0 0 80px rgba(14, 165, 233, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  animation: float 6s ease-in-out infinite;
}

.avatar-gradient-border img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
}
.person-info {
  text-align: center;
}

.person-info h3 {
  color: white;
  font-size: 1.4rem;
  margin-bottom: 2px;
}

/* estilo do inicio

/* Container que organiza os dois lados */
.hero-layout-container {
  display: flex;
  align-items: center; /* Alinha verticalmente o centro da foto com o texto */
  justify-content: center; /* Centraliza o conjunto na página */
  gap: 60px; /* Espaçamento entre a foto e o texto */
  max-width: 1200px;
  margin: 0 auto;
  text-align: left; /* Alinha o texto à esquerda para combinar com o novo layout */
}

/* Garante que a foto não encolha */
.hero-sidebar-identity {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Ajusta o tamanho da foto para não dominar a tela inteira se necessário */
.avatar-gradient-border {
  width: 220px; /* Ajuste conforme o seu gosto */
  height: 220px;
}

/* Alinhamento do Bloco de Texto */
.hero-text-block {
  max-width: 900px;
  text-align: justify; /* Alinha o texto em ambos os lados */
}

.hero-text-block h1 {
  margin-top: 0; /* Remove espaço extra no topo */
  text-align: justify; /* Alinha o texto em ambos os lados */
}

/* Responsividade: Volta ao normal no celular */
@media (max-width: 900px) {
  .hero-layout-container {
    flex-direction: column;
    text-align: center;
    gap: 30px;
  }
}
.hero-text-block p {
  text-align: justify;
  color: var(--text-gray); /* Mantendo sua cor original */
}
.hero-text-block p {
  text-align: justify;
  hyphens: auto; /* Adiciona hífens automaticamente se necessário */
}

/* --- SEÇÃO IMPACTO --- */
:root {
  --accent-cyan: #00d4ff;
  --bg-dark: #050b1a; /* Azul bem escuro */
  --card-border: #1e4373;
}

.impact-section {
  padding: 80px 10%;
  background: transparent;
  color: white;
  font-family: 'Arial', sans-serif;
}

.impact-text h1 {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 20px;
  line-height: 1.1;
}

.cyan-text { color: var(--accent-cyan); }

.description {
  font-size: 1.1rem;
  max-width: 600px;
  opacity: 0.9;
  margin-bottom: 40px;
}

/* Container dos Cards Inferiores */
.impact-cards {
  display: flex;
  gap: 20px;
}

.card-item {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px 25px;
  border: 2px solid var(--card-border);
  border-radius: 15px;
  background: rgba(30, 67, 115, 0.1);
  min-width: 200px;
}

.icon-box {
  color: var(--accent-cyan);
  font-size: 2rem;
  position: relative;
}

.small-arrow {
  font-size: 0.8rem;
  position: absolute;
  top: 0; right: -5px;
}
/* Responsividade: Volta ao normal no celular */
@media (max-width: 900px) {
  .hero-layout-container {
    flex-direction: column;
    text-align: center;
    gap: 30px;
  }
}
.hero-text-block p {
  text-align: justify;
  color: var(--text-gray); /* Mantendo sua cor original */
}
.hero-text-block p {
  text-align: justify;
  hyphens: auto; /* Adiciona hífens automaticamente se necessário */
}

/* --- SEÇÃO IMPACTO --- */
:root {
  --accent-cyan: #378cbb;
  --bg-dark: #050b1a; /* Azul bem escuro */
  --card-border: #1e4373;
}

.impact-section {
  padding: 80px 10%;
  background: transparent;
  color: white;
  font-family: 'Arial', sans-serif;
}

.impact-text h1 {
  font-size: 3rem;
  font-weight: 800;
  margin-bottom: 20px;
  line-height: 1.1;
}
.card-icon-img {
  width: 50px; /* Ajuste o tamanho conforme necessário */
  height: auto;
  display: block;
}

.cyan-text { color: var(--accent-cyan); }

.description {
  font-size: 1.1rem;
  max-width: 600px;
  opacity: 0.9;
  margin-bottom: 40px;
}

/* Container dos Cards Inferiores */
.impact-cards {
  display: flex;
  gap: 20px;
}
/* Container que segura a imagem */
.impact-visual {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.visual-wrapper {
  width: 100%;
  max-width: 500px; /* Limita o tamanho para não ficar gigante */
  
}

/* Estilização da imagem gerada */
.main-visual-img {
  width: 100%;
  height: auto;
  filter: drop-shadow(0 0 20px rgba(0, 212, 255, 0.3)); /* Adiciona um brilho extra ao redor */
  animation: float 6s ease-in-out infinite; /* Opcional: efeito de flutuação */
}

/* Efeito opcional de flutuação suave para dar vida ao site */
@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0px); }
}
/* Lado Direito - Visual */
.impact-visual {
  flex: 1;
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.visual-wrapper {
  width: 400px;
  height: 300px;
  gap: 10px;
  border-radius: 20px;
  padding: 20px;
  display: flex;
  align-items: flex-end;
  /* 
  background: linear-gradient(135deg, rgba(0, 212, 255, 0.1) 0%, rgba(0,0,0,0) 100%);
  border-left: 2px solid var(--accent-cyan);

   */
}

.bar {
  flex: 1;
  background: linear-gradient(to top, var(--accent-cyan), #005f73);
  box-shadow: 0 0 15px rgba(0, 212, 255, 0.5);
  border-radius: 4px 4px 0 0;
}
.impact-section,
.impact-section .impact-visual,
.impact-section .impact-text,
.impact-section .impact-stats,
.impact-section .stat-item {
  border: none !important;
  box-shadow: none !important;
}
.impact-solutions-section {
  position: relative;
  overflow: hidden; /* opcional, evita vazar */
}

.solutions-section .solutions-wrapper,
.solutions-section .solutions-grid,
.solutions-section .solution-card-box,
.solutions-section .custom-card,
.solutions-section .card {
  border: none !important;
  box-shadow: none !important;
}

.chart-container {
  display: flex;
  align-items: flex-end;
  justify-content: space-around;
  height: 200px;
  gap: 10px;
}

.chart-bar {
  width: 40px;
  background: rgba(0, 229, 255, 0.2);
  border-radius: 8px 8px 0 0;
  transition: 0.5s;
  animation: grow 1.5s ease-out forwards;
  animation-delay: var(--delay);
  opacity: 0;
}

.chart-bar.active {
  background: linear-gradient(to top, var(--accent-blue), var(--accent-cyan));
  box-shadow: 0 0 20px rgba(0, 229, 255, 0.4);
}

@keyframes grow {
  from {
    height: 0;
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* --- SEÇÃO TECH SERVICES (CARDS) --- */
.tech-services {
  padding: 60px 10%;
}

.services-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

.tech-card {
  background: rgba(16, 42, 67, 0.4);
  border: 1px solid rgba(0, 229, 255, 0.1);
  padding: 40px;
  border-radius: 24px;
  position: relative;
  transition: 0.4s;
}

.tech-card:hover {
  transform: translateY(-10px);
  border-color: var(--accent-cyan);
}

/* Bordas coloridas para diferenciar */
.tech-card.support {
  border-left: 5px solid #6366f1;
}
.tech-card.vdi {
  border-left: 5px solid var(--accent-cyan);
}

.tech-icon {
  font-size: 2.5rem;
  margin-bottom: 20px;
}

.tech-card h3 {
  font-size: 1.8rem;
  margin-bottom: 15px;
  color: white;
}

.tech-list {
  list-style: none;
  margin-top: 20px;
}

.tech-list li {
  margin-bottom: 10px;
  color: var(--text-gray);
  display: flex;
  align-items: center;
  gap: 10px;
}

.tech-list li::before {
  content: "✓";
  color: var(--accent-cyan);
  font-weight: bold;
}

/* Responsivo */
@media (max-width: 850px) {
  .impact-container,
  .services-grid {
    flex-direction: column;
    grid-template-columns: 1fr;
  }
}
/* Ajuste para que a seção flua com o restante do site */
.slide-15s-container {
  display: flex; /* Mudei de grid para flex para facilitar a centralização */
  justify-content: center;
  align-items: center;
  padding: 40px 5%;
  min-height: 400px; /* Removido o 100dvh fixo */
  width: 100%;
  position: relative;
  background-color: transparent; /* Deixe o fundo do body agir */
  color: #ffffff;
  overflow: visible; /* Permitir que o hover (translateY) apareça */
}

.slide-15s-center {
  width: 100%;
  max-width: 1200px;
  z-index: 2;
}

/* Ajuste da linha da timeline para não ficar torta */
.timeline-line {
  position: absolute;
  top: 35px; /* Ajuste conforme a altura do .step-number */
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(90deg, #0ea5e9, #6366f1, #f97316, #22c55e);
  opacity: 0.3;
  z-index: 0;
}
/* --- LAYOUT DE LINHAS (ESTILO G. TRIGUEIRO) --- */
.feature-row {
  position: relative;
  overflow: hidden;
  padding: 100px 10%;
  display: flex;
  justify-content: center;
}

.feature-row::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.feature-container {
  max-width: 1200px;
  display: flex;
  align-items: center;
  gap: 80px;
  position: relative;
  z-index: 1;
}

.feature-row.reverse .feature-container {
  flex-direction: row-reverse;
}

.feature-content {
  flex: 1;
}

.feature-tag {
  color: var(--accent-cyan);
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 0.8rem;
  font-weight: 700;
  display: block;
  margin-bottom: 15px;
}

.feature-content h2 {
  font-size: 2.8rem;
  line-height: 1.1;
  margin-bottom: 25px;
}

.feature-content p {
  color: var(--text-gray);
  font-size: 1.1rem;
  margin-bottom: 30px;
  text-align: justify;
}

/* --- LISTA E MINI STATS --- */
.feature-list {
  list-style: none;
}

.feature-list li {
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: white;
}

.feature-list li::before {
  content: "→";
  color: var(--accent-cyan);
  font-weight: bold;
}
/* Aumentando o corpo da lista */
.feature-list {
  list-style: none;
  margin-top: 20px;
}

.feature-list li {
  font-size: 1.25rem; /* Aumenta o título do item */
  font-weight: 600;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: white;
}

.feature-list p {
  font-size: 1.05rem; /* Aumenta a descrição */
  line-height: 1.5;
  margin-bottom: 25px; /* Espaço entre um tópico e outro */
  color: rgba(255, 255, 255, 0.8); /* Suaviza a cor do parágrafo */
  padding-left: 25px; /* Alinha o texto abaixo do ícone → */
}

/* Ajustando o tamanho do ícone indicador */
.feature-list li::before {
  content: "→";
  color: var(--accent-cyan);
  font-weight: bold;
  font-size: 1.4rem;
}

/* --- RESPONSIVIDADE PARA CELULAR --- */
@media (max-width: 992px) {
  .feature-row {
    display: flex;
    flex-direction: column; /* Força o empilhamento vertical */
    gap: 30px; /* Espaço entre a primeira e a segunda lista */
  }

  .feature-list {
    width: 100%; /* Garante que a lista use toda a largura disponível */
    padding: 0;
  }

  /* Opcional: Ajustar o tamanho da fonte para telas menores */
  .feature-list li {
    font-size: 1.15rem;
  }

  .feature-list p {
    font-size: 1rem;
    padding-left: 20px; /* Ajusta o recuo do texto no mobile */
  }
}

.mini-stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.mini-stat h4 {
  font-size: 1.8rem;
  color: var(--accent-cyan);
}

/* --- FRAME DE IMAGEM TECH --- */
.feature-image {
  flex: 1;
  position: relative;
}
/* Espaçamento entre o frame do vídeo e o conteúdo abaixo */
.feature-image + div {
  margin-top: 60px; /* Ajuste este valor conforme necessário */
}

/* Melhorando o espaçamento interno do título de benefícios */
.feature-image + div h2 {
  line-height: 1.6;
  margin-bottom: 30px;
}
.image-frame {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(0, 229, 255, 0.2);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
}

.image-frame img {
  width: 100%;
  display: block;
  transition: transform 0.5s ease;
}

.image-frame:hover img {
  transform: scale(1.05);
}

.frame-glare {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1) 0%,
    transparent 50%
  );
  pointer-events: none;
}

/* Responsividade */
@media (max-width: 968px) {
  .feature-container,
  .feature-row.reverse .feature-container {
    flex-direction: column;
    text-align: center;
    gap: 40px;
  }

  .feature-content h2 {
    font-size: 2rem;
  }

  .feature-row .baleia-background-icon {
    position: absolute !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 1100px;
    max-width: none;
    opacity: 0.14;
  }
}

/*Card box principal*/

.custom-card {
  position: relative; /* Base para os elementos absolutos */
  height: 350px; /* Defina uma altura fixa para o card */
  background: #0d1526;
  border-radius: 20px;
  overflow: hidden;
  border: none;
  transition: all 0.4s ease;
}

/* Faz a imagem ocupar 100% do card */
.card-image-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

/* Overlay de vidro (escondido) */
.card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 17, 40, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px;
  opacity: 0;
  z-index: 3; /* Fica acima de tudo no hover */
  transition: all 0.4s ease;
  transform: translateY(100%); /* Vem de baixo para cima */
  display: flex;
  flex-direction: column; /* Ícone em cima, texto embaixo */
  align-items: center;
  justify-content: center;
  gap: 15px; /* Espaço entre o ícone e o texto */
  padding: 20px;
  transition: all 0.4s ease-in-out;
}

/* Conteúdo (Tag e Título) flutuando no rodapé do card */
.card-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  z-index: 2; /* Acima da imagem, abaixo do overlay de hover */
  background: linear-gradient(to top, rgba(10, 17, 40, 0.9), transparent);
  transition: opacity 0.3s ease;
}

/* --- ESTADOS DE HOVER --- */

.custom-card:hover {
  transform: translateY(-10px);
  border-color: var(--accent-cyan);
}

/* Mostra o overlay com o texto descritivo */
.custom-card:hover .card-overlay {
  opacity: 1;
  transform: translateY(0);
}

/* Esconde o título original para não dar conflito visual com o texto do overlay */
.custom-card:hover .card-content {
  opacity: 0;
}

.custom-card:hover .card-image-wrapper img {
  transform: scale(1.1);
}

/* Container do Grid */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 25px;
  padding: 20px;
}

/* O Card Principal */
.custom-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(0, 229, 255, 0.1);
  border-radius: 16px;
  overflow: hidden;
  transition: all 0.4s ease;
  position: relative;
}

.custom-card:hover {
  transform: translateY(-10px);
  border-color: var(--accent-cyan);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

/* Wrapper da Imagem e Overlay */
.card-image-wrapper {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
  background: #0f172a; /* Fundo escuro para destacar a imagem */
}

.card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

/* O Efeito de Vidro (Overlay) */
.card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 17, 40, 0.85); /* Tom azul escuro transparente */
  backdrop-filter: blur(8px); /* Efeito de desfoque igual ao vídeo */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0; /* Invisível por padrão */
  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
  transform: translateY(20px); /* Começa um pouco abaixo */
}

.overlay-text {
  color: white;
  font-size: 0.9rem;
  text-align: center;
  line-height: 1.5;
}

/* Trigger da Animação no Hover */
.custom-card:hover .card-overlay {
  opacity: 1;
  transform: translateY(0);
}

.custom-card:hover .card-image-wrapper img {
  transform: scale(1.1); /* Zoom suave na imagem de fundo */
}

/* Conteúdo abaixo da imagem */
.card-content {
  padding: 20px;
  background: transparent;
}

.card-tag {
  color: var(--accent-cyan);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 8px;
}

.card-content h3 {
  font-size: 1.2rem;
  margin-bottom: 15px;
}

.cards-grid {
  display: grid;
  /* Força 4 colunas de tamanho igual */
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; /* Reduzi levemente o gap para caber melhor */
  width: 100%;
  max-width: 3000px;
  margin: 0 auto;
}

/* Ajuste na altura da imagem para os cards não ficarem muito longos na vertical */
.card-image-wrapper {
  width: 100%;
  height: 160px; /* Reduzido de 200px para equilibrar o design horizontal */
}

/* Responsividade: Como 4 cards em linha ficam muito estreitos no tablet/celular */
@media (max-width: 1024px) {
  .cards-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 por linha em tablets */
  }
}

@media (max-width: 600px) {
  .cards-grid {
    grid-template-columns: 1fr; /* 1 por linha no celular */
  }
}

.custom-card {
  background: #0d1526; /* Um tom acima do seu bg-dark para dar contraste */
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(0, 229, 255, 0.1);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  cursor: pointer;
}

/* Container da Imagem */
/* Container da Imagem */
.card-image-wrapper {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
  background: #0f172a;
}

.card-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

/* --- O OVERLAY (Efeito Vidro + Centralização) --- */
.card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  /* Efeito de Vidro e Desfoque */
  background: rgba(10, 17, 40, 0.85);
  backdrop-filter: blur(12px); /* Desfoque de fundo */
  -webkit-backdrop-filter: blur(12px);

  /* Alinhamento Centralizado */
  display: flex;
  flex-direction: column; /* Ícone em cima, texto embaixo */
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 25px;
  gap: 15px; /* Espaço entre o ícone e o texto */

  /* Estados iniciais (Escondido) */
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s ease-in-out;
  pointer-events: none;
  z-index: 5;
}

/* --- O ÍCONE (PSEUDO-ELEMENTO) --- */
.card-overlay::before {
  content: "";
  display: block;
  width: 80px; /* Tamanho do ícone central */
  height: 80px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;

  /* Estilo visual */
  filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.7));

  /* Animação de entrada */
  transform: scale(0.5);
  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* --- TEXTO NO OVERLAY --- */
.card-overlay {
  display: flex;
  flex-direction: column;
  /* Muda de center para flex-end para empurrar o texto para baixo */
  justify-content: flex-end; 
  
  /* Alinha horizontalmente no centro */
  align-items: center; 
  
  /* Adiciona uma margem interna no fundo para o texto não colar na borda */
  padding-bottom: 30px; 
  
  /* Garante que o texto ocupe a área total para o alinhamento funcionar */
  height: 100%;
  box-sizing: border-box;
  
  /* Mantém suas configurações de visibilidade */
  opacity: 0;
  transition: all 0.4s ease;
}
/* --- ESTADOS DE HOVER --- */

/* Mostra o overlay e centraliza */
.custom-card:hover .card-overlay {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Faz o ícone "saltar" para o tamanho normal */
.custom-card:hover .card-overlay::before {
  transform: scale(1);
}

/* Imagem de fundo continua com o zoom suave */
.custom-card:hover .card-image-wrapper img {
  transform: scale(1.1);
}

/* --- DEFINIÇÃO DOS ÍCONES POR CARD --- */

.custom-card:nth-child(1) .card-overlay::before {
  background-image: url("../icons/logo-nuvem.png");
}

.custom-card:nth-child(2) .card-overlay::before {
  background-image: url("../icons/logo-codigo.png");
}

.custom-card:nth-child(3) .card-overlay::before {
  background-image: url("../icons/logo-ia.png");
}

.custom-card:nth-child(4) .card-overlay::before {
  background-image: url("../icons/logo-modernizacao.png");
}

.card-content {
  padding: 20px;
}

.card-content h3 {
  font-size: 1.3rem;
  margin: 10px 0;
  color: white;
}

.card-link {
  color: white;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: 0.3s;
}

.card-link span {
  transition: transform 0.3s ease;
}

/* --- ANIMAÇÕES AO PASSAR O MOUSE (HOVER) --- */
.custom-card:hover {
  transform: translateY(-15px); /* Efeito de subir */
  border-color: var(--accent-cyan);
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.6),
    0 0 20px rgba(0, 229, 255, 0.1);
}

.custom-card:hover .card-image-wrapper img {
  transform: scale(1.1); /* Zoom suave na imagem */
}

.custom-card:hover .card-link {
  color: var(--accent-cyan);
}

.custom-card:hover .card-link span {
  transform: translateX(5px); /* Seta mexe para o lado */
}

/* Estilo para um card que já inicia em destaque */
.custom-card.active {
  border-color: var(--accent-cyan);
  /* background: rgba(16, 42, 67, 0.4); */
}

/* Responsividade */
@media (max-width: 768px) {
  .cards-grid {
    grid-template-columns: 1fr;
    padding: 0 20px;
  }
}
.delivery-flow-section {
  padding: 80px 0;
  /* background: #060b1b; */
}
.delivery-flow-section .container {
  display: flex;
  flex-direction: column;
  align-items: center; /* Centraliza os itens do container horizontalmente */
  text-align: center; /* Centraliza o texto interno */
}
.titulo-principal span {
  color: #378cbb; /* Um azul tech vibrante */
  /* Ou, se preferir usar sua variável: color: var(--accent-cyan); */
  font-weight: bold; /* Garante que o destaque fique nítido */
}
.delivery-flow-section h1.titulo-principal {
  margin-bottom: 50px;
}

.delivery-flow-section p {
  max-width: 800px; /* Evita que a linha fique muito comprida no desktop */
  margin: 0 auto 50px auto; /* Centraliza o bloco e dá espaço para os cards abaixo */
  line-height: 1.6;
  color: rgba(
    255,
    255,
    255,
    0.8
  ); /* Exemplo de cor para manter a legibilidade */
}

/* Ajuste para o grid não herdar o alinhamento central do texto nos cards */
.flow-grid {
  text-align: left;
  width: 100%;
}

.section-gap-graphic {
  width: 100%;
  padding: 40px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.section-gap-graphic .baleia-background-icon {
  position: relative;
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  opacity: 0.12;
  filter: blur(1px);
  pointer-events: none;
}

.titulo-principal {
  text-align: center;
}

.feature-row .feature-content h2,
.feature-row .feature-content h3 {
  text-align: center;
}

.feature-row .baleia-background-icon {
  position: absolute !important;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.2);
  width: 1400px;
  max-width: none;
  height: auto;
  opacity: 0.18;
  filter: blur(0.8px);
  pointer-events: none;
  z-index: 0;
}

.flow-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin-top: 50px;
  position: relative;
}

/* O CARD ESTILO CACHINA */
/* O CARD AGORA SEM FUNDO PRETO */
.flow-card {
  /* Removido: background: #0d1526; */
  background: rgba(255, 255, 255, 0.03); /* Fundo quase invisível */
  backdrop-filter: blur(
    5px
  ); /* Desfoque leve para não esconder a malha do fundo */
  -webkit-backdrop-filter: blur(5px);

  border-radius: 15px;
  padding: 25px 20px;

  /* Borda sutil para dar forma ao card sem o fundo escuro */
  border: 1px solid rgba(0, 229, 255, 0.1);

  position: relative;
  transition: all 0.3s ease;
}

/* Ajuste no hover para não criar um bloco sólido */
.flow-card:hover {
  background: rgba(
    0,
    229,
    255,
    0.05
  ); /* Brilho ciano bem suave ao passar o mouse */
  border-color: var(--accent-cyan);
  transform: translateY(-5px);
}

/* Removemos também o fundo do footer para seguir o padrão */
.delivery-footer {
  margin-top: 40px;
  background: transparent; /* Remove o fundo preto/cinza */
  border: 1px dashed rgba(0, 229, 255, 0.3);
  border-radius: 12px;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
}

/* Ícones do Cabeçalho (Estilo imagem de referência) */
.card-icon-header {
  /* background: rgba(0, 229, 255, 0.1); */
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.card-icon-header img {
  width: 35px;
  filter: drop-shadow(0 0 5px var(--accent-cyan));
}

/* Textos */
.card-body h3 {
  font-size: 1.1rem;
  color: white;
  margin: 0;
}

.sub-title {
  font-size: 0.8rem;
  color: var(--accent-cyan);
  display: block;
  margin-bottom: 15px;
  text-transform: uppercase;
  font-weight: 700;
}

.card-body ul {
  list-style: none;
  padding: 0;
}

.card-body ul li {
  font-size: 0.85rem;
  color: #a0aec0;
  margin-bottom: 8px;
  padding-left: 15px;
  position: relative;
}

.card-body ul li::before {
  content: "•";
  color: var(--accent-cyan);
  position: absolute;
  left: 0;
}
/* Garante a transparência e bordas do novo design */
.flow-card {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 229, 255, 0.1);
  border-radius: 20px;
  padding: 30px;
  transition: all 0.4s ease;
}

/* Estilo do link de ação para parecer um botão interativo */
.card-link {
  display: flex;
  align-items: center;
  gap: 10px;
  color: white;
  text-decoration: none;
  font-weight: 600;
  margin-top: 20px;
  transition: 0.3s;
}

.flow-card:hover .card-link {
  color: var(--accent-cyan);
}

.flow-card:hover .card-link span {
  transform: translateX(5px); /* Efeito da seta movendo no hover */
}

/* CORES DOS CARDS (Baseado na imagem que você mandou) */
.diagnostic {
  border-top: 4px solid #f97316;
} /* Laranja */
.reengineering {
  border-top: 4px solid #fbbf24;
} /* Amarelo */
.technology {
  border-top: 4px solid #3b82f6;
} /* Azul */
.intelligence {
  border-top: 4px solid #22c55e;
} /* Verde */

/* FOOTER DA ENTREGA */
.delivery-footer {
  margin-top: 40px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 12px;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  border: 1px dashed rgba(0, 229, 255, 0.2);
}

/* Responsividade */
@media (max-width: 1024px) {
  .flow-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .flow-arrow {
    display: none;
  }
}
@media (max-width: 600px) {
  .flow-grid {
    grid-template-columns: 1fr;
  }
}

/* Container Principal Lado a Lado */
.dual-layout-section {
  padding: 80px 5%;
  background: rgba(10, 17, 40, 0);
}
section,
.main-wrapper,
.body-content {
  /* Adicione aqui as classes que envolvem o dual-container */
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.dual-container {
  display: flex;
  max-width: 1600px;
  margin: 0 auto;
  gap: 40px;
  background: rgba(16, 42, 67, 0.2);
  border: 1px solid rgba(0, 229, 255, 0.1);
  border-radius: 30px;
  overflow: hidden;
}

.dual-column {
  flex: 1;
  padding: 40px;
}

.border-left {
  border-left: 1px solid rgba(0, 229, 255, 0.1);
  background: rgba(0, 0, 0, 0.2);
}

.column-header h1 {
  font-size: 2rem;
  margin-bottom: 40px;
  text-align: center;
}

.column-header span {
  color: var(--accent-cyan);
}

/* Estilo da Jornada Vertical */
.journey-steps-vertical {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.v-step {
  display: flex;
  gap: 20px;
  align-items: center;
  background: rgba(255, 255, 255, 0.03);
  padding: 15px;
  border-radius: 12px;
  transition: 0.3s;
}

.v-step:hover {
  background: rgba(0, 229, 255, 0.05);
  transform: translateX(10px);
}

.v-step-number {
  width: 40px;
  height: 40px;
  background: var(--accent-cyan);
  color: #000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  flex-shrink: 0;
}

/* Estilo do Ecossistema Vertical */
.ecosystem-vertical-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.eco-item {
  background: rgba(16, 42, 67, 0.5);
  border: 1px solid rgba(0, 229, 255, 0.1);
  padding: 15px;
  border-radius: 10px;
  width: 100%;
  text-align: center;
}

.eco-item h4 {
  color: var(--accent-cyan);
  margin-bottom: 5px;
}

.v-arrow {
  color: var(--accent-cyan);
  font-weight: bold;
  opacity: 0.5;
}

/* Responsividade: No celular fica um em cima do outro */
@media (max-width: 900px) {
  .dual-container {
    flex-direction: column;
  }
  .border-left {
    border-left: none;
    border-top: 1px solid rgba(0, 229, 255, 0.1);
  }
}

/* Container do Card de Tecnologia */
.tech-stack-section {
  padding: 100px 5%;
  display: flex;
  justify-content: center;
}

.tech-stack-container {
  max-width: 1600px;
  display: flex;
  align-items: center;
  gap: 50px;
  background: rgba(16, 42, 67, 0.2);
  border: 1px solid rgba(0, 229, 255, 0.1);
  padding: 60px;
  border-radius: 40px;
  backdrop-filter: blur(10px);
}

/* Lado do Texto */
.tech-stack-info {
  flex: 1;
}

.tech-stack-info h2 {
  font-size: 2.5rem;
  margin-bottom: 20px;
}

.tech-stack-info h2 span {
  color: var(--accent-cyan);
}

.tech-stack-info p {
  color: var(--text-gray);
  margin-bottom: 30px;
  font-size: 1.1rem;
}

.tech-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.badge {
  background: rgba(0, 229, 255, 0.1);
  border: 1px solid var(--accent-cyan);
  color: var(--accent-cyan);
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: bold;
}

/* Lado Visual (Órbita) */
.tech-stack-visual {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  /* Garante que a órbita não "vaze" do card */
  min-height: 450px;
}

/* Ajustes finos na sua órbita para caber no container */
.orbit-container {
  transform: scale(0.85); /* Ajusta o tamanho se necessário */
}

/* Responsividade */
@media (max-width: 968px) {
  .tech-stack-container {
    flex-direction: column;
    text-align: center;
    padding: 40px 20px;
  }

  .tech-badges {
    justify-content: center;
  }

  .tech-stack-visual {
    min-height: auto;
    margin-top: 40px;
  }

  .orbit-container {
    transform: scale(0.7); /* Reduz um pouco mais no mobile */
  }
}

.servicos-section {
  background-color: var(--bg-dark);
  padding: 80px 20px;
  text-align: center;
  position: relative;
  overflow: hidden; /* Importante para o arco não vazar da tela */
  font-family: "sans-serif";
}

.titulo-principal {
  color: #fff;
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.divider {
  width: 80px;
  height: 3px;
  background: var(--accent-cyan);
  margin: 0 auto 50px;
}

/* --- O ARCO DECORATIVO --- */
.arco-background {
  position: absolute;
  width: 900px;
  height: 900px;
  border: 60px solid rgba(255, 255, 255, 0.03); /* Bem sutil como na imagem */
  border-radius: 50%;
  bottom: -400px;
  right: -200px;
  z-index: 1;
  pointer-events: none;
}

/* --- CONTAINER DE CARDS --- */
.cards-container {
  display: flex;
  justify-content: center;
  gap: 25px;
  flex-wrap: wrap;
  position: relative;
  z-index: 2; /* Fica acima do arco */
}

.card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(0, 229, 255, 0.3);
  border-radius: 40px;
  padding: 40px 30px;
  width: 280px;
  transition:
    transform 0.3s ease,
    border-color 0.3s ease;
  backdrop-filter: blur(10px); /* Efeito glassmorphism */
}

.card:hover {
  transform: translateY(-10px);
  border-color: var(--accent-cyan);
  background: rgba(255, 255, 255, 0.05);
}

.card .icon {
  font-size: 40px;
  margin-bottom: 20px;
  display: block;
}

.card h3 {
  color: #fff;
  font-size: 1.4rem;
  margin-bottom: 15px;
  line-height: 1.2;
}

.card p {
  color: var(--text-gray);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* Ajuste para telas menores */
@media (max-width: 768px) {
  .card {
    width: 100%;
    max-width: 400px;
  }
}

.servicos-section {
  background-color: var(--bg-dark);
  padding: 80px 20px;
  text-align: center;
  position: relative;
  overflow: hidden; /* Importante para o arco não vazar da tela */
  font-family: "sans-serif";
}

.titulo-principal {
  color: #fff;
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.divider {
  width: 80px;
  height: 3px;
  background: var(--accent-cyan);
  margin: 0 auto 50px;
}

/* --- O ARCO DECORATIVO --- */
.arco-background {
  position: absolute;
  width: 900px;
  height: 900px;
  border: 60px solid rgba(255, 255, 255, 0.03); /* Bem sutil como na imagem */
  border-radius: 50%;
  bottom: -400px;
  right: -200px;
  z-index: 1;
  pointer-events: none;
}
.card .icon {
  color: var(--accent-cyan);
  font-size: 45px;
  filter: drop-shadow(0 0 8px rgba(0, 229, 255, 0.5)); /* Efeito de Neon */
  margin-bottom: 20px;
}

/* ================= 1. ESTRUTURA BASE ================= */
.slide-13-container {
  display: grid;
  grid-template-columns: 0.8fr 1.4fr 0.8fr;
  gap: 30px;
  align-items: center;
  padding: 60px;
  min-height: 100dvh;
  width: 100%;
  position: relative;
  /* background-color: #1E43783; */
  color: #ffffff;
  font-family: "Inter", sans-serif;
  overflow: hidden;
  box-sizing: border-box;
}

/* Background effects */
.slide-13-container::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  z-index: 1;
  pointer-events: none;
}

/* ================= 2. CARROSSEL INFINITO (SLIDE 13) ================= */
.slide-13-center {
  z-index: 10;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.logo-slider-s13 {
  width: 100%;
  padding: 20px 0;
  /* Máscara de suavização nas bordas */
  mask-image: linear-gradient(
    to right,
    transparent,
    black 15%,
    black 85%,
    transparent
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent,
    black 15%,
    black 85%,
    transparent
  );
}

.logo-track-s13 {
  display: flex;
  align-items: center;
  gap: 0;
  /* Cálculo: largura do item * quantidade total de itens (originais + clones) */
  width: calc(200px * 16);
  animation: scrollS13 25s linear infinite;
  will-change: transform;
}

.logo-item-s13 {
  width: 200px;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.logo-item-s13 img {
  width: 130px;
  height: 80px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.logo-item-s13 img:hover {
  transform: scale(1.1);
}

/* Animação: Deve mover exatamente METADE da largura total da track */
@keyframes scrollS13 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-200px * 8));
  }
}

.logo-slider-s13:hover .logo-track-s13 {
  animation-play-state: paused;
}

/* ================= 3. TEXTOS LATERAIS ================= */
.slide-13-left .title {
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1.1;
}

.slide-13-left .title span {
  color: #378cbb;
  text-shadow: 0 0 20px rgba(30, 67, 115, 0.4);
}

.slide-13-right {
  text-align: right;
}

/* ================= 4. RESPONSIVIDADE (MOBILE & TABLET) ================= */
@media (max-width: 992px) {
  .slide-13-container {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    padding: 40px 20px !important;
    overflow-y: auto !important;
    justify-content: center !important;
  }

  .slide-13-left,
  .slide-13-right {
    text-align: center;
    width: 100%;
  }

  .logo-item-s13 {
    width: 150px;
  }

  .logo-track-s13 {
    width: calc(150px * 16);
    animation: scrollS13-mob 15s linear infinite;
  }

  @keyframes scrollS13-mob {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-150px * 8));
    }
  }
}

/* ================= 5. MODO LANDSCAPE (CELULAR DEITADO) ================= */
@media (max-height: 550px) and (orientation: landscape) {
  .slide-13-container {
    padding: 20px !important;
    gap: 15px;
  }

  .slide-13-left .title {
    font-size: 1.8rem !important;
  }

  .logo-item-s13 img {
    max-height: 50px;
  }
}
.secao-wave {
  position: relative;
  overflow: hidden;
}

.wave-img {
  position: absolute;
  bottom: 0; /* fica no fundo da seção */
  left: 0;
  width: 100%;
  height: auto;
  z-index: 0; /* fica atrás do conteúdo */
  pointer-events: none; /* evita interferir em cliques */
  filter: blur(12px);
  opacity: 0.2;

  mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 40%, transparent 80%);
  -webkit-mask-image: radial-gradient(
    circle,
    rgba(0, 0, 0, 1) 30%,
    transparent 80%
  );
}
.slide-14-center * {
  position: relative;
  z-index: 2;
}
.wave-img {
  bottom: -5px;
}

.trusted-box {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;

  padding: 30px 20px;

  border-radius: 20px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(0, 229, 255, 0.1);

  overflow: hidden; /* 🔥 ESSENCIAL */
  position: relative;
}
.logo-slider-s13 {
  width: 100%;
  overflow: hidden;
}
.logo-track-s13 {
  display: flex;
  gap: 0;

  /* mantém animação */
  animation: scrollS13 25s linear infinite;

  /* 🔥 importante */
  /* --- RESPONSIVIDADE PARA CELULAR --- */
  @media (max-width: 992px) {
    .feature-row {
      display: flex;
      flex-direction: column; /* Força o empilhamento vertical */
      gap: 30px; /* Espaço entre a primeira e a segunda lista */
    }

    .feature-list {
      width: 100%; /* Garante que a lista use toda a largura disponível */
      padding: 0;
    }

    /* Opcional: Ajustar o tamanho da fonte para telas menores */
    .feature-list li {
      font-size: 1.15rem;
    }

    .feature-list p {
      font-size: 1rem;
      padding-left: 20px; /* Ajusta o recuo do texto no mobile */
    }
  }

  .mini-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .mini-stat h4 {
    font-size: 1.8rem;
    color: var(--accent-cyan);
  }

  /* --- FRAME DE IMAGEM TECH --- */
  .feature-image {
    flex: 1;
    position: relative;
  }
  /* Espaçamento entre o frame do vídeo e o conteúdo abaixo */
  .feature-image + div {
    margin-top: 60px; /* Ajuste este valor conforme necessário */
  }

  /* Melhorando o espaçamento interno do título de benefícios */
  .feature-image + div h2 {
    line-height: 1.6;
    margin-bottom: 30px;
  }
  .image-frame {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(0, 229, 255, 0.2);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
  }

  .image-frame img {
    width: 100%;
    display: block;
    transition: transform 0.5s ease;
  }

  .image-frame:hover img {
    transform: scale(1.05);
  }

  .frame-glare {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.1) 0%,
      transparent 50%
    );
    pointer-events: none;
  }

  /* Responsividade */
  @media (max-width: 968px) {
    .feature-container,
    .feature-row.reverse .feature-container {
      flex-direction: column;
      text-align: center;
      gap: 40px;
    }

    .feature-content h2 {
      font-size: 2rem;
    }

    .feature-row .baleia-background-icon {
      position: absolute !important;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(1);
      width: 1100px;
      max-width: none;
      opacity: 0.14;
    }
  }

  /*Card box principal*/

  .custom-card {
    position: relative; /* Base para os elementos absolutos */
    height: 350px; /* Defina uma altura fixa para o card */
    background: #0d1526;
    border-radius: 20px;
    overflow: hidden;
    border: none;
    transition: all 0.4s ease;
  }

  /* Faz a imagem ocupar 100% do card */
  .card-image-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  }

  .card-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
  }

  /* Overlay de vidro (escondido) */
  .card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(10, 17, 40, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    opacity: 0;
    z-index: 3; /* Fica acima de tudo no hover */
    transition: all 0.4s ease;
    transform: translateY(100%); /* Vem de baixo para cima */
    display: flex;
    flex-direction: column; /* Ícone em cima, texto embaixo */
    align-items: center;
    justify-content: center;
    gap: 15px; /* Espaço entre o ícone e o texto */
    padding: 20px;
    transition: all 0.4s ease-in-out;
  }

  /* Conteúdo (Tag e Título) flutuando no rodapé do card */
  .card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    z-index: 2; /* Acima da imagem, abaixo do overlay de hover */
    background: linear-gradient(to top, rgba(10, 17, 40, 0.9), transparent);
    transition: opacity 0.3s ease;
  }

  /* --- ESTADOS DE HOVER --- */

  .custom-card:hover {
    transform: translateY(-10px);
    border-color: var(--accent-cyan);
  }

  /* Mostra o overlay com o texto descritivo */
  .custom-card:hover .card-overlay {
    opacity: 1;
    transform: translateY(0);
  }

  /* Esconde o título original para não dar conflito visual com o texto do overlay */
  .custom-card:hover .card-content {
    opacity: 0;
  }

  .custom-card:hover .card-image-wrapper img {
    transform: scale(1.1);
  }

  /* Container do Grid */
  .cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 25px;
    padding: 20px;
  }

  /* O Card Principal */
  .custom-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(0, 229, 255, 0.1);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s ease;
    position: relative;
  }

  .custom-card:hover {
    transform: translateY(-10px);
    border-color: var(--accent-cyan);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  }

  /* Wrapper da Imagem e Overlay */
  .card-image-wrapper {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: #0f172a; /* Fundo escuro para destacar a imagem */
  }

  .card-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
  }

  /* O Efeito de Vidro (Overlay) */
  .card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(10, 17, 40, 0.85); /* Tom azul escuro transparente */
    backdrop-filter: blur(8px); /* Efeito de desfoque igual ao vídeo */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0; /* Invisível por padrão */
    transition:
      opacity 0.4s ease,
      transform 0.4s ease;
    transform: translateY(20px); /* Começa um pouco abaixo */
  }

  .overlay-text {
    color: white;
    font-size: 0.9rem;
    text-align: center;
    line-height: 1.5;
  }

  /* Trigger da Animação no Hover */
  .custom-card:hover .card-overlay {
    opacity: 1;
    transform: translateY(0);
  }

  .custom-card:hover .card-image-wrapper img {
    transform: scale(1.1); /* Zoom suave na imagem de fundo */
  }

  /* Conteúdo abaixo da imagem */
  .card-content {
    padding: 20px;
    background: transparent;
  }

  .card-tag {
    color: var(--accent-cyan);
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 8px;
  }

  .card-content h3 {
    font-size: 1.2rem;
    margin-bottom: 15px;
  }

  .cards-grid {
    display: grid;
    /* Força 4 colunas de tamanho igual */
    grid-template-columns: repeat(4, 1fr);
    gap: 20px; /* Reduzi levemente o gap para caber melhor */
    width: 100%;
    max-width: 3000px;
    margin: 0 auto;
  }

  /* Ajuste na altura da imagem para os cards não ficarem muito longos na vertical */
  .card-image-wrapper {
    width: 100%;
    height: 160px; /* Reduzido de 200px para equilibrar o design horizontal */
  }

  /* Responsividade: Como 4 cards em linha ficam muito estreitos no tablet/celular */
  @media (max-width: 1024px) {
    .cards-grid {
      grid-template-columns: repeat(2, 1fr); /* 2 por linha em tablets */
    }
  }

  @media (max-width: 600px) {
    .cards-grid {
      grid-template-columns: 1fr; /* 1 por linha no celular */
    }
  }

  .custom-card {
    background: #0d1526; /* Um tom acima do seu bg-dark para dar contraste */
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(0, 229, 255, 0.1);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    cursor: pointer;
  }

  /* Container da Imagem */
  /* Container da Imagem */
  .card-image-wrapper {
    width: 100%;
    height: 200px;
    overflow: hidden;
    position: relative;
    background: #0f172a;
  }

  .card-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
  }

  /* --- O OVERLAY (Efeito Vidro + Centralização) --- */
  .card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    /* Efeito de Vidro e Desfoque */
    background: rgba(10, 17, 40, 0.85);
    backdrop-filter: blur(12px); /* Desfoque de fundo */
    -webkit-backdrop-filter: blur(12px);

    /* Alinhamento Centralizado */
    display: flex;
    flex-direction: column; /* Ícone em cima, texto embaixo */
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 25px;
    gap: 15px; /* Espaço entre o ícone e o texto */

    /* Estados iniciais (Escondido) */
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease-in-out;
    pointer-events: none;
    z-index: 5;
  }

  will-change: transform;
}
.logo-item-s13 {
  width: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* CONTAINER PRINCIPAL DOS BOTÕES */
.buttons {
  display: flex;
  gap: 20px; /* Espaço entre os botões */
  justify-content: center; /* Centraliza horizontalmente */
  align-items: center;
  margin-top: 40px; /* Espaço em relação ao texto acima */
  flex-wrap: wrap; /* Para telas pequenas, eles quebram de linha */
}

/* ESTILOS GERAIS DOS BOTÕES */
.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px; /* Espaço entre texto e ícone */
  text-decoration: none; /* Remove sublinhado */
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 16px;
  padding: 16px 32px;
  border-radius: 50px; /* Arredondado estilo pílula */
  transition: all 0.3s ease; /* Transição suave para hovers */
  cursor: pointer;
  letter-spacing: 0.5px;
}

/* ÍCONE DENTRO DO BOTÃO */
.btn .company-logo {
  width: 22px; /* Tamanho do ícone */
  height: auto;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2)); /* Leve sombra no ícone */
}

/* =========================================
   ESTILO DO BOTÃO WHATSAPP (Ação Principal)
   ========================================= */
.btn-whatsapp {
  background: #378cbb; /* Ciano vibrante da sua paleta */
  color: #1E43783; /* Fundo escuro para contraste no texto */
  box-shadow: 0 4px 15px rgba(0, 229, 255, 0.4); /* Sombra de cor (ciano) */
  animation: pulse-glow 2s infinite; /* Adiciona o efeito de pulso */
}

/* Hover do botão WhatsApp */
.btn-whatsapp:hover {
  background: #378cbb; /* Ciano um pouco mais escuro */
  transform: translateY(-3px); /* Levanta levemente */
  box-shadow: 0 6px 20px rgba(0, 229, 255, 0.6); /* Aumenta o brilho */
}

/* Animação de Pulso de Brilho */
@keyframes pulse-glow {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 229, 255, 0.7);
  }
  70% {
    box-shadow: 0 0 0 15px rgba(0, 229, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(0, 229, 255, 0);
  }
}

/* =========================================
   ESTILO DO BOTÃO OUTLINE (Ação Secundária)
   ========================================= */
.btn-outline {
  background: transparent;
  border: 2px solid rgba(0, 229, 255, 0.5); /* Borda ciano sutil */
  color: #378cbb; /* Texto ciano */
}

/* Hover do botão Outline */
.btn-outline:hover {
  background: rgba(0, 229, 255, 0.1); /* Preenchimento muito leve no hover */
  border: 2px solid #378cbb; /* Borda fica sólida */
  transform: translateY(-2px); /* Levanta sutilmente */
}

/* Container que esconde o excesso */
.testimonial-slider {
  width: 100%;
  overflow: hidden;
  margin-top: 30px;
  position: relative;
  mask-image: linear-gradient(
    to right,
    transparent,
    black 15%,
    black 85%,
    transparent
  );
}

/* A trilha que move os cards */
.testimonial-track {
  display: flex;
  width: calc(350px * 6); /* Ajuste baseado no tamanho e quantidade de cards */
  animation: scroll-left 25s linear infinite;
}

/* Pausar quando o usuário passar o mouse */
.testimonial-track:hover {
  animation-play-state: paused;
}

/* Estilo do Card Individual */
.testimonial-card {
  flex-shrink: 0;
  width: 350px; /* Largura fixa para o cálculo do scroll funcionar */
  margin: 0 15px;
  padding: 30px;
  background: rgba(16, 42, 67, 0.3);
  border: 1px solid rgba(30, 67, 115, 0.2);
  border-radius: 8px;
  backdrop-filter: blur(5px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.testimonial-card p {
  font-style: italic;
  font-size: 1.1rem;
  color: #e0e0e0;
  line-height: 1.5;
}

.client-info {
  margin-top: 20px;
  color: var(--accent-cyan);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Animação do Scroll */
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    /* Move exatamente a largura de metade dos cards (os originais) */
    transform: translateX(calc(-350px * 3 - 90px));
  }
}

/* Ajuste nos cantos do seu testimonial-box para não sumirem */
.corner {
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid var(--accent-cyan);
  z-index: 10;
}
.top-left {
  top: -1px;
  left: -1px;
  border-right: none;
  border-bottom: none;
}
.bottom-right {
  bottom: -1px;
  right: -1px;
  border-left: none;
  border-top: none;
}

.tech-stack-container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  z-index: 2; /* Mantém o container acima do wrapper da imagem */
}

/* Posicionando a Baleia por trás */

.tech-whale-graphic {
  width: 100%;
  height: auto;
  /* Filtro opcional para integrar melhor com o fundo escuro */
  filter: drop-shadow(0 0 20px rgba(0, 229, 255, 0.2));
}
/* =========================
   RESPONSIVIDADE GLOBAL
========================= */

/* Corrige viewport no iOS (Safari) */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* Imagens nunca estouram */
img {
  max-width: 100%;
  height: auto;
}

/* =========================
   NAVBAR MOBILE
========================= */

/* =========================
   HERO
========================= */
@media (max-width: 992px) {
  .hero {
    padding: 60px 5%;
  }

  .hero h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .hero p {
    font-size: 0.95rem;
  }
}

/* =========================
   BACKGROUND ICONS (EVITA QUEBRAR NO MOBILE)
========================= */
@media (max-width: 992px) {
  .baleia-background-icon,
  .baleia-rabo-background-icon,
  .baleia-kids-background-icon,
  .automation-background-icon {
    width: 120%;
    opacity: 0.05;
  }
}

/* =========================
   BOTÕES
========================= */
@media (max-width: 992px) {
  .buttons {
    gap: 10px;
  }

  .btn {
    width: 100%;
    text-align: center;
  }
}

/* =========================
   CARDS FLEX
========================= */
@media (max-width: 992px) {
  .cards-container {
    flex-direction: column;
  }
}

/* =========================
   SOLUTIONS GRID
========================= */
@media (max-width: 992px) {
  .solutions-grid {
    flex-direction: column;
  }
}

/* =========================
   IMPACT SECTION
========================= */
@media (max-width: 992px) {
  .impact-container {
    flex-direction: column;
    text-align: center;
  }

  .impact-stats {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* =========================
   TECH SERVICES
========================= */
@media (max-width: 992px) {
  .services-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================
   FEATURE SECTIONS
========================= */
@media (max-width: 992px) {
  .feature-container {.container {
  display: flex;
  gap: 20px;
  justify-content: center;
  padding: 40px;
  background-color: #f4f4f4; /* Fundo da página para contraste */
}

.custom-card {
  background-color: var(--primary-blue);
  border-radius: 20px;
  width: 280px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  color: var(--text-white);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

    flex-direction: column;
    text-align: center;
  }

  .feature-content p {
    text-align: center;
  }
}

/* =========================
   ORBIT (ANIMAÇÃO PESADA → REDUZ NO MOBILE)
========================= */
@media (max-width: 768px) {
  .orbit-container {
    transform: scale(0.6);
  }
}

/* =========================
   TECH STACK
========================= */
@media (max-width: 992px) {
  .tech-stack-container {
    padding: 30px 15px;
  }

  .tech-stack-info h2 {
    font-size: 1.8rem;
  }
}

/* =========================
   DELIVERY FLOW
========================= */
@media (max-width: 992px) {
  .flow-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================
   DUAL SECTION
========================= */
@media (max-width: 992px) {
  .dual-container {
    flex-direction: column;
  }
}

/* =========================
   AVATAR / FOTO
========================= */
@media (max-width: 600px) {
  .avatar-gradient-border {
    width: 180px;
    height: 180px;
  }
}

/* =========================
   TEXTOS GRANDES
========================= */
@media (max-width: 600px) {
  h1 {
    font-size: 1.8rem !important;
  }

  h2 {
    font-size: 1.5rem !important;
  }
}

/* =========================
   SAFARI FIX (blur + backdrop)
========================= */
@supports (-webkit-touch-callout: none) {
  .navbar,
  .card-overlay,
  .footer,
  .flow-card {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}

/* =========================
   SCROLL SUAVE (iOS MELHOR UX)
========================= */
html {
  scroll-behavior: smooth;
}

/* =========================
   SAFE AREAS (iPhone notch)
========================= */
body {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* ARQUIVO: styles.css (Refatorado - Sem Animações)
   Mantém: Responsividade, Cores e Estrutura de Slides
*/

/* Reset e Estilos Base */

/* Container para posicionar o botão de teste no canto da tela */
.test-area {
  position: fixed;
  bottom: 100px;
  right: 30px;
  z-index: 9999;
}

.btn-test-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 24px;
  background: rgba(14, 165, 233, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(14, 165, 233, 0.3);
  border-radius: 50px;
  color: #378cbb;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.btn-test-link i {
  font-size: 1.1rem;
}

.btn-test-link:hover {
  background: #378cbb;
  color: #ffffff;
  transform: scale(1.05) translateY(-5px);
  box-shadow: 0 15px 40px rgba(30, 67, 115, 0.4);
  border-color: #378cbb;
}

/* Responsividade para não atrapalhar no celular */
@media (max-width: 992px) {
  .test-area {
    bottom: 80px;
    right: 50%;
    transform: translateX(50%);
    width: max-content;
  }
}

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

body {
  margin: 0;
  padding: 0;
  font-family:
    "Inter",
    system-ui,
    -apple-system,
    sans-serif;
  background: #0f172a;
  color: #f8fafc;
  overflow: hidden; /* Mantém o comportamento de slide fixo */
}

/* Otimização de Imagens */
img {
  max-width: 100%;
  height: auto;
  display: block;
  image-rendering: auto;
}

/* Container Principal */
.presentation-container {
  width: 100vw;
  height: 100vh;
  position: relative;
  background: #0f172a;
}

.slide-content {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  /* Removida a opacidade 0 e animação de entrada */
  opacity: 1;
}

/* Navegação */
.nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100;
}

.nav-btn:hover {
  background: rgba(255, 255, 255, 0.15);
}

.prev-btn {
  left: 20px;
}
.next-btn {
  right: 20px;
}

.nav-icon {
  width: 24px;
  height: 24px;
}

/* =============================================================
   BLINDAGEM TOTAL IPHONE 15 / SAFARI (SUBSTITUA O FINAL DO CSS)
   ============================================================= */

@media (max-width: 992px) {
  /* 1. Reset de Estrutura: Força tudo a fluir verticalmente sem travas */
  html,
  body {
    overflow-x: hidden !important;
    height: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .presentation-container,
  .slide-13-container,
  .slide-02-container.values-page {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 100dvh !important; /* Altura dinâmica para iOS */
    padding: 40px 20px !important;
    overflow: visible !important;
  }

  /* Ajuste para o Ícone de Automação */
  .automation-background-icon {
    display: block !important; /* Garante que não foi escondido por outro seletor */
    position: absolute;
    width: 150% !important; /* Aumenta o tamanho para transbordar a tela propositalmente */
    max-width: none !important;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    opacity: 0.1 !important; /* Aumenta a opacidade para dar mais destaque */
    z-index: 1;
    pointer-events: none; /* Impede que o ícone atrapalhe cliques em botões */
    filter: blur(
      2px
    ); /* Opcional: um leve desfoque ajuda no destaque sem poluir o texto */
  }

  /* Ajuste para o Ícone da Baleia (Cahalote) */

  @media (max-width: 992px) {
    /* Garante que o container pai não corte a baleia aumentada */
    .hero,
    .presentation-container,
    .slide-content {
      position: relative;
      overflow: hidden;
    }

    /* --- AJUSTE REFINADO DA BALEIA (CAHALOTE) --- */
    .baleia-kids-background-icon {
      display: block !important;
      position: absolute;

      /* 1. Escala: Aumentamos para preencher mais o fundo */
      width: 250% !important;
      max-width: none !important;
      height: auto;

      /* 2. Posicionamento: Movemos para o centro */
      /* Desce um pouco para ficar atrás do texto principal */
      top: 55% !important;
      /* Centraliza horizontalmente (em vez de travar na direita) */
      left: 50% !important;
      right: auto !important;

      /* 3. Transform: Centralização exata + Leve rotação artística */
      transform: translate(-50%, -50%) rotate(-10deg) !important;

      /* 4. Destaque: Aumentamos a opacidade */
      opacity: 0.8 !important;
      z-index: 1;
      pointer-events: none;

      /* 5. Suavização das Bordas (Efeito Anti-Recorte) */
      /* Desfoque leve ajuda a misturar com o fundo */
      filter: blur(1.5px) !important;

      mask-image: radial-gradient(
        circle at center,
        rgba(0, 0, 0, 1) 30%,
        transparent 70%
      ) !important;

      -webkit-mask-image: radial-gradient(
        circle at center,
        rgba(0, 0, 0, 1) 3%,
        transparent 40%
      ) !important;
    }
    .baleia-rabo-background-icon {
      display: block !important;
      position: absolute;

      /* 1. Escala: Aumentamos para preencher mais o fundo */
      width: 180% !important;
      max-width: none !important;
      height: auto;

      /* 2. Posicionamento: Movemos para o centro */
      /* Desce um pouco para ficar atrás do texto principal */
      top: 55% !important;
      /* Centraliza horizontalmente (em vez de travar na direita) */
      left: 50% !important;
      right: auto !important;

      /* 3. Transform: Centralização exata + Leve rotação artística */
      transform: translate(-50%, -50%) rotate(-10deg) !important;

      /* 4. Destaque: Aumentamos a opacidade */
      opacity: 0.18 !important;
      z-index: 1;
      pointer-events: none;

      /* 5. Suavização das Bordas (Efeito Anti-Recorte) */
      /* Desfoque leve ajuda a misturar com o fundo */
      filter: blur(5px) !important;

      mask-image: radial-gradient(
        circle at center,
        rgba(0, 0, 0, 1) 80%,
        transparent 80%
      ) !important;

      -webkit-mask-image: radial-gradient(
        circle at center,
        rgba(0, 0, 0, 1) 10%,
        transparent 80%
      ) !important;
    }
    .baleia-background-icon {
      display: block !important;
      position: absolute;

      /* 1. Escala: Aumentamos para preencher mais o fundo */
      width: 250% !important;
      max-width: none !important;
      height: auto;

      /* 2. Posicionamento: Movemos para o centro */
      /* Desce um pouco para ficar atrás do texto principal */
      top: 55% !important;
      /* Centraliza horizontalmente (em vez de travar na direita) */
      left: 50% !important;
      right: auto !important;

      /* 3. Transform: Centralização exata + Leve rotação artística */
      transform: translate(-50%, -50%) rotate(-10deg) !important;

      /* 4. Destaque: Aumentamos a opacidade */
      opacity: 0.2 !important;
      z-index: 1;
      pointer-events: none;

      /* 5. Suavização das Bordas (Efeito Anti-Recorte) */
      /* Desfoque leve ajuda a misturar com o fundo */
      filter: blur(5px) !important;

      mask-image: radial-gradient(
        circle at center,
        rgba(0, 0, 0, 1) 80%,
        transparent 80%
      ) !important;

      -webkit-mask-image: radial-gradient(
        circle at center,
        rgba(0, 0, 0, 1) 10%,
        transparent 80%
      ) !important;
    }
    .baleia-kids-background-icon {
      display: block !important;
      position: absolute;

      /* 1. Escala: Aumentamos para preencher mais o fundo */
      width: 350% !important;
      max-width: none !important;
      height: auto;

      /* 2. Posicionamento: Movemos para o centro */
      /* Desce um pouco para ficar atrás do texto principal */
      top: 50% !important;
      /* Centraliza horizontalmente (em vez de travar na direita) */
      left: 80% !important;
      right: auto !important;

      /* 3. Transform: Centralização exata + Leve rotação artística */
      transform: translate(-50%, -50%) rotate(-10deg) !important;

      /* 4. Destaque: Aumentamos a opacidade */
      opacity: 0.1 !important;
      z-index: 3;
      pointer-events: none;

      /* 5. Suavização das Bordas (Efeito Anti-Recorte) */
      /* Desfoque leve ajuda a misturar com o fundo */
      filter: blur(0.5px) !important;

      mask-image: radial-gradient(
        circle at center,
        rgba(0, 0, 0, 1) 100%,
        transparent 10%
      ) !important;

      -webkit-mask-image: radial-gradient(
        circle at center,
        rgba(0, 0, 0, 1) 10%,
        transparent 70%
      ) !important;
    }
    /* Mantém o texto ACIMA da baleia para leitura */
    .hero-text-block,
    .hero-layout-container {
      position: relative;
      z-index: 10;
    }
  }

  /* Garante que o texto fique ACIMA dessas imagens */
  .hero-text-block,
  .hero-layout-container,
  .slide-13-left,
  .slide-13-right {
    position: relative;
    z-index: 10;
  }
}
.solutions-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center; /* Centraliza horizontalmente os elementos flex */
  text-align: center; /* Centraliza o texto dentro do h1 */
  width: 100%;
  padding: 40px 0; /* Espaçamento opcional */
}

.solutions-wrapper h1 {
  font-size: 2.5rem; /* Ajuste conforme seu design */
  margin-bottom: 10px;
}

/* Estilizando o span com o azul que definimos antes */
.solutions-wrapper h1 span {
  color: #378cbb;
}

/* Centralizando o divisor */
.divider {
  width: 80px; /* Largura da linha */
  height: 4px; /* Espessura */
  background: #378cbb; /* Cor do divisor */
  margin: 0 auto; /* Garante a centralização se não usar flex no pai */
  border-radius: 2px;
}
/* =============================================================
   ESTRUTURA DE COLUNA ÚNICA - SEM ZOOM (IPHONE 15)
   ============================================================= */

@media (max-width: 992px) {
  /* 1. Força TODOS os containers de seção a virarem uma coluna só */
  .hero-layout-container,
  .feature-container,
  .impact-container,
  .dual-container,
  .tech-stack-container,
  .solutions-wrapper,
  .footer-container {
    display: flex !important;
    flex-direction: column !important; /* Um embaixo do outro */
    align-items: center !important;
    text-align: center !important;
    padding: 40px 20px !important;
    gap: 30px !important;
    width: 100% !important;
    height: auto !important;
  }

  /* 2. REORDENAÇÃO (A foto da pessoa/imagem sempre em primeiro) */

  /* Alvos: Avatar do Igor, Imagens de destaque, Gráficos */
  .hero-sidebar-identity,
  .feature-image,
  .impact-visual,
  .graphic-wrapper {
    order: 1 !important; /* Primeiro lugar */
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }

  .avatar-gradient-border,
  .feature-image img {
    width: 180px !important; /* Tamanho fixo natural */
    height: auto !important;
  }

  /* TEXTOS (Título e subtítulos) */
  .hero-text-block,
  .feature-content,
  .impact-text,
  .tech-stack-info {
    order: 2 !important; /* Segundo lugar */
    width: 100% !important;
  }

  /* BOTÕES E LINKS */
  .buttons,
  .cta-container,
  .footer-links {
    order: 3 !important; /* Terceiro lugar */
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important; /* Botões um sobre o outro */
    gap: 15px !important;
  }

  /* 3. PADRONIZAÇÃO DE ELEMENTOS (SEM ALTERAR ESCALA/ZOOM) */

  h1 {
    font-size: 2rem !important; /* Tamanho padrão de leitura mobile */
    line-height: 1.2 !important;
  }

  h2 {
    font-size: 1.6rem !important;
  }

  p {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }

  .btn {
    width: 100% !important;
    max-width: 100% !important; /* Ocupa a largura da tela */
    padding: 18px !important;
    font-size: 1rem !important;
    text-align: center !important;
  }

  /* 4. GRIDS (Cards de Soluções e Fluxos) */
  .flow-grid,
  .cards-grid,
  .mini-stats-grid,
  .solutions-grid {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 20px !important;
  }

  .flow-card,
  .custom-card,
  .mini-stat {
    width: 100% !important;
    margin: 0 !important;
  }

  /* 5. ELEMENTOS DE FUNDO (A Baleia) */
  .baleia-kids-background-icon {
    width: 250% !important; /* Grande mas sem distorcer o layout */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    opacity: 0.4 !important;
    z-index: -1;
    pointer-events: none;
    mask-image: radial-gradient(circle, black, transparent 70%);
    -webkit-mask-image: radial-gradient(circle, black, transparent 70%);
  }
}

.cachina-confia-section {
  position: relative;
  /* background: #061227; */
  padding: 80px 20px;
  overflow: hidden;
  color: white;
  font-family: "Inter", sans-serif;
}

/* Background Gradients & Circles */
.decor-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at top,
    rgba(55, 140, 187, 0.16),
    transparent 35%
  );
}

.circle {
  position: absolute;
  border-radius: 50%;
  /* border: 1px solid rgba(255, 255, 255, 0.1); */
}

.circle-center-lg {
  width: 420px;
  height: 420px;
  top: 8%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 42px;
}

/* Glass Effect Main Card */
.glass-card {
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(55, 140, 187, 1);;
  border-radius: 34px;
  padding: 40px;
  backdrop-filter: blur(10px);
}

.grid-header {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 40px;
  margin-bottom: 40px;
}

.badge-top {
  background: rgba(55, 140, 187, 0.1);
  border: 1px solid rgba(55, 140, 187, 0.4);
  color: #378cbb;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.title-main {
  font-size: 2.5rem;
  margin-top: 20px;
  line-height: 1.2;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);/* Container principal - Ajustado para alinhar com o título */
.stats-grid {
  display: flex;
  gap: 20px;
  padding: 30px 0;
  justify-content: flex-start;
}

.stat-item {
  /* Fundo bem escuro para o neon destacar */
  background: rgba(4, 12, 24, 0.9); 
  padding: 20px 25px;
  border-radius: 18px;
  flex: 1;
  max-width: 400px;
  text-align: left; /* Alinhado à esquerda como na imagem */
  
  /* BORDA NEON FINA */
  border: 1px solid rgba(30, 67, 115, 0.95); 
  
  /* O SEGREDO: Múltiplas camadas de sombra para o efeito de "brilho de luz" */
  box-shadow: 
    0 0 15px rgba(30, 67, 115, 0.95),   /* Brilho externo 1 */
    0 0 30px rgba(30, 67, 115, 0.95),    /* Aura externa 2 */
    inset 0 0 12px rgba(30, 67, 115, 0.95); /* Brilho interno na borda */
    
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

/* Efeito Hover - "Acendendo a lâmpada" */
.stat-item:hover {
  transform: translateY(-5px);
  border-color: rgbaC;
  background: rgba(30, 67, 115, 0.95);
  
  /* Aumenta a intensidade da luz no hover */
  box-shadow: 
    0 0 20px rgba(55, 140, 187, 1), 
    0 0 40px rgba(30, 67, 115, 0.95),
    0 0 60px rgba(0, 229, 255, 0.1),
    inset 0 0 15px rgba(30, 67, 115, 0.95);
}

/* Títulos dentro do Card (O +200, 22+ anos, etc) */
.stat-item strong {
  display: block;
  color: #378cbb;
  font-size: 1.4rem; /* Maior para dar impacto */
  font-weight: 900;
  margin-bottom: 4px;
  /* Brilho nas letras */
  text-shadow: 0 0 10px rgba(30, 67, 115, 0.95);
}

/* Legendas (projetos entregues, etc) */
.stat-item span {
  color: #ffffff;
  font-size: 0.85rem;
  line-height: 1.2;
  display: block;
  opacity: 0.8;
  font-weight: 300;
  text-transform: lowercase; /* Estilo moderno da imagem */
}
  gap: 25px;
  margin-top: 30px;
}

/* Container dos itens para garantir que eles tenham espaço */
.stats-grid {
  display: flex;
  gap: 25px;
  padding: 25px 0;
}

.stat-item {
  background: rgba(8, 23, 47, 0.9); /* Um pouco mais escuro ajuda o neon a brilhar */
  padding: 50px;
  border-radius: 22px;
  flex: 1;
  text-align: center;
  
  /* BORDA COM BRILHO (O segredo do Neon) */
  border: 1px solid rgba(0, 229, 255, 0.4); 
  
  /* SOMBRAS EXTERNAS E INTERNAS */
  box-shadow: 
    0 0 10px rgba(0, 229, 255, 0.2), /* Brilho externo suave */
    inset 0 0 15px rgba(0, 229, 255, 0.1); /* Brilho interno */
    
  transition: all 0.4s ease;
}

/* Efeito ao passar o mouse */
.stat-item:hover {
  transform: translateY(-8px);
  border-color: rgba(0, 229, 255, 1); /* Borda fica 100% acesa */
  
  /* Sombras mais fortes no hover para simular lâmpada acesa */
  box-shadow: 
    0 0 20px rgba(0, 229, 255, 0.6), 
    0 0 40px rgba(0, 229, 255, 0.2);
}

/* Estilo do Texto para combinar */
.stat-item strong {
  display: block;
  color: #00e5ff; /* Ciano Neon */
  font-size: 0.9rem;
  letter-spacing: 1.5px;
  margin-bottom: 8px;
  /* Brilho nas letras */
  text-shadow: 0 0 10px rgba(0, 229, 255, 0.8);
}

.stat-item span {
  color: #ffffff;
  font-size: 1.1rem;
  opacity: 0.9;
}

/* Logos */
.logos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.logo-card {
  background: rgba(8, 23, 47, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  padding: 20px;
  text-align: center;
  transition: 0.3s;
}

.logo-card:hover {
  transform: translateY(-5px);
  border-color: #378cbb;
}

.logo-placeholder {
  width: 60px;
  height: 60px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(55, 140, 187, 0.25);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
  font-weight: bold;
}

/* Cases */
.cases-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 30px;
}

.case-card {
  background: linear-gradient(
    180deg,
    rgba(8, 23, 47, 0.9),
    rgba(10, 30, 59, 0.85)
  );
  padding: 25px;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.case-tag {
  color: #378cbb;
  font-size: 10px;
  text-transform: uppercase;
}

.tags-row span {
  background: rgba(255, 255, 255, 0.05);
  padding: 4px 10px;
  border-radius: 10px;
  font-size: 11px;
  margin-right: 5px;
}

/* Footer CTA */
.cta-footer {
  margin-top: 40px;
  background: rgba(11, 29, 59, 0.6);
  padding: 30px;
  border-radius: 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid rgba(55, 140, 187, 0.2);
}

.btn-primary {
  background: #378cbb;
  padding: 12px 25px;
  border-radius: 30px;
  text-decoration: none;
  color: white;
  font-weight: bold;
  box-shadow: 0 10px 20px rgba(55, 140, 187, 0.3);
}
/* Removemos o grid antigo para o Swiper assumir o controle */
.logos-grid,
.cases-row {
  display: block; /* O Swiper usa flex internamente */
  margin-top: 30px;
}

.swiper {
  width: 100%;
  
  padding: 20px 0 40px !important; /* Espaço para as bolinhas embaixo */
}

/* Garante que o card ocupe o espaço total do slide */
.swiper-slide {
  height: auto;
  display: flex;
  justify-content: center;
}

.logo-card,
.case-card {
  width: 100%; /* Ocupa a largura da coluna definida no JS */
}
/* Container do card de logo */
.logo-card {
  width: 100%;
  height: 100px; /* Defina uma altura fixa padrão para todos */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
  background: rgba(255, 255, 255, 0.03); /* Leve fundo para uniformizar */
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* A imagem dentro do card */
.logo-card img {
  max-width: 100%;  /* Não deixa passar da largura do card */
  max-height: 60px; /* Define o tamanho real que o logo terá lá dentro */
  width: auto;
  height: auto;
  object-fit: contain; /* Faz a imagem caber no espaço sem distorcer */
  /* filter: grayscale(1) brightness(1.5); Opcional: deixa os logos uniformes em cinza claro */
  /* transition: filter 0.3s ease; */
}

.logos-swiper,
.logos-swiper-reverse {
  width: 100%;
  padding: 10px 0 !important;
}


/* Efeito ao passar o mouse (volta a cor original se quiser) */
.logo-card:hover img {
  filter: grayscale(0) brightness(1);
}
/* Estilo das bolinhas de paginação */
.swiper-pagination-bullet {
  background: rgba(55, 140, 187, 0.5);
}
.swiper-pagination-bullet-active {
  background: #378cbb;
}

/* No seu CSS, substitua ou adicione estas regras: */

.logos-swiper {
  width: 100%;
  max-width: 450px; /* Evita que o carrossel de logos estique demais na direita */
  overflow: hidden;
}

/* Forçamos o Swiper a ignorar qualquer grid residual */
.logos-swiper .swiper-wrapper,
.cases-swiper .swiper-wrapper {
  display: flex !important;
  flex-direction: row !important;
}

.swiper-slide {
  height: auto; /* Garante que os cards tenham a mesma altura */
}
.tech-stack-container, 
.cases-section-inner, 
.dual-container,
.logos-swiper,
.logos-swiper-reverse {
  width: 95% !important;
  max-width: 1600px !important; /* TODOS com o mesmo limite */
  margin: 0 auto !important;   /* Centraliza todos */
  box-sizing: border-box !important;
}
/* Responsividade Básica */
@media (max-width: 968px) {
  .grid-header,
  .cases-row,
  .cta-footer {
    grid-template-columns: 1fr;
    flex-direction: column;
    text-align: center;
  }
  .logos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .stats-grid {
    grid-template-columns: 1fr;
  }
}

.logos-wrapper-double {
  display: flex;
  flex-direction: column;
  gap: 15px; /* Espaço entre as duas fileiras */
  width: 100%;
}


/* Ajuste para o carrossel de logos não ficar muito grande */
.logo-card {
  min-height: 120px;
}

:root {
  --bg-dark: #040914;
  --color-orange: #ffffff;
  --color-blue: #378cbb;
  --color-yellow: #ffffff;
  --color-green: #378cbb;
  --gear-size: 380px; /* Tamanho ajustado para caber 4 em telas Full HD */
}

.flow-section {
  background: var(--bg-dark);
  padding: 100px 0;
  display: flex;
  justify-content: center;
  overflow: hidden; /* Importante para não quebrar a página */
}

.gears-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap; /* Força a mesma linha */
  align-items: center;
  justify-content: center;
  width: 100%;
}
.gear-inner li {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 6px;
}

.gear-wrapper {
  position: relative;
  width: var(--gear-size);
  height: var(--gear-size);
  /* O segredo da conexão: margem negativa baseada no tamanho do dente */
  margin: 0 -35px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Os Dentes das Engrenagens */
.gear-teeth {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  border-radius: 50%;
  /* 12 dentes para encaixe mecânico */
  clip-path: polygon(
    50% 0%,
    55% 0%,
    58% 12%,
    68% 15%,
    75% 8%,
    80% 12%,
    78% 24%,
    85% 32%,
    95% 30%,
    100% 35%,
    90% 45%,
    90% 55%,
    100% 65%,
    95% 70%,
    85% 68%,
    78% 76%,
    80% 88%,
    75% 92%,
    68% 85%,
    58% 88%,
    55% 100%,
    45% 100%,
    42% 88%,
    32% 85%,
    25% 92%,
    20% 88%,
    22% 76%,
    15% 68%,
    5% 70%,
    0% 65%,
    10% 55%,
    10% 45%,
    0% 35%,
    5% 30%,
    15% 32%,
    22% 24%,
    20% 12%,
    25% 8%,
    32% 15%,
    42% 12%,
    45% 0%
  );
  transform: scale(1.1);
  opacity: 0.9;
}

.gear-core {
  position: absolute;
  width: 82%;
  height: 82%;
  background: var(--bg-dark);
  border-radius: 50%;
  border: 6px solid currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.gear-inner {
  /* width: 90%; */
  /* height: 90%; */
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  text-align: center;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.05) 0%,
    transparent 70%
  );
  width: 90%;
  min-height: 90%; /* em vez de height */
  height: auto;
}

/* Cores e Glows */
.orange {
  color: var(--color-orange);
  filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.4));
}
.blue {
  color: var(--color-blue);
  filter: drop-shadow(0 0 20px rgba(0, 148, 255, 0.4));
}
.yellow {
  color: var(--color-yellow);
  filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.4));
}
.green {
  color: var(--color-green);
  filter: drop-shadow(0 0 20px rgba(0, 148, 255, 0.4));
}

/* Animações de Rotação Sincronizada */
.gear-cw .gear-teeth {
  animation: rotateCW 15s linear infinite;
}
.gear-ccw .gear-teeth {
  animation: rotateCCW 15s linear infinite;
}

/* Para as engrenagens parecerem conectadas, o ponto inicial de uma 
   deve estar compensado em relação à outra */
.blue .gear-teeth {
  animation-delay: -0.5s;
}
.green .gear-teeth {
  animation-delay: -0.5s;
}

@keyframes rotateCW {
  from {
    transform: scale(1.1) rotate(0deg);
  }
  to {
    transform: scale(1.1) rotate(360deg);
  }
}

@keyframes rotateCCW {
  from {
    transform: scale(1.1) rotate(0deg);
  }
  to {
    transform: scale(1.1) rotate(-360deg);
  }
}

/* Estilo do Conteúdo */
.icon {
  font-size: 40px;
  margin-bottom: 10px;
}
.category {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 2px;
}
h3 {
  font-size: 15px;
  margin: 10px 0;
  color: #fff;
  line-height: 1.2;
}
ul {
  font-size: 11px;
  padding: 0;
  list-style: none;
  opacity: 0.7;
}
/* a { color: #fff; text-decoration: none; font-size: 12px; font-weight: bold; margin-top: 10px; border-bottom: 1px solid currentColor; } */

/* Responsividade: Diminui o tamanho para telas menores que 1600px */
@media (max-width: 1600px) {
  :root {
    --gear-size: 300px;
  }
  .gear-wrapper {
    margin: 0 -28px;
  }
  .icon {
    font-size: 30px;
  }
  h3 {
    font-size: 13px;
  }
}

/* Unificação do Fundo e Remoção de Divisórias */
.flow-section {
  background: radial-gradient(circle at center, #0a162b 0%, #050b18 100%);
  padding: 80px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: none; /* Remove qualquer linha residual */
}

/* Container de Conteúdo Superior */
.flow-section .container {
  text-align: center;
  max-width: 850px;
  margin-bottom: 50px;
  z-index: 10;
}

/* Container das Engrenagens - Alinhamento Perfeito */
.gears-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: -40px; /* Sobreposição para conexão mecânica */
  padding: 20px;
}

.gear-wrapper {
  position: relative;
  width: 460px; /* Tamanho otimizado para enquadramento */
  height: 460px;
  margin: 0 -30px; /* Ajuste fino de encaixe */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

/* Dentes mais robustos e sem bordas duras */
.gear-teeth {
  position: absolute;
  width: 105%;
  height: 105%;
  background-color: currentColor;
  border-radius: 50%;
  clip-path: polygon(
    50% 0%,
    56% 0%,
    59% 10%,
    69% 13%,
    76% 6%,
    81% 10%,
    79% 22%,
    86% 30%,
    96% 28%,
    100% 33%,
    91% 43%,
    91% 57%,
    100% 67%,
    96% 72%,
    86% 70%,
    79% 78%,
    81% 90%,
    76% 94%,
    69% 87%,
    59% 90%,
    56% 100%,
    44% 100%,
    41% 90%,
    31% 87%,
    24% 94%,
    19% 90%,
    21% 78%,
    14% 70%,
    4% 72%,
    0% 67%,
    9% 57%,
    9% 43%,
    0% 33%,
    4% 28%,
    14% 30%,
    21% 22%,
    19% 10%,
    24% 6%,
    31% 13%,
    41% 10%,
    44% 0%
  );
}

/* Miolo da engrenagem com efeito de vidro para suavizar a transição */
.gear-core {
  position: relative;
  width: 82%;
  height: 82%;
  background: rgba(
    5,
    11,
    24,
    0.9
  ); /* Mesma cor do fundo para sumir com linhas */
  backdrop-filter: blur(4px);
  border-radius: 50%;
  border: 4px solid currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
}

.gear-inner {
  padding: 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Animação suave */
.gear-cw .gear-teeth {
  animation: rotateCW 20s linear infinite;
}
.gear-ccw .gear-teeth {
  animation: rotateCCW 20s linear infinite;
}

@keyframes rotateCW {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes rotateCCW {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}

/* Ajuste de Texto */
.titulo-principal {
  font-size: 2.8rem;
  color: #fff;
  margin-bottom: 10px;
}
.titulo-principal span {
  color: var(--color-blue);
}

@media (max-width: 992px) {
  :root {
    /* Diminuímos o tamanho para caberem duas por linha confortavelmente */
    --gear-size: 480px;
  }

  .flow-section {
    padding: 60px 20px;
  }

  .titulo-principal {
    font-size: 2rem;
  }

  .gears-container {
    /* Mudamos para wrap para permitir a quebra de linha */
    flex-wrap: wrap;
    gap: 20px; /* Adicionamos um gap para não embolarem verticalmente */
    max-width: 650px; /* Limita a largura para forçar o 2x2 */
    margin: 0 auto;
  }

  .gear-wrapper {
    /* Removemos a margem negativa agressiva para evitar sobreposição excessiva no mobile */
    margin: 10px;
    width: var(--gear-size);
    height: var(--gear-size);
  }

  .gear-core {
    width: 85%;
    height: 85%;
    border-width: 3px; /* Bordas mais finas para escalas menores */
  }

  .gear-inner {
    padding: 15px;
  }

  .icon {
    font-size: 24px;
    margin-bottom: 5px;
  }

  h3 {
    font-size: 14px;
    margin: 5px 0;
  }

  ul {
    display: none; /* Escondemos a lista em telas pequenas para manter o foco no título e ícone */
  }

  .category {
    font-size: 8px;
  }
  .gear-core {
    /* ... mantenha o que já tem ... */
    overflow: visible; /* Garante que o conteúdo que sair do círculo não suma */
  }

  .gear-inner ul {
    list-style: none;
    padding: 0;
    margin: 10px 0;
    opacity: 1 !important; /* Força a visibilidade */
    display: block; /* Garante que o container da lista exista */
  }

  .gear-inner li {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 4px;
    display: block; /* Garante que cada item ocupe sua linha */
  }
  .gear-inner span {
    font-size: 14px;
  }
}

/* Ajuste extra para celulares (abaixo de 600px) */
@media (max-width: 600px) {
  :root {
    --gear-size: 260px;
  }

  .gears-container {
    flex-direction: column; /* Em celulares muito pequenos, empilhamos tudo */
    gap: 30px;
  }

  .gear-wrapper {
    margin: 0;
  }
}
.image-frame {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding-top: 56.25%; /* 16:9 */
}

.image-frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 20px;
}

h2 {
  margin-top: 40px; /* aumenta aqui */
}
.image-box {
  width: 100%;
  max-width: 400px;
  margin: 40px auto;
  padding: 30px;
  border-radius: 20px;
  display: flex;
  justify-content: center;
}

.image-box img {
  width: 100%;
  height: auto;
  display: block;
}
:root {
  --blue-dark: #1e4373;
  --blue-light: #378cbb;
  --green-glow: #ffffff;
  --radar-size: 350px;
}

.radar-container {
  position: relative;
  width: var(--radar-size);
  height: var(--radar-size);
  margin: 60px auto;
}

.radar-chart {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Base dos Pentágonos */
.radar-grid {
  position: absolute;
  width: 100%;
  height: 100%;
  background: transparent;
  border: 1px dashed rgba(255, 255, 255, 0.15);
  clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
}

.level-1 {
  transform: scale(0.35);
}
.level-2 {
  transform: scale(0.7);
}
.level-3 {
  transform: scale(1);
  border-style: solid;
  border-color: rgba(55, 140, 187, 0.3);
}

/* Linhas dos Eixos */
.axis-line {
  position: absolute;
  width: 1px;
  height: 50%;
  background: rgba(255, 255, 255, 0.1);
  top: 0;
  left: 50%;
  transform-origin: bottom center;
}
.a1 {
  transform: rotate(0deg);
}
.a2 {
  transform: rotate(72deg);
}
.a3 {
  transform: rotate(144deg);
}
.a4 {
  transform: rotate(216deg);
}
.a5 {
  transform: rotate(288deg);
}

/* Área de Dados Assimétrica (Simulando o gráfico da imagem) */
.radar-data-shape {
  position: absolute;
  width: 100%;
  height: 100%;
  background: radial-gradient(
    circle,
    rgba(55, 140, 187, 0.3) 0%,
    rgba(55, 140, 187, 0.4) 100%
  );
  /* Valores de 0 a 100% para cada ponta do pentágono */
  /* Topo, Direita, Baixo-Dir, Baixo-Esq, Esquerda */
  clip-path: polygon(50% 10%, 90% 40%, 75% 85%, 25% 90%, 15% 35%);
  border: 2px solid var(--green-glow);
  z-index: 2;
}

/* Pontos Verdes de Destaque */
.radar-dot {
  position: absolute;
  width: 8px;
  height: 8px;
  background: var(--green-glow);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--green-glow);
  z-index: 3;
}

/* Posicionamento manual dos pontos conforme o clip-path da data-shape */
.p-processos {
  top: 10%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-tech {
  top: 40%;
  left: 90%;
  transform: translate(-50%, -50%);
}
.p-seguranca {
  top: 85%;
  left: 75%;
  transform: translate(-50%, -50%);
}
.p-gestao {
  top: 90%;
  left: 25%;
  transform: translate(-50%, -50%);
}
.p-escala {
  top: 35%;
  left: 15%;
  transform: translate(-50%, -50%);
}

/* Labels */
.radar-label {
  position: absolute;
  color: #fff;
  text-align: center;
  width: 120px;
  line-height: 1.2;
}

.radar-label strong {
  font-size: 13px;
  display: block;
  margin-top: 5px;
}
.radar-label span {
  font-size: 10px;
  color: #ccc;
}
.mini-icon {
  width: 24px;
  height: 24px;
  filter: brightness(0) saturate(100%) invert(84%) sepia(29%) saturate(836%)
    hue-rotate(33deg) brightness(101%) contrast(91%);
}

.l-top {
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
}
.l-right {
  top: 30%;
  right: -100px;
}
.l-bottom-right {
  bottom: -40px;
  right: -40px;
}
.l-bottom-left {
  bottom: -40px;
  left: -40px;
}
.l-left {
  top: 30%;
  left: -100px;
}

/* MOBILE: Navbar na parte inferior */
@media (max-width: 992px) {
  .navbar {
    top: auto; /* Desativa o top de 15px */
    bottom: 15px; /* Fixa a 15px do fundo */
    left: 5%;
    width: 90%;
    position: fixed;
    /* Inverte a sombra para projetar para cima, já que está no fundo */
    box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.5);
  }
  .dropdown-trigger {
    display: flex;
    flex-direction: column; /* Alinha o emoji em cima do texto */
    align-items: center;
    gap: 4px; /* Espaço entre emoji e texto */
    font-size: 0.65rem !important; /* Texto um pouco menor para dar destaque ao ícone */
    color: #fff;
    text-decoration: none;
  }
  .nav-links a span,
  .dropdown-trigger span {
    font-size: 1.4rem; /* Tamanho do emoji */
    margin-bottom: 2px;
  }

  /* Se a seta (arrow) do dropdown estiver atrapalhando, podemos escondê-la no mobile */
  .dropdown-trigger .arrow {
    display: none;
  }

  /* Remove o padding do topo e adiciona no fundo para o conteúdo não ficar atrás da barra */
  body {
    padding-top: 20px;
    padding-bottom: 100px;
  }

  /* Ajuste opcional: se o menu de links ficar muito apertado, 
     você pode diminuir o gap ou esconder itens menos importantes */
  .nav-links {
    gap: 20px; /* Aumentei o espaço entre os links para não grudarem */
    display: flex;
    gap: 0;
    flex: 2;
    justify-content: space-around;
  }

  .nav-links a,
  .dropdown-trigger {
    font-size: 16px !important; /* Tamanho do texto visível */
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    display: flex !important;
    flex-direction: column !important; /* EMPILHA: Ícone em cima, Texto embaixo */
    align-items: center !important;
    gap: 4px;
    position: relative;
  }
  .dropdown-content a {
    font-size: 20px !important; /* Diminuímos de 20px para 16px (20px é muito para mobile) */
    padding: 15px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: white;
    text-decoration: none;
    font-weight: 600;

    /* QUEBRA DE TEXTO: */
    white-space: normal; /* Permite que o texto pule linha se for grande */
    line-height: 1.2; /* Espaço entre as linhas se o texto quebrar *
    display: block; /* Garante que ocupe a largura toda do menu */
    text-align: center;
  }

  /* Emojis via pseudo-elemento */
  .nav-links a[href*="FAQ"]::before {
    content: "❓";
    font-size: 30px;
  }
  .nav-links a[href*="playbook"]::before {
    content: "📘";
    font-size: 30px;
  }
  .nav-links a[href*="nos"]::before {
    content: "👥";
    font-size: 30px;
  }
    .nav-links a[href*="devfacil"]::before {
    content: "🧑‍💻";
    font-size: 30px;
  }
    .nav-links a[href*="consultoria"]::before {
    content: "📊";
    font-size: 30px;
  }
    .nav-links a[href*="agente"]::before {
    content: "🤖";
    font-size: 30px;
  }
  .nav-links a[href*="cloudbox"]::before {
    content: "☁";
    font-size: 30px;
  }
  .dropdown-trigger::before {
    content: "⚙️";
    font-size: 30px;

  }
  
/* Esconde o texto mobile por padrão */
.mobile-text {
  display: none;
}

/* Regras para Celular */
@media (max-width: 992px) {
  .desktop-text {
    display: none; /* Esconde o nome completo */
  }

  .mobile-text {
    font-size: 16px !important; /* Tamanho do texto visível */
    display: inline; /* Mostra apenas "GRUPO" */
  }
  
  .dropdown-trigger::before {
    font-size: 24px; /* Opcional: diminuir o ícone no mobile */
  }
}
  /* Esconde a seta original */
  .arrow {
    display: none;
  }
  .nav-container {
    width: 100%;
    display: flex;
    justify-content: space-around; /* Distribui como ícones de app */
    align-items: center;
  }

  /* Ajuste no botão para acompanhar o tamanho */
  .cta-btn {
    font-size: 0.8rem;
    padding: 8px 12px;
  }
  /* Esconde a linha decorativa ::after no mobile para um visual mais limpo embaixo */
  .navbar::after {
    display: none;
  }
.logo, .cta-btn {
    grid-column: 2; /* Ambos ficam na segunda coluna */
    justify-self: center;
  }

  .logo {
    order: 1; /* Logo em cima */
    margin-bottom: 5px;
  }

  /* Ajuste para centralizar o restante dos itens */
  .nav-container {
    justify-content: space-around; /* Distribui os links e o botão melhor sem a logo */
  }
  .nav-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 35px;
  }

  /* Logo menor */
  .company-logo {
    height: 35px;
  }

  /* Esconde texto dos links */
  .nav-links {
    display: flex;
    gap: 12px;
  }

  .nav-links a,
  .dropdown-trigger {
    font-size: 0; /* esconde texto */
    position: relative;
  }

  /* Emojis no lugar dos textos */
  /* .nav-links a[href*="FAQ"]::before {
    content: "❓";
    font-size: 18px;
  }

  .nav-links a[href*="playbook"]::before {
    content: "📘";
    font-size: 18px;
  }

  .dropdown-trigger::before {
    content: "⚙️";
    font-size: 18px;
  } */

  /* Remove seta */
  .arrow {
    display: none;
  }

  /* Dropdown ajustado */
  .dropdown-content {
    top: 40px;
    right: 0;
  }

  /* Botão vai pra esquerda */
  .cta-btn {
    order: -1; /* joga pro começo */
    padding: 8px 12px;
    font-size: 0.7rem;
    white-space: nowrap;
  }
}
.dropdown {
  position: relative;
}
/* Container Principal */
.secao-wave {
  padding: 60px 20px;
  color: #fff;
  text-align: center;
}

/* Título com degradê */
.title span {
  color: #378cbb; /* Azul da engrenagem inferior */
  text-shadow: 0 0 15px rgba(0, 148, 255, 0.6);
}

/* Layout dos Cards */
.cards-container {
  display: flex;
  justify-content: center;
  gap: 25px;
  flex-wrap: wrap;
  margin-top: 40px;
}

/* Estilo do Card (Glassmorphism + Glow) */
.card {
  /* background: rgba(255, 255, 255, 0.03); */
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 30px;
  width: 300px;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* Cores específicas baseadas nas engrenagens */
.card:nth-child(1) {
  border-top: 4px solid #ffffff;
} /* Laranja */
.card:nth-child(2) {
  border-top: 4px solid #378cbb;
} /* Azul */
.card:nth-child(3) {
  border-top: 4px solid #ffffff;
} /* Verde */

/* Efeito de Hover (Brilho neon) */
.card:hover {
  transform: translateY(-10px);
}

.card:nth-child(1):hover {
  box-shadow: 0 10px 30px rgba(255, 255, 255, 0.4);
}
.card:nth-child(2):hover {
  box-shadow: 0 10px 30px rgba(0, 148, 255, 0.4);
}
.card:nth-child(3):hover {
  box-shadow: 0 10px 30px rgba(255, 255, 255, 0.4);
}

.card h3 {
  font-size: 1.2rem;
  margin-bottom: 15px;
  letter-spacing: 1px;
}

.card p {
  font-size: 0.9rem;
  opacity: 0.8;
  line-height: 1.6;
}

/* Responsividade Mobile */
@media (max-width: 992px) {
  .cards-container {
    flex-direction: column;
    align-items: center;
  }
  .card {
    width: 90%;
  }
}
.highlights-mini {
  display: flex;
  justify-content: center; /* Centraliza horizontalmente o grupo */
  align-items: center; /* Alinha verticalmente os itens */
  flex-wrap: wrap; /* Permite quebrar linha em telas muito pequenas */
  gap: 20px; /* Espaço entre cada mini-item */
  margin: 20px auto; /* Margem em cima/baixo e centraliza o bloco na página */
  width: 100%; /* Garante que ocupe a largura total para o justify funcionar */
}

.mini-item {
  display: flex;
  align-items: center; /* Centraliza o emoji com o texto */
  gap: 8px; /* Espaço entre emoji e palavra */
  font-size: 14px;
  font-weight: 500;
  color: #fff; /* Cor para fundo escuro */
  opacity: 0.8;
}

.mini-item span {
  font-size: 18px; /* Deixa o emoji levemente maior que o texto */
}
/* Estilo específico para o card de checklist */
.card-checklist {
  border-top: 4px solid #00ff21 !important; /* Verde neon para alinhar com as engrenagens */
  text-align: left;
  background: rgba(0, 255, 33, 0.02); /* Leve brilho esverdeado no fundo */
}

.category-tag {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 2px;
  color: #00ff21;
  display: block;
  margin-bottom: 20px;
}

.checklist-v {
  list-style: none;
  padding: 0;
  margin: 0;
}

.checklist-v li {
  font-size: 13px;
  color: #fff;
  margin-bottom: 15px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.4;
  opacity: 0.9;
}

/* Estilo do checkmark verde */
.checklist-v li span {
  color: #378cbb;
  font-weight: bold;
  text-shadow: 0 0 10px rgba(0, 148, 255, 0.4);
}

/* Hover específico para o card verde */
.card-checklist:hover {
  box-shadow: 0 10px 30px rgba(0, 255, 33, 0.15) !important;
}

/* Ajuste no container para 4 colunas em telas grandes */
@media (min-width: 1200px) {
  .cards-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    max-width: 1200px;
    margin: 40px auto;
  }
}
.secao-wave {
  display: flex;
  flex-direction: column;
  align-items: center; /* Centraliza o conteúdo horizontalmente */
  justify-content: center;
  width: 100%;
  padding: 60px 20px;
}
.cards-container {
  display: flex;
  flex-wrap: wrap; /* Permite que os cards quebrem linha se necessário */
  justify-content: center; /* Centraliza os cards horizontalmente */
  align-items: stretch; /* Mantém todos os cards com a mesma altura */
  gap: 20px; /* Espaço entre os cards */
  width: 100%;
  max-width: 1200px; /* Limite de largura para desktop */
  margin: 0 auto;
}

/* Ajuste no Card de Checklist para ele entrar no container */
.card-checklist {
  max-width: 300px; /* Mesma largura dos outros cards */
  margin-top: 0; /* Remove margens que possam desalinhá-lo */
  text-align: left; /* Mantém o texto interno à esquerda para leitura */
}

/* Centralização do Cabeçalho (Título e Ícones Mini) */
.slide-14-center {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px;
}

.highlights-mini {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
/* Container que envolve todo o checklist */
.checklist-h3-container {
  display: flex;
  flex-direction: column;
  gap: 15px; /* Espaço entre cada item */
  max-width: 600px; /* Limita a largura para centralizar bem */
  margin: 30px auto; /* Centraliza o bloco na página */
  align-items: flex-start; /* Alinha os itens à esquerda internamente */
  text-align: left;
}

/* Estilo para cada item de título H3 */
.item-check {
  font-size: 25px !important; /* Tamanho do texto visível */
  font-weight: 600;
  color: #fff;
  margin: 0;
  display: flex;
  align-items: center; /* Centraliza o checkmark verticalmente com o texto */
  gap: 12px; /* Espaço entre o check e o texto */
  width: fit-content;
  position: relative;
  transition: all 0.3s ease;
}

/* Estilo do Checkmark (span ✓) com Glow */
.item-check span {
  color: #378cbb; /* Verde neon vibrante */
  font-size: 40px; /* Checkmark maior e mais imponente */
  font-weight: bold;
  text-shadow: 0 0 10px rgba(0, 148, 255, 0.4); /* Efeito de brilho (glow) */
}

/* Efeito de destaque ao passar o mouse (opcional) */
.item-check:hover {
  transform: translateX(5px);
  color: #378cbb;
}

/* Centralização do Cabeçalho da Seção */
.slide-14-center {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px;
}

/* Remove o respiro exagerado entre as seções */
section {
  padding-top: 75px !important; /* Ajuste o valor conforme desejar (ex: 10px ou 0) */
  padding-bottom: 20px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Ajuste específico para o vídeo e a seção de radar */
#video-section {
  margin-bottom: 10px !important;
  padding-bottom: 0 !important;
}

.feature-row {
  margin-top: 10px !important;
  padding-top: 0 !important;
}

/* Se houver títulos h2 ou h1 com margens grandes, diminua aqui */
h1,
h2,
h3 {
  margin-top: 10px !important;
  margin-bottom: 15px !important;
}
.hero-text-block {
  width: 90% ; /* Usa a largura da tela em vez de fixo */
  max-width: 900px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left; /* Alinhamento mais seguro para diferentes telas */
}

.hero-text-block h1 {
  font-size: clamp(2rem, 5vw, 4rem); /* A fonte aumenta/diminui conforme a tela */
  line-height: 1.2;
  margin-bottom: 20px;
  text-align: left;
}

.hero-text-block h1 span {
  display: inline-block; /* Garante que o span se comporte como parte do texto */
  color: var(--accent-cyan);
  white-space: nowrap; /* Impede que a palavra do span quebre sozinha */
}
.hero-text-block h1 {
  text-align: left; /* Ou center, mas nunca justify para títulos */
  word-break: keep-all; /* Evita quebra de palavras no meio */
}

/* Container que segura os cards lado a lado */
.glass-flex-container {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 40px;
}

/* Card Individual */
.glass-services-card {
  background-color: #1E4373; /* Cor solicitada */
  border-radius: 20px;
  width: 280px;
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
}

.glass-services-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5);
}
/* Ajuste na parte de cima (Removido padding e min-height fixo) */
.glass-card-header {
  position: relative;
  height: 200px; /* Defina uma altura fixa para a área da imagem */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; /* Garante que a imagem não saia das bordas arredondadas */
}

/* A mágica para preencher tudo */
.glass-main-icon {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Faz a imagem cobrir toda a área sem distorcer */
  display: block;
}

/* Ajuste no Overlay para cobrir exatamente a imagem */
.glass-card-hover-layer {
  position: absolute;
  inset: 0; /* Preenche 100% do header */
  background: rgba(30, 67, 115, 0.9);
  display: flex;
  flex-direction: column;
  justify-content: center; /* Centralizei para melhor leitura sobre a imagem */
  align-items: center;
  padding: 15px;
  opacity: 0;
  transition: opacity 0.3s ease;
  text-align: center;
  box-sizing: border-box;
  z-index: 2;
}

/* Garante que o Badge (Tag) fique acima da imagem */
.glass-badge {
  z-index: 3;
  position: absolute;
  top: 15px;
  left: 15px;
  background: rgba(30, 67, 115, 0.7); /* Fundo semi-transparente para leitura */
  backdrop-filter: blur(4px);
  border: 1px solid #378cbb;
  color: #378cbb;
  font-size: 10px;
  padding: 4px 12px;
  border-radius: 20px;
  font-weight: bold;
}
/* OVERLAY NO HOVER - O segredo para o texto aparecer */

.glass-services-card:hover .glass-card-hover-layer {
  opacity: 1;
}

.glass-card-hover-layer p {
  color: white;
  font-size: 0.85rem;
  margin-bottom: 15px;
}

/* Parte de baixo (Texto fixo e Botão) */
.glass-card-body {
  padding: 20px;
  text-align: center;
  background: rgba(255, 255, 255, 0.02); /* Leve destaque no corpo */
  flex-grow: 1;
}

.glass-card-title {
  color: white;
  margin-bottom: 10px;
  font-size: 1.2rem;
}

.glass-card-description {
  color: #ccd6f6;
  font-size: 0.85rem;
  margin-bottom: 20px;
  line-height: 1.4;
}

/* Botão Azul Ciano */
.glass-action-btn {
  background-color: #378cbb;
  color: #1E4373;
  border: none;
  padding: 12px 15px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 0.8rem;
  cursor: pointer;
  width: 100%;
  transition: 0.3s;
}

.glass-action-btn:hover {
  background-color: white;
  transform: scale(1.05);
}

.glass-hover-link {
  color: #378cbb;
  text-decoration: none;
  font-weight: bold;
  font-size: 0.9rem;
}
.main-visual-img {
  width: 100%;
  height: auto;
  /* O segredo para integrar com o fundo do site: */
  mix-blend-mode: screen; 
  
  /* Estilização da borda para parecer o card da foto */
  border: 2px solid #1e4373;
  border-radius: 15px;
  background: rgba(30, 67, 115, 0.1); /* Brilho de fundo suave */
  
  filter: drop-shadow(0 0 15px rgba(0, 212, 255, 0.4));
  animation: float 6s ease-in-out infinite;
}

.visual-wrapper {
  padding: 10px; /* Espaço para a borda não encostar no desenho */
}
.card-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  border: 1px solid var(--card-border);
  border-radius: 12px;
  background: rgba(30, 67, 115, 0.05);
  backdrop-filter: blur(5px);
  min-width: 180px;
}

.card-item p {
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.2;
}

.icon-box {
  color: var(--accent-cyan);
  font-size: 1.4rem;
}

.btn-test-link {
  background: none !important;
  border: none;
  padding: 0;
  box-shadow: none;
}

.companys-logo {
  display: block;
  width: 80px; /* ajusta como quiser */
  height: auto;
}
.test-area {
  position: fixed;
  bottom: 70px;
  right: 30px;
  z-index: 9999;
}

@media (max-width: 992px) {
  .test-area {
    display: none;
  }
}

