:root {
  --qbit-blue: #1873B9;
  --qbit-blue-strong: #1873B9;
  --qbit-navy: #001a3d;
  --qbit-navy-2: #00234e;
  --qbit-text: #0c2446;
  --qbit-muted: #5d6d82;
  --qbit-soft: #f1f7ff;
  --qbit-line: #dce8f5;
  --white: #fff;
  --header-height: 74px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  color: var(--qbit-text);
  background: #fff;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; }
a { text-decoration: none; }
.section-anchor { scroll-margin-top: var(--header-height); }
.section { padding: 84px 0; }
.section-soft-blue { background: linear-gradient(90deg, #f7fbff 0%, #edf6ff 100%); }
.eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--qbit-blue-strong);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.eyebrow.light { color: #1873B9; }
h1, h2, h3, h4 { color: var(--qbit-navy); font-weight: 800; line-height: 1.12; }
h1 { font-size: clamp(2.25rem, 4.5vw, 4.35rem); letter-spacing: -.04em; }
h2 { font-size: clamp(1.8rem, 3vw, 3.05rem); letter-spacing: -.03em; }
h2 span, h1 span { color: var(--qbit-blue); }
p { color: var(--qbit-muted); }
.btn { border-radius: 4px; font-weight: 700; padding: .78rem 1.3rem; }
.btn-primary { background: var(--qbit-blue-strong); border-color: var(--qbit-blue-strong); }
.btn-dark { background: #001a35; border-color: #001a35; }

/* Header */
.site-header {
  background: rgba(0, 22, 48, .96);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  z-index: 1030;
}
.site-header .navbar { min-height: var(--header-height); padding: .45rem 0; }
.brand-logo { width: 92px; height: 48px; object-fit: contain; object-position: left center; }
.site-header .nav-link {
  position: relative;
  color: rgba(255,255,255,.88);
  font-size: .88rem;
  font-weight: 600;
  padding-left: .65rem !important;
  padding-right: .65rem !important;
}
.site-header .nav-link:hover, .site-header .nav-link.active { color: #fff; }
.site-header .nav-link.active::after {
  content: "";
  position: absolute;
  left: .65rem; right: .65rem; bottom: 1px;
  height: 2px; background: var(--qbit-blue);
}
.nav-cta { font-size: .85rem; padding: .72rem 1.15rem; }

/* Hero */
.hero-section {
  position: relative;
  overflow: hidden;
  padding-top: var(--header-height);
  background-image: url('../images/caminhao-balanca.png');
  background-size: cover;
  background-position: center;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,21,48,.97) 0%, rgba(0,26,59,.86) 48%, rgba(0,20,45,.62) 100%);
}
.hero-content { z-index: 2; }
.min-vh-hero { min-height: 650px; padding: 56px 0 52px; }
.hero-copy h1 { color: #fff; max-width: 700px; }
.hero-lead { color: rgba(255,255,255,.86); max-width: 640px; font-size: 1.08rem; }
.hero-notes { color: rgba(255,255,255,.78); font-size: .82rem; }
.hero-notes i { color: #1873B9; margin-right: .25rem; }
.hero-product-wrap { position: relative; }
.hero-product { filter: drop-shadow(0 24px 34px rgba(0,0,0,.32)); transform: scale(1.07); }
.video-chip {
  position: absolute;
  left: 6%; bottom: 0;
  display: flex; align-items: center; gap: 12px;
  padding: 11px 16px;
  background: rgba(255,255,255,.96);
  color: var(--qbit-text);
  border-radius: 8px;
  box-shadow: 0 8px 25px rgba(0,0,0,.18);
}
.video-chip:hover { color: var(--qbit-blue); }
.play-icon { width: 36px; height: 36px; display:grid; place-items:center; border:1px solid #bad9ff; color:var(--qbit-blue); border-radius:50%; font-size:1.1rem; }
.video-chip strong, .video-chip small { display:block; }
.video-chip strong { font-size:.8rem; }
.video-chip small { font-size:.67rem; color:#718096; }

/* Stats */
.stats-section { padding: 42px 0; background:#fff; border-bottom: 1px solid #eef2f7; }
.stat-item { display:grid; grid-template-columns: 34px auto; grid-template-areas:"icon number" "icon label"; justify-content:center; align-items:center; column-gap:9px; text-align:left !important; }
.stat-item i { grid-area:icon; font-size:1.85rem; color:#244a7d; }
.stat-item strong { grid-area:number; font-size:1.05rem; color:var(--qbit-navy); }
.stat-item span { grid-area:label; font-size:.72rem; color:#66788d; }

/* Problem / video */
.feature-list { list-style:none; padding:0; margin:0; display:grid; gap:16px; }
.feature-list li { display:flex; gap:13px; align-items:flex-start; }
.feature-list i { width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; color:var(--qbit-blue); border:1px solid #bbd9ff; border-radius:50%; }
.feature-list strong { display:block; font-size:.92rem; color:var(--qbit-text); }
.feature-list small { display:block; color:#738299; margin-top:2px; }
.video-card { position:relative; border-radius:12px; overflow:hidden; box-shadow:0 18px 45px rgba(3,35,68,.14); }
.video-card img { aspect-ratio: 16 / 9; object-fit:cover; }
.video-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:74px; height:74px; border:0; border-radius:50%; background:rgba(0,28,64,.9); color:white; display:grid; place-items:center; font-size:2rem; box-shadow:0 0 0 8px rgba(255,255,255,.16); }

/* Software */
.floating-product { filter: drop-shadow(0 22px 35px rgba(2,38,77,.12)); }
.check-list { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:10px; }
.check-list li { color:#53657c; }
.check-list i { color:var(--qbit-blue); margin-right:9px; }

/* Workflow */
.workflow-section { padding: 26px 0 72px; border-top:1px solid #edf1f6; }
.section-title { max-width: 820px; margin:0 auto; }
.workflow-grid { margin-top:42px; display:grid; grid-template-columns:repeat(5,1fr); position:relative; }
.workflow-grid::before { content:""; position:absolute; top:38px; left:9%; right:9%; border-top:2px dotted #97c4ff; z-index:0; }
.workflow-step { position:relative; z-index:1; text-align:center; padding:0 12px; display:flex; flex-direction:column; align-items:center; }
.workflow-step .step-number { position:absolute; top:-7px; left:calc(50% - 39px); width:23px; height:23px; border-radius:50%; background:var(--qbit-blue); color:#fff; display:grid; place-items:center; font-size:.7rem; font-weight:800; }
.workflow-step > i { width:62px; height:62px; display:grid; place-items:center; margin-bottom:10px; border-radius:50%; background:#fff; color:#244b7f; font-size:1.8rem; }
.workflow-step strong { font-size:.88rem; }
.workflow-step small { color:#7c8998; line-height:1.35; }

/* Integrations */
.integration-grid { display:grid; grid-template-columns:repeat(7,1fr); min-height:190px; align-items:start; position:relative; }
.integration-grid::before { content:""; position:absolute; top:17px; left:7%; right:7%; border-top:2px dotted #1873B9; }
.integration-item { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; color:#183f70; font-size:.78rem; font-weight:700; }
.integration-item i { width:54px; height:54px; display:grid; place-items:center; background:var(--qbit-soft); color:var(--qbit-blue); font-size:1.75rem; }
.data-integrations { border-top:1px solid #dce9f6; }
.data-item { border-right:1px solid #dce9f6; padding:8px 14px; }
.data-item:last-child { border-right:0; }
.data-item i { display:block; font-size:2rem; color:var(--qbit-blue); margin-bottom:8px; }
.data-item strong { display:block; font-size:.85rem; }
.data-item small { display:block; color:#73839b; line-height:1.4; font-size:.7rem; margin-top:4px; }

/* Segments */
.segments-section { padding-bottom:62px; }
.segment-item i { display:block; font-size:2rem; color:#6a8ebd; margin-bottom:10px; }
.segment-item span { display:block; font-size:.78rem; font-weight:700; color:#53647a; line-height:1.35; }

/* Modules */
.modules-section { background:linear-gradient(180deg,#fbfdff 0%,#fff 100%); padding-top:56px; }
.module-table-wrap { max-width:1120px; margin:0 auto; border:1px solid #d9e5f3; border-radius:10px; box-shadow:0 13px 34px rgba(0,42,92,.08); background:#fff; overflow:hidden; }
.module-table { min-width:880px; --bs-table-border-color:#e2eaf4; }
.module-table th, .module-table td { padding:.72rem .85rem; font-size:.78rem; }
.module-table thead th { vertical-align:bottom; color:#24446d; background:#fbfdff; }
.module-table thead th i { display:block; font-size:1.7rem; color:var(--qbit-blue); margin-bottom:5px; }
.module-table thead th span:not(.badge-best) { display:block; font-size:.72rem; text-transform:uppercase; }
.module-table tbody td:not(:first-child) { color:var(--qbit-blue); font-weight:800; }
.module-table .featured-col { background:#edf6ff; position:relative; }
.badge-best { position:absolute; top:4px; right:5px; color:#fff; background:var(--qbit-blue); padding:3px 7px; border-radius:3px; font-size:.51rem; text-transform:uppercase; }
.module-actions td { padding-top:16px; padding-bottom:16px; }

/* Clients */
.clients-section { background:radial-gradient(circle at 75% 40%,#073a78 0%,#00285b 34%,#001f48 63%,#001633 100%); color:#fff; padding-top:64px; padding-bottom:54px; }
.clients-section h2 { color:#fff; }
.clients-section p { color:#c1d2e6; }
.client-logo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.client-logo-grid > div { min-height:62px; border-radius:5px; background:#fff; display:grid; place-items:center; padding:8px; }
.client-logo-grid img { max-width:100%; max-height:43px; object-fit:contain; }
.clients-map { max-height:490px; filter:drop-shadow(0 12px 25px rgba(0,0,0,.28)); }

/* CTA */
.cta-section { padding:30px 0; background:linear-gradient(90deg,#1873B9 0%,#1873B9 100%); }
.cta-section h2 { color:#fff; font-size:2rem; }
.cta-benefits { list-style:none; padding:0; margin:18px 0 0; color:#dceaff; font-size:.78rem; }
.cta-benefits li { margin-bottom:6px; }
.cta-product { max-height:240px; filter:drop-shadow(0 14px 24px rgba(0,35,93,.25)); }
.lead-form-card { background:#fff; padding:24px; border-radius:8px; box-shadow:0 12px 30px rgba(0,29,87,.2); }
.lead-form-card h3 { font-size:1.1rem; color:var(--qbit-blue); margin-bottom:15px; }
.lead-form-card .form-control { min-height:45px; border-color:#d7e1ec; border-radius:3px; font-size:.82rem; }

/* Footer */
.site-footer { background:#001b3c; color:#fff; }
.footer-logo { width:105px; height:54px; object-fit:contain; object-position:left center; margin-bottom:12px; }
.site-footer p { color:#a9bdd4; font-size:.76rem; max-width:260px; }
.site-footer h4 { color:#fff; font-size:.82rem; margin-bottom:14px; }
.site-footer ul { list-style:none; padding:0; margin:0; }
.site-footer li, .site-footer a { color:#b6c6d7; font-size:.75rem; margin-bottom:5px; }
.site-footer a:hover { color:#fff; }
.social-links { display:flex; gap:12px; }
.social-links a { font-size:1.05rem; }
.contact-list i { width:19px; color:#1873B9; }

@media (max-width: 1199.98px) {
  .integration-grid { grid-template-columns:repeat(4,1fr); gap:24px; }
  .integration-grid::before { display:none; }
  .workflow-step small { font-size:.72rem; }
}

@media (max-width: 991.98px) {
  :root { --header-height: 68px; }
  .site-header .navbar-collapse { background:#001a3d; padding:16px 0 20px; }
  .site-header .nav-link.active::after { display:none; }
  .nav-cta { margin-top:10px; margin-left:0 !important; width:100%; }
  .brand-logo { width:84px; height:44px; }
  .min-vh-hero { min-height:auto; padding:64px 0 70px; }
  .hero-copy { text-align:center; }
  .hero-lead { margin-left:auto; margin-right:auto; }
  .hero-actions, .hero-notes { justify-content:center; }
  .hero-product { margin-top:15px; transform:none; }
  .workflow-grid { grid-template-columns:repeat(2,1fr); gap:30px 10px; }
  .workflow-grid::before { display:none; }
  .client-logo-grid { grid-template-columns:repeat(4,1fr); }
}

@media (max-width: 767.98px) {
  .section { padding:62px 0; }
  .stats-section { padding:32px 0; }
  .stat-item { justify-content:start; padding-left:18%; }
  .video-chip { position:static; margin:14px auto 0; width:max-content; }
  .workflow-grid { grid-template-columns:1fr; }
  .workflow-step .step-number { left:calc(50% - 42px); }
  .integration-grid { grid-template-columns:repeat(2,1fr); }
  .data-item { border-right:0; }
  .client-logo-grid { grid-template-columns:repeat(2,1fr); }
  .clients-map { margin-top:20px; }
  .cta-section { text-align:center; padding:46px 0; }
  .cta-benefits { display:inline-block; text-align:left; }
  .lead-form-card { text-align:left; margin-top:10px; }
}

@media (max-width: 575.98px) {
  .container-xl { padding-left:20px; padding-right:20px; }
  h1 { font-size:2.35rem; }
  h2 { font-size:1.8rem; }
  .hero-actions .btn { width:100%; }
  .stat-item { padding-left:5%; }
  .integration-grid { grid-template-columns:repeat(2,1fr); }
  .module-table-wrap { border-radius:6px; }
}

/* ===== Ajustes 24/08/2026 ===== */
/* Inter em toda a experiência */
body, button, input, textarea, select, .btn {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
}

/* Hierarquia tipográfica mais contida */
h1, h2, h3, h4 {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-weight: 700;
}
h1 { font-size: clamp(2.15rem, 3.8vw, 3.65rem); }
h2 { font-size: clamp(1.65rem, 2.45vw, 2.55rem); }

/* Títulos/labels de seção em Inter Light */
.eyebrow {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-weight: 300;
  letter-spacing: .055em;
}

/* Hero: azul sólido à esquerda + imagem surgindo em degradê à direita */
.hero-section {
  background: #001a3d;
  isolation: isolate;
}
.hero-section::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  width: 69%;
  background-image: url('../images/caminhao-balanca.png');
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.22) 16%, #000 42%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.22) 16%, #000 42%, #000 100%);
}
.hero-overlay {
  z-index: 1;
  background: linear-gradient(90deg,
    #001a3d 0%,
    #001a3d 35%,
    rgba(0,26,61,.94) 45%,
    rgba(0,26,61,.45) 67%,
    rgba(0,20,45,.16) 100%);
}
.hero-content { position: relative; z-index: 2; }

/* Números com mais presença e mais respiro vertical */
.stats-section { padding: 58px 0; }
.stat-item { grid-template-columns: 44px auto; column-gap: 12px; }
.stat-item i { font-size: 2.25rem; }
.stat-item strong { font-size: 1.32rem; line-height: 1.1; }
.stat-item span { font-size: .82rem; line-height: 1.3; }

/* Vídeo clicável */
.video-card { cursor: pointer; }
.video-card .video-play { transition: transform .2s ease, background .2s ease; }
.video-card:hover .video-play {
  transform: translate(-50%,-50%) scale(1.06);
  background: rgba(0,28,64,.98);
}

/* Título específico da jornada menor */
.workflow-section .section-title h2 {
  font-size: clamp(1.55rem, 2.05vw, 2.15rem);
}

/* Alinhamento da área de automação */
.integrations-section > .container-xl > .row {
  align-items: flex-start;
}
.integration-grid {
  padding-top: 6px;
  align-items: start;
}
.integration-item i {
  flex: 0 0 54px;
}
.integration-item span {
  min-height: 38px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

/* 7 segmentos realmente na mesma linha em desktop */
.segments-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
}
.segment-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.segment-item i {
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* O oitavo cliente ocupa a última posição ao lado de Razzo */
.client-logo-grid { grid-template-columns: repeat(4, 1fr); }
.client-logo-grid img[alt="Natural One"] { max-height: 48px; }

/* CTA mais alta para não cortar os benefícios */
.cta-section { padding: 48px 0 52px; }
.cta-benefits { margin-bottom: 4px; }

@media (max-width: 991.98px) {
  .hero-section::before { width: 100%; opacity: .55; }
  .hero-overlay {
    background: linear-gradient(90deg, rgba(0,26,61,.97) 0%, rgba(0,26,61,.84) 100%);
  }
  .segments-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

@media (max-width: 767.98px) {
  .stats-section { padding: 42px 0; }
  .segments-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* ===== Ajustes 24/08 - alinhamentos, segmentos, clientes e rodapé ===== */

/* Automação & integrações: reproduz a organização horizontal da referência */
.integrations-top-row {
  align-items: flex-start !important;
}
.integrations-copy {
  padding-top: 0;
}
.integrations-icons-col {
  display: flex;
  align-items: flex-start;
}
.integration-grid {
  width: 100%;
  min-height: 155px;
  padding-top: 14px;
  align-items: start;
}
.integration-grid::before {
  top: 14px;
  left: 6.9%;
  right: 6.9%;
}
.integration-item {
  gap: 10px;
  justify-content: flex-start;
}
.integration-item i {
  width: 56px;
  height: 56px;
  font-size: 1.9rem;
}
.integration-item span {
  min-height: 0;
  align-items: center;
  line-height: 1.2;
}
.data-integrations {
  margin-top: 28px !important;
  padding-top: 34px !important;
}
.data-integrations-row {
  align-items: flex-start;
}
.data-integrations-copy {
  padding-top: 2px;
}
.data-integrations-items {
  align-self: stretch;
}
.data-items-row {
  height: 100%;
  align-items: stretch;
}
.data-item {
  min-height: 150px;
  padding: 0 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  border-left: 1px solid #dce9f6;
}
.data-item:first-child {
  border-left: 0;
}
.data-item i {
  margin-top: 0;
  margin-bottom: 12px;
}
.data-item strong {
  margin-bottom: 7px;
}

/* Mais respiro entre o título de segmentos e a linha de ícones */
.segments-section .segments-grid {
  margin-top: 3.4rem !important;
}

/* Mapa ligeiramente menor, mantendo centralização */
.clients-map {
  max-height: 455px;
  width: auto;
  max-width: 94%;
}

/* Rodapé: links sociais e contatos */
.social-links {
  gap: 14px;
  align-items: center;
}
.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
  font-size: 1.08rem;
}
.contact-list a {
  color: #b6c6d7;
  text-decoration: none;
}
.contact-list a:hover {
  color: #fff;
}

@media (max-width: 991.98px) {
  .integration-grid {
    min-height: auto;
    padding-top: 0;
  }
  .data-item,
  .data-item:first-child {
    border-left: 0;
    min-height: 140px;
  }
  .clients-map {
    max-width: 90%;
  }
}

/* ===== Pop-up de contato ===== */
.contact-modal .modal-dialog { max-width: 1180px; padding: 18px; }
.contact-modal .modal-content { border: 1px solid rgba(255,255,255,.65); border-radius: 18px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,18,42,.34); }
.contact-modal .modal-backdrop { background: #00142c; }
.contact-modal-close { position: absolute; z-index: 8; top: 25px; right: 26px; width: 1.35rem; height: 1.35rem; opacity: 1; filter: none; }

.contact-modal-visual { position: relative; min-height: 735px; color: #fff; background: #001a3d; overflow: hidden; }
.contact-modal-visual::before { content:""; position:absolute; inset:0; background-image: linear-gradient(180deg, rgba(0,20,48,.08) 0%, rgba(0,20,48,.34) 48%, rgba(0,20,48,.93) 100%), url('../images/caminhao-balanca.png'); background-size: cover; background-position: 57% center; opacity:.9; }
.contact-modal-visual::after { content:""; position:absolute; inset:0; background: radial-gradient(circle at 10% 0%, rgba(22,116,255,.12), transparent 45%), linear-gradient(120deg, rgba(0,32,72,.96) 0%, rgba(0,29,66,.82) 52%, rgba(0,29,66,.38) 100%); }
.contact-visual-content { position: relative; z-index: 2; height:100%; min-height:735px; padding: 46px 48px 38px; display:flex; flex-direction:column; }
.contact-modal-brand { display:flex; align-items:flex-end; gap:8px; margin-bottom:42px; width:max-content; }
.contact-modal-brand img { width:106px; height:auto; object-fit:contain; object-position:left; }
.contact-modal-brand span { margin-left:-50px; transform:translate(53px,6px); color:#1873B9; font-weight:700; font-size:.65rem; letter-spacing:.03em; }
.contact-modal-visual h2 { max-width: 410px; color:#fff; font-size: clamp(2rem, 3vw, 3rem); line-height:1.08; font-weight:700; margin-bottom:24px; }
.contact-modal-visual h2 span { color:#1873B9; }
.contact-modal-visual > * { position:relative; }
.contact-visual-content > p { max-width:370px; color:#dbe7f6; font-size:1rem; line-height:1.55; margin-bottom:28px; }
.contact-benefits { list-style:none; padding:0; margin:0; display:grid; gap:20px; }
.contact-benefits li { display:flex; align-items:center; gap:16px; color:#fff; font-size:.9rem; line-height:1.45; }
.contact-benefit-icon { flex:0 0 auto; width:50px; height:50px; border:1px solid #1873B9; border-radius:50%; display:grid; place-items:center; color:#1873B9; font-size:1.35rem; background:rgba(0,51,112,.45); }
.contact-benefits strong { font-weight:500; }
.contact-security { margin-top:auto; border:1px solid rgba(49,137,255,.55); background:rgba(0,24,56,.6); border-radius:9px; padding:16px 18px; display:flex; align-items:center; gap:14px; max-width:410px; }
.contact-security > i { font-size:1.9rem; color:#9cc8ff; }
.contact-security strong, .contact-security span { display:block; }
.contact-security strong { color:#fff; font-size:.93rem; margin-bottom:2px; }
.contact-security span { color:#c6d5e7; font-size:.78rem; }

.contact-modal-form-side { background:#fff; }
.contact-form-wrap { padding: 62px 58px 38px; }
.contact-kicker { display:block; color:#1873B9; font-size:.87rem; font-weight:700; text-transform:uppercase; letter-spacing:.02em; margin-bottom:4px; }
.contact-form-wrap h2 { font-size:clamp(2rem,3.2vw,3rem); color:#06234b; line-height:1.05; margin-bottom:28px; }
.contact-form-wrap h2 span { color:#1873B9; }
.contact-form .form-label { color:#09264f; font-size:.84rem; font-weight:700; margin-bottom:7px; }
.contact-form .form-label span { font-weight:400; }
.contact-input-group { min-height:54px; border:1px solid #cbd6e4; border-radius:9px; display:flex; align-items:center; background:#fff; overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease; }
.contact-input-group:focus-within { border-color:#1873B9; box-shadow:0 0 0 3px rgba(24,115,185,.10); }
.contact-input-group > i { width:54px; flex:0 0 54px; display:grid; place-items:center; color:#1873B9; font-size:1.35rem; }
.contact-input-group .form-control { border:0; box-shadow:none!important; padding: 0 14px 0 0; min-height:52px; font-size:.89rem; color:#153354; }
.contact-input-group .form-control::placeholder { color:#899ab0; }
.contact-input-group.contact-textarea { align-items:flex-start; }
.contact-input-group.contact-textarea > i { padding-top:15px; }
.contact-input-group textarea.form-control { padding-top:14px; min-height:92px; resize:vertical; }
.contact-submit { min-height:56px; border:0; border-radius:28px; color:#fff; font-weight:700; font-size:.95rem; background:linear-gradient(90deg,#1873B9 0%,#1873B9 100%); box-shadow:0 8px 20px rgba(4,76,145,.16); }
.contact-submit:hover { color:#fff; background:linear-gradient(90deg,#1873B9 0%,#1873B9 100%); }
.contact-submit i { margin-right:8px; }
.contact-divider { position:relative; text-align:center; margin:18px 0; color:#5f7187; font-size:.8rem; }
.contact-divider::before, .contact-divider::after { content:""; position:absolute; top:50%; width:42%; border-top:1px solid #dfe6ee; }
.contact-divider::before { left:0; } .contact-divider::after { right:0; }
.contact-divider span { background:#fff; padding:0 12px; position:relative; z-index:2; }
.contact-whatsapp { min-height:68px; display:flex; align-items:center; gap:14px; padding:12px 18px; border:1px solid #b9ddb9; border-radius:9px; background:#f8fff8; color:#25415d; text-decoration:none; }
.contact-whatsapp > .bi-whatsapp { color:#31b540; font-size:2.15rem; }
.contact-whatsapp span { display:flex; flex-direction:column; }
.contact-whatsapp strong { color:#32a63b; font-size:.9rem; }
.contact-whatsapp small { color:#39536e; font-size:.8rem; margin-top:2px; }
.contact-whatsapp > .bi-chevron-right { color:#2daa39; font-size:1.2rem; }
.contact-response-time { margin-top:20px; text-align:center; color:#49617c; font-size:.78rem; }
.contact-response-time i { color:#1873B9; font-size:1.2rem; margin-right:7px; vertical-align:-2px; }
.contact-response-time strong { color:#1873B9; }

@media (max-width: 991.98px) {
  .contact-modal .modal-dialog { max-width:760px; }
  .contact-modal-visual { min-height:auto; }
  .contact-visual-content { min-height:560px; padding:38px 34px 30px; }
  .contact-form-wrap { padding:48px 34px 34px; }
}
@media (max-width: 767.98px) {
  .contact-modal .modal-dialog { margin:.5rem; padding:0; }
  .contact-modal .modal-content { border-radius:14px; }
  .contact-modal-close { top:18px; right:18px; background-color:#fff; border-radius:50%; padding:8px; }
  .contact-visual-content { min-height:500px; padding:32px 24px 26px; }
  .contact-modal-brand { margin-bottom:28px; }
  .contact-modal-visual h2 { font-size:2rem; }
  .contact-form-wrap { padding:38px 22px 28px; }
}


/* Ajuste 24/08 - popup de contato mais compacto */
@media (min-width: 992px) {
  .contact-modal .modal-dialog { max-width: 980px; padding: 12px; }
  .contact-modal-visual { min-height: 610px; }
  .contact-visual-content { min-height: 610px; padding: 34px 38px 28px; }
  .contact-modal-brand { margin-bottom: 28px; }
  .contact-modal-brand img { width: 92px; }
  .contact-modal-visual h2 { max-width: 350px; font-size: 2.25rem; margin-bottom: 16px; }
  .contact-visual-content > p { margin-bottom: 20px; font-size: .9rem; }
  .contact-benefits { gap: 14px; }
  .contact-benefit-icon { width: 43px; height: 43px; font-size: 1.15rem; }
  .contact-benefits li { font-size: .82rem; }
  .contact-security { padding: 12px 14px; }
  .contact-form-wrap { padding: 38px 42px 26px; }
  .contact-form-wrap h2 { font-size: 2.25rem; margin-bottom: 18px; }
  .contact-form .mb-3 { margin-bottom: .65rem !important; }
  .contact-input-group { min-height: 46px; }
  .contact-input-group > i { width: 48px; flex-basis: 48px; font-size: 1.15rem; }
  .contact-input-group .form-control { min-height: 44px; font-size: .84rem; }
  .contact-input-group textarea.form-control { min-height: 68px; padding-top: 10px; }
  .contact-input-group.contact-textarea > i { padding-top: 11px; }
  .contact-submit { min-height: 48px; }
  .contact-divider { margin: 12px 0; }
  .contact-whatsapp { min-height: 56px; padding: 9px 15px; }
  .contact-whatsapp > .bi-whatsapp { font-size: 1.8rem; }
  .contact-response-time { margin-top: 12px; }
}


/* ===== Correção mobile — tabela de módulos 24/08/2026 ===== */
.module-mobile-hint {
  display: none;
}

@media (max-width: 767.98px) {
  .modules-section .section-title {
    margin-bottom: 1.6rem !important;
  }

  .module-mobile-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto 14px;
    padding: 9px 14px;
    color: #145f9a;
    background: #eef7ff;
    border: 1px solid rgba(24, 115, 185, .28);
    border-radius: 999px;
    box-shadow: 0 5px 14px rgba(24, 115, 185, .10);
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.25;
  }

  .module-mobile-hint-icon {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    flex: 0 0 auto;
    color: var(--qbit-blue);
    animation: moduleSwipeHint 1.5s ease-in-out infinite;
  }

  .module-mobile-hint-icon .bi-hand-index-thumb {
    font-size: 1.05rem;
  }

  .module-mobile-hint-icon .bi-arrow-right {
    font-size: .95rem;
  }

  @keyframes moduleSwipeHint {
    0%, 100% {
      transform: translateX(-3px);
      opacity: .78;
    }
    50% {
      transform: translateX(5px);
      opacity: 1;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .module-mobile-hint-icon {
      animation: none;
    }
  }

  /* O overflow:hidden anterior estava cortando as outras colunas. */
  .module-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: #9fc5ff #eef5ff;
    border-radius: 8px;
  }

  .module-table-wrap::-webkit-scrollbar {
    height: 7px;
  }

  .module-table-wrap::-webkit-scrollbar-track {
    background: #eef5ff;
  }

  .module-table-wrap::-webkit-scrollbar-thumb {
    background: #9fc5ff;
    border-radius: 20px;
  }

  .module-table {
    width: 760px;
    min-width: 760px;
    table-layout: fixed;
  }

  .module-table th:first-child,
  .module-table td:first-child {
    position: sticky;
    left: 0;
    z-index: 3;
    width: 190px;
    min-width: 190px;
    max-width: 190px;
    background: #fff;
    box-shadow: 7px 0 12px -12px rgba(0, 42, 92, .55);
  }

  .module-table thead th:first-child {
    z-index: 5;
    background: #fbfdff;
  }

  .module-table th:not(:first-child),
  .module-table td:not(:first-child) {
    width: 142px;
    min-width: 142px;
  }

  .module-table th,
  .module-table td {
    padding: .72rem .65rem;
    font-size: .73rem;
  }

  .module-table thead th span:not(.badge-best) {
    font-size: .66rem;
    line-height: 1.25;
    white-space: normal;
  }

  .module-table thead th i {
    font-size: 1.45rem;
  }

  .module-table tbody td:first-child {
    white-space: normal;
    line-height: 1.3;
  }

  .module-actions td:first-child {
    background: #fff;
  }

  .module-actions .btn {
    white-space: nowrap;
    padding-left: .7rem;
    padding-right: .7rem;
  }
}

@media (max-width: 420px) {
  .module-table {
    width: 700px;
    min-width: 700px;
  }

  .module-table th:first-child,
  .module-table td:first-child {
    width: 168px;
    min-width: 168px;
    max-width: 168px;
  }

  .module-table th:not(:first-child),
  .module-table td:not(:first-child) {
    width: 133px;
    min-width: 133px;
  }
}

/* ===== Pop-up Automação Completa ===== */
.automation-modal { --bs-modal-width: 1380px; }
.automation-modal .modal-dialog { max-width: 1380px; padding: 18px; }
.automation-modal .modal-content { border: 1px solid rgba(112,160,204,.45); border-radius: 22px; overflow: hidden; background: #fff; box-shadow: 0 28px 80px rgba(0,15,35,.34); }
.automation-modal-close { position:absolute; z-index:10; top:28px; right:28px; width:20px; height:20px; opacity:.9; }
.automation-modal-row { min-height: 690px; }
.automation-modal-info { background: radial-gradient(circle at 50% 42%, rgba(7,66,126,.5), transparent 55%), linear-gradient(135deg,#001c3d 0%,#002a57 52%,#001b39 100%); color:#fff; }
.automation-info-wrap { padding: 34px 42px 30px; }
.automation-brand-line { display:flex; align-items:center; gap:22px; margin-bottom:34px; }
.automation-brand-line img { width:100px; height:auto; }
.automation-brand-line span { color:#1873B9; background:rgba(24,115,185,.22); border:1px solid rgba(24,115,185,.15); border-radius:10px; padding:9px 15px; font-size:.82rem; letter-spacing:.02em; }
.automation-info-wrap > h2 { color:#fff; font-size:2.35rem; line-height:1.08; font-weight:700; margin:0 0 14px; }
.automation-info-wrap > h2 span { color:#1873B9; }
.automation-lead { color:#d0dceb; max-width:640px; font-size:.94rem; line-height:1.55; margin-bottom:22px; }
.automation-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.automation-feature-card { min-height:108px; border:1px solid rgba(52,135,215,.38); border-radius:11px; background:rgba(0,36,77,.38); padding:16px; display:flex; gap:14px; align-items:flex-start; }
.automation-feature-card > i { color:#1873B9; font-size:1.9rem; line-height:1; flex:0 0 34px; margin-top:3px; }
.automation-feature-card strong { display:block; color:#fff; font-size:.9rem; margin-bottom:5px; }
.automation-feature-card span { display:block; color:#dbe6f2; font-size:.73rem; line-height:1.48; }
.automation-all-toggle { width:100%; margin-top:11px; min-height:52px; border:1px solid rgba(52,135,215,.38); border-radius:10px; background:rgba(0,36,77,.45); color:#fff; display:flex; align-items:center; justify-content:space-between; padding:0 19px; font-weight:600; font-size:.87rem; }
.automation-all-toggle span { display:flex; align-items:center; gap:12px; }
.automation-all-toggle span i { color:#1873B9; font-size:1.25rem; }
.automation-all-toggle .toggle-chevron { color:#cfe0f3; transition:transform .25s ease; }
.automation-all-toggle[aria-expanded="true"] .toggle-chevron { transform:rotate(180deg); }
.automation-all-features { margin-top:9px; padding:15px 16px 8px; max-height:245px; overflow:auto; border:1px solid rgba(52,135,215,.26); border-radius:10px; background:rgba(0,24,52,.58); }
.automation-all-features ul { list-style:none; padding:0; margin:0; columns:2; column-gap:28px; }
.automation-all-features li { break-inside:avoid; position:relative; padding:0 0 7px 20px; color:#dce8f4; font-size:.68rem; line-height:1.4; }
.automation-all-features li::before { content:'✓'; position:absolute; left:0; top:0; color:#1873B9; font-weight:800; }
.automation-note { display:flex; align-items:center; gap:12px; margin-top:18px; }
.automation-note > i { color:#1873B9; font-size:1.7rem; }
.automation-note strong,.automation-note span { display:block; }
.automation-note strong { color:#fff; font-size:.82rem; margin-bottom:2px; }
.automation-note span { color:#b9c9da; font-size:.72rem; }
.automation-modal-form { background:#fff; }
.automation-form-wrap { padding: 104px 52px 42px; }
.automation-form-wrap > h2 { color:#031c41; font-size:1.8rem; line-height:1.25; font-weight:700; margin-bottom:24px; }
.automation-form-wrap > p { color:#63758e; font-size:.94rem; line-height:1.5; margin-bottom:40px; max-width:450px; }
.automation-input { height:64px; border:1px solid #d5dee8; border-radius:9px; display:flex; align-items:center; margin-bottom:16px; }
.automation-input > i { width:60px; flex:0 0 60px; display:grid; place-items:center; color:#516985; font-size:1.4rem; }
.automation-input .form-control { border:0; box-shadow:none!important; height:62px; padding:0 14px 0 0; color:#203955; font-size:.95rem; }
.automation-input .form-control::placeholder { color:#657993; opacity:1; }
.automation-budget-btn { min-height:64px; border:0; border-radius:9px; margin-top:18px; background:linear-gradient(90deg,#229b06 0%,#36b600 100%); color:#fff; font-weight:700; font-size:1rem; }
.automation-budget-btn:hover { color:#fff; filter:brightness(.96); }
.automation-budget-btn i { margin-left:18px; font-size:1.25rem; vertical-align:-2px; }
.automation-safe { margin-top:22px; color:#60738c; text-align:center; font-size:.8rem; }
.automation-safe i { margin-right:7px; }

@media (max-width: 1199.98px) {
  .automation-modal .modal-dialog { max-width: 1100px; }
  .automation-info-wrap { padding:30px 30px 26px; }
  .automation-form-wrap { padding:90px 34px 36px; }
  .automation-info-wrap > h2 { font-size:2rem; }
}
@media (max-width: 991.98px) {
  .automation-modal .modal-dialog { max-width:780px; }
  .automation-modal .modal-content { max-height:94vh; overflow-y:auto; }
  .automation-modal-row { min-height:0; }
  .automation-form-wrap { padding:48px 34px 34px; }
  .automation-form-wrap > p { margin-bottom:24px; }
  .automation-modal-close { background-color:#fff; border-radius:50%; padding:8px; top:16px; right:16px; }
}
@media (max-width: 767.98px) {
  .automation-modal .modal-dialog { margin:.35rem; padding:0; }
  .automation-modal .modal-content { border-radius:14px; }
  .automation-info-wrap { padding:28px 20px 24px; }
  .automation-brand-line { gap:12px; margin-bottom:24px; flex-wrap:wrap; }
  .automation-brand-line img { width:82px; }
  .automation-brand-line span { font-size:.7rem; padding:7px 10px; }
  .automation-info-wrap > h2 { font-size:1.75rem; }
  .automation-feature-grid { grid-template-columns:1fr; }
  .automation-feature-card { min-height:0; }
  .automation-all-features ul { columns:1; }
  .automation-all-features { max-height:300px; }
  .automation-form-wrap { padding:38px 20px 28px; }
  .automation-form-wrap > h2 { font-size:1.45rem; padding-right:32px; }
  .automation-input { height:56px; }
  .automation-input .form-control { height:54px; }
  .automation-budget-btn { min-height:56px; }
}


/* ===== Ajustes 31/08/2026 - logo Portaria, placeholders e alinhamento ===== */
.brand-logo-portaria {
  width: 118px;
  height: 52px;
  object-fit: contain;
  object-position: left center;
}

.stat-item.stat-placeholder strong,
.stat-item.stat-placeholder span {
  color: #d92727 !important;
}

/* Centraliza horizontalmente o bloco de ícones em relação ao texto da seção */
.integrations-top-row {
  align-items: center !important;
}
.integrations-copy,
.integrations-icons-col {
  align-self: center;
}
.integrations-icons-col {
  display: flex;
  align-items: center;
}
.integration-grid {
  min-height: 130px;
  padding-top: 0;
  align-items: center;
}
.integration-grid::before {
  top: 27px;
}
.integration-item {
  justify-content: center;
}

.automation-brand-line img {
  width: 112px;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 991.98px) {
  .brand-logo-portaria { width: 104px; height: 48px; }
  .integrations-top-row { align-items: flex-start !important; }
  .integration-grid { min-height: auto; }
}


/* ===== Ajustes finais 31/08/2026 - popup de contato e CTA ===== */
/* O popup acionado pelo menu e pelo scroll usa a marca QBit Portaria completa. */
.contact-modal-brand {
  align-items: center;
  margin-bottom: 34px;
}
.contact-modal-brand img {
  width: 128px;
  max-height: 66px;
  object-fit: contain;
  object-position: left center;
}
.contact-modal-brand span { display: none !important; }

/* Reequilibra o CTA para que o bloco “Experimente sem compromisso”
   ocupe corretamente o espaço da faixa azul e fique alinhado ao conteúdo geral. */
.cta-section .container-xl {
  padding-left: 24px;
  padding-right: 24px;
}
.cta-section .row {
  min-height: 300px;
}
.cta-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-right: 24px;
}
.cta-copy .eyebrow,
.cta-copy h2,
.cta-copy .cta-benefits {
  width: 100%;
  text-align: left;
}
.cta-copy h2 {
  margin-bottom: 0;
}
.cta-product-col {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cta-product {
  width: 100%;
  max-width: 310px;
}

@media (max-width: 991.98px) {
  .cta-section .row { min-height: 0; }
  .cta-copy { align-items: center; padding-right: 0; }
  .cta-copy .eyebrow, .cta-copy h2 { text-align: center; }
  .cta-copy .cta-benefits { width: auto; text-align: left; }
  .contact-modal-brand img { width: 116px; }
}

/* ===== Refinamento CTA 31/08/2026 - faixa mais compacta e blocos na mesma altura ===== */
@media (min-width: 992px) {
  .cta-section {
    padding: 28px 0;
  }
  .cta-section .row {
    min-height: 0;
    align-items: center !important;
  }
  .cta-copy {
    padding-top: 4px;
    padding-bottom: 4px;
  }
  .cta-copy .eyebrow {
    margin-bottom: 10px;
    font-size: .68rem;
  }
  .cta-copy h2 {
    font-size: 1.85rem;
    line-height: 1.08;
    margin-bottom: 14px;
  }
  .cta-benefits {
    margin-bottom: 0;
  }
  .cta-benefits li {
    margin-bottom: 6px;
  }
  .cta-product {
    max-width: 285px;
    max-height: 190px;
    object-fit: contain;
  }
  .lead-form-card {
    padding: 20px 22px;
  }
  .lead-form-card h3 {
    margin-bottom: 12px;
  }
  .lead-form-card form {
    --bs-gutter-y: .75rem;
  }
  .lead-form-card .form-control {
    min-height: 42px;
  }
  .lead-form-card .btn {
    min-height: 48px;
  }
}


/* ===== Ajuste final CTA + logo do rodapé 31/08/2026 ===== */
.footer-logo-portaria {
  width: 132px;
  height: 58px;
  object-fit: contain;
  object-position: left center;
}

/* Mantém toda a faixa do teste contida e centralizada antes do rodapé */
.cta-section {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding: 24px 0 !important;
  margin: 0 !important;
}
.cta-section .container-xl {
  height: auto;
}
.cta-section .row {
  min-height: 0 !important;
  margin-top: 0;
  margin-bottom: 0;
  align-items: center !important;
}
.cta-section .cta-copy,
.cta-section .cta-product-col,
.cta-section .col-lg-5 {
  display: flex;
  align-items: center;
}
.cta-section .cta-copy {
  align-items: flex-start;
  justify-content: center;
}
.cta-section .cta-product-col {
  justify-content: center;
}
.cta-section .col-lg-5 {
  justify-content: stretch;
}
.cta-section .lead-form-card {
  width: 100%;
  margin: 0 !important;
  padding: 18px 20px;
  box-sizing: border-box;
}
.cta-section .lead-form-card h3 {
  margin: 0 0 10px;
}
.cta-section .lead-form-card form {
  margin-bottom: 0;
  --bs-gutter-y: .65rem;
}
.cta-section .lead-form-card .form-control {
  min-height: 40px;
  padding-top: .55rem;
  padding-bottom: .55rem;
}
.cta-section .lead-form-card .btn {
  min-height: 44px;
}
.cta-section .cta-product {
  display: block;
  max-width: 270px;
  max-height: 175px;
  margin: 0 auto;
  object-fit: contain;
}
.cta-section .cta-benefits {
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  .footer-logo-portaria { width: 124px; }
  .cta-section { padding: 36px 0 !important; }
  .cta-section .cta-copy,
  .cta-section .cta-product-col,
  .cta-section .col-lg-5 { display: block; }
  .cta-section .cta-copy { text-align: center; }
  .cta-section .lead-form-card { margin-top: 8px !important; }
  .cta-section .cta-product { margin: 14px auto; }
}


/* Rodapé — colunas uniformes e conteúdo centralizado */
.site-footer .footer-grid {
  align-items: flex-start;
}
.site-footer .footer-column {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-footer .footer-logo {
  object-position: center;
}
.site-footer .footer-column p {
  margin-left: auto;
  margin-right: auto;
}
.site-footer .footer-column ul {
  width: 100%;
  text-align: center;
}
.site-footer .footer-column li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}
.site-footer .footer-column:not(.footer-brand) li:not(:has(i)) {
  display: block;
}
.site-footer .social-links {
  justify-content: center;
}
@media (min-width: 992px) {
  .site-footer .footer-column {
    flex: 0 0 25%;
    max-width: 25%;
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* Rodapé — colunas mais próximas + bloco institucional alinhado à esquerda */
@media (min-width: 992px) {
  .site-footer .footer-grid {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
  }
  .site-footer .footer-column {
    padding-left: 14px;
    padding-right: 14px;
  }
}
.site-footer .footer-brand {
  text-align: left;
  align-items: flex-start;
}
.site-footer .footer-brand .footer-logo {
  object-position: left center;
  margin-left: 0;
  margin-right: 0;
}
.site-footer .footer-brand p {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}
.site-footer .footer-brand .social-links {
  justify-content: flex-start;
}

/* Ajustes finais — CTA com colunas uniformes e rodapé contato à direita */
@media (min-width: 992px) {
  .cta-section .row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 42px;
    align-items: center !important;
  }
  .cta-section .cta-copy,
  .cta-section .cta-product-col,
  .cta-section .row > .col-lg-5 {
    width: auto !important;
    max-width: none !important;
    padding-left: 0;
    padding-right: 0;
  }
  .cta-section .cta-product-col {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  .cta-section .cta-product {
    width: 115%;
    max-width: 390px !important;
    max-height: 280px !important;
    margin: 0 auto;
  }
  .site-footer .footer-grid > .footer-column:last-child {
    text-align: right;
    align-items: flex-end;
  }
  .site-footer .footer-grid > .footer-column:last-child ul {
    text-align: right;
  }
  .site-footer .footer-grid > .footer-column:last-child li {
    justify-content: flex-end;
  }
}

/* Correção 31/08/2026 — o grid de 3 colunas deve afetar somente a linha principal do CTA.
   O formulário interno continua usando o grid padrão do Bootstrap. */
.cta-section .lead-form-card form.row {
  display: flex !important;
  flex-wrap: wrap !important;
  grid-template-columns: none !important;
  column-gap: 0 !important;
  align-items: stretch !important;
  margin-left: calc(-.5 * var(--bs-gutter-x));
  margin-right: calc(-.5 * var(--bs-gutter-x));
}
.cta-section .lead-form-card form.row > * {
  width: 100%;
  max-width: 100%;
}
@media (min-width: 768px) {
  .cta-section .lead-form-card form.row > .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
}
@media (min-width: 992px) {
  .cta-section > .container-xl > .row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 42px;
    align-items: center !important;
  }
  .cta-section .lead-form-card form.row {
    display: flex !important;
  }
}

/* =========================================================
   POP-UP TESTE GRÁTIS
   ========================================================= */
.trial-modal .modal-dialog {
  max-width: 1120px;
  padding: 18px;
}

.trial-modal .modal-content {
  border: 0;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0, 20, 45, .35);
  position: relative;
}

.trial-modal-close {
  position: absolute;
  top: 22px;
  right: 24px;
  z-index: 5;
  width: 1.15rem;
  height: 1.15rem;
  opacity: 1;
}

.trial-modal-row {
  min-height: 650px;
}

.trial-modal-info {
  padding: 54px 54px 46px;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(24, 115, 185, .10), transparent 38%),
    linear-gradient(145deg, #ffffff 0%, #ffffff 62%, #eef6ff 100%);
  border-right: 1px solid #e6edf5;
}

.trial-modal-info::after {
  content: "";
  position: absolute;
  width: 310px;
  height: 650px;
  border: 46px solid rgba(24, 115, 185, .07);
  border-radius: 50%;
  right: -235px;
  bottom: -190px;
  transform: rotate(22deg);
  pointer-events: none;
}

.trial-modal-logo {
  width: 240px;
  max-width: 80%;
  height: auto;
  margin-bottom: 42px;
}

.trial-modal-info h2 {
  font-family: 'Inter', sans-serif;
  font-size: clamp(1.8rem, 2.6vw, 2.65rem);
  line-height: 1.1;
  font-weight: 700;
  color: #001b3b;
  margin-bottom: 22px;
}

.trial-modal-info h2 span {
  display: block;
  color: #1873B9;
}

.trial-modal-intro {
  color: #586b83;
  font-size: 1rem;
  line-height: 1.7;
  max-width: 360px;
  margin-bottom: 34px;
}

.trial-benefit {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 20px;
  position: relative;
  z-index: 1;
}

.trial-benefit-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #edf5fc;
  display: grid;
  place-items: center;
  flex: 0 0 64px;
  color: #1873B9;
  font-size: 1.8rem;
}

.trial-benefit strong,
.trial-benefit small {
  display: block;
}

.trial-benefit strong {
  color: #001b3b;
  font-size: 1rem;
  margin-bottom: 4px;
}

.trial-benefit small {
  color: #62758e;
  font-size: .88rem;
  line-height: 1.45;
}

.trial-modal-form-side {
  background: #fff;
  padding: 72px 64px 42px;
}

.trial-form-heading {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 32px;
}

.trial-form-heading > i {
  color: #1873B9;
  font-size: 2.4rem;
  line-height: 1;
}

.trial-form-heading h3 {
  color: #001b3b;
  font-family: 'Inter', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 6px;
}

.trial-form-heading p {
  margin: 0;
  color: #667890;
  font-size: 1rem;
}

.trial-modal-form-side .form-label {
  color: #334b68;
  font-weight: 600;
  margin-bottom: 8px;
}

.trial-input-group {
  position: relative;
}

.trial-input-group > i {
  position: absolute;
  left: 19px;
  top: 50%;
  transform: translateY(-50%);
  color: #506783;
  font-size: 1.35rem;
  z-index: 2;
}

.trial-input-group .form-control {
  height: 58px;
  border: 1px solid #d4dee9;
  border-radius: 11px;
  padding: 0 18px 0 56px;
  color: #102b4d;
  box-shadow: none;
}

.trial-input-group .form-control:focus {
  border-color: #1873B9;
  box-shadow: 0 0 0 .2rem rgba(24, 115, 185, .10);
}

.trial-privacy {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #5b6e86;
  font-size: .86rem;
  margin: 20px 4px;
}

.trial-privacy i {
  color: #1873B9;
}

.trial-submit {
  min-height: 60px;
  border: 0;
  border-radius: 10px;
  background: #1873B9;
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

.trial-submit:hover,
.trial-submit:focus {
  background: #135f9a;
  color: #fff;
}

.trial-no-card {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: #60738b;
  font-size: .88rem;
  margin-top: 16px;
}

.trial-no-card i {
  color: #1873B9;
}

@media (max-width: 991.98px) {
  .trial-modal .modal-dialog {
    max-width: 720px;
  }

  .trial-modal-row {
    min-height: 0;
  }

  .trial-modal-info {
    padding: 38px 34px 32px;
    border-right: 0;
    border-bottom: 1px solid #e6edf5;
  }

  .trial-modal-logo {
    width: 190px;
    margin-bottom: 26px;
  }

  .trial-benefit {
    display: none;
  }

  .trial-modal-intro {
    margin-bottom: 0;
  }

  .trial-modal-form-side {
    padding: 38px 34px 34px;
  }
}

@media (max-width: 575.98px) {
  .trial-modal .modal-dialog {
    padding: 8px;
    margin: 0;
  }

  .trial-modal .modal-content {
    border-radius: 20px;
  }

  .trial-modal-info {
    padding: 30px 24px 24px;
  }

  .trial-modal-info h2 {
    font-size: 1.65rem;
  }

  .trial-modal-form-side {
    padding: 30px 24px 26px;
  }

  .trial-form-heading h3 {
    font-size: 1.45rem;
  }

  .trial-form-heading > i {
    font-size: 1.8rem;
  }

  .trial-input-group .form-control {
    height: 54px;
  }

  .trial-submit {
    min-height: 56px;
    font-size: .96rem;
  }
}


/* Feedback dos formulários com envio direto */
.form-send-status {
  display: none;
  margin-top: 12px;
  padding: 11px 14px;
  border-radius: 10px;
  font-size: .88rem;
  line-height: 1.4;
  text-align: center;
}

.form-send-status.is-success,
.form-send-status.is-error {
  display: block;
}

.form-send-status.is-success {
  color: #176b35;
  background: #edf9f1;
  border: 1px solid #bfe7ca;
}

.form-send-status.is-error {
  color: #9c2f2f;
  background: #fff1f1;
  border: 1px solid #efc1c1;
}

/* Ajustes finais — pop-up Solicitar Demonstração */
.trial-modal-logo {
  width: 175px;
  max-width: 62%;
  margin-bottom: 32px;
}

#trialModalLabel .trial-title-highlight {
  color: #1873B9;
}

@media (max-width: 991.98px) {
  .trial-modal-logo {
    width: 145px;
    max-width: 55%;
    margin-bottom: 22px;
  }
}

/* ===== Ajuste de cores — Hero/Topo QBit Portaria | 24/09/2026 =====
   Somente cores: estrutura, layout, imagens e posicionamentos preservados. */
.site-header {
  background: rgba(19, 95, 154, .98);
  border-bottom-color: rgba(255,255,255,.10);
}

.hero-section {
  background: #1873B9;
}

.hero-overlay {
  background: linear-gradient(90deg,
    #1873B9 0%,
    #1873B9 35%,
    rgba(24,115,185,.94) 45%,
    rgba(24,115,185,.45) 67%,
    rgba(24,115,185,.16) 100%);
}

.hero-copy .eyebrow {
  color: #B9E1FF;
}

.hero-copy h1 {
  color: #fff;
}

.hero-copy h1 span {
  color: #8FD0FF;
}

.hero-section .btn-primary,
.site-header .btn-primary {
  background: #1873B9;
  border-color: #1873B9;
  color: #fff;
}

.hero-section .btn-primary:hover,
.site-header .btn-primary:hover {
  background: #1567A7;
  border-color: #1567A7;
  color: #fff;
}

@media (max-width: 991.98px) {
  .site-header .navbar-collapse {
    background: #135F9A;
  }
}


/* ===== Refinamento visual — Hero/Topo QBit Portaria | 24/09/2026 =====
   Mantém estrutura e conteúdo; remove apenas o mockup e suaviza cores/overlay. */
.site-header {
  background: rgba(13, 72, 119, .98);
  border-bottom-color: rgba(255,255,255,.10);
}

.hero-section {
  background: #1873B9;
}

.hero-overlay {
  background: linear-gradient(90deg,
    rgba(24,115,185,.94) 0%,
    rgba(24,115,185,.88) 35%,
    rgba(24,115,185,.72) 48%,
    rgba(24,115,185,.28) 70%,
    rgba(24,115,185,.08) 100%);
}

.hero-copy .eyebrow {
  color: #C8E9FF;
}

.hero-copy h1 {
  color: #fff;
}

.hero-copy h1 span {
  color: #9DD9FF;
}

.hero-section .btn-primary,
.site-header .btn-primary {
  background: #49A9E8;
  border-color: #49A9E8;
  color: #fff;
}

.hero-section .btn-primary:hover,
.site-header .btn-primary:hover {
  background: #65B8EE;
  border-color: #65B8EE;
  color: #fff;
}

.hero-section .btn-outline-light {
  border-color: rgba(255,255,255,.90);
  color: #fff;
  background: rgba(24,115,185,.18);
}

.hero-section .btn-outline-light:hover {
  background: rgba(255,255,255,.14);
  border-color: #fff;
  color: #fff;
}

.hero-notes i {
  color: #9DD9FF;
}

@media (max-width: 991.98px) {
  .site-header .navbar-collapse {
    background: #0D4877;
  }
}


/* ===== Refinamento de composição do Hero | 24/09/2026 =====
   Alterações restritas ao hero: vídeo removido no HTML, foto reposicionada,
   cancelamento refinado e altura vertical compactada. */
.hero-section::before {
  background-position: 68% center;
}

.min-vh-hero {
  min-height: 570px;
  padding-top: 38px;
  padding-bottom: 36px;
}

.hero-notes {
  margin-top: 1.15rem !important;
}

.hero-notes span {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: rgba(255,255,255,.92);
  font-size: .9rem;
  font-weight: 500;
}

.hero-notes i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  margin-right: 0;
  color: #fff;
  font-size: 1.18rem;
}

@media (max-width: 991.98px) {
  .min-vh-hero {
    min-height: auto;
    padding-top: 42px;
    padding-bottom: 44px;
  }
  .hero-section::before {
    background-position: 70% center;
  }
}


/* =========================================================
   Ajustes de identidade QBit Portaria — 24/09/2026
   Somente cores/tipografia solicitadas; sem mudanças de layout.
   ========================================================= */

/* Títulos/eyebrows das seções em Poppins Bold */
.eyebrow {
  font-family: "Poppins", Inter, "Segoe UI", Arial, sans-serif;
  font-weight: 700;
}

/* Azul principal do produto */
.nav-cta,
.btn-primary {
  background-color: #1873B9 !important;
  border-color: #1873B9 !important;
}
.nav-cta:hover,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #1873B9 !important;
  border-color: #1873B9 !important;
}

/* Autoridade */
.stats-section .stat-item i {
  color: #1873B9 !important;
}

/* A sua operação ainda depende... */
.feature-list i,
.section-soft-blue h2 span {
  color: #1873B9;
}

/* O QBit Portaria */
.check-list i {
  color: #1873B9 !important;
}

/* Como funciona na prática */
.workflow-step .step-number {
  background: #1873B9 !important;
}
.workflow-step > i {
  color: #1873B9 !important;
}

/* Automação e integração + Conecte também seus dados */
.integration-item i,
.data-item i,
.integrations-section h2 span {
  color: #1873B9 !important;
}

/* Escolha o módulo ideal */
.module-table thead th i,
.module-table tbody td:not(:first-child),
.modules-section h2 span {
  color: #1873B9 !important;
}
.badge-best {
  background: #1873B9 !important;
  color: #fff !important;
}
.module-actions .btn-outline-primary {
  color: #1873B9 !important;
  border-color: #1873B9 !important;
  background: transparent !important;
}
.module-actions .btn-outline-primary:hover,
.module-actions .btn-outline-primary:focus,
.module-actions .btn-outline-primary:active {
  color: #fff !important;
  border-color: #1873B9 !important;
  background: #1873B9 !important;
}
.module-actions .btn-primary {
  background: #1873B9 !important;
  border-color: #1873B9 !important;
  color: #fff !important;
}

/* CTA */
.cta-section {
  background: #1873B9 !important;
}

/* Rodapé */
.site-footer {
  background: #0D4876 !important;
}
.site-footer .social-links a,
.site-footer .contact-list i {
  color: #fff !important;
}
.site-footer .social-links a:hover {
  color: #dceeff !important;
}

/* =========================================================
   Refinamento clientes + CTA final — 24/09/2026
   Mantém HTML, textos, estrutura e funcionalidades existentes.
   ========================================================= */

/* QUEM USA, APROVA. */
.clients-section {
  background: #0D4876 !important;
}
.clients-section p {
  color: rgba(255,255,255,.82) !important;
}

/* CTA FINAL / TESTE GRÁTIS */
.cta-section {
  background:
    radial-gradient(circle at 42% 48%, rgba(94,181,238,.18) 0%, rgba(94,181,238,0) 34%),
    linear-gradient(118deg, #0D4876 0%, #125F99 48%, #0D4876 100%) !important;
  padding: 42px 0 !important;
}
.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(5,45,77,.12), rgba(24,115,185,.08) 48%, rgba(5,45,77,.16));
}
.cta-section .container-xl {
  position: relative;
  z-index: 1;
}
.cta-section .row {
  column-gap: 0;
}
.cta-section .cta-copy {
  padding-right: 22px;
}
.cta-section .cta-copy .eyebrow {
  color: #9ED9FF !important;
  letter-spacing: .08em;
  margin-bottom: 7px;
}
.cta-section .cta-copy h1 {
  color: #fff;
  font-family: "Poppins", Inter, "Segoe UI", Arial, sans-serif;
  font-weight: 700;
  font-size: clamp(2.25rem, 3.25vw, 3.5rem);
  line-height: 1.02;
  margin: 0 0 18px;
}
.cta-section .cta-benefits {
  color: rgba(255,255,255,.9) !important;
  font-size: .84rem;
  line-height: 1.45;
}
.cta-section .cta-benefits li {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 9px;
}
.cta-section .cta-benefits i {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.26);
  color: #9ED9FF;
  font-size: .8rem;
}
.cta-section .cta-product-col {
  position: relative;
}
.cta-section .cta-product-col::before {
  content: "";
  position: absolute;
  width: 82%;
  aspect-ratio: 1.55;
  border-radius: 50%;
  background: rgba(122,198,244,.12);
  filter: blur(18px);
  pointer-events: none;
}
.cta-section .cta-product {
  position: relative;
  z-index: 1;
  max-width: 300px;
  max-height: 205px;
  filter: drop-shadow(0 18px 25px rgba(0,25,50,.30));
}
.cta-section .lead-form-card {
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 14px;
  padding: 24px 25px;
  box-shadow: 0 18px 44px rgba(2,35,63,.24);
}
.cta-section .lead-form-card h3 {
  color: #0D4876;
  font-family: "Poppins", Inter, "Segoe UI", Arial, sans-serif;
  font-weight: 700;
  font-size: 1.15rem;
  margin-bottom: 14px;
}
.cta-section .lead-form-card .form-control {
  min-height: 44px;
  border: 1px solid #D7E3EC;
  border-radius: 7px;
  background: #F8FBFD;
  padding-left: .85rem;
  box-shadow: none;
}
.cta-section .lead-form-card .form-control:focus {
  border-color: #1873B9;
  background: #fff;
  box-shadow: 0 0 0 .18rem rgba(24,115,185,.12);
}
.cta-section .lead-form-card .btn,
.cta-section .lead-form-card .btn-dark {
  min-height: 46px;
  border-radius: 7px;
  background: #1873B9 !important;
  border-color: #1873B9 !important;
  color: #fff !important;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(24,115,185,.22);
}
.cta-section .lead-form-card .btn:hover,
.cta-section .lead-form-card .btn:focus,
.cta-section .lead-form-card .btn:active {
  background: #155F98 !important;
  border-color: #155F98 !important;
  color: #fff !important;
}

@media (max-width: 991.98px) {
  .cta-section {
    padding: 42px 0 !important;
    background: linear-gradient(160deg, #0D4876 0%, #146BAA 52%, #0D4876 100%) !important;
  }
  .cta-section .cta-copy {
    padding-right: 0;
  }
  .cta-section .cta-copy h1 {
    font-size: 2.35rem;
  }
  .cta-section .cta-benefits li {
    justify-content: flex-start;
  }
  .cta-section .cta-product {
    max-width: min(300px, 82vw);
    max-height: 210px;
  }
  .cta-section .lead-form-card {
    padding: 21px 18px;
    border-radius: 12px;
  }
}

/* =========================================================
   Ajustes finais Portaria — 24/09/2026
   Escopo: botão hero, destaque clientes, popup de teste e CTA final.
   ========================================================= */

/* 1. Botão "Teste agora grátis" do HERO — somente este botão */
.hero-section .hero-actions .btn-primary {
  background: #9DD9FF !important;
  border-color: #9DD9FF !important;
  color: #0D4876 !important;
}
.hero-section .hero-actions .btn-primary:hover,
.hero-section .hero-actions .btn-primary:focus,
.hero-section .hero-actions .btn-primary:active {
  background: #B8E5FF !important;
  border-color: #B8E5FF !important;
  color: #0D4876 !important;
}

/* 2. Destaque "Quem usa, aprova." */
.clients-section .eyebrow.light {
  color: #9DD9FF !important;
}

/* 3. Popup "Teste agora grátis" — mais compacto e identidade Portaria */
@media (min-width: 992px) {
  .trial-modal .modal-dialog {
    max-width: 960px;
    padding: 14px;
  }
  .trial-modal-row {
    min-height: 555px;
  }
  .trial-modal-info {
    padding: 42px 42px 36px;
  }
  .trial-modal-form-side {
    padding: 50px 48px 34px;
  }
  .trial-modal-logo {
    width: 155px;
    margin-bottom: 25px;
  }
  .trial-modal-info h2 {
    font-size: clamp(1.65rem, 2.15vw, 2.25rem);
    margin-bottom: 16px;
  }
  .trial-modal-intro {
    margin-bottom: 24px;
    line-height: 1.55;
  }
  .trial-benefit {
    gap: 14px;
    margin-top: 15px;
  }
  .trial-benefit-icon {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
    font-size: 1.45rem;
  }
  .trial-form-heading {
    margin-bottom: 22px;
  }
  .trial-form-heading h3 {
    font-size: 1.7rem;
  }
  .trial-modal-form-side .mb-3 {
    margin-bottom: .75rem !important;
  }
  .trial-input-group .form-control {
    height: 50px;
  }
  .trial-submit {
    min-height: 52px;
  }
  .trial-privacy {
    margin: 14px 4px;
  }
  .trial-no-card {
    margin-top: 12px;
  }
}

.trial-benefit-icon,
.trial-benefit-icon i,
.trial-form-heading > i,
.trial-input-group > i,
.trial-privacy i,
.trial-no-card i {
  color: #1873B9 !important;
}
.trial-modal-info h2 span,
#trialModalLabel .trial-title-highlight,
.trial-no-card {
  color: #1873B9 !important;
}
.trial-benefit:first-of-type small {
  color: #1873B9 !important;
}
.trial-submit {
  background: #1873B9 !important;
  border-color: #1873B9 !important;
  color: #fff !important;
}
.trial-submit:hover,
.trial-submit:focus,
.trial-submit:active {
  background: #155F98 !important;
  border-color: #155F98 !important;
  color: #fff !important;
}

/* 4. CTA FINAL — fotografia de operação preservada como fundo full-width.
   Azul sólido à esquerda -> transparência progressiva -> foto mais aparente à direita. */
.cta-section {
  position: relative;
  isolation: isolate;
  background-image: url('../images/caminhao-balanca.png') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(13,72,118,.98) 0%,
    rgba(18,91,145,.95) 25%,
    rgba(24,115,185,.82) 45%,
    rgba(24,115,185,.55) 63%,
    rgba(13,72,118,.28) 82%,
    rgba(13,72,118,.18) 100%) !important;
}
.cta-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(2,34,59,.08), rgba(2,34,59,.16));
}
.cta-section .container-xl {
  position: relative;
  z-index: 1;
}
.cta-section .cta-product {
  filter: drop-shadow(0 18px 26px rgba(0,24,46,.34));
}
.cta-section .lead-form-card {
  background: rgba(255,255,255,.97) !important;
  border-color: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(2px);
}
.cta-section .lead-form-card .btn,
.cta-section .lead-form-card .btn-dark {
  background: #1873B9 !important;
  border-color: #1873B9 !important;
}

@media (max-width: 991.98px) {
  .cta-section {
    background-image: url('../images/caminhao-balanca.png') !important;
    background-size: cover !important;
    background-position: 64% center !important;
  }
  .cta-section::before {
    background: linear-gradient(160deg,
      rgba(13,72,118,.98) 0%,
      rgba(24,115,185,.91) 48%,
      rgba(13,72,118,.58) 100%) !important;
  }
}

/* =========================================================
   Fechamento da página — Clientes + CTA final — 24/09/2026
   ========================================================= */

/* CLIENTES / RESULTADOS — base clara e leve */
.clients-section {
  background: #F7FBFE !important;
  color: #0D4876 !important;
  padding-top: 70px;
  padding-bottom: 64px;
}
.clients-section .eyebrow.light {
  color: #1873B9 !important;
}
.clients-section h2 {
  color: #0D4876 !important;
}
.clients-section p {
  color: #536B7E !important;
}
.clients-section .client-logo-grid > div {
  background: #fff;
  border: 1px solid #E1ECF4;
  box-shadow: 0 7px 20px rgba(13,72,118,.06);
  border-radius: 9px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.clients-section .client-logo-grid > div:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(13,72,118,.10);
}
.clients-visual-col {
  position: relative;
}
.clients-map-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 690px);
  min-height: 430px;
  padding: 20px 128px 20px 12px;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(235,247,255,.84));
  border: 1px solid #DCEAF4;
  box-shadow: 0 18px 45px rgba(13,72,118,.08);
}
.clients-section .clients-map {
  max-height: 420px;
  max-width: 100%;
  filter: drop-shadow(0 14px 22px rgba(13,72,118,.13));
}
.clients-result-card {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 150px;
  padding: 18px 14px;
  text-align: left;
  border-radius: 13px;
  background: rgba(255,255,255,.96);
  border: 1px solid #DCEAF4;
  box-shadow: 0 12px 30px rgba(13,72,118,.12);
}
.clients-result-card::before {
  content: "";
  display: block;
  width: 32px;
  height: 3px;
  margin-bottom: 12px;
  border-radius: 10px;
  background: #1873B9;
}
.clients-result-card strong {
  display: block;
  color: #0D4876;
  font-family: "Poppins", Inter, sans-serif;
  font-size: 1.15rem;
  line-height: 1.15;
  margin-bottom: 7px;
}
.clients-result-card span {
  display: block;
  color: #667E90;
  font-size: .76rem;
  line-height: 1.35;
}

/* CTA FINAL — fotografia integrada por degradê exclusivamente azul */
.cta-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 54px 0 !important;
  background-image: url('../images/caminhao-balanca.png') !important;
  background-size: cover !important;
  background-position: center 48% !important;
  background-repeat: no-repeat !important;
}
.cta-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(13,72,118,.97) 0%,
    rgba(18,92,147,.94) 24%,
    rgba(24,115,185,.82) 45%,
    rgba(24,115,185,.60) 65%,
    rgba(24,115,185,.38) 82%,
    rgba(24,115,185,.28) 100%) !important;
}
.cta-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(13,72,118,.10), rgba(13,72,118,.22)) !important;
}
.cta-section .cta-copy h1 {
  font-size: clamp(2.55rem, 3.6vw, 3.85rem);
  letter-spacing: -.025em;
}
.cta-section .cta-benefits {
  margin-top: 22px;
}
.cta-section .cta-benefits li {
  margin-bottom: 11px;
  color: rgba(255,255,255,.94);
}
.cta-section .cta-benefits i {
  width: 28px;
  height: 28px;
  flex-basis: 28px;
  background: rgba(157,217,255,.16);
  border-color: rgba(157,217,255,.42);
  color: #9DD9FF;
}
.cta-section .cta-product {
  max-width: 325px;
  max-height: 225px;
  filter: drop-shadow(0 20px 28px rgba(0,29,53,.34));
}
.cta-section .cta-product-col::before {
  background: rgba(24,115,185,.12);
}
.cta-section .lead-form-card {
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(255,255,255,.88) !important;
  border-radius: 16px;
  padding: 26px 27px;
  box-shadow: 0 20px 48px rgba(5,45,77,.22);
  backdrop-filter: blur(3px);
}
.cta-section .lead-form-card h3 {
  color: #0D4876;
  margin-bottom: 17px;
}
.cta-section .lead-form-card .form-control {
  background: #FBFDFF;
  border-color: #D8E6F0;
}
.cta-section .lead-form-card .btn,
.cta-section .lead-form-card .btn-dark {
  background: #1873B9 !important;
  border-color: #1873B9 !important;
  box-shadow: 0 9px 20px rgba(24,115,185,.24);
}

@media (max-width: 991.98px) {
  .clients-section {
    padding-top: 54px;
    padding-bottom: 50px;
  }
  .clients-map-wrap {
    width: 100%;
    min-height: 0;
    padding: 18px;
    display: block;
  }
  .clients-result-card {
    position: relative;
    top: auto;
    right: auto;
    transform: none;
    width: min(100%, 280px);
    margin: 8px auto 0;
    text-align: center;
  }
  .clients-result-card::before {
    margin-left: auto;
    margin-right: auto;
  }
  .cta-section {
    padding: 48px 0 !important;
    background-position: 64% center !important;
  }
  .cta-section::before {
    background: linear-gradient(160deg,
      rgba(13,72,118,.98) 0%,
      rgba(24,115,185,.90) 48%,
      rgba(24,115,185,.60) 100%) !important;
  }
  .cta-section .cta-product {
    max-width: min(315px, 84vw);
  }
}

/* =========================================================
   Refinamento final do HERO — 24/09/2026
   Escopo exclusivo: transição azul/foto, posição do conteúdo e tamanho dos botões.
   ========================================================= */
@media (min-width: 992px) {
  /* Dissolve a fotografia de forma mais longa e orgânica dentro do azul Portaria. */
  .hero-section::before {
    width: 74%;
    background-position: 72% center;
    -webkit-mask-image: linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.05) 7%,
      rgba(0,0,0,.18) 16%,
      rgba(0,0,0,.42) 29%,
      rgba(0,0,0,.72) 43%,
      #000 60%,
      #000 100%);
    mask-image: linear-gradient(90deg,
      transparent 0%,
      rgba(0,0,0,.05) 7%,
      rgba(0,0,0,.18) 16%,
      rgba(0,0,0,.42) 29%,
      rgba(0,0,0,.72) 43%,
      #000 60%,
      #000 100%);
  }

  .hero-overlay {
    background: linear-gradient(90deg,
      rgba(24,115,185,.96) 0%,
      rgba(24,115,185,.93) 28%,
      rgba(24,115,185,.82) 40%,
      rgba(24,115,185,.62) 52%,
      rgba(24,115,185,.38) 65%,
      rgba(24,115,185,.18) 79%,
      rgba(24,115,185,.08) 100%);
  }

  /* Mantém alinhamento à esquerda e apenas desloca o conjunto levemente para a direita. */
  .hero-copy {
    transform: translateX(15px);
  }

  /* Botões discretamente mais compactos, preservando conforto de clique. */
  .hero-actions .btn {
    padding: .66rem 1.15rem;
    font-size: .95rem;
  }
}

/* =========================================================
   HERO — referência clara 25/09/2026
   ESCOPO EXCLUSIVO: banner. Menu e demais seções preservados.
   ========================================================= */
.hero-section {
  background: #eaf6ff;
  isolation: isolate;
  overflow: hidden;
}

.hero-section::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 0 auto;
  width: 61%;
  background-image: url('../images/hero-portaria-referencia.png');
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(90deg,
    transparent 0%,
    rgba(0,0,0,.05) 8%,
    rgba(0,0,0,.18) 17%,
    rgba(0,0,0,.42) 29%,
    rgba(0,0,0,.72) 42%,
    #000 58%,
    #000 100%);
  mask-image: linear-gradient(90deg,
    transparent 0%,
    rgba(0,0,0,.05) 8%,
    rgba(0,0,0,.18) 17%,
    rgba(0,0,0,.42) 29%,
    rgba(0,0,0,.72) 42%,
    #000 58%,
    #000 100%);
}

/* Transição clara e contínua do bloco sólido para a fotografia. */
.hero-overlay {
  z-index: 1;
  background: linear-gradient(90deg,
    rgba(234,246,255,1) 0%,
    rgba(234,246,255,1) 37%,
    rgba(234,246,255,.96) 43%,
    rgba(234,246,255,.78) 50%,
    rgba(234,246,255,.48) 58%,
    rgba(234,246,255,.20) 66%,
    rgba(234,246,255,0) 75%);
}

/* Corte triangular inferior esquerdo da referência. */
.hero-section::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-left: 0 solid transparent;
  border-right: 265px solid transparent;
  border-bottom: 150px solid #d4edff;
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 2;
}

.hero-copy {
  transform: none;
}

.hero-copy .eyebrow {
  color: #1873B9;
  font-weight: 700;
}

.hero-copy h1 {
  color: #09375C;
}

.hero-copy h1 span {
  color: #1873B9;
}

.hero-lead {
  color: #09375C;
}

.hero-section .hero-actions .btn-primary {
  background: #1873B9;
  border-color: #1873B9;
  color: #fff;
}

.hero-section .hero-actions .btn-primary:hover,
.hero-section .hero-actions .btn-primary:focus,
.hero-section .hero-actions .btn-primary:active {
  background: #1567a7;
  border-color: #1567a7;
  color: #fff;
}

.hero-section .btn-outline-light {
  color: #09375C;
  border-color: #1873B9;
  background: rgba(255,255,255,.36);
}

.hero-section .btn-outline-light:hover,
.hero-section .btn-outline-light:focus {
  color: #fff;
  border-color: #1873B9;
  background: #1873B9;
}

.hero-notes span {
  color: #09375C;
}

.hero-notes i {
  color: #09375C;
}

@media (max-width: 991.98px) {
  .hero-section::before {
    width: 100%;
    background-position: 66% center;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.12) 22%, #000 58%, #000 100%);
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.12) 22%, #000 58%, #000 100%);
  }
  .hero-overlay {
    background: linear-gradient(180deg,
      rgba(234,246,255,1) 0%,
      rgba(234,246,255,.98) 48%,
      rgba(234,246,255,.76) 65%,
      rgba(234,246,255,.22) 100%);
  }
  .hero-section::after {
    border-right-width: 150px;
    border-bottom-width: 85px;
  }
}

/* ===== Microajustes HERO | 25/09/2026 =====
   Somente: enquadramento da foto + triângulo inferior menor. */
@media (min-width: 992px) {
  .hero-section::before {
    /* Mais área de imagem e foco deslocado à direita para preservar a frente do caminhão. */
    width: 64%;
    background-position: 78% center;
  }

  .hero-section::after {
    /* Mantém o detalhe no mesmo canto, sem avançar sob "Cancelamento fácil". */
    border-right-width: 185px;
    border-bottom-width: 92px;
  }
}

/* ===== Ajuste pontual HERO | caminhão mais à direita e mais abaixo =====
   Escopo exclusivo: posição da fotografia no banner desktop. */
@media (min-width: 992px) {
  .hero-section::before {
    background-position: 54% 34%;
  }
}

/* ===== Ajuste pontual HERO | caminhão BEM mais à direita =====
   25/09/2026 — somente posição da fotografia no banner desktop. */
@media (min-width: 992px) {
  .hero-section::before {
    background-position: 12% 18%;
  }
}

/* ===== Ajustes 25/09/2026 | overlay hero + menu/rodapé + logo ===== */
/* Transição do bloco azul-claro para a fotografia mais leve/transparente. */
.hero-overlay {
  background: linear-gradient(90deg,
    rgba(234,246,255,1) 0%,
    rgba(234,246,255,1) 31%,
    rgba(234,246,255,.86) 39%,
    rgba(234,246,255,.58) 47%,
    rgba(234,246,255,.30) 55%,
    rgba(234,246,255,.10) 63%,
    rgba(234,246,255,0) 70%);
}

/* Menu e rodapé na cor oficial solicitada. */
.site-header { background: #1873B9; }
.site-footer { background: #1873B9; }

@media (max-width: 991.98px) {
  .site-header .navbar-collapse { background: #1873B9; }
  .hero-overlay {
    background: linear-gradient(180deg,
      rgba(234,246,255,1) 0%,
      rgba(234,246,255,.90) 42%,
      rgba(234,246,255,.54) 61%,
      rgba(234,246,255,.14) 82%,
      rgba(234,246,255,0) 100%);
  }
}

/* ===== Ajustes pontuais 25/09/2026 | HERO + logo menu + indicador ativo =====
   Escopo: somente posição da foto no hero, transparência da transição,
   logo do menu e cor do indicador da navegação. */
.site-header .nav-link.active::after {
  background: #084F8E;
}

@media (min-width: 992px) {
  .hero-section::before {
    /* Desloca ainda mais o conteúdo da fotografia para a direita. */
    background-position: -18% 18%;
  }

  .hero-overlay {
    /* Bloco claro preservado à esquerda; sobreposição sobre a foto reduzida. */
    background: linear-gradient(90deg,
      rgba(234,246,255,1) 0%,
      rgba(234,246,255,1) 30%,
      rgba(234,246,255,.72) 36%,
      rgba(234,246,255,.34) 42%,
      rgba(234,246,255,.12) 47%,
      rgba(234,246,255,.03) 51%,
      rgba(234,246,255,0) 54%);
  }
}

/* ===== Menu mobile corrigido | 25/09/2026 ===== */
.mobile-nav-icon, .mobile-nav-arrow { display: none; }
@media (max-width: 991.98px) {
  .site-header .navbar-collapse { padding: 10px 18px 18px; }
  .site-header .navbar-nav { gap: 0 !important; width: 100%; }
  .site-header .navbar-nav .nav-item { width: 100%; border-bottom: 1px solid rgba(255,255,255,.09); }
  .site-header .navbar-nav .nav-link {
    min-height: 52px; width: 100%; display: flex; align-items: center; gap: 16px;
    position: relative; padding: 0 10px !important; font-size: .98rem; font-weight: 600; color: #fff;
  }
  .site-header .navbar-nav .nav-link::before,
  .site-header .navbar-nav .nav-link::after { content: none !important; display: none !important; }
  .site-header .mobile-nav-icon, .site-header .mobile-nav-arrow {
    display: inline-block; color: #9DD9FF; font-size: 1.25rem; line-height: 1; flex: 0 0 auto;
  }
  .site-header .mobile-nav-arrow { margin-left: auto; font-size: 1rem; }
  .site-header .navbar-nav .nav-link.active {
    color: #9DD9FF; box-shadow: inset 3px 0 0 #20B8FF; border-radius: 8px 0 0 8px;
  }
  .site-header .navbar-nav .nav-link.active .mobile-nav-icon,
  .site-header .navbar-nav .nav-link.active .mobile-nav-arrow { color: #20B8FF; }
  .site-header .nav-cta {
    margin-top: 18px; border-radius: 14px; min-height: 54px;
    background: #084F8E !important; border-color: #084F8E !important; color: #fff !important;
  }
}

/* =========================================================
   HERO MOBILE — 25/09/2026
   Escopo estrito: somente hero em smartphones (até 767.98px).
   Desktop/tablet, menu e demais seções permanecem inalterados.
   ========================================================= */
@media (max-width: 767.98px) {
  .hero-section {
    min-height: 0 !important;
    height: auto !important;
    background: linear-gradient(180deg, #f8fcff 0%, #eaf6ff 63%, #e4f3ff 100%) !important;
    overflow: hidden;
    position: relative;
  }

  /* Fotografia isolada na base do hero — nunca atrás do conteúdo. */
  .hero-section::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: 100% !important;
    height: clamp(255px, 72vw, 330px);
    background-image: url('../images/hero-portaria-referencia.png') !important;
    background-size: cover !important;
    background-position: 60% center !important;
    background-repeat: no-repeat !important;
    opacity: 1 !important;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.10) 10%, rgba(0,0,0,.32) 20%, rgba(0,0,0,.62) 32%, rgba(0,0,0,.88) 43%, #000 52%, #000 100%) !important;
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.10) 10%, rgba(0,0,0,.32) 20%, rgba(0,0,0,.62) 32%, rgba(0,0,0,.88) 43%, #000 52%, #000 100%) !important;
  }

  /* Overlay mínimo, restrito à transição com a fotografia. */
  .hero-overlay {
    z-index: 1;
    top: auto;
    bottom: 0;
    height: clamp(255px, 72vw, 330px);
    background: linear-gradient(180deg,
      rgba(234,246,255,.70) 0%,
      rgba(234,246,255,.34) 18%,
      rgba(234,246,255,.12) 34%,
      rgba(24,115,185,.035) 52%,
      rgba(24,115,185,.015) 100%) !important;
    pointer-events: none;
  }

  /* Um único recorte azul-claro secundário na base. */
  .hero-section::after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    width: 44vw;
    height: 105px;
    border: 0 !important;
    background: rgba(157,217,255,.38);
    clip-path: polygon(0 35%, 100% 100%, 0 100%);
    pointer-events: none;
  }

  .hero-content {
    position: relative;
    z-index: 2;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .min-vh-hero {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 34px !important;
    padding-bottom: calc(clamp(255px, 72vw, 330px) + 28px) !important;
    margin: 0 !important;
  }

  .hero-copy {
    width: 100%;
    max-width: none;
    text-align: left !important;
    transform: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .hero-copy .eyebrow {
    display: block;
    margin: 0 0 16px !important;
    color: #1873B9 !important;
    font-size: .76rem !important;
    line-height: 1.35;
    font-weight: 700 !important;
    letter-spacing: .055em;
    text-transform: uppercase;
  }

  .hero-copy h1 {
    margin: 0 0 22px !important;
    max-width: 100% !important;
    color: #09375C !important;
    font-size: clamp(2.05rem, 9.2vw, 2.65rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em;
    text-align: left !important;
  }

  .hero-copy h1 span { color: #1873B9 !important; }

  .hero-lead {
    margin: 0 0 26px !important;
    max-width: 100% !important;
    color: #09375C !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    text-align: left !important;
  }

  .hero-actions {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: 100%;
  }

  .hero-actions .btn {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-height: 56px;
    margin: 0 !important;
    padding: .8rem 3.1rem .8rem 1.15rem !important;
    border-radius: 8px !important;
    font-size: 1rem !important;
    font-weight: 700;
    line-height: 1.2;
    white-space: normal;
  }

  .hero-actions .btn::after {
    content: "↗";
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-52%);
    font-size: 1.55rem;
    line-height: 1;
    font-weight: 400;
  }

  .hero-section .hero-actions .btn-primary {
    background: #1873B9 !important;
    border-color: #1873B9 !important;
    color: #fff !important;
  }

  .hero-section .btn-outline-light {
    background: rgba(255,255,255,.72) !important;
    border: 2px solid #1873B9 !important;
    color: #09375C !important;
  }

  .hero-notes {
    display: flex !important;
    justify-content: flex-start !important;
    margin-top: 20px !important;
    gap: 0 !important;
    text-align: left !important;
  }

  .hero-notes span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #09375C !important;
    font-size: .95rem;
    line-height: 1.3;
  }

  .hero-notes i {
    color: #1873B9 !important;
    font-size: 1.3rem;
  }
}

@media (max-width: 360px) {
  .hero-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .min-vh-hero { padding-top: 30px !important; }
  .hero-copy h1 {
    font-size: clamp(1.9rem, 9.4vw, 2.15rem) !important;
    line-height: 1.09 !important;
  }
  .hero-lead { font-size: .95rem !important; }
  .hero-actions .btn { min-height: 54px; font-size: .95rem !important; }
}

/* HERO MOBILE — ajuste final: aproxima fotografia do "Cancelamento fácil" */
@media (max-width: 767.98px) {
  .min-vh-hero {
    padding-bottom: calc(clamp(255px, 72vw, 330px) - 68px) !important;
  }
}

@media (max-width: 360px) {
  .min-vh-hero {
    padding-bottom: calc(clamp(255px, 72vw, 330px) - 62px) !important;
  }
}

/* ===== MOBILE 25/09/2026 — redução sutil dos respiros entre seções =====
   Escopo exclusivo smartphones. Desktop permanece intocado. */
@media (max-width: 767.98px) {
  /* Entre o bloco anterior e “O QBit Portaria” */
  #software.section {
    padding-top: 46px;
  }

  /* Entre “Como funciona na prática” e “Automação & Integrações” */
  .workflow-section {
    padding-bottom: 58px;
  }
  .workflow-section + .integrations-section {
    padding-top: 46px;
  }

  /* Entre “Portos e Terminais” e “Escolha o módulo ideal...” */
  .segments-section {
    padding-bottom: 48px;
  }
  .segments-section + .modules-section {
    padding-top: 44px;
  }
}


/* ===== RODAPÉ MOBILE — accordion ===== */
.footer-accordion-toggle { display: none; }

@media (max-width: 767.98px) {
  .site-footer .footer-grid { gap: 0 !important; }
  .site-footer .footer-column:not(.footer-brand) > h4 { display: none !important; }

  .site-footer .footer-column:not(.footer-brand) {
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
  }

  .site-footer .footer-accordion-toggle {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
    border: 0;
    border-top: 1px solid rgba(255,255,255,.24);
    background: transparent;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
  }

  .site-footer .footer-column:last-child .footer-accordion-toggle {
    border-bottom: 1px solid rgba(255,255,255,.24);
  }

  .site-footer .footer-accordion-toggle i {
    flex: 0 0 auto;
    font-size: 1rem;
    transition: transform .25s ease;
  }

  .site-footer .footer-accordion-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
  }

  .site-footer .footer-accordion-content {
    display: none;
    margin: 0;
    padding: 0 0 18px 0;
  }

  .site-footer .footer-accordion-content.is-open { display: block; }
  .site-footer .footer-column:last-child .footer-accordion-content.is-open {
    padding-top: 18px;
    border-bottom: 1px solid rgba(255,255,255,.24);
  }
}

/* ===== MODAL DE CONTATO MOBILE — compacto 25/09/2026 =====
   Escopo exclusivo smartphones. Desktop permanece intocado. */
@media (max-width: 767.98px) {
  .contact-modal .modal-dialog {
    width: auto;
    max-width: none;
    margin: 10px 12px;
    padding: 0;
  }

  .contact-modal .modal-content {
    border: 0;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 22px 58px rgba(0,18,42,.30);
  }

  .contact-modal-close {
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    padding: 10px;
    border-radius: 50%;
    background-color: #fff;
    opacity: 1;
    box-shadow: 0 5px 14px rgba(0,18,42,.14);
  }

  .contact-modal-visual {
    min-height: 0 !important;
    height: auto;
    background: #062b55;
  }

  .contact-modal-visual::before {
    background-image:
      linear-gradient(90deg, rgba(3,34,72,.92) 0%, rgba(3,45,91,.77) 54%, rgba(3,45,91,.48) 100%),
      url('../images/caminhao-balanca.png');
    background-size: cover;
    background-position: 60% center;
    opacity: 1;
  }

  .contact-modal-visual::after {
    background: linear-gradient(180deg, rgba(0,28,64,.08) 0%, rgba(0,24,55,.22) 100%);
  }

  .contact-visual-content {
    min-height: 0 !important;
    height: auto;
    padding: 20px 22px 28px;
  }

  .contact-modal-brand {
    margin: 0 0 18px;
  }

  .contact-modal-brand img {
    width: 108px;
    max-height: 54px;
  }

  .contact-modal-visual h2 {
    max-width: calc(100% - 4px);
    margin: 0 0 10px;
    padding-right: 4px;
    font-size: clamp(1.72rem, 8vw, 2.05rem);
    line-height: 1.08;
    letter-spacing: -.025em;
  }

  .contact-visual-content > p {
    max-width: 94%;
    margin: 0;
    color: rgba(255,255,255,.92);
    font-size: .93rem;
    line-height: 1.42;
  }

  /* No mobile o hero fica apenas com marca, mensagem e apoio. */
  .contact-benefits,
  .contact-security {
    display: none !important;
  }

  .contact-modal-form-side {
    position: relative;
    z-index: 3;
    margin-top: -12px;
    border-radius: 22px 22px 0 0;
    background: #fff;
  }

  .contact-form-wrap {
    padding: 24px 20px 24px;
  }

  /* O formulário começa imediatamente, sem um segundo cabeçalho redundante. */
  .contact-kicker,
  .contact-form-wrap > h2 {
    display: none !important;
  }

  .contact-form .mb-3 {
    margin-bottom: 14px !important;
  }

  .contact-form .form-label {
    margin-bottom: 6px;
    color: #09264f;
    font-size: .88rem;
    font-weight: 700;
  }

  .contact-input-group {
    min-height: 52px;
    border-color: #cbd8e7;
    border-radius: 11px;
  }

  .contact-input-group > i {
    width: 50px;
    flex: 0 0 50px;
    font-size: 1.25rem;
  }

  .contact-input-group .form-control {
    min-height: 50px;
    padding-right: 12px;
    font-size: .9rem;
  }

  .contact-input-group textarea.form-control {
    min-height: 82px;
    padding-top: 12px;
    line-height: 1.4;
    resize: vertical;
  }

  .contact-input-group.contact-textarea > i {
    padding-top: 13px;
  }

  .contact-submit {
    min-height: 54px;
    margin-top: 2px;
    border-radius: 28px;
    font-size: .96rem;
    background: linear-gradient(90deg, #1873B9 0%, #1689DF 100%);
    box-shadow: 0 8px 18px rgba(24,115,185,.18);
  }

  /* Mantém a experiência mobile focada no envio do formulário. */
  .contact-divider,
  .contact-whatsapp,
  .contact-response-time {
    display: none !important;
  }
}

@media (max-width: 360px) {
  .contact-modal .modal-dialog { margin: 8px; }
  .contact-visual-content { padding: 18px 18px 24px; }
  .contact-modal-brand { margin-bottom: 14px; }
  .contact-modal-brand img { width: 98px; }
  .contact-modal-visual h2 {
    font-size: clamp(1.58rem, 8vw, 1.82rem);
    line-height: 1.08;
    margin-bottom: 8px;
  }
  .contact-visual-content > p { font-size: .87rem; line-height: 1.38; }
  .contact-form-wrap { padding: 22px 16px 22px; }
  .contact-form .mb-3 { margin-bottom: 12px !important; }
  .contact-input-group { min-height: 50px; }
  .contact-input-group > i { width: 46px; flex-basis: 46px; }
  .contact-input-group .form-control { min-height: 48px; font-size: .86rem; }
  .contact-input-group textarea.form-control { min-height: 76px; }
}

/* Ajuste final — CTA do menu somente no desktop | 25/09/2026 */
@media (min-width: 992px) {
  .site-header .nav-cta,
  .site-header .nav-cta:hover,
  .site-header .nav-cta:focus,
  .site-header .nav-cta:active {
    background-color: #084F8E !important;
    border-color: #084F8E !important;
  }
}

/* =========================================================
   CTA PORTARIA — RECONSTRUÇÃO DESKTOP DO ZERO — 25/09/2026
   Referência estrutural: CTA ERP Pragas aprovado.
   Escopo: somente CTA final em desktop. Mobile preservado.
   ========================================================= */
@media (min-width: 992px) {
  .cta-section {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 56px 0 !important;
    background: url('../images/caminhao-balanca.png') center 52% / cover no-repeat !important;
  }
  .cta-section::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -2 !important;
    background: linear-gradient(90deg,
      rgba(24,115,185,1) 0%,
      rgba(24,115,185,.98) 24%,
      rgba(24,115,185,.90) 43%,
      rgba(24,115,185,.64) 62%,
      rgba(24,115,185,.28) 82%,
      rgba(24,115,185,.08) 100%) !important;
  }
  .cta-section::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background: rgba(1,25,56,.10) !important;
    pointer-events: none !important;
  }
  .cta-section > .container-xl {
    width: min(1280px, calc(100% - 80px)) !important;
    max-width: 1280px !important;
    margin-inline: auto !important;
    padding: 0 !important;
  }
  .cta-section > .container-xl > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 40fr) minmax(0, 25fr) minmax(360px, 35fr) !important;
    align-items: center !important;
    gap: 36px !important;
    margin: 0 !important;
  }
  .cta-section > .container-xl > .row > * {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .cta-section .cta-copy {
    max-width: 460px !important;
    text-align: left !important;
  }
  .cta-section .cta-copy .eyebrow {
    display: block !important;
    margin: 0 0 14px !important;
    color: #9DD9FF !important;
    font: 700 12px/1.2 "Poppins", Inter, sans-serif !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
  }
  .cta-section .cta-copy h1 {
    margin: 0 0 18px !important;
    color: #fff !important;
    font: 700 clamp(42px, 3.2vw, 52px)/1.05 "Poppins", Inter, sans-serif !important;
    letter-spacing: -.035em !important;
  }
  .cta-section .cta-intro {
    max-width: 455px !important;
    margin: 0 !important;
    color: #fff !important;
    font: 400 16px/1.55 "Poppins", Inter, sans-serif !important;
  }
  .cta-section .cta-benefits {
    list-style: none !important;
    padding: 0 !important;
    margin: 26px 0 0 !important;
    display: grid !important;
    gap: 14px !important;
  }
  .cta-section .cta-benefits li {
    display: grid !important;
    grid-template-columns: 48px 1fr !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    color: #fff !important;
  }
  .cta-section .cta-benefit-icon {
    width: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    border: 1px solid rgba(157,217,255,.38) !important;
    background: rgba(8,79,142,.42) !important;
  }
  .cta-section .cta-benefit-icon i {
    width: auto !important;
    height: auto !important;
    flex: none !important;
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 19px !important;
  }
  .cta-section .cta-benefits strong,
  .cta-section .cta-benefits small {
    display: block !important;
    color: #fff !important;
    font-family: "Poppins", Inter, sans-serif !important;
  }
  .cta-section .cta-benefits strong {
    margin-bottom: 2px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }
  .cta-section .cta-benefits small {
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    opacity: .96 !important;
  }
  .cta-section .cta-product-col {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
  }
  .cta-section .cta-product-col::before { display: none !important; }
  .cta-section .cta-product {
    display: block !important;
    width: 100% !important;
    max-width: 330px !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 18px 24px rgba(0,29,53,.28)) !important;
  }
  .cta-section .lead-form-card {
    width: 100% !important;
    max-width: 400px !important;
    min-height: 0 !important;
    height: auto !important;
    margin-left: auto !important;
    padding: 28px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(1,25,56,.18) !important;
    backdrop-filter: none !important;
  }
  .cta-section .lead-form-card h3 {
    margin: 0 0 6px !important;
    color: #011938 !important;
    font: 700 20px/1.18 "Poppins", Inter, sans-serif !important;
  }
  .cta-section .cta-form-intro {
    margin: 0 0 18px !important;
    color: #60758c !important;
    font: 400 13px/1.45 "Poppins", Inter, sans-serif !important;
  }
  .cta-section .lead-form-card form.row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin: 0 !important;
  }
  .cta-section .lead-form-card form.row > * {
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .cta-section .lead-form-card form.row > .col-12 { grid-column: 1 / -1 !important; }
  .cta-section .lead-form-card .form-control {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    border: 1px solid #D6E0EA !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #011938 !important;
    font-size: 13px !important;
    box-shadow: none !important;
  }
  .cta-section .lead-form-card .btn,
  .cta-section .lead-form-card .btn-dark {
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 2px 0 0 !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #084F8E !important;
    color: #fff !important;
    font: 700 14px/1 "Poppins", Inter, sans-serif !important;
    box-shadow: none !important;
  }
  .cta-section .cta-security {
    margin: 12px 0 0 !important;
    text-align: center !important;
    color: #7A8EA3 !important;
    font: 400 10.5px/1.35 "Poppins", Inter, sans-serif !important;
  }
  .cta-section .cta-security i { margin-right: 5px !important; }
}

/* =========================================================
   CTA PORTARIA — REFINO FINAL DESKTOP — 25/09/2026
   Somente os 4 ajustes solicitados: peso do intro, altura,
   overlay mais sutil e mockup maior.
   ========================================================= */
@media (min-width: 992px) {
  .cta-section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  .cta-section::before {
    background: linear-gradient(90deg,
      rgba(24,115,185,.78) 0%,
      rgba(24,115,185,.72) 20%,
      rgba(24,115,185,.54) 38%,
      rgba(24,115,185,.30) 55%,
      rgba(24,115,185,.12) 70%,
      rgba(24,115,185,0) 84%) !important;
  }

  .cta-section::after {
    background: rgba(1,25,56,.04) !important;
  }

  .cta-section .cta-intro {
    font-weight: 400 !important;
  }

  .cta-section .cta-product {
    width: 118% !important;
    max-width: 390px !important;
  }
}

/* =========================================================
   CTA PORTARIA — REFINO 02 DESKTOP — 25/09/2026
   Mantém altura/layout aprovados. Ajusta somente:
   sólido/gradiente, peso do parágrafo e mockup.
   ========================================================= */
@media (min-width: 992px) {
  /* Azul mais presente à esquerda, com transição gradual e mais curta. */
  .cta-section::before {
    background: linear-gradient(90deg,
      rgba(24,115,185,.94) 0%,
      rgba(24,115,185,.91) 18%,
      rgba(24,115,185,.80) 31%,
      rgba(24,115,185,.60) 43%,
      rgba(24,115,185,.36) 54%,
      rgba(24,115,185,.16) 64%,
      rgba(24,115,185,0) 74%) !important;
  }

  .cta-section::after {
    background: rgba(1,25,56,.05) !important;
  }

  /* Força o texto introdutório a permanecer Regular. */
  .cta-section .cta-copy .cta-intro,
  .cta-section .cta-copy .cta-intro * {
    font-family: "Poppins", Inter, sans-serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
  }

  /* Aumenta apenas o mockup, preservando proporção e sem corte. */
  .cta-section .cta-product {
    width: 136% !important;
    max-width: 450px !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* =========================================================
   CTA PORTARIA — PENTE FINO DESKTOP — 25/09/2026
   Ajuste estritamente de escala, proporções, tipografia e gaps.
   Fundo, conteúdo, campos, ícones, cores e estrutura preservados.
   ========================================================= */
@media (min-width: 992px) {
  .cta-section > .container-xl > .row {
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .78fr) minmax(360px, 1fr) !important;
    gap: 32px !important;
  }

  .cta-section .cta-copy .eyebrow {
    margin-bottom: 12px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .10em !important;
  }

  .cta-section .cta-copy h1 {
    margin-bottom: 16px !important;
  }

  .cta-section .cta-copy .cta-intro,
  .cta-section .cta-copy .cta-intro * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-family: "Poppins", Inter, sans-serif !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
  }

  .cta-section .cta-benefits {
    margin-top: 24px !important;
    gap: 16px !important;
  }

  .cta-section .cta-benefits li {
    gap: 11px !important;
  }

  .cta-section .cta-benefits strong {
    margin-bottom: 2px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
  }

  .cta-section .cta-benefits small {
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
  }

  .cta-section .cta-product {
    width: 115% !important;
    max-width: 440px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .cta-section .lead-form-card {
    width: 100% !important;
    max-width: 395px !important;
    padding: 28px 30px !important;
  }

  .cta-section .lead-form-card h3 {
    margin-bottom: 4px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
  }

  .cta-section .cta-form-intro {
    margin-bottom: 16px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
  }
}

/* =========================================================
   CTA PORTARIA — AJUSTE LIGHT + MOCKUP — 25/09/2026
   Somente tipografia solicitada e escala do mockup no desktop.
   ========================================================= */
@media (min-width: 992px) {
  .cta-section .cta-copy .cta-intro,
  .cta-section .cta-copy .cta-intro * {
    font-family: "Poppins", Inter, sans-serif !important;
    font-weight: 300 !important;
  }

  .cta-section .cta-benefits strong {
    font-weight: 400 !important;
  }

  .cta-section .cta-benefits small {
    font-weight: 300 !important;
  }

  .cta-section .cta-product {
    width: 122% !important;
    max-width: 470px !important;
    height: auto !important;
    object-fit: contain !important;
  }
}


/* =========================================================
   CTA PORTARIA — CORREÇÃO REAL DE PESOS + MOCKUP — 25/09/2026
   Revisão: carrega Poppins 300/400 de verdade e aplica somente
   os pesos solicitados + leve aumento adicional do mockup.
   ========================================================= */
@media (min-width: 992px) {
  .cta-section .cta-copy .cta-intro,
  .cta-section .cta-copy .cta-intro * {
    font-family: "Poppins", sans-serif !important;
    font-weight: 300 !important;
    font-synthesis: none !important;
  }

  .cta-section .cta-benefits strong {
    font-family: "Poppins", sans-serif !important;
    font-weight: 400 !important;
    font-synthesis: none !important;
  }

  .cta-section .cta-benefits small {
    font-family: "Poppins", sans-serif !important;
    font-weight: 300 !important;
    font-synthesis: none !important;
  }

  .cta-section .cta-product {
    width: 132% !important;
    max-width: 505px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }
}

/* CTA PORTARIA — AJUSTE FINAL DE OPACIDADE ESQUERDA — 25/09/2026
   Única alteração: reforço sutil da área sólida esquerda, preservando a transição existente. */
@media (min-width: 992px) {
  .cta-section::before {
    background: linear-gradient(90deg,
      rgba(24,115,185,.98) 0%,
      rgba(24,115,185,.95) 18%,
      rgba(24,115,185,.83) 31%,
      rgba(24,115,185,.62) 43%,
      rgba(24,115,185,.36) 54%,
      rgba(24,115,185,.16) 64%,
      rgba(24,115,185,0) 74%) !important;
  }
}

/* =========================================================
   CTA PORTARIA — AJUSTE ÚNICO MOBILE — 25/09/2026
   Mantém todo o restante intacto; apenas força o parágrafo
   "Descubra como..." para branco em smartphones/tablets mobile.
   ========================================================= */
@media (max-width: 991.98px) {
  .cta-section .cta-copy .cta-intro,
  .cta-section .cta-copy .cta-intro * {
    color: #ffffff !important;
  }
}
