/* =====================================================
   VK ENGENHARIA
   CONSULTORIA EM GESTÃO ELÉTRICA
   CSS INDEPENDENTE — SEM STYLE.CSS GLOBAL
===================================================== */


/* ==========================================
   VARIÁVEIS
========================================== */

:root {

  --vk-azul-950: #04101a;
  --vk-azul-900: #071722;
  --vk-azul-850: #0a1e2c;
  --vk-azul-800: #0b2638;
  --vk-azul-700: #0e354e;

  --vk-dourado: #d4af37;
  --vk-dourado-claro: #efcf67;
  --vk-dourado-escuro: #a87d12;

  --vk-branco: #ffffff;

  --vk-fundo: #f4f7f9;
  --vk-fundo-2: #eef2f5;

  --vk-texto: #586771;
  --vk-texto-claro: #bcc8d0;

  --vk-borda: #dde5e9;

  --vk-sombra:
    0 24px 60px
    rgba(6, 23, 34, .10);

  --vk-sombra-forte:
    0 32px 80px
    rgba(2, 13, 22, .25);

}


/* ==========================================
   RESET COMPLETO
========================================== */

* {

  margin: 0;
  padding: 0;
  box-sizing: border-box;

}


html {

  scroll-behavior: smooth;

}


body {

  min-width: 320px;

  overflow-x: hidden;

  color: var(--vk-texto);
  background: #ffffff;

  font-family:
    "Segoe UI",
    Arial,
    Helvetica,
    sans-serif;

  line-height: 1.7;

}


img {

  display: block;
  max-width: 100%;

}


a {

  color: inherit;
  text-decoration: none;

}


ul {

  list-style: none;

}


button,
input,
select,
textarea {

  font: inherit;

}


button {

  border: 0;

}


main {

  display: block;
  width: 100%;

}


section {

  width: 100%;
  scroll-margin-top: 92px;

}


.container {

  width: 90%;
  max-width: 1200px;

  margin-right: auto;
  margin-left: auto;

}


/* ==========================================
   TOPO — BASEADO NA PÁGINA DE PAINÉIS
========================================== */

.topo-projeto {

  position: sticky;
  z-index: 1000;

  top: 0;

  width: 100%;

  background:
    rgba(11, 22, 34, .98);

  border-bottom:
    1px solid
    rgba(255, 255, 255, .07);

  box-shadow:
    0 4px 20px
    rgba(0, 0, 0, .25);

  backdrop-filter:
    blur(12px);

}


.topo-wrapper {

  width: 92%;
  max-width: 1450px;

  min-height: 88px;

  margin: auto;
  padding: 13px 0;

  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 28px;

}


.logo-link {

  display: inline-flex;

  align-items: center;

  flex-shrink: 0;

}


.logo-topo {

  width: auto;
  height: 58px;

  object-fit: contain;

}


.menu-projeto {

  min-width: 0;

  flex: 1;

}


.menu-projeto ul {

  display: flex;

  align-items: center;
  justify-content: center;

  gap: clamp(13px, 1.7vw, 27px);

}


.menu-projeto a {

  position: relative;

  display: inline-block;

  padding: 8px 0;

  color: #ffffff;

  font-size: clamp(.76rem, .82vw, .92rem);
  font-weight: 600;

  white-space: nowrap;

  transition:
    color .3s ease;

}


.menu-projeto a::after {

  content: "";

  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  height: 2px;

  background:
    var(--vk-dourado);

  transform:
    scaleX(0);

  transform-origin:
    center;

  transition:
    transform .3s ease;

}


.menu-projeto a:hover {

  color:
    var(--vk-dourado);

}


.menu-projeto a:hover::after {

  transform:
    scaleX(1);

}


.btn-voltar-topo {

  display: inline-flex;

  align-items: center;
  justify-content: center;

  flex-shrink: 0;

  gap: 9px;

  min-height: 46px;

  padding: 11px 19px;

  color: #111111;

  background:
    linear-gradient(
      100deg,
      var(--vk-dourado),
      var(--vk-dourado-claro)
    );

  border-radius: 8px;

  font-size: .86rem;
  font-weight: 800;

  white-space: nowrap;

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    background .3s ease;

}


.btn-voltar-topo:hover {

  color: #111111;

  transform:
    translateY(-2px);

  box-shadow:
    0 12px 27px
    rgba(212, 175, 55, .21);

}


/* ==========================================
   RODAPÉ INDEPENDENTE
========================================== */

.footer-principal {

  color: #ffffff;

  background:
    var(--vk-azul-950);

  border-top:
    1px solid
    rgba(255, 255, 255, .08);

}


.footer-grid {

  display: grid;

  grid-template-columns:
    minmax(0, 1.35fr)
    minmax(200px, .75fr)
    minmax(250px, .9fr);

  gap: 55px;

  padding-top: 70px;
  padding-bottom: 60px;

}


.footer-principal h3,
.footer-principal h4 {

  color: #ffffff;

}


.footer-principal h3 {

  margin-bottom: 15px;

  font-size: 1.45rem;

}


.footer-principal h4 {

  margin-bottom: 17px;

  font-size: .95rem;

}


.footer-principal p,
.footer-principal li,
.footer-principal a {

  color: #abb8c1;

  font-size: .82rem;

  line-height: 1.7;

}


.footer-principal ul {

  display: grid;

  gap: 8px;

}


.footer-principal a {

  transition:
    color .25s ease;

}


.footer-principal a:hover {

  color:
    var(--vk-dourado);

}


.footer-copy {

  padding: 20px;

  text-align: center;

  border-top:
    1px solid
    rgba(255, 255, 255, .08);

}


.footer-copy p {

  margin: 0;

  font-size: .73rem;

}


/* ==========================================
   RESPONSIVIDADE DO TOPO E RODAPÉ
========================================== */

@media (max-width: 1180px) {

  .topo-wrapper {

    gap: 18px;

  }


  .menu-projeto ul {

    gap: 14px;

  }


  .menu-projeto a {

    font-size: .77rem;

  }


  .btn-voltar-topo {

    padding:
      10px 14px;

    font-size: .78rem;

  }

}


@media (max-width: 1024px) {

  .menu-projeto {

    display: none;

  }


  .topo-wrapper {

    min-height: 78px;

  }


  .footer-grid {

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

  }


  .footer-grid > div:first-child {

    grid-column:
      1 / -1;

  }

}


@media (max-width: 650px) {

  .topo-wrapper {

    width: 92%;
    min-height: 70px;

    padding:
      10px 0;

  }


  .logo-topo {

    height: 45px;

  }


  .btn-voltar-topo {

    min-height: 41px;

    padding:
      9px 12px;

  }


  .btn-voltar-topo span {

    font-size: .76rem;

  }


  .footer-grid {

    grid-template-columns:
      1fr;

    gap: 32px;

    padding-top: 55px;
    padding-bottom: 45px;

  }


  .footer-grid > div:first-child {

    grid-column: auto;

  }

}


@media (max-width: 420px) {

  .btn-voltar-topo span {

    display: none;

  }


  .btn-voltar-topo {

    width: 42px;

    padding: 0;

  }

}



/* =====================================================
   TÍTULOS E CABEÇALHOS
===================================================== */

.section-tag-premium {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--vk-dourado-escuro);
  font-size: .72rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}

.section-tag-premium::before {
  content: "";
  width: 35px;
  height: 2px;
  background: var(--vk-dourado);
}

.section-header-premium {
  width: min(100%, 880px);
  margin: 0 auto 64px;
  text-align: center;
}

.section-header-premium .section-tag-premium {
  justify-content: center;
}

.section-header-premium h2 {
  margin: 15px 0 18px !important;
  color: var(--vk-azul-900) !important;
  font-size: clamp(2.15rem, 4vw, 3.5rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -1.3px;
  text-align: center !important;
}

.section-header-premium p {
  width: min(100%, 730px);
  margin: 0 auto !important;
  color: var(--vk-texto) !important;
  font-size: .98rem;
  line-height: 1.75;
  text-align: center !important;
}

.section-header-claro h2 {
  color: #fff !important;
}

.section-header-claro p {
  color: var(--vk-texto-claro) !important;
}

.section-header-claro .section-tag-premium {
  color: var(--vk-dourado);
}

/* =====================================================
   BOTÕES
===================================================== */

.btn-premium {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 14px 23px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: .84rem;
  font-weight: 900;
  line-height: 1;
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease, border-color .3s ease;
}

.btn-premium:hover {
  transform: translateY(-4px);
}

.btn-premium-dourado {
  color: #101010 !important;
  background: linear-gradient(100deg, var(--vk-dourado), var(--vk-dourado-claro));
  box-shadow: 0 13px 30px rgba(212, 175, 55, .16);
}

.btn-premium-dourado:hover {
  box-shadow: 0 17px 38px rgba(212, 175, 55, .28);
}

.btn-premium-outline {
  color: #fff !important;
  background: rgba(255, 255, 255, .055);
  border-color: rgba(255, 255, 255, .18);
  backdrop-filter: blur(9px);
}

.btn-premium-outline:hover {
  background: rgba(255, 255, 255, .10);
  border-color: rgba(212, 175, 55, .45);
}

/* =====================================================
   HERO
===================================================== */

.hero-consultoria {
  position: relative;
  z-index: 1;

  min-height: calc(100vh - 88px);

  display: flex;
  align-items: center;

  padding: 105px 20px 150px;

  overflow: hidden;

  color: #fff;

  background:
    linear-gradient(
      90deg,
      rgba(4,16,26,.98) 0%,
      rgba(4,16,26,.92) 43%,
      rgba(4,16,26,.58) 100%
    ),
    url("../meu-site/assets/img/qualidade_energia.png")
    center / cover no-repeat;
}

.hero-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .24;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 52px 52px;
}

.hero-glow {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}

.hero-glow-01 {
  top: -210px;
  right: -120px;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(212,175,55,.19), transparent 68%);
}

.hero-glow-02 {
  left: -120px;
  bottom: -230px;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(34,100,151,.24), transparent 68%);
}

.hero-consultoria-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  align-items: center;
  gap: clamp(45px, 6vw, 90px);
}

.hero-consultoria-content {
  max-width: 900px;
}

.hero-tag-premium {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 15px;
  color: var(--vk-dourado-claro);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(212,175,55,.32);
  border-radius: 999px;
  backdrop-filter: blur(10px);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.hero-consultoria h1 {
  max-width: 920px;
  margin: 24px 0 !important;
  color: #fff !important;
  font-size: clamp(2.8rem, 5.25vw, 5.15rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -2.4px;
  text-align: left !important;
}

.hero-consultoria h1 span {
  color: var(--vk-dourado-claro);
}

.hero-consultoria-content > p {
  max-width: 820px;
  margin-bottom: 34px !important;
  color: #cad4dc !important;
  font-size: 1.04rem;
  line-height: 1.8;
  text-align: left !important;
}

.hero-botoes {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.hero-selos-consultoria {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-top: 38px;
}

.hero-selos-consultoria span {
  color: #c0cad2;
  font-size: .74rem;
  font-weight: 700;
}

.hero-selos-consultoria i {
  margin-right: 7px;
  color: var(--vk-dourado);
}

.hero-diagnostico-card {
  position: relative;
  padding: 34px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 22px;
  box-shadow: var(--vk-sombra-forte);
  backdrop-filter: blur(18px);
}

.hero-diagnostico-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 32px;
  right: 32px;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--vk-dourado), transparent);
}

.hero-card-tag {
  color: var(--vk-dourado);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.hero-diagnostico-card h2 {
  margin: 9px 0 24px !important;
  color: #fff !important;
  font-size: 1.65rem !important;
  line-height: 1.22 !important;
  text-align: left !important;
}

.hero-indicadores {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.hero-indicadores div {
  min-height: 105px;
  padding: 18px;
  background: rgba(5,15,24,.38);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 13px;
  transition: .3s ease;
}

.hero-indicadores div:hover {
  transform: translateY(-4px);
  border-color: rgba(212,175,55,.30);
  background: rgba(5,15,24,.55);
}

.hero-indicadores i {
  display: block;
  margin-bottom: 14px;
  color: var(--vk-dourado);
  font-size: 1.3rem;
}

.hero-indicadores span {
  color: #e5ebef;
  font-size: .76rem;
  font-weight: 800;
}

.hero-card-rodape {
  display: grid;
  grid-template-columns: 22px 1fr;
  gap: 10px;
  margin-top: 19px;
  padding-top: 19px;
  border-top: 1px solid rgba(255,255,255,.11);
}

.hero-card-rodape i {
  color: var(--vk-dourado);
}

.hero-card-rodape p {
  margin: 0 !important;
  color: #aebbc4 !important;
  font-size: .72rem;
  line-height: 1.5;
}

.hero-faixa-inferior {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  border-top: 1px solid rgba(255,255,255,.09);
  background: rgba(5,15,24,.84);
  backdrop-filter: blur(12px);
}

.hero-faixa-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.hero-faixa-grid div {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 82px;
  border-right: 1px solid rgba(255,255,255,.08);
}

.hero-faixa-grid div:last-child {
  border-right: 0;
}

.hero-faixa-grid strong {
  color: var(--vk-dourado);
  font-size: .72rem;
}

.hero-faixa-grid span {
  color: #cad3da;
  font-size: .74rem;
  font-weight: 700;
}

/* =====================================================
   INTRODUÇÃO
===================================================== */

.intro-consultoria {
  padding: 120px 20px;
}

.intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  align-items: center;
  gap: clamp(45px, 6vw, 75px);
}

.intro-conteudo h2 {
  max-width: 780px;
  margin: 15px 0 25px !important;
  color: var(--vk-azul-900) !important;
  font-size: clamp(2.15rem, 3.7vw, 3.3rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -1.1px;
  text-align: left !important;
}

.intro-conteudo > p {
  max-width: 760px;
  margin-bottom: 18px !important;
  color: var(--vk-texto) !important;
  font-size: .94rem;
  line-height: 1.8;
  text-align: left !important;
}

.intro-destaques {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-top: 32px;
}

.intro-destaques div {
  padding: 20px;
  background: var(--vk-fundo);
  border: 1px solid var(--vk-borda);
  border-radius: 13px;
}

.intro-destaques strong {
  display: block;
  margin-bottom: 6px;
  color: var(--vk-azul-900);
  font-size: .84rem;
}

.intro-destaques span {
  color: #75818a;
  font-size: .72rem;
  line-height: 1.5;
}

.card-diagnostico-premium {
  position: relative;
  padding: 38px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(145deg, var(--vk-azul-950), var(--vk-azul-700));
  border: 1px solid rgba(212,175,55,.30);
  border-radius: 22px;
  box-shadow: 0 30px 70px rgba(5,15,24,.22);
}

.card-diagnostico-premium::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -110px;
  width: 230px;
  height: 230px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,55,.18), transparent 68%);
}

.card-diagnostico-topo {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}

.card-diagnostico-topo span {
  color: var(--vk-dourado);
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.card-diagnostico-topo i {
  color: var(--vk-dourado);
  font-size: 1.5rem;
}

.card-diagnostico-premium h3 {
  position: relative;
  z-index: 2;
  margin-bottom: 24px !important;
  color: #fff !important;
  font-size: 1.55rem !important;
  text-align: left !important;
}

.card-diagnostico-premium ul {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 13px;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}

.card-diagnostico-premium li {
  position: relative;
  padding-left: 26px;
  color: #d5dde3;
  font-size: .8rem;
  line-height: 1.5;
}

.card-diagnostico-premium li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--vk-dourado);
  font-weight: 900;
}

/* =====================================================
   PÚBLICO
===================================================== */

.publico-consultoria {
  padding: 120px 20px;
}

.grid-publico-premium {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.card-publico-premium {
  position: relative;
  min-height: 315px;
  padding: 30px 27px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--vk-borda);
  border-radius: 17px;
  box-shadow: 0 14px 36px rgba(7,23,34,.065);
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .55s ease var(--delay, 0ms), transform .55s ease var(--delay, 0ms), border-color .3s ease, box-shadow .3s ease;
}

.card-publico-premium.visivel {
  opacity: 1;
  transform: translateY(0);
}

.card-publico-premium:hover {
  transform: translateY(-8px);
  border-color: rgba(212,175,55,.42);
  box-shadow: var(--vk-sombra);
}

.numero-card {
  position: absolute;
  top: 22px;
  right: 22px;
  color: #c4ccd1;
  font-size: .67rem;
  font-weight: 900;
}

.icone-card {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 25px;
  color: var(--vk-dourado-escuro);
  background: rgba(212,175,55,.12);
  border-radius: 14px;
  font-size: 1.35rem;
  transition: .3s;
}

.card-publico-premium:hover .icone-card {
  color: #111;
  background: var(--vk-dourado);
  transform: rotate(-4deg);
}

.card-publico-premium h3 {
  margin-bottom: 13px !important;
  color: var(--vk-azul-900) !important;
  font-size: 1.18rem !important;
  text-align: left !important;
}

.card-publico-premium p {
  margin-bottom: 0 !important;
  color: var(--vk-texto) !important;
  font-size: .79rem;
  line-height: 1.65;
  text-align: left !important;
}

.linha-card {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--vk-dourado), transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: .35s;
}

.card-publico-premium:hover .linha-card {
  transform: scaleX(1);
}

/* =====================================================
   ANÁLISES
===================================================== */

.analises-consultoria {
  padding: 120px 20px;
  overflow: hidden;
}

.analises-consultoria::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -260px;
  right: -210px;
  width: 580px;
  height: 580px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,55,.12), transparent 68%);
}

.grid-analises-premium {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  width: min(100%, 1050px);
  margin: 0 auto;
}

.grid-analises-premium article {
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 16px;
  min-height: 112px;
  padding: 20px 22px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  backdrop-filter: blur(8px);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .5s ease var(--delay,0ms), transform .5s ease var(--delay,0ms), background .3s ease, border-color .3s ease;
}

.grid-analises-premium article.visivel {
  opacity: 1;
  transform: translateY(0);
}

.grid-analises-premium article:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,.085);
  border-color: rgba(212,175,55,.30);
}

.grid-analises-premium i {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vk-dourado);
  background: rgba(212,175,55,.11);
  border-radius: 12px;
  font-size: 1.15rem;
}

.grid-analises-premium strong {
  display: block;
  margin-bottom: 5px;
  color: #fff;
  font-size: .9rem;
}

.grid-analises-premium span {
  color: #aebbc4;
  font-size: .72rem;
  line-height: 1.45;
}

/* =====================================================
   PROCESSO
===================================================== */

.processo-consultoria {
  padding: 120px 20px;
}

.timeline-premium {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.timeline-linha {
  position: absolute;
  z-index: 0;
  top: 55px;
  left: 8%;
  right: 8%;
  height: 3px;
  background: linear-gradient(90deg, var(--vk-dourado), #dfe5e9 50%, var(--vk-dourado));
}

.timeline-item-premium {
  position: relative;
  z-index: 1;
  min-height: 285px;
  padding: 31px 28px;
  background: #fff;
  border: 1px solid var(--vk-borda);
  border-radius: 17px;
  box-shadow: 0 15px 38px rgba(7,23,34,.07);
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .55s ease var(--delay,0ms), transform .55s ease var(--delay,0ms), border-color .3s ease, box-shadow .3s ease;
}

.timeline-item-premium.visivel {
  opacity: 1;
  transform: translateY(0);
}

.timeline-item-premium:hover {
  transform: translateY(-7px);
  border-color: rgba(212,175,55,.40);
  box-shadow: var(--vk-sombra);
}

.timeline-numero {
  position: absolute;
  top: 22px;
  right: 23px;
  color: #c0c9cf;
  font-size: .66rem;
  font-weight: 900;
}

.timeline-icone {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  color: #111;
  background: var(--vk-dourado);
  border-radius: 50%;
  box-shadow: 0 0 0 9px #fff, 0 0 0 10px #e3e8eb;
  font-size: 1.2rem;
}

.timeline-item-premium h3 {
  margin-bottom: 12px !important;
  color: var(--vk-azul-900) !important;
  font-size: 1.13rem !important;
  text-align: left !important;
}

.timeline-item-premium p {
  margin-bottom: 0 !important;
  color: var(--vk-texto) !important;
  font-size: .78rem;
  line-height: 1.65;
  text-align: left !important;
}

.timeline-destaque {
  color: #fff;
  background: linear-gradient(145deg, var(--vk-azul-950), var(--vk-azul-700));
  border-color: rgba(212,175,55,.33);
}

.timeline-destaque h3 {
  color: #fff !important;
}

.timeline-destaque p {
  color: #bdc8d0 !important;
}

.timeline-destaque .timeline-icone {
  box-shadow: 0 0 0 9px var(--vk-azul-900), 0 0 0 10px rgba(212,175,55,.45);
}

/* =====================================================
   BENEFÍCIOS
===================================================== */

.secao-beneficios-premium {
  padding: 120px 20px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #06111b, #0b2b40);
}

.secao-beneficios-premium::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -180px;
  bottom: -260px;
  width: 580px;
  height: 580px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,55,.14), transparent 68%);
}

.beneficios-grid-premium {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  align-items: center;
  gap: 65px;
}

.beneficios-conteudo .section-tag-premium {
  color: var(--vk-dourado);
}

.beneficios-conteudo h2 {
  margin: 15px 0 21px !important;
  color: #fff !important;
  font-size: clamp(2.2rem,4vw,3.4rem) !important;
  line-height: 1.13 !important;
  text-align: left !important;
}

.beneficios-conteudo > p {
  max-width: 650px;
  margin-bottom: 27px !important;
  color: #bec9d1 !important;
  font-size: .92rem;
  line-height: 1.75;
  text-align: left !important;
}

.beneficio-destaque-numerico {
  margin-bottom: 28px;
  padding: 19px 21px;
  background: rgba(255,255,255,.055);
  border-left: 3px solid var(--vk-dourado);
  border-radius: 0 10px 10px 0;
}

.beneficio-destaque-numerico strong {
  display: block;
  color: var(--vk-dourado);
  font-size: 1rem;
}

.beneficio-destaque-numerico span {
  color: #b7c2ca;
  font-size: .75rem;
}

.beneficios-lista-premium {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 15px;
}

.beneficios-lista-premium article {
  min-height: 165px;
  padding: 23px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .5s ease var(--delay,0ms), transform .5s ease var(--delay,0ms), background .3s ease, border-color .3s ease;
}

.beneficios-lista-premium article.visivel {
  opacity: 1;
  transform: translateY(0);
}

.beneficios-lista-premium article:hover {
  transform: translateY(-5px);
  background: rgba(255,255,255,.085);
  border-color: rgba(212,175,55,.32);
}

.beneficios-lista-premium i {
  margin-bottom: 17px;
  color: var(--vk-dourado);
  font-size: 1.25rem;
}

.beneficios-lista-premium strong {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font-size: .88rem;
}

.beneficios-lista-premium span {
  color: #aebbc4;
  font-size: .72rem;
  line-height: 1.5;
}

/* =====================================================
   PLANOS
===================================================== */

.planos-consultoria {
  padding: 120px 20px;
}

.grid-planos-premium {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  align-items: stretch;
  gap: 24px;
}

.plano-card-premium {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 530px;
  padding: 34px 31px;
  background: #fff;
  border: 1px solid var(--vk-borda);
  border-radius: 18px;
  box-shadow: 0 15px 40px rgba(7,23,34,.07);
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .55s ease var(--delay,0ms), transform .55s ease var(--delay,0ms), border-color .3s ease, box-shadow .3s ease;
}

.plano-card-premium.visivel {
  opacity: 1;
  transform: translateY(0);
}

.plano-card-premium:hover {
  transform: translateY(-8px);
  border-color: rgba(212,175,55,.42);
  box-shadow: var(--vk-sombra);
}

.plano-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.plano-numero {
  color: #c4ccd2;
  font-size: .68rem;
  font-weight: 900;
}

.plano-tag {
  padding: 7px 12px;
  color: #6f5411;
  background: rgba(212,175,55,.15);
  border-radius: 999px;
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.plano-card-premium h3 {
  margin-bottom: 14px !important;
  color: var(--vk-azul-900) !important;
  font-size: 1.45rem !important;
  text-align: left !important;
}

.plano-card-premium > p {
  min-height: 105px;
  margin-bottom: 24px !important;
  color: var(--vk-texto) !important;
  font-size: .79rem;
  line-height: 1.65;
  text-align: left !important;
}

.plano-card-premium ul {
  display: grid;
  gap: 12px;
  margin-bottom: 30px;
  padding: 0;
  list-style: none;
}

.plano-card-premium li {
  position: relative;
  padding-left: 23px;
  color: #53616b;
  font-size: .76rem;
}

.plano-card-premium li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--vk-dourado-escuro);
  font-weight: 900;
}

.plano-card-premium > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 50px;
  margin-top: auto;
  color: #fff !important;
  background: var(--vk-azul-900);
  border-radius: 8px;
  font-size: .78rem;
  font-weight: 900;
  transition: .3s;
}

.plano-card-premium > a:hover {
  transform: translateY(-3px);
  background: var(--vk-azul-700);
}

.plano-destaque {
  color: #fff;
  background: linear-gradient(145deg, var(--vk-azul-950), var(--vk-azul-700));
  border-color: rgba(212,175,55,.35);
  box-shadow: 0 28px 65px rgba(5,15,24,.20);
  transform: translateY(-12px);
}

.plano-destaque.visivel {
  transform: translateY(-12px);
}

.plano-destaque:hover {
  transform: translateY(-20px);
}

.plano-destaque h3 {
  color: #fff !important;
}

.plano-destaque > p {
  color: #bdc8d1 !important;
}

.plano-destaque li {
  color: #d4dce1;
}

.plano-destaque .plano-tag {
  color: #111;
  background: var(--vk-dourado);
}

.plano-destaque > a {
  color: #111 !important;
  background: var(--vk-dourado);
}

.plano-selo {
  position: absolute;
  top: 0;
  left: 50%;
  padding: 7px 14px;
  color: #111;
  background: var(--vk-dourado);
  border-radius: 0 0 9px 9px;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .8px;
  text-transform: uppercase;
  transform: translateX(-50%);
}

/* =====================================================
   CTA FINAL — CORRIGIDO E REESTRUTURADO
===================================================== */

.cta-consultoria-final {
  padding: 120px 20px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 10% 20%, rgba(212,175,55,.10), transparent 30%),
    radial-gradient(circle at 92% 82%, rgba(33,105,156,.20), transparent 32%),
    linear-gradient(135deg, #04101a, #0a2a3f);
}

.cta-final-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .20;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 48px 48px;
}

.cta-consultoria-final::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -180px;
  left: -130px;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,55,.13), transparent 70%);
}

.cta-consultoria-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(430px, .82fr);
  align-items: start;
  gap: clamp(45px, 6vw, 78px);
}

.cta-consultoria-conteudo {
  padding-top: 48px;
  text-align: left !important;
}

.cta-consultoria-conteudo .section-tag-premium {
  justify-content: flex-start;
  color: var(--vk-dourado) !important;
}

.cta-consultoria-conteudo h2 {
  max-width: 730px;
  margin: 17px 0 23px !important;
  color: #fff !important;
  font-size: clamp(2.35rem, 4.25vw, 3.8rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -1.55px;
  text-align: left !important;
}

.cta-consultoria-conteudo > p {
  max-width: 690px;
  margin: 0 !important;
  color: #c2cdd5 !important;
  font-size: .96rem;
  line-height: 1.78;
  text-align: left !important;
}

.cta-contatos-diretos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
  max-width: 730px;
  margin-top: 35px;
}

.cta-contatos-diretos a {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  align-items: center;
  gap: 13px;
  min-height: 86px;
  padding: 17px 18px;
  color: #fff !important;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 13px;
  transition: .3s;
}

.cta-contatos-diretos a:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,.09);
  border-color: rgba(212,175,55,.37);
}

.cta-contatos-diretos i {
  color: var(--vk-dourado);
  font-size: 1.42rem;
}

.cta-contatos-diretos span {
  display: block;
  color: #9fadb7;
  font-size: .64rem;
}

.cta-contatos-diretos strong {
  display: block;
  margin-top: 3px;
  color: #fff;
  font-size: .74rem;
  overflow-wrap: anywhere;
}

.cta-form-wrapper {
  position: relative;
  width: 100%;
  max-width: 630px;
  justify-self: end;
  padding: 37px 33px;
  background: #fff;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 20px;
  box-shadow: 0 35px 80px rgba(0,0,0,.30);
}

.cta-form-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 32px;
  right: 32px;
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--vk-dourado), transparent);
}

.cta-form-tag {
  color: var(--vk-dourado-escuro);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.cta-form-wrapper h3 {
  margin: 7px 0 8px !important;
  color: var(--vk-azul-900) !important;
  font-size: 1.55rem !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

.cta-form-wrapper > p {
  margin-bottom: 25px !important;
  color: #75818a !important;
  font-size: .76rem;
  line-height: 1.5;
  text-align: left !important;
}

#form-consultoria-premium {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 15px 13px;
}

.campo-completo {
  grid-column: 1 / -1;
}

.campo-form label {
  display: block;
  margin-bottom: 7px;
  color: #34424c;
  font-size: .69rem;
  font-weight: 800;
}

.campo-form > div {
  position: relative;
}

.campo-form i {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 14px;
  color: #9faab2;
  font-size: .75rem;
  transform: translateY(-50%);
  pointer-events: none;
}

.campo-form input,
.campo-form select,
.campo-form textarea {
  width: 100%;
  color: #26343e;
  background: #fff;
  border: 1px solid #dce3e7;
  border-radius: 8px;
  outline: none;
  font: inherit;
  font-size: .74rem;
  transition: border-color .25s ease, box-shadow .25s ease;
}

.campo-form input,
.campo-form select {
  height: 49px;
  padding: 0 39px;
}

.campo-form select {
  padding-right: 34px;
  cursor: pointer;
}

.campo-form textarea {
  min-height: 128px;
  padding: 14px 14px 14px 39px;
  resize: vertical;
  line-height: 1.5;
}

.campo-form .campo-textarea i {
  top: 18px;
  transform: none;
}

.campo-form input::placeholder,
.campo-form textarea::placeholder {
  color: #9ca8b0;
}

.campo-form input:focus,
.campo-form select:focus,
.campo-form textarea:focus {
  border-color: var(--vk-dourado);
  box-shadow: 0 0 0 3px rgba(212,175,55,.12);
}

.campo-form > div:focus-within > i {
  color: var(--vk-dourado-escuro);
}

.campo-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.btn-form-consultoria {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 53px;
  color: #111;
  background: linear-gradient(100deg, var(--vk-dourado), var(--vk-dourado-claro));
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  font: inherit;
  font-size: .79rem;
  font-weight: 900;
  transition: .3s;
}

.btn-form-consultoria:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(212,175,55,.22);
}

.btn-form-consultoria:disabled {
  opacity: .7;
  cursor: not-allowed;
  transform: none;
}

.texto-carregando {
  display: none;
}

.btn-form-consultoria.enviando .texto-normal,
.btn-form-consultoria.enviando .seta-form {
  display: none;
}

.btn-form-consultoria.enviando .texto-carregando {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.status-form {
  display: none;
  grid-column: 1 / -1;
  padding: 12px 14px;
  border-radius: 8px;
  font-size: .69rem;
  line-height: 1.45;
}

.status-form.sucesso {
  display: block;
  color: #176334;
  background: #eaf8ef;
  border: 1px solid #b8e4c8;
}

.status-form.erro {
  display: block;
  color: #8a2929;
  background: #fff0f0;
  border: 1px solid #edc5c5;
}

#form-consultoria-premium small {
  grid-column: 1 / -1;
  color: #8a959d;
  font-size: .61rem;
  text-align: center;
}

#form-consultoria-premium small i {
  position: static;
  margin-right: 5px;
  color: #7f8b93;
  transform: none;
}

/* =====================================================
   RESPONSIVIDADE
===================================================== */

@media (max-width: 1120px) {
  .hero-consultoria-layout,
  .intro-grid,
  .beneficios-grid-premium,
  .cta-consultoria-layout {
    grid-template-columns: 1fr;
  }

  .hero-diagnostico-card {
    width: min(100%, 700px);
  }

  .grid-publico-premium {
    grid-template-columns: repeat(2,1fr);
  }

  .timeline-premium,
  .grid-planos-premium {
    grid-template-columns: repeat(2,1fr);
  }

  .timeline-linha {
    display: none;
  }

  .plano-destaque,
  .plano-destaque.visivel {
    transform: none;
  }

  .plano-destaque:hover {
    transform: translateY(-8px);
  }

  .cta-consultoria-conteudo {
    padding-top: 0;
  }

  .cta-form-wrapper {
    max-width: 760px;
    justify-self: center;
  }
}

@media (max-width: 760px) {
  .hero-consultoria {
    min-height: auto;
    padding: 78px 20px 135px;
  }

  .hero-consultoria h1 {
    letter-spacing: -1.4px;
  }

  .hero-faixa-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .hero-faixa-grid div:nth-child(2) {
    border-right: 0;
  }

  .hero-faixa-grid div:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .intro-destaques,
  .grid-analises-premium,
  .beneficios-lista-premium,
  .cta-contatos-diretos {
    grid-template-columns: 1fr;
  }

  .timeline-premium,
  .grid-planos-premium {
    grid-template-columns: 1fr;
  }

  .card-publico-premium,
  .plano-card-premium {
    min-height: auto;
  }

  .plano-card-premium > p {
    min-height: auto;
  }

  .cta-consultoria-conteudo h2 {
    font-size: clamp(2.15rem, 8vw, 3.15rem) !important;
  }
}

@media (max-width: 620px) {
  .intro-consultoria,
  .publico-consultoria,
  .analises-consultoria,
  .processo-consultoria,
  .secao-beneficios-premium,
  .planos-consultoria,
  .cta-consultoria-final {
    padding: 82px 20px;
  }

  .grid-publico-premium {
    grid-template-columns: 1fr;
  }

  .hero-indicadores {
    grid-template-columns: 1fr;
  }

  .hero-selos-consultoria {
    display: grid;
    gap: 10px;
  }

  .hero-diagnostico-card,
  .card-diagnostico-premium {
    padding: 31px 24px;
  }

  .cta-form-wrapper {
    padding: 31px 22px;
    border-radius: 17px;
  }

  #form-consultoria-premium {
    grid-template-columns: 1fr;
  }

  .campo-completo,
  .btn-form-consultoria,
  .status-form,
  #form-consultoria-premium small {
    grid-column: auto;
  }

  .section-header-premium {
    margin-bottom: 46px;
  }
}

@media (max-width: 430px) {
  .hero-botoes,
  .hero-botoes .btn-premium {
    width: 100%;
  }

  .hero-faixa-grid {
    grid-template-columns: 1fr;
  }

  .hero-faixa-grid div {
    min-height: 64px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .hero-faixa-grid div:last-child {
    border-bottom: 0;
  }

  .intro-destaques {
    grid-template-columns: 1fr;
  }
}

/* ==========================================
   FUNDOS GERAIS DAS SEÇÕES
========================================== */

.secao-clara {
  position: relative;
  background: #ffffff;
}

.secao-cinza {
  position: relative;
  background:
    linear-gradient(
      180deg,
      var(--vk-fundo) 0%,
      var(--vk-fundo-2) 100%
    );
}

.secao-escura {
  position: relative;
  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      var(--vk-azul-950) 0%,
      var(--vk-azul-800) 100%
    );
}

/* ==========================================
   BOTÃO FLUTUANTE WHATSAPP
========================================== */

.whatsapp-float{
    position: fixed;

    right: 25px;
    bottom: 25px;

    width: 68px;
    height: 68px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #25D366;
    color: #fff;

    border-radius: 50%;

    font-size: 2rem;

    box-shadow:
        0 12px 30px rgba(37,211,102,.45);

    z-index: 9999;

    transition: .3s;

    animation: whatsappPulse 2s infinite;
}

.whatsapp-float:hover{
    color:#fff;
    background:#20c15a;

    transform: scale(1.1);
}

@keyframes whatsappPulse{

    0%{
        box-shadow:0 0 0 0 rgba(37,211,102,.55);
    }

    70%{
        box-shadow:0 0 0 18px rgba(37,211,102,0);
    }

    100%{
        box-shadow:0 0 0 0 rgba(37,211,102,0);
    }

}

@media (max-width:768px){

    .whatsapp-float{

        width:60px;
        height:60px;

        right:18px;
        bottom:18px;

        font-size:1.8rem;

    }

}

/*==================================================
CASE REAL
==================================================*/

.case-real-consultoria{

    padding:120px 20px;

    background:#fff;

}

.case-grid{

    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:60px;

    align-items:center;

    margin-top:70px;

}

.case-texto h3{

    margin-bottom:20px;

    color:var(--vk-azul-900);

    font-size:2rem;

}

.case-texto p{

    margin-bottom:20px;

    line-height:1.9;

}

.case-indicadores{

    display:grid;

    gap:20px;

}

.card-case{

    padding:28px;

    background:#fff;

    border:1px solid var(--vk-borda);

    border-radius:18px;

    box-shadow:var(--vk-sombra);

}

.card-case span{

    display:block;

    margin-bottom:10px;

    color:#7a8790;

    font-size:.82rem;

    text-transform:uppercase;

    letter-spacing:1px;

}

.card-case strong{

    color:var(--vk-azul-900);

    font-size:2rem;

    line-height:1.2;

}

.card-case.destaque{

    color:#fff;

    background:linear-gradient(
        135deg,
        var(--vk-azul-950),
        var(--vk-azul-700)
    );

    border:none;

}

.card-case.destaque i{

    margin-bottom:18px;

    color:var(--vk-dourado);

    font-size:2rem;

}

.card-case.destaque p{

    margin:0;

    line-height:1.7;

}

@media(max-width:992px){

    .case-grid{

        grid-template-columns:1fr;

    }

}