:root{
  /* Paleta Dataviewer (edite à vontade) */
  --dv-primary:#4f46e5;   /* indigo-600 */
  --dv-primary-600:#4338ca;/* indigo-700 */
  --dv-accent:#06b6d4;    /* cyan-500 */
  --dv-dark:#0b1220;      /* fundo escuro */
  --dv-muted:#5b6b87;     /* textos secundários */
  --dv-light:#f4f6fb;     /* fundos claros */
  --dv-white:#ffffff;
}

/* O HTML controla o scroll horizontal e o “smooth scroll” */
html{
  scroll-behavior:smooth;
  overflow-x:hidden;
}

/* O body pode crescer à vontade (scroll vertical liberado) */
body{
  min-height:100vh;     /* pelo menos a altura da tela, mas pode passar disso */
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color:#0f172a;
}


/* Navbar */
.navbar-brand{
  font-family:Poppins, Inter, Arial, sans-serif;
  font-weight:700;
  letter-spacing:.5px;
  display: flex;
  align-items: center;
  height: auto;
  padding: 0;
}
.navbar-brand img {
  max-height: 180px;
  width: auto;
  object-fit: contain;
}
.navbar .brand-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  color:var(--dv-white);
}
.navbar{
  backdrop-filter:saturate(180%) blur(8px);
  background:linear-gradient(180deg, rgba(11,18,32,.85), rgba(11,18,32,.6));
}
.navbar .nav-link{ color:#dbe7ff; }
.navbar .nav-link:hover{ color:var(--dv-accent); }
.btn-primary{
  --bs-btn-bg:var(--dv-primary);
  --bs-btn-border-color:var(--dv-primary);
  --bs-btn-hover-bg:var(--dv-primary-600);
  --bs-btn-hover-border-color:var(--dv-primary-600);
}

/* HERO */
.hero{
  position:relative;min-height:90vh;display:grid;align-items:center;
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(79,70,229,.25), transparent 60%),
    radial-gradient(1200px 600px at 90% 10%, rgba(6,182,212,.25), transparent 60%),
    linear-gradient(180deg, #0b1220, #0f172a 40%, #0b1220 100%);
  color:#eaf2ff;overflow:hidden;
}
.hero .overlay-shape{
  position:absolute;inset:0;opacity:.15;pointer-events:none;
  background:url('https://blog.luz.vc/wp-content/uploads/2020/01/pb3.png') center/cover no-repeat;
  mix-blend:screen;
}
.hero h1{font-family:Poppins, Inter, sans-serif;font-weight:700;}
.hero .slogan{color:#c7d7ff;font-size:1.125rem;}
.owl-dots .owl-dot span{background:#94a3b8;}
.owl-dots .owl-dot.active span{background:var(--dv-accent);}    

/* Sections */
.section-title{
  font-family:Poppins, Inter, sans-serif;font-weight:700;letter-spacing:.3px;
}
.lead{color:#334155;}

/* Empresa */
.about-card{
  background:var(--dv-white);border:1px solid #e5e7eb;border-radius:16px;
  box-shadow:0 10px 30px rgba(2,6,23,.05);
}
.kpi{ display:flex;flex-direction:column;align-items:center;gap:.25rem; }
.kpi h3{color:var(--dv-primary);font-weight:700;}
.kpi p{margin:0;color:#334155;font-weight:600;}

/* Serviços */
.service-card{
  height:100%;padding:28px;border-radius:16px;background:var(--dv-white);
  border:1px solid #e5e7eb;transition:.25s ease;box-shadow:0 8px 24px rgba(2,6,23,.04);
}
.service-card:hover{ transform:translateY(-4px); box-shadow:0 16px 40px rgba(2,6,23,.08); }
.service-icon{ width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--dv-primary),var(--dv-accent));color:#fff; }

/* Portfólio */
.portfolio-card{ border:0;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px rgba(2,6,23,.08); }
.portfolio-card img{ object-fit:cover;height:220px;width:100%; }

/* Contato */
.contact-tile{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#0f172a}
.contact-tile .icon{ width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--dv-light);color:var(--dv-primary);font-size:1.25rem; }
.form-control, .form-select{ border-radius:12px; }

/* Footer */
footer{ background:#0a0f1a;color:#9fb3ff; }
footer a{ color:#c7d7ff;text-decoration:none; }
footer a:hover{ color:var(--dv-accent); }

/* WhatsApp Floating */
.whatsapp-link{ position:fixed;right:22px;bottom:22px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:transparent;box-shadow:0 12px 30px rgba(2,6,23,.25);z-index:9999; }
.whatsapp-link:focus{ outline:3px solid rgba(37,211,102,.4); }
.whatsapp-link img{ border-radius:50%; }

/* Utility */
.text-gradient{ background:linear-gradient(90deg,var(--dv-accent),var(--dv-primary));-webkit-background-clip:text;background-clip:text;color:transparent; }

/* REMOVER estas regras antigas */
#tecnologias { background: var(--dv-white); }
#tecnologias .section-title { color: var(--dv-accent); }
.tech-bottom-bar{ height:14px; background:linear-gradient(90deg, var(--dv-accent), var(--dv-primary)); }

/* ========== Tecnologias (grid) ========== */
#tecnologias { background: inherit; }              /* usa o fundo padrão */
#tecnologias .section-title { color: inherit; }    /* título preto */

.tech-grid .tech-cell{
  display:flex; justify-content:center; align-items:center;
  padding:18px 12px;
}
.tech-logo{
  max-height:64px; width:auto; height:auto; object-fit:contain;
  transition: transform .2s ease;
}
.tech-logo:hover{ transform: translateY(-2px); }
@media (min-width: 1200px){
  .tech-logo{ max-height:72px; }                   /* um pouco maior em telas grandes */
}

/* ========== Empresas Atendidas ========== */
#empresas-atendidas { background: var(--dv-light); }
.client-grid .client-cell{
  display:flex; justify-content:center; align-items:center;
  padding:24px 16px;
  background: var(--dv-white);
  border-radius:12px;
  border:1px solid #e5e7eb;
  transition: transform .2s ease, box-shadow .2s ease;
}
.client-cell:hover{
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(2,6,23,.08);
}
.client-logo{
  max-height:60px; width:auto; height:auto; object-fit:contain;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: filter .3s ease, opacity .3s ease;
}
.client-logo:hover{
  filter: grayscale(0%);
  opacity: 1;
}
@media (min-width: 1200px){
  .client-logo{ max-height:70px; }
}

/* ===== Ajuste do MENU / NAVBAR ===== */
/* Logo maior */
.navbar-brand img {
    max-height: 120px;
    /* ajuste aqui até ficar perfeito */
    width: auto;
    object-fit: contain;
}

/* Mantém a navbar fina */
.navbar {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    height: 90px;
    /* trava a altura da barra */
    display: flex;
    align-items: center;
}

/* Em telas menores, deixa a logo ainda menor */
@media (max-width: 992px) {
    .navbar-brand img {
        max-height: 60px;
    }
}

/* Se estiver usando navbar fixa (fixed-top), isso garante
   que o conteúdo não fique escondido atrás do menu */
@media (max-width: 1200px) {
    body {
        padding-top: 70px;
        /* ajuste fino conforme gostar */
    }
}

