/* Homepage EngineSoft — layout escuro baseado na referência enviada. */
.home-dark {
  --home-bg: #041426;
  --home-bg-2: #05192d;
  --home-card: #071c31;
  --home-card-2: #082039;
  --home-line: #153550;
  --home-line-soft: rgba(62, 133, 190, .18);
  --home-text: #f5f8fc;
  --home-muted: #a1b1c4;
  --home-blue: #1f99ff;
  --home-blue-2: #0879ed;
  --home-blue-soft: #63bbff;
  color: var(--home-text);
  background: var(--home-bg);
}

.home-dark .container {
  width: min(846px, calc(100% - 42px));
}

.home-dark .site-header {
  height: 59px;
  position: relative;
  background: rgba(4, 20, 38, .96);
  border-bottom: 1px solid rgba(91, 146, 190, .18);
  backdrop-filter: blur(15px);
}

.home-dark .nav-wrap {
  gap: 18px;
}

/* O cabeçalho usa uma largura maior para comportar também
   os acessos de Revendedor e Painel sem alterar o restante do layout. */
.home-dark .site-header .container {
  width: min(1300px, calc(100% - 42px));
}

.home-dark .brand-with-tagline {
  gap: 7px;
}

.home-dark .brand-mark {
  width: 28px;
  height: 31px;
}

.home-dark .brand-mark i {
  width: 23px;
  height: 6px;
  left: 1px;
  border-radius: 6px;
  transform: rotate(-26deg);
  background: linear-gradient(90deg, #086cff, #22a9ff);
  box-shadow: 0 0 14px rgba(17, 136, 255, .12);
}
.home-dark .brand-mark i:nth-child(1) { top: 3px; }
.home-dark .brand-mark i:nth-child(2) { top: 11px; left: 4px; background: linear-gradient(90deg, #0b5ce8, #199eff); }
.home-dark .brand-mark i:nth-child(3) { top: 19px; left: 0; background: linear-gradient(90deg, #1599ff, #2eb8ff); }

.home-dark .brand-lockup {
  display: flex;
  flex-direction: column;
  line-height: 1;
  transform: translateY(1px);
}

.home-dark .brand-text {
  color: #f7fbff;
  font-size: 21px;
  letter-spacing: -1px;
}
.home-dark .brand-text span { color: #4eb2ff; }
.home-dark .brand-lockup small {
  margin-top: 4px;
  color: #7e98b2;
  font-size: 4.8px;
  letter-spacing: 1.4px;
  font-weight: 700;
  white-space: nowrap;
}

.home-dark .desktop-nav {
  margin-left: auto;
  gap: 31px;
  color: #b6c6d6;
  font-size: 9px;
  font-weight: 500;
}
.home-dark .desktop-nav a {
  padding: 23px 0 20px;
}
.home-dark .desktop-nav a::after {
  bottom: 12px;
  height: 1px;
  background: #4baeff;
}
.home-dark .desktop-nav a:hover,
.home-dark .desktop-nav .active { color: #fff; }

.home-dark .nav-actions { margin-left: 15px; }
.home-dark .nav-cta {
  min-height: 38px;
  padding: 0 18px;
  border-radius: 9px;
  border-color: #187fdb;
  color: #eef8ff;
  background: rgba(6, 72, 132, .18);
  box-shadow: inset 0 0 18px rgba(23, 145, 255, .06);
  font-size: 9px;
  font-weight: 600;
}
.home-dark .nav-cta:hover {
  border-color: #3ca8ff;
  background: rgba(16, 113, 195, .2);
  box-shadow: 0 0 23px rgba(14, 129, 231, .12);
}

.home-dark .hero {
  min-height: 343px;
  background:
    radial-gradient(circle at 77% 31%, rgba(13, 86, 148, .08), transparent 24%),
    linear-gradient(180deg, #041426 0%, #041426 72%, #041322 100%);
  border-bottom: 1px solid rgba(90, 139, 178, .19);
  overflow: hidden;
}
.home-dark .hero::after { display: none; }
.home-dark .hero::before {
  content: "";
  position: absolute;
  width: 610px;
  height: 360px;
  right: -160px;
  top: -178px;
  border: 1px solid rgba(31, 103, 164, .18);
  border-radius: 50%;
  transform: rotate(-18deg);
}

.home-dark .hero-orbit {
  position: absolute;
  width: 610px;
  height: 335px;
  right: -118px;
  top: -112px;
  border: 1px solid rgba(29, 93, 150, .15);
  border-radius: 50%;
  transform: rotate(-22deg);
  pointer-events: none;
}
.home-dark .hero-orbit::after {
  content: "";
  position: absolute;
  inset: 70px 25px -20px -75px;
  border: 1px solid rgba(29, 93, 150, .1);
  border-radius: 50%;
}

.home-dark .hero-grid {
  grid-template-columns: 56% 44%;
  min-height: 343px;
}
.home-dark .hero-copy {
  padding: 30px 0 19px;
  align-self: center;
}
.home-dark .eyebrow {
  color: #55aef4;
  font-size: 7.5px;
  letter-spacing: 2.3px;
  margin-bottom: 9px;
  font-weight: 700;
}
.home-dark .hero h1 {
  max-width: 475px;
  color: #f6f9fd;
  font-size: 36px;
  line-height: 1.01;
  letter-spacing: -1.55px;
  font-weight: 800;
}
.home-dark .hero h1 span {
  color: #188cff;
  background: linear-gradient(90deg, #178cff, #38a8ff);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.home-dark .hero-lead {
  max-width: 450px;
  margin-top: 12px;
  color: #b0becd;
  font-size: 11.3px;
  line-height: 1.42;
}
.home-dark .hero-actions {
  gap: 15px;
  margin-top: 17px;
}
.home-dark .btn {
  min-height: 37px;
  padding: 0 20px;
  border-radius: 8px;
  font-size: 9px;
  font-weight: 600;
}
.home-dark .btn-lg {
  min-height: 38px;
  padding-inline: 21px;
  font-size: 9.4px;
}
.home-dark .btn-primary {
  background: linear-gradient(105deg, #149dff 0%, #168cff 56%, #0c76e6 100%);
  box-shadow: 0 9px 20px rgba(9, 112, 218, .17), inset 0 1px 0 rgba(255,255,255,.1);
}
.home-dark .btn-primary:hover { box-shadow: 0 12px 27px rgba(9, 112, 218, .25); }
.home-dark .btn-outline {
  color: #e3edf7;
  border-color: #2c719e;
  background: rgba(5, 35, 60, .3);
}
.home-dark .btn-outline:hover {
  color: #fff;
  border-color: #4c9dce;
  background: rgba(12, 56, 89, .42);
  box-shadow: none;
}

.home-dark .hero-mini-features {
  gap: 39px;
  margin-top: 17px;
}
.home-dark .hero-mini-features > div {
  gap: 8px;
  color: #b1c1d0;
  font-size: 8.4px;
  font-weight: 500;
  white-space: nowrap;
}
.home-dark .mini-icon {
  width: 19px;
  height: 19px;
  color: #47aafc;
  border-color: #1b84ce;
}
.home-dark .mini-icon svg { width: 11px; height: 11px; }

.home-dark .hero-visual.dark-visual {
  position: relative;
  height: 343px;
  padding: 0;
  display: block;
  overflow: visible;
}
.home-dark .hero-visual::before,
.home-dark .hero-visual::after { display: none; }
.home-dark .growth-bars {
  position: absolute;
  inset: 25px 28px 20px 10px;
}
.home-dark .growth-bar {
  position: absolute;
  bottom: 38px;
  width: 74px;
  border-radius: 8px 8px 10px 10px;
  opacity: .92;
  transform: skewY(-4deg);
  filter: drop-shadow(0 18px 22px rgba(0, 0, 0, .18));
}
.home-dark .growth-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(2, 26, 51, .48), transparent 48%, rgba(53, 165, 255, .12));
}
.home-dark .bar-one {
  left: 55px;
  height: 166px;
  background: linear-gradient(155deg, #0b3159 0%, #0a2645 40%, #081d34 100%);
}
.home-dark .bar-two {
  left: 145px;
  height: 224px;
  background: linear-gradient(155deg, #0878d5 0%, #0759a4 42%, #092e55 100%);
}
.home-dark .bar-three {
  left: 237px;
  height: 278px;
  background: linear-gradient(155deg, #159fff 0%, #087fdd 38%, #074982 100%);
}
.home-dark .growth-line {
  position: absolute;
  width: 455px;
  height: 278px;
  left: -57px;
  top: 20px;
  z-index: 4;
  overflow: visible;
}
.home-dark .hero-caption {
  position: absolute;
  z-index: 6;
  color: #8da1b7;
  font-size: 7px;
  line-height: 1.55;
  letter-spacing: .8px;
}
.home-dark .hero-caption strong {
  color: #adbdcc;
  font-weight: 600;
}
.home-dark .hero-caption-top {
  right: -1px;
  top: 47px;
}
.home-dark .hero-caption-top span {
  display: block;
  width: 26px;
  height: 1px;
  margin-top: 10px;
  background: #4b9dd7;
}
.home-dark .hero-caption-bottom {
  right: -1px;
  bottom: 44px;
  padding-left: 14px;
  border-left: 1px solid #348ed0;
}

.home-dark .dark-section {
  position: relative;
  background: var(--home-bg);
  border-bottom: 1px solid rgba(90, 139, 178, .16);
}
.home-dark .benefits {
  padding: 25px 0 18px;
}
.home-dark .section-heading.centered {
  text-align: center;
}
.home-dark .section-heading .eyebrow { margin-bottom: 5px; }
.home-dark .section-heading h2 {
  font-family: "Manrope", sans-serif;
  font-size: 22px;
  line-height: 1.05;
  letter-spacing: -.65px;
  color: #f5f8fb;
}
.home-dark .section-heading > p:last-child {
  margin-top: 6px;
  color: #8fa3b7;
  font-size: 8.9px;
  line-height: 1.35;
}
.home-dark .dark-benefit-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 11px;
  margin-top: 17px;
}
.home-dark .benefit-card {
  min-height: 132px;
  display: block;
  padding: 15px 14px 13px;
  border-radius: 9px;
  background: linear-gradient(145deg, #071b30, #06182b);
  border: 1px solid rgba(63, 121, 166, .2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.012), 0 10px 26px rgba(0,0,0,.08);
}
.home-dark .benefit-card:hover {
  transform: translateY(-3px);
  border-color: rgba(48, 148, 225, .36);
  box-shadow: 0 14px 30px rgba(0,0,0,.13);
}
.home-dark .feature-icon {
  width: 50px;
  height: 50px;
  margin-bottom: 10px;
  border-radius: 50%;
  color: #54b5ff;
  background: radial-gradient(circle at 35% 35%, #153b69, #0a284b 70%);
  border: 1px solid rgba(57, 139, 211, .13);
  box-shadow: inset 0 0 16px rgba(38, 121, 199, .1);
}
.home-dark .feature-icon svg { width: 28px; height: 28px; stroke-width: 1.6; }
.home-dark .benefit-card h3 {
  margin: 0 0 5px;
  color: #f2f6fa;
  font-size: 11.5px;
  line-height: 1.2;
}
.home-dark .benefit-card p {
  color: #9baec0;
  font-size: 8.5px;
  line-height: 1.43;
}

.home-dark .segments {
  padding: 17px 0 18px;
}
.home-dark .segment-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 9px;
  margin-top: 15px;
}
.home-dark .segment-card {
  min-height: 90px;
  border: 1px solid rgba(61, 121, 169, .2);
  border-radius: 8px;
  background: linear-gradient(145deg, #071b30, #06182a);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #edf6fd;
  font-size: 9px;
  font-weight: 600;
  text-align: center;
  transition: .22s ease;
}
.home-dark .segment-card svg {
  width: 34px;
  height: 34px;
  color: #8ecbff;
  stroke-width: 1.45;
}
.home-dark .segment-card:hover {
  transform: translateY(-3px);
  color: #fff;
  border-color: rgba(58, 153, 227, .42);
  background: #08213a;
}

.home-dark .why {
  padding: 25px 0 20px;
  overflow: hidden;
}
.home-dark .why::after {
  content: "";
  position: absolute;
  width: 580px;
  height: 270px;
  right: -290px;
  bottom: -150px;
  border: 1px solid rgba(21, 83, 137, .15);
  border-radius: 50%;
  transform: rotate(-16deg);
}
.home-dark .why-grid {
  display: grid;
  grid-template-columns: 50% 50%;
  gap: 26px;
  align-items: center;
}
.home-dark .why-copy {
  min-height: 173px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 14px;
  border-left: 1px solid rgba(37, 100, 152, .18);
}
.home-dark .why-copy .eyebrow { margin-bottom: 8px; }
.home-dark .why-copy h2 {
  color: #f5f8fc;
  font-family: "Manrope", sans-serif;
  font-size: 27px;
  line-height: 1.06;
  letter-spacing: -.8px;
}
.home-dark .why-copy > p:last-child {
  max-width: 330px;
  margin-top: 12px;
  color: #99aabd;
  font-size: 9px;
  line-height: 1.45;
}
.home-dark .why-list {
  position: relative;
  padding-left: 25px;
}
.home-dark .why-list::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, transparent, #1d5f92 14%, #1d5f92 86%, transparent);
}
.home-dark .why-list article {
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 42px;
}
.home-dark .why-icon {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  color: #69c1ff;
  flex: 0 0 auto;
}
.home-dark .why-icon svg { width: 30px; height: 30px; stroke-width: 1.7; }
.home-dark .why-list h3 {
  color: #f0f5f9;
  font-size: 9.5px;
  margin-bottom: 2px;
}
.home-dark .why-list p {
  color: #8fa3b6;
  font-size: 7.8px;
  line-height: 1.28;
  max-width: 300px;
}

.home-dark .dark-contact {
  padding: 8px 0 12px;
  background: var(--home-bg);
  border-bottom: 1px solid rgba(76, 131, 173, .15);
}
.home-dark .contact-box {
  height: 105px;
  padding: 17px 31px;
  border-radius: 10px;
  border: 1px solid #1377ca;
  color: #f7fbff;
  background:
    linear-gradient(90deg, rgba(4, 23, 42, .98) 0%, rgba(5, 31, 55, .96) 48%, rgba(5, 42, 76, .87) 100%);
  box-shadow: inset 0 0 30px rgba(15, 99, 173, .07);
  overflow: hidden;
}
.home-dark .contact-box::before {
  width: 340px;
  height: 170px;
  right: 80px;
  top: -100px;
  border: 1px solid rgba(58, 141, 206, .17);
  border-radius: 50%;
  transform: rotate(-14deg);
}
.home-dark .contact-copy { position: relative; z-index: 3; }
.home-dark .contact-box .eyebrow {
  color: #8fb8db;
  margin: 0 0 6px;
  font-size: 7px;
}
.home-dark .contact-box h2 {
  font-size: 18px;
  letter-spacing: -.45px;
}
.home-dark .contact-box p {
  margin-top: 6px;
  color: #9aafc1;
  font-size: 8.2px;
}
.home-dark .contact-box .btn {
  z-index: 5;
  margin-right: 0;
  min-width: 200px;
  border-radius: 7px;
}
.home-dark .contact-mountains {
  position: absolute;
  right: 177px;
  bottom: -1px;
  width: 300px;
  height: 88px;
  z-index: 2;
  opacity: .55;
}
.home-dark .contact-mountains span {
  position: absolute;
  bottom: 0;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background: linear-gradient(145deg, #0b2b4c, #0a1f38);
}
.home-dark .contact-mountains span:nth-child(1) { width: 130px; height: 70px; left: 0; }
.home-dark .contact-mountains span:nth-child(2) { width: 160px; height: 88px; left: 70px; }
.home-dark .contact-mountains span:nth-child(3) { width: 118px; height: 58px; right: 0; }
.home-dark .contact-mountains i {
  position: absolute;
  width: 130px;
  height: 86px;
  right: 55px;
  bottom: 0;
  border-right: 1.5px solid #29a8ff;
  border-radius: 0 70% 0 0;
  transform: rotate(38deg);
  filter: drop-shadow(0 0 5px #1498ff);
}

.home-dark .dark-footer {
  padding: 10px 0 8px;
  color: #8196ab;
  background: #041322;
  border-top: 0;
}
.home-dark .footer-main {
  display: grid;
  grid-template-columns: 1.65fr 2.7fr .8fr 1.15fr;
  gap: 20px;
  align-items: center;
  min-height: 52px;
}
.home-dark .footer .brand-text { font-size: 16px; }
.home-dark .footer .brand-mark { transform: scale(.82); transform-origin: left center; }
.home-dark .footer .brand-lockup small { font-size: 4px; }
.home-dark .footer-nav {
  display: flex;
  justify-content: center;
  gap: 29px;
  font-size: 7.4px;
  color: #9aabbb;
}
.home-dark .footer-nav a:hover { color: #50afff; }
.home-dark .footer-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-right: 14px;
  border-right: 1px solid rgba(83, 132, 170, .2);
}
.home-dark .footer-socials a {
  color: #c4d4e1;
  font-size: 11px;
  font-weight: 800;
}
.home-dark .footer-slogan {
  font-size: 6.5px;
  line-height: 1.45;
  color: #71869a;
}
.home-dark .footer-slogan strong { color: #91a5b8; font-weight: 600; }
.home-dark .footer-bottom {
  border-top: 1px solid rgba(75, 124, 162, .13);
  margin-top: 4px;
  padding-top: 8px;
  color: #71869a;
  font-size: 6.5px;
}
.home-dark .footer-bottom div { gap: 21px; }
.home-dark .footer-bottom a:hover { color: #54b4ff; }

.home-dark [data-reveal] {
  transition-duration: .62s;
}

.home-dark .mobile-menu {
  background: rgba(4, 20, 38, .98);
  border-bottom-color: #16354d;
  box-shadow: 0 18px 30px rgba(0,0,0,.22);
}
.home-dark .mobile-menu a { color: #dce8f2; }
.home-dark .menu-toggle span { background: #d9e8f5; }

@media (max-width: 1120px) and (min-width: 901px) {
  .home-dark .desktop-nav {
    gap: 16px;
    font-size: 8px;
  }
  .home-dark .nav-actions { margin-left: 8px; }
  .home-dark .nav-cta { padding: 0 12px; }
}

@media (max-width: 900px) {
  .home-dark .container { width: min(100% - 34px, 720px); }
  .home-dark .site-header { height: 64px; }
  .home-dark .mobile-menu { top: 64px; }
  .home-dark .hero-grid { grid-template-columns: 1fr; }
  .home-dark .hero { min-height: auto; }
  .home-dark .hero-copy { padding: 52px 0 14px; }
  .home-dark .hero h1 { font-size: 46px; max-width: 660px; }
  .home-dark .hero-lead { font-size: 13px; max-width: 600px; }
  .home-dark .hero-visual.dark-visual { height: 330px; max-width: 480px; margin: 0 auto; width: 100%; }
  .home-dark .hero-mini-features > div { font-size: 10px; }
  .home-dark .dark-benefit-grid { grid-template-columns: repeat(2, 1fr); }
  .home-dark .segment-grid { grid-template-columns: repeat(3, 1fr); }
  .home-dark .why-grid { grid-template-columns: 1fr; gap: 14px; }
  .home-dark .why-copy { min-height: auto; padding: 8px 0 10px; border-left: 0; }
  .home-dark .why-list { padding-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; }
  .home-dark .why-list::before { display: none; }
  .home-dark .contact-mountains { opacity: .3; right: 150px; }
  .home-dark .footer-main { grid-template-columns: 1.4fr 2fr 1fr; }
  .home-dark .footer-slogan { display: none; }
}

@media (max-width: 600px) {
  .home-dark .container { width: min(100% - 28px, 520px); }
  .home-dark .brand-lockup small { display: none; }
  .home-dark .hero-copy { padding-top: 40px; }
  .home-dark .hero h1 { font-size: 37px; }
  .home-dark .hero-lead { font-size: 12px; }
  .home-dark .hero-actions { flex-direction: column; max-width: 330px; }
  .home-dark .hero-mini-features { gap: 12px; flex-wrap: wrap; }
  .home-dark .hero-visual.dark-visual { height: 290px; transform: scale(.9); transform-origin: top center; margin-bottom: -20px; }
  .home-dark .hero-caption-top, .home-dark .hero-caption-bottom { right: 3px; }
  .home-dark .section-heading h2 { font-size: 25px; }
  .home-dark .section-heading > p:last-child { font-size: 10px; }
  .home-dark .dark-benefit-grid { grid-template-columns: 1fr; }
  .home-dark .benefit-card { min-height: 0; }
  .home-dark .segment-grid { grid-template-columns: repeat(2, 1fr); }
  .home-dark .segment-card { min-height: 92px; }
  .home-dark .why-copy h2 { font-size: 31px; }
  .home-dark .why-list { grid-template-columns: 1fr; }
  .home-dark .why-list h3 { font-size: 11px; }
  .home-dark .why-list p { font-size: 9px; }
  .home-dark .contact-box { min-height: 168px; height: auto; padding: 22px; }
  .home-dark .contact-box .btn { margin-top: 12px; min-width: 0; width: 100%; }
  .home-dark .contact-mountains { right: -90px; opacity: .25; }
  .home-dark .footer-main { grid-template-columns: 1fr; gap: 10px; justify-items: start; }
  .home-dark .footer-nav { justify-content: flex-start; flex-wrap: wrap; gap: 10px 18px; }
  .home-dark .footer-socials { border-right: 0; padding-right: 0; }
  .home-dark .footer-bottom { flex-direction: column; gap: 5px; }
}
