:root {
  --azul-950: #020b18;
  --azul-900: #031328;
  --azul-850: #06182e;
  --azul-800: #0a213d;
  --azul-700: #0d3158;
  --azul-neon: #24b8ff;
  --azul-neon-soft: rgba(36, 184, 255, 0.18);
  --dourado: #e2ad48;
  --dourado-claro: #f1ca73;
  --dourado-escuro: #a87320;
  --branco: #f6f8fb;
  --texto: #c8d0dc;
  --texto-suave: #8593a5;
  --borda: rgba(154, 177, 205, 0.20);
  --borda-dourada: rgba(226, 173, 72, 0.43);
  --painel: rgba(7, 24, 45, 0.76);
  --painel-forte: rgba(4, 18, 35, 0.92);
  --sombra: 0 22px 60px rgba(0, 0, 0, 0.35);
  --raio: 18px;
  --fonte-titulo: "Space Grotesk", "Segoe UI", sans-serif;
  --fonte-corpo: "Inter", "Segoe UI", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--azul-950);
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 78% 9%, rgba(0, 119, 255, 0.10), transparent 26%),
    radial-gradient(circle at 12% 35%, rgba(226, 173, 72, 0.05), transparent 24%),
    linear-gradient(180deg, #020b18 0%, #031328 42%, #020b18 100%);
  color: var(--branco);
  font-family: var(--fonte-corpo);
  line-height: 1.55;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 20;
  opacity: 0.17;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.72), transparent 75%);
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

::selection {
  color: #08111f;
  background: var(--dourado-claro);
}

.container-site {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.section-pad {
  padding: 82px 0;
}

.section-tight {
  padding: 54px 0;
}

.texto-dourado {
  color: var(--dourado);
}

.texto-neon {
  color: #7ad4ff;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--dourado-claro);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.eyebrow::before {
  content: "";
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, var(--dourado), transparent);
}

.titulo-secao {
  margin: 0 0 14px;
  font-family: var(--fonte-titulo);
  font-size: clamp(2rem, 4vw, 3.3rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.06;
}

.subtitulo-secao {
  max-width: 720px;
  margin: 0;
  color: var(--texto);
  font-size: 1.05rem;
}

/* Cabeçalho */
.cabecalho {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(226, 173, 72, 0.13);
  background: rgba(2, 11, 24, 0.82);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.cabecalho-interno {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 30px;
}

.marca {
  position: relative;
  flex: 0 0 auto;
  width: 238px;
  height: 64px;
  overflow: hidden;
  border-radius: 4px;
}

.marca img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  transform: scale(1.02);
}

.menu-principal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-left: auto;
}

.menu-principal a {
  position: relative;
  padding: 30px 0 27px;
  color: #d9e0e9;
  font-size: 0.95rem;
  transition: color .25s ease;
}

.menu-principal a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 18px;
  width: 0;
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, var(--dourado), var(--dourado-claro));
  transition: width .25s ease;
}

.menu-principal a:hover,
.menu-principal a.ativo {
  color: #fff;
}

.menu-principal a:hover::after,
.menu-principal a.ativo::after {
  width: 100%;
}

.botao-menu-mobile {
  display: none;
  width: 46px;
  height: 46px;
  margin-left: auto;
  border: 1px solid var(--borda-dourada);
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  color: var(--dourado-claro);
  font-size: 1.6rem;
}

.btn-dourado,
.btn-outline,
.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 10px;
  font-weight: 700;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

.btn-dourado {
  border: 1px solid var(--dourado-claro);
  background: linear-gradient(135deg, #f2cf7b 0%, #d49a34 56%, #f0c468 100%);
  color: #08101b;
  box-shadow: 0 10px 30px rgba(226, 173, 72, 0.13);
}

.btn-outline {
  border: 1px solid var(--borda-dourada);
  background: rgba(3, 18, 35, 0.64);
  color: #fff;
}

.btn-ghost {
  border: 1px solid rgba(79, 190, 255, 0.28);
  background: rgba(19, 78, 120, 0.12);
  color: #d7f2ff;
}

.btn-dourado:hover,
.btn-outline:hover,
.btn-ghost:hover {
  transform: translateY(-2px);
}

.btn-dourado:hover {
  box-shadow: 0 14px 35px rgba(226, 173, 72, 0.22);
}

.btn-outline:hover {
  border-color: var(--dourado);
  background: rgba(226, 173, 72, 0.08);
}

/* Hero Principal */
.hero-principal {
  position: relative;
  min-height: 650px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(82, 142, 194, 0.14);
}

.hero-principal::before,
.hero-interno::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 78% 46%, rgba(41, 171, 255, .14), transparent 31%),
    linear-gradient(90deg, transparent 0 60%, rgba(31, 143, 223, .05) 60% 61%, transparent 61% 100%);
}

.circuito {
  position: absolute;
  right: -80px;
  top: 40px;
  width: 52%;
  height: 78%;
  opacity: .34;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 12%, #1378b6 12% 12.2%, transparent 12.2% 100%),
    linear-gradient(0deg, transparent 25%, #1378b6 25% 25.2%, transparent 25.2% 100%),
    radial-gradient(circle at 20% 30%, #31c1ff 0 2px, transparent 3px),
    radial-gradient(circle at 68% 61%, #31c1ff 0 2px, transparent 3px),
    radial-gradient(circle at 84% 22%, #e2ad48 0 2px, transparent 3px);
  mask-image: linear-gradient(90deg, transparent, #000 22%, #000 76%, transparent);
}

.circuito::before,
.circuito::after {
  content: "";
  position: absolute;
  inset: 8% 4%;
  border: 1px solid rgba(36, 184, 255, 0.24);
  clip-path: polygon(0 13%, 15% 13%, 15% 0, 64% 0, 64% 18%, 100% 18%, 100% 100%, 18% 100%, 18% 76%, 0 76%);
}

.circuito::after {
  inset: 17% 14% 4% 18%;
  border-color: rgba(226, 173, 72, .17);
}

.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.03fr .97fr;
  align-items: center;
  gap: 44px;
  padding: 72px 0 62px;
}

.hero-conteudo h1 {
  margin: 0 0 22px;
  font-family: var(--fonte-titulo);
  font-size: clamp(3rem, 5.4vw, 5.1rem);
  line-height: .98;
  letter-spacing: -0.055em;
  font-weight: 720;
}

.hero-conteudo p {
  max-width: 650px;
  margin: 0 0 26px;
  color: var(--texto);
  font-size: clamp(1rem, 1.5vw, 1.14rem);
}

.hero-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 30px;
}

.hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid rgba(135, 169, 203, .18);
  border-radius: 9px;
  background: rgba(9, 31, 56, .53);
  color: #cbd7e4;
  font-size: .82rem;
}

.hero-tag ion-icon {
  color: var(--dourado);
  font-size: 1.05rem;
}

/* Dashboard */
.dashboard-wrap {
  position: relative;
  perspective: 1200px;
}

.dashboard {
  position: relative;
  padding: 18px;
  border: 1px solid rgba(60, 170, 237, .44);
  border-radius: 22px;
  background:
    linear-gradient(145deg, rgba(11, 35, 62, .94), rgba(4, 17, 34, .96)),
    radial-gradient(circle at top right, rgba(51, 186, 255, .18), transparent 30%);
  box-shadow:
    0 28px 80px rgba(0, 0, 0, .42),
    inset 0 0 34px rgba(25, 142, 211, .04),
    0 0 0 1px rgba(255,255,255,.02);
  transform: rotateY(-4deg) rotateX(1deg);
  
}

.dashboard::before {
  content: "";
  position: absolute;
  inset: -18px;
  z-index: -1;
  border: 1px solid rgba(35, 179, 255, .12);
  border-radius: 28px;
}

.dashboard-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 15px;
}

.dashboard-topo strong {
  font-family: var(--fonte-titulo);
  font-size: .95rem;
}

.sinal-ao-vivo {
  color: #6ef0d0;
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.kpi-card,
.fluxo-card,
.assistente-card {
  border: 1px solid rgba(101, 156, 205, .21);
  border-radius: 13px;
  background: linear-gradient(180deg, rgba(10, 33, 58, .89), rgba(6, 22, 41, .92));
}

.kpi-card {
  min-height: 160px;
  padding: 14px;
}

.kpi-card small {
  display: block;
  color: var(--texto-suave);
  font-size: .66rem;
}

.kpi-card strong {
  display: block;
  margin: 7px 0 5px;
  font-family: var(--fonte-titulo);
  font-size: clamp(1.25rem, 2.4vw, 2rem);
}

.grafico-linha {
  position: relative;
  height: 58px;
  margin-top: 16px;
  overflow: hidden;
}

.grafico-linha svg {
  width: 100%;
  height: 100%;
}

.grafico-linha path {
  fill: none;
  stroke: #43c2ff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 6px rgba(67,194,255,.55));
}

.donut {
  width: 76px;
  aspect-ratio: 1;
  margin: 15px auto 0;
  border-radius: 50%;
  background: conic-gradient(#36c6ff 0 69%, #e2ad48 69% 81%, rgba(255,255,255,.09) 81%);
  display: grid;
  place-items: center;
  box-shadow: 0 0 22px rgba(36,184,255,.13);
}

.donut::after {
  content: "DEMO";
  width: 55px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #071a30;
  color: #dceeff;
  font-size: .6rem;
  font-weight: 700;
}

.barras {
  display: flex;
  align-items: end;
  gap: 5px;
  height: 65px;
  margin-top: 12px;
}

.barras span {
  flex: 1;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(to top, #14649b, #46c6ff);
}

.barras span:last-child {
  background: linear-gradient(to top, #a16a17, #efc766);
}

.fluxo-card {
  margin-top: 11px;
  padding: 16px;
}

.fluxo {
  display: grid;
  grid-template-columns: repeat(7, auto);
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: 14px;
}

.fluxo-etapa {
  text-align: center;
}

.fluxo-icone {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin: auto;
  border: 1px solid rgba(84, 192, 255, .35);
  border-radius: 50%;
  background: rgba(31, 129, 187, .12);
  color: #d8f4ff;
  font-size: 1.2rem;
  box-shadow: inset 0 0 18px rgba(36,184,255,.06);
}

.fluxo-etapa small {
  display: block;
  margin-top: 6px;
  color: var(--texto-suave);
  font-size: .58rem;
}

.fluxo-seta {
  color: var(--dourado);
}

.assistente-card {
  display: grid;
  grid-template-columns: 1fr 110px;
  align-items: center;
  gap: 14px;
  margin-top: 11px;
  padding: 16px;
}

.wave {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: 42px;
}

.wave i {
  width: 3px;
  border-radius: 999px;
  background: #36c6ff;
  animation: wave 1.2s ease-in-out infinite;
}

.wave i:nth-child(2n) { animation-delay: .15s; }
.wave i:nth-child(3n) { animation-delay: .3s; }

@keyframes wave {
  0%, 100% { height: 8px; opacity: .35; }
  50% { height: 35px; opacity: 1; }
}

/* Cards */
.secao-cards {
  position: relative;
}

.cabecalho-secao-central {
  margin-bottom: 34px;
  text-align: center;
}

.cabecalho-secao-central .titulo-secao {
  font-size: clamp(1.8rem, 3.4vw, 2.7rem);
}

.linha-decorativa {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 760px;
  margin: 0 auto 26px;
}

.linha-decorativa::before,
.linha-decorativa::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(226,173,72,.68));
}

.linha-decorativa::after {
  background: linear-gradient(90deg, rgba(226,173,72,.68), transparent);
}

.linha-decorativa span {
  color: #d7dde5;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.grade-solucoes {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.card-tech {
  position: relative;
  min-height: 198px;
  padding: 24px 16px 20px;
  overflow: hidden;
  border: 1px solid var(--borda);
  border-radius: 14px;
  background: linear-gradient(160deg, rgba(8, 32, 58, .83), rgba(4, 17, 34, .92));
  text-align: center;
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.card-tech::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  background: radial-gradient(circle at 50% 0%, rgba(36,184,255,.13), transparent 42%);
  transition: opacity .28s ease;
}

.card-tech:hover {
  transform: translateY(-6px);
  border-color: rgba(226,173,72,.42);
  box-shadow: 0 18px 45px rgba(0,0,0,.24);
}

.card-tech:hover::before {
  opacity: 1;
}

.icone-tech {
  position: relative;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  margin: 0 auto 17px;
  border: 1px solid rgba(226,173,72,.45);
  border-radius: 17px;
  background: radial-gradient(circle, rgba(226,173,72,.10), rgba(12,48,82,.15));
  color: var(--dourado-claro);
  font-size: 2rem;
}

.card-tech h3 {
  position: relative;
  margin: 0;
  font-family: var(--fonte-titulo);
  font-size: 1rem;
  line-height: 1.25;
}

.card-tech p {
  position: relative;
  margin: 10px 0 0;
  color: var(--texto-suave);
  font-size: .8rem;
  line-height: 1.42;
}

.grade-segmentos {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
}

.segmento {
  min-height: 110px;
  padding: 15px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(150, 175, 201, .18);
  border-radius: 12px;
  background: rgba(7, 28, 51, .64);
  text-align: center;
  transition: border-color .25s ease, transform .25s ease;
}

.segmento:hover {
  transform: translateY(-3px);
  border-color: var(--borda-dourada);
}

.segmento ion-icon {
  color: var(--dourado-claro);
  font-size: 1.8rem;
}

.segmento span {
  font-size: .78rem;
  line-height: 1.2;
}

/* CTA */
.cta-box {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 30px;
  border: 1px solid var(--borda-dourada);
  border-radius: 16px;
  background: linear-gradient(120deg, rgba(11,37,63,.89), rgba(4,18,35,.92));
}

.cta-box::before {
  content: "";
  position: absolute;
  right: -40px;
  top: -70px;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36,184,255,.10), transparent 66%);
}

.cta-icone {
  color: var(--dourado-claro);
  font-size: 3.2rem;
}

.cta-box h2 {
  margin: 0 0 4px;
  font-family: var(--fonte-titulo);
  font-size: clamp(1.45rem, 2.5vw, 2.1rem);
}

.cta-box p {
  margin: 0;
  color: var(--texto);
}

/* Footer */
.rodape {
  margin-top: 30px;
  border-top: 1px solid rgba(102, 151, 193, .15);
  background: rgba(2, 10, 22, .90);
}

.rodape-grid {
  display: grid;
  grid-template-columns: 1.15fr .8fr 1fr 1fr;
  gap: 38px;
  padding: 58px 0 38px;
}

.marca-rodape {
  width: 260px;
  height: 118px;
  overflow: hidden;
}

.marca-rodape img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 60%;
}

.rodape h4 {
  margin: 0 0 16px;
  color: #dfe7f1;
  font-size: .78rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.rodape-lista {
  display: grid;
  gap: 9px;
  color: #aab6c6;
  font-size: .86rem;
}

.rodape-lista a:hover {
  color: var(--dourado-claro);
}

.rodape-contacto-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.rodape-contacto-item ion-icon {
  color: var(--dourado);
  font-size: 1rem;
  margin-top: 2px;
}

.rodape-final {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0 24px;
  border-top: 1px solid rgba(144, 163, 186, .12);
  color: #76869a;
  font-size: .76rem;
}

/* Páginas internas */
.hero-interno {
  position: relative;
  overflow: hidden;
  padding: 78px 0 54px;
}

.hero-interno-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 46px;
}

.hero-interno h1 {
  margin: 0 0 20px;
  font-family: var(--fonte-titulo);
  font-size: clamp(2.8rem, 5.2vw, 4.7rem);
  line-height: 1.02;
  letter-spacing: -0.055em;
}

.hero-interno p {
  margin: 0;
  color: var(--texto);
  font-size: 1.05rem;
}

/* Sobre mim */
.perfil-card {
  position: relative;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 28px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(62, 180, 245, .35);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(11, 38, 67, .83), rgba(4, 18, 34, .95));
  box-shadow: var(--sombra);
}

.avatar-executivo {
  position: relative;
  min-height: 300px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(110, 160, 206, .24);
  border-radius: 16px;
  background:
    radial-gradient(circle at 50% 30%, rgba(69, 171, 233, .19), transparent 30%),
    linear-gradient(160deg, #102d4f, #07182c);
}

.avatar-executivo img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  object-position: center center;
}

.avatar-executivo ion-icon {
  color: rgba(207, 225, 240, .56);
  font-size: 9rem;
}

.avatar-executivo::after {
  content: none;
}

.perfil-card h2 {
  margin: 0 0 4px;
  font-family: var(--fonte-titulo);
  font-size: 2rem;
}

.perfil-cargo {
  margin-bottom: 16px;
  color: var(--dourado);
  font-weight: 700;
}

.perfil-card p {
  margin: 0 0 13px;
  color: var(--texto);
}

.faixa-numeros {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--borda);
  border-radius: 16px;
  background: var(--borda);
}

.numero-item {
  min-height: 122px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: rgba(6, 24, 45, .96);
}

.numero-icone {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  border: 1px solid var(--borda-dourada);
  border-radius: 50%;
  color: var(--dourado-claro);
  font-size: 1.7rem;
}

.numero-item strong {
  display: block;
  color: var(--dourado-claro);
  font-size: 1.75rem;
}

.numero-item span {
  color: #d3dce7;
  font-size: .84rem;
}

.grade-sobre {
  display: grid;
  grid-template-columns: 1fr 310px;
  gap: 24px;
}

.painel {
  padding: 28px;
  border: 1px solid rgba(100, 161, 206, .28);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(8, 31, 56, .81), rgba(4, 18, 34, .9));
}

.painel h2,
.painel h3 {
  margin: 0 0 22px;
  font-family: var(--fonte-titulo);
}

.titulo-painel {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--dourado-claro);
}

.titulo-painel ion-icon {
  font-size: 1.5rem;
}

.competencias-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 26px;
}

.competencia {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(142, 165, 192, .12);
  color: #d3dae3;
  font-size: .87rem;
}

.competencia ion-icon {
  flex: 0 0 auto;
  color: #86d6ff;
  font-size: 1.5rem;
}

.talentos-lista {
  display: grid;
  gap: 10px;
}

.talento {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid rgba(226,173,72,.37);
  border-radius: 10px;
  background: rgba(226,173,72,.035);
}

.talento ion-icon {
  color: var(--dourado-claro);
}

/* Propósito */
.proposito-visual {
  position: relative;
  min-height: 390px;
  display: grid;
  place-items: center;
}

.mao-digital {
  position: relative;
  width: min(330px, 82%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(37, 185, 255, .38);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(36,184,255,.12) 0 28%, transparent 29%),
    repeating-radial-gradient(circle, rgba(36,184,255,.12) 0 1px, transparent 1px 25px);
  box-shadow: 0 0 70px rgba(36,184,255,.08);
}

.mao-digital::before,
.mao-digital::after {
  content: "";
  position: absolute;
  inset: -30px;
  border: 1px dashed rgba(36,184,255,.17);
  border-radius: 50%;
  animation: spin 18s linear infinite;
}

.mao-digital::after {
  inset: 34px;
  border-color: rgba(226,173,72,.2);
  animation-direction: reverse;
  animation-duration: 12s;
}

.mao-digital ion-icon {
  color: #75d8ff;
  font-size: 7rem;
  filter: drop-shadow(0 0 20px rgba(63,195,255,.3));
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.grade-mvv {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.card-mvv {
  padding: 25px;
  border: 1px solid rgba(85, 152, 201, .28);
  border-radius: 15px;
  background: rgba(7, 29, 53, .72);
}

.card-mvv .mvv-topo {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 13px;
  color: var(--dourado-claro);
}

.card-mvv ion-icon {
  font-size: 2rem;
}

.card-mvv h3 {
  margin: 0;
  font-family: var(--fonte-titulo);
  font-size: 1.4rem;
}

.card-mvv p,
.card-mvv li {
  color: var(--texto);
  font-size: .9rem;
}

.card-mvv ul {
  columns: 2;
  padding-left: 20px;
  margin-bottom: 0;
}

.grade-processo {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--borda);
  border-radius: 16px;
  background: var(--borda);
}

.etapa-processo {
  position: relative;
  min-height: 190px;
  padding: 26px;
  background: rgba(6, 24, 44, .96);
}

.etapa-numero {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  margin-bottom: 16px;
  border: 1px solid rgba(76, 196, 255, .48);
  border-radius: 50%;
  color: #8bdcff;
  font-family: var(--fonte-titulo);
  font-weight: 700;
}

.etapa-processo h3 {
  margin: 0 0 8px;
  color: var(--dourado-claro);
  font-family: var(--fonte-titulo);
}

.etapa-processo p {
  margin: 0;
  color: var(--texto);
  font-size: .88rem;
}

/* Contato */
.contato-hero-visual {
  min-height: 280px;
  display: grid;
  place-items: center;
}

.orbita-contato {
  position: relative;
  width: 245px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36,184,255,.34);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36,184,255,.13), transparent 56%);
}

.orbita-contato::before,
.orbita-contato::after {
  content: "";
  position: absolute;
  border: 1px dashed rgba(36,184,255,.25);
  border-radius: 50%;
  animation: spin 20s linear infinite;
}

.orbita-contato::before { inset: -28px; }
.orbita-contato::after { inset: 30px; animation-direction: reverse; }

.orbita-contato ion-icon {
  color: #a9e4ff;
  font-size: 5.6rem;
}

.contato-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 26px;
  align-items: start;
}

.formulario-card {
  padding: 28px;
  border: 1px solid rgba(95, 161, 207, .33);
  border-radius: 17px;
  background: linear-gradient(145deg, rgba(8, 31, 56, .85), rgba(4, 17, 32, .94));
  box-shadow: var(--sombra);
}

.formulario-card h2 {
  margin: 0 0 24px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--fonte-titulo);
  font-size: 1.7rem;
}

.formulario-card h2 ion-icon {
  color: var(--dourado);
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.campo {
  position: relative;
}

.campo.full {
  grid-column: 1 / -1;
}

.campo ion-icon {
  position: absolute;
  left: 14px;
  top: 15px;
  z-index: 2;
  color: #8fa4ba;
  pointer-events: none;
}

.campo input,
.campo select,
.campo textarea {
  width: 100%;
  border: 1px solid rgba(115, 154, 192, .24);
  border-radius: 9px;
  outline: none;
  background: rgba(4, 18, 34, .76);
  color: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.campo input,
.campo select {
  height: 52px;
  padding: 0 14px 0 43px;
}

.campo textarea {
  min-height: 145px;
  padding: 15px;
  resize: vertical;
}

.campo textarea::placeholder,
.campo input::placeholder {
  color: #8493a4;
}

.campo input:focus,
.campo select:focus,
.campo textarea:focus {
  border-color: rgba(226,173,72,.56);
  box-shadow: 0 0 0 3px rgba(226,173,72,.07);
}

.botao-form {
  width: 100%;
  margin-top: 15px;
}

.aviso-seguranca {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 13px;
  color: #8392a3;
  font-size: .75rem;
}

.aviso-seguranca ion-icon {
  color: var(--dourado);
}

.lista-contatos {
  display: grid;
  gap: 14px;
}

.contato-card {
  min-height: 120px;
  display: grid;
  grid-template-columns: 64px 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 19px;
  border: 1px solid rgba(95, 151, 197, .25);
  border-radius: 14px;
  background: rgba(7, 29, 52, .75);
  transition: transform .25s ease, border-color .25s ease;
}

.contato-card:hover {
  transform: translateX(4px);
  border-color: var(--borda-dourada);
}

.contato-card .contato-icone {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid var(--borda-dourada);
  border-radius: 50%;
  color: var(--dourado-claro);
  font-size: 1.9rem;
}

.contato-card h3 {
  margin: 0 0 3px;
  font-family: var(--fonte-titulo);
  font-size: 1rem;
}

.contato-card strong {
  display: block;
  color: var(--dourado-claro);
  font-size: 1.15rem;
}

.contato-card p {
  margin: 4px 0 0;
  color: var(--texto-suave);
  font-size: .8rem;
}

.contato-card > ion-icon {
  color: #8da0b4;
}

.grade-ajuda {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}

.grade-ajuda .card-tech {
  min-height: 180px;
}

.diferenciais-contato {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--borda);
  border-radius: 14px;
  background: var(--borda);
}

.diferencial {
  min-height: 145px;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  background: rgba(6, 25, 46, .97);
}

.diferencial ion-icon {
  flex: 0 0 auto;
  color: var(--dourado-claro);
  font-size: 2.2rem;
}

.diferencial h3 {
  margin: 0 0 4px;
  font-family: var(--fonte-titulo);
  font-size: 1rem;
}

.diferencial p {
  margin: 0;
  color: var(--texto-suave);
  font-size: .79rem;
}

/* Animações de entrada */
.revelar {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1);
}

.revelar.visivel {
  opacity: 1;
  transform: translateY(0);
}

.revelar-delay-1 { transition-delay: .08s; }
.revelar-delay-2 { transition-delay: .16s; }
.revelar-delay-3 { transition-delay: .24s; }

.glow-follow {
  position: fixed;
  width: 280px;
  height: 280px;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36,184,255,.06), transparent 68%);
  transform: translate(-50%, -50%);
}

/* Responsividade */
@media (max-width: 1100px) {
  .grade-solucoes,
  .grade-ajuda {
    grid-template-columns: repeat(3, 1fr);
  }

  .grade-segmentos {
    grid-template-columns: repeat(4, 1fr);
  }

  .menu-principal {
    gap: 20px;
  }

  .marca {
    width: 205px;
  }
}

@media (max-width: 900px) {
  .container-site {
    width: min(100% - 30px, 760px);
  }

  .cabecalho-interno {
    min-height: 74px;
  }

  .marca {
    width: 190px;
    height: 56px;
  }

  .botao-menu-mobile {
    display: grid;
    place-items: center;
  }

  .cabecalho .btn-dourado {
    display: none;
  }

  .menu-principal {
    position: fixed;
    top: 74px;
    left: 15px;
    right: 15px;
    display: grid;
    gap: 0;
    overflow: hidden;
    max-height: 0;
    margin: 0;
    border: 1px solid rgba(93, 150, 198, .18);
    border-radius: 0 0 14px 14px;
    background: rgba(2, 13, 28, .98);
    box-shadow: 0 20px 40px rgba(0,0,0,.28);
    opacity: 0;
    transition: max-height .35s ease, opacity .25s ease;
  }

  .menu-principal.aberto {
    max-height: 360px;
    opacity: 1;
  }

  .menu-principal a {
    padding: 17px 20px;
    border-bottom: 1px solid rgba(255,255,255,.05);
  }

  .menu-principal a::after {
    display: none;
  }

  .hero-principal {
    min-height: 0;
  }

  .hero-grid,
  .hero-interno-grid,
  .contato-grid {
    grid-template-columns: 1fr;
  }

  .hero-grid {
    padding-top: 56px;
  }

  .hero-conteudo h1,
  .hero-interno h1 {
    max-width: 760px;
  }

  .dashboard-wrap {
    width: min(100%, 670px);
    margin-inline: auto;
  }

  .dashboard {
    transform: none;
  }

  .grade-sobre {
    grid-template-columns: 1fr;
  }

  .competencias-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .perfil-card {
    grid-template-columns: 190px 1fr;
  }

  .faixa-numeros {
    grid-template-columns: repeat(2, 1fr);
  }

  .numero-item:nth-child(2) {
    border-right: none;
  }

  .cta-box {
    grid-template-columns: auto 1fr;
  }

  .cta-box .btn-dourado {
    grid-column: 1 / -1;
    width: 100%;
  }

  .rodape-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .container-site {
    width: calc(100% - 24px);
  }

  .hero-conteudo  {
    text-align: center;
  }

  .container-site {
    text-align: center;
  }

  .container-site h1 {
    font-size: 20px;
  }

  .section-pad {
    padding: 60px 0;
  }

  .section-tight {
    padding: 42px 0;
  }

  .hero-grid,
  .hero-interno-grid {
    gap: 30px;
  }

  .hero-conteudo h1,
  .hero-interno h1 {
    font-size: clamp(2.55rem, 13vw, 3.8rem);
  }

  .hero-conteudo p,
  .hero-interno p {
    font-size: .98rem;
  }

  .hero-acoes .btn-dourado,
  .hero-acoes .btn-outline {
    width: 100%;
  }

  .hero-tags {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .hero-tag {
    justify-content: center;
    text-align: center;
  }

  .kpi-grid {
    grid-template-columns: 1fr;
  }

  .kpi-card {
    min-height: 118px;
  }

  .donut {
    margin: 8px 0 0;
  }

  .fluxo {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }

  .fluxo-seta {
    display: none;
  }

  .assistente-card {
    grid-template-columns: 1fr;
  }

  .grade-solucoes,
  .grade-ajuda {
    grid-template-columns: repeat(2, 1fr);
  }

  .grade-segmentos {
    grid-template-columns: repeat(2, 1fr);
  }

  .card-tech {
    min-height: 178px;
  }

  .perfil-card {
    grid-template-columns: 1fr;
  }

  .avatar-executivo {
    min-height: 250px;
  }

  .faixa-numeros {
    grid-template-columns: 1fr;
  }

  .numero-item {
    min-height: 100px;
    justify-content: flex-start;
  }

  .competencias-grid {
    grid-template-columns: 1fr;
  }

  .grade-mvv,
  .grade-processo,
  .diferenciais-contato {
    grid-template-columns: 1fr;
  }

  .grade-mvv {
    gap: 12px;
  }

  .card-mvv ul {
    columns: 1;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .campo.full {
    grid-column: auto;
  }

  .contato-card {
    grid-template-columns: 52px 1fr auto;
    padding: 16px;
  }

  .contato-card .contato-icone {
    width: 50px;
    height: 50px;
  }

  .contato-card strong {
    font-size: 1rem;
  }

  .cta-box {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .cta-icone {
    font-size: 2.6rem;
  }

  .rodape-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .marca-rodape {
    width: 240px;
  }

  .rodape-final {
    flex-direction: column;
    gap: 8px;
  }
}

@media (max-width: 430px) {
  .marca {
    width: 168px;
    height: 52px;
  }

  .hero-tags {
    grid-template-columns: 1fr;
  }

  .grade-solucoes,
  .grade-ajuda {
    grid-template-columns: 1fr;
  }

  .linha-decorativa {
    gap: 9px;
  }

  .linha-decorativa span {
    font-size: .7rem;
    letter-spacing: .13em;
  }

  .formulario-card,
  .painel,
  .card-mvv {
    padding: 20px;
  }

  .contato-card {
    grid-template-columns: 48px 1fr;
  }

  .contato-card > ion-icon {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Identidade visual da marca em cabeçalho e rodapé */
.marca {
  display: flex;
  align-items: center;
  gap: 9px;
  width: auto;
  min-width: 230px;
  height: 64px;
  overflow: visible;
}

.marca img {
  width: 62px;
  height: 54px;
  flex: 0 0 62px;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
}

.marca-texto {
  display: inline-flex;
  align-items: baseline;
  font-family: var(--fonte-titulo);
  font-size: 1.82rem;
  line-height: 1;
  letter-spacing: -0.055em;
  white-space: nowrap;
}

.marca-texto b {
  color: #e9edf2;
  font-weight: 600;
}

.marca-texto strong {
  color: var(--dourado);
  font-weight: 700;
}

.marca-rodape {
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  overflow: visible;
}

.marca-rodape img {
  width: 78px;
  height: 62px;
  flex: 0 0 78px;
  object-fit: cover;
  border-radius: 9px;
}

.marca-rodape .marca-texto {
  font-size: 1.95rem;
}

.slogan-rodape {
  margin: 10px 0 0;
  color: #8d9aad;
  font-size: .62rem;
  letter-spacing: .12em;
}

@media (max-width: 1100px) {
  .marca { min-width: 200px; }
  .marca-texto { font-size: 1.55rem; }
}

@media (max-width: 900px) {
  .marca { width: auto; min-width: 0; height: 58px; }
  .marca img { width: 54px; height: 48px; flex-basis: 54px; }
  .marca-texto { font-size: 1.48rem; }
}

@media (max-width: 430px) {
  .marca img { width: 48px; height: 43px; flex-basis: 48px; }
  .marca-texto { font-size: 1.28rem; }
}


/* ==========================================================
   REFINAMENTO TIPOGRÁFICO E RESPONSIVO
   Fontes mais leves + ajustes mobile sem alterar a identidade
   ========================================================== */

:root {
  --fonte-titulo: "Exo 2", "Segoe UI", sans-serif;
  --fonte-corpo: "Manrope", "Segoe UI", sans-serif;
}

body {
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
.titulo-secao,
.marca-texto,
.dashboard-topo strong,
.kpi-card strong,
.etapa-numero {
  font-weight: 500;
}

.hero-conteudo h1,
.hero-interno h1 {
  font-weight: 500;
  letter-spacing: -0.035em;
}

.menu-principal a,
.hero-tag,
.card-tech p,
.segmento span,
.rodape-lista,
.hero-conteudo p,
.hero-interno p,
.perfil-card p,
.card-mvv p,
.card-mvv li,
.etapa-processo p,
.contato-card p,
.diferencial p,
.campo input,
.campo select,
.campo textarea {
  font-weight: 300;
}

.eyebrow,
.btn-dourado,
.btn-outline,
.btn-ghost,
.linha-decorativa span,
.sinal-ao-vivo,
.perfil-cargo,
.numero-item strong,
.marca-texto strong {
  font-weight: 500;
}

.marca-texto b {
  font-weight: 400;
}

/* Evita que textos longos forcem overflow em qualquer viewport */
.hero-conteudo,
.hero-interno-grid > *,
.dashboard-wrap,
.perfil-card > *,
.contato-grid > *,
.grade-sobre > *,
.rodape-grid > * {
  min-width: 0;
}

.contato-card strong,
.rodape-contacto-item span,
.rodape-lista a,
.rodape-lista span {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 900px) {
  body.menu-mobile-aberto {
    overflow: hidden;
  }

  .cabecalho-interno {
    min-height: 70px;
    gap: 14px;
  }

  .menu-principal {
    top: 70px;
    left: 12px;
    right: 12px;
    border-radius: 14px;
  }

  .menu-principal a {
    padding: 16px 18px;
    font-size: .92rem;
  }

  .hero-grid,
  .hero-interno-grid {
    gap: 34px;
  }

  .hero-grid {
    padding: 52px 0 48px;
  }

  .hero-interno {
    padding: 58px 0 44px;
  }

  .dashboard-wrap,
  .perfil-card,
  .proposito-visual,
  .contato-hero-visual {
    max-width: 680px;
    width: 100%;
    margin-inline: auto;
  }

  .circuito {
    width: 78%;
    opacity: .22;
  }

  .rodape-grid {
    gap: 30px;
  }
}

@media (max-width: 640px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    min-width: 0;
  }

  .container-site {
    width: calc(100% - 32px);
  }

  .section-pad {
    padding: 52px 0;
  }

  .section-tight {
    padding: 38px 0;
  }

  .cabecalho-interno {
    min-height: 66px;
  }

  .menu-principal {
    top: 66px;
  }

  .marca {
    gap: 7px;
    height: 52px;
  }

  .marca img {
    width: 48px;
    height: 42px;
    flex-basis: 48px;
  }

  .marca-texto {
    font-size: 1.32rem;
    letter-spacing: -0.035em;
  }

  .botao-menu-mobile {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    font-size: 1.45rem;
  }

  .hero-grid {
    padding: 44px 0 40px;
  }

  .hero-interno {
    padding: 48px 0 34px;
  }

  .hero-conteudo h1,
  .hero-interno h1 {
    font-size: clamp(2.15rem, 10vw, 3rem);
    line-height: 1.02;
    letter-spacing: -0.028em;
    margin-bottom: 18px;
  }

  .hero-conteudo p,
  .hero-interno p,
  .subtitulo-secao {
    font-size: .94rem;
    line-height: 1.65;
  }

  .eyebrow {
    margin-bottom: 14px;
    font-size: .68rem;
    letter-spacing: .15em;
  }

  .hero-acoes {
    margin-top: 24px;
  }

  .hero-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 24px;
  }

  .hero-tag {
    min-width: 0;
    min-height: 42px;
    padding: 7px 9px;
    justify-content: flex-start;
    text-align: left;
    font-size: .72rem;
    line-height: 1.25;
  }

  .hero-tag ion-icon {
    flex: 0 0 auto;
    font-size: 1rem;
  }

  .dashboard {
    padding: 12px;
    border-radius: 17px;
  }

  .dashboard::before {
    inset: -8px;
    border-radius: 21px;
  }

  .dashboard-topo {
    align-items: flex-start;
    gap: 10px;
  }

  .dashboard-topo strong {
    font-size: .84rem;
  }

  .sinal-ao-vivo {
    font-size: .58rem;
    letter-spacing: .08em;
    white-space: nowrap;
  }

  .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .kpi-card {
    min-height: 132px;
    padding: 11px;
  }

  .kpi-card:nth-child(3) {
    grid-column: 1 / -1;
    min-height: 112px;
  }

  .kpi-card small {
    font-size: .58rem;
    line-height: 1.35;
  }

  .kpi-card strong {
    font-size: 1.28rem;
  }

  .grafico-linha {
    height: 44px;
    margin-top: 10px;
  }

  .donut {
    width: 62px;
    margin-top: 10px;
  }

  .donut::after {
    width: 45px;
    font-size: .5rem;
  }

  .barras {
    height: 42px;
    margin-top: 8px;
  }

  .fluxo-card,
  .assistente-card {
    padding: 12px;
  }

  .fluxo {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-content: initial;
    gap: 7px;
  }

  .fluxo-icone {
    width: 42px;
    height: 42px;
    font-size: 1rem;
  }

  .fluxo-etapa small {
    font-size: .52rem;
  }

  .assistente-card {
    grid-template-columns: 1fr 80px;
    gap: 8px;
  }

  .wave {
    height: 34px;
  }

  .titulo-secao,
  .cabecalho-secao-central .titulo-secao {
    font-size: clamp(1.75rem, 8vw, 2.25rem);
    letter-spacing: -0.025em;
  }

  .linha-decorativa {
    gap: 10px;
    margin-bottom: 22px;
  }

  .linha-decorativa span {
    flex: 0 1 auto;
    max-width: 78%;
    text-align: center;
    font-size: .66rem;
    line-height: 1.35;
    letter-spacing: .12em;
  }

  .grade-solucoes,
  .grade-ajuda {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .card-tech,
  .grade-ajuda .card-tech {
    min-height: 0;
    padding: 20px 18px;
  }

  .icone-tech {
    width: 56px;
    height: 56px;
    margin-bottom: 13px;
    border-radius: 14px;
    font-size: 1.72rem;
  }

  .card-tech h3 {
    font-size: 1.02rem;
  }

  .card-tech p {
    margin-top: 7px;
    font-size: .79rem;
  }

  .grade-segmentos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .segmento {
    min-height: 96px;
    padding: 13px 8px;
  }

  .segmento ion-icon {
    font-size: 1.55rem;
  }

  .segmento span {
    font-size: .72rem;
  }

  .cta-box {
    gap: 14px;
    padding: 22px 18px;
  }

  .cta-icone {
    font-size: 2.35rem;
  }

  .cta-box h2 {
    font-size: 1.45rem;
    line-height: 1.2;
  }

  .cta-box p {
    font-size: .86rem;
  }

  .perfil-card {
    gap: 18px;
    padding: 14px;
  }

  .avatar-executivo {
    min-height: 220px;
  }

  .avatar-executivo ion-icon {
    font-size: 7rem;
  }

  .perfil-card h2 {
    font-size: 1.7rem;
  }

  .perfil-card p {
    font-size: .9rem;
  }

  .faixa-numeros {
    gap: 1px;
  }

  .numero-item {
    min-height: 92px;
    padding: 15px;
  }

  .numero-icone {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
    font-size: 1.4rem;
  }

  .numero-item strong {
    font-size: 1.45rem;
  }

  .painel,
  .card-mvv,
  .formulario-card {
    padding: 18px;
  }

  .painel h2,
  .painel h3 {
    margin-bottom: 18px;
  }

  .competencia {
    min-height: 66px;
    font-size: .82rem;
  }

  .talento {
    min-height: 42px;
    font-size: .88rem;
  }

  .proposito-visual {
    min-height: 260px;
  }

  .mao-digital {
    width: min(235px, 74vw);
  }

  .mao-digital ion-icon {
    font-size: 5rem;
  }

  .card-mvv h3 {
    font-size: 1.25rem;
  }

  .card-mvv p,
  .card-mvv li {
    font-size: .84rem;
  }

  .etapa-processo {
    min-height: 0;
    padding: 20px 18px;
  }

  .contato-hero-visual {
    min-height: 220px;
  }

  .orbita-contato {
    width: min(190px, 58vw);
  }

  .orbita-contato ion-icon {
    font-size: 4.4rem;
  }

  .formulario-card h2 {
    font-size: 1.45rem;
  }

  .form-grid {
    gap: 10px;
  }

  .campo input,
  .campo select {
    height: 50px;
  }

  .campo textarea {
    min-height: 128px;
  }

  .contato-card {
    min-height: 0;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 12px;
    padding: 15px;
  }

  .contato-card .contato-icone {
    width: 48px;
    height: 48px;
    font-size: 1.55rem;
  }

  .contato-card > ion-icon {
    display: none;
  }

  .contato-card strong {
    font-size: .96rem;
    line-height: 1.35;
  }

  .contato-card p {
    font-size: .75rem;
  }

  .diferencial {
    min-height: 0;
    padding: 19px 17px;
  }

  .rodape {
    margin-top: 16px;
  }

  .rodape-grid {
    padding: 44px 0 30px;
    gap: 25px;
  }

  .marca-rodape {
    width: 100%;
    max-width: 270px;
  }

  .marca-rodape img {
    width: 62px;
    height: 52px;
    flex-basis: 62px;
  }

  .marca-rodape .marca-texto {
    font-size: 1.55rem;
  }

  .rodape-final {
    align-items: flex-start;
    font-size: .7rem;
    line-height: 1.5;
  }
}

@media (max-width: 430px) {
  .container-site {
    width: calc(100% - 28px);
  }

  .marca img {
    width: 44px;
    height: 39px;
    flex-basis: 44px;
  }

  .marca-texto {
    font-size: 1.18rem;
  }

  .hero-conteudo h1,
  .hero-interno h1 {
    font-size: clamp(2rem, 10.2vw, 2.55rem);
  }

  .hero-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-tag {
    min-height: 40px;
    font-size: .68rem;
  }

  .hero-acoes .btn-dourado,
  .hero-acoes .btn-outline,
  .btn-dourado,
  .btn-outline,
  .btn-ghost {
    min-height: 46px;
    padding-inline: 16px;
    font-size: .88rem;
  }

  .dashboard-topo {
    flex-wrap: wrap;
  }

  .assistente-card {
    grid-template-columns: 1fr;
  }

  .wave {
    justify-content: flex-start;
    max-width: 160px;
  }

  .grade-segmentos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .segmento {
    min-height: 90px;
  }

  .linha-decorativa span {
    max-width: 82%;
  }

  .formulario-card,
  .painel,
  .card-mvv {
    padding: 16px;
  }

  .campo input,
  .campo select,
  .campo textarea {
    font-size: .88rem;
  }

  .rodape-grid {
    padding-top: 38px;
  }
}

@media (max-width: 360px) {
  .container-site {
    width: calc(100% - 22px);
  }

  .marca-texto {
    font-size: 1.08rem;
  }

  .marca img {
    width: 40px;
    height: 36px;
    flex-basis: 40px;
  }

  .hero-tags,
  .grade-segmentos {
    grid-template-columns: 1fr;
  }

  .kpi-grid {
    grid-template-columns: 1fr;
  }

  .kpi-card:nth-child(3) {
    grid-column: auto;
  }

  .fluxo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 14px;
  }

  .linha-decorativa::before,
  .linha-decorativa::after {
    display: none;
  }

  .linha-decorativa span {
    max-width: 100%;
    margin-inline: auto;
  }
}


/* ===== Ajustes finais CapitalNex ===== */
.cabecalho .marca {
  display: block;
  width: 280px;
  min-width: 280px;
  height: 70px;
  overflow: visible;
}

.cabecalho .marca img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  transform: none;
}

.cabecalho .marca-texto {
  display: none;
}

.hero-principal .hero-conteudo h1.hero-titulo-ajustado {
  max-width: 680px;
  font-size: clamp(2.8rem, 4.25vw, 4.25rem);
  line-height: 1.03;
}

.hero-principal .hero-conteudo p {
  max-width: 610px;
}

.painel-lateral-sobre {
  display: grid;
  gap: 22px;
}

.painel-formacao .titulo-painel {
  margin-bottom: 18px;
}

.lista-formacao {
  display: grid;
  gap: 11px;
  padding-left: 20px;
  margin: 0;
}

.lista-formacao li {
  color: var(--texto);
  font-size: .95rem;
}

.lista-formacao strong {
  color: #ffffff;
  font-weight: 600;
}

.numero-item {
  gap: 16px;
}

.numero-icone {
  width: 90px;
  height: 90px;
  flex: 0 0 90px;
  border-radius: 22px;
  overflow: hidden;
  padding: 10px;
  background: rgba(8, 29, 53, .94);
}

.numero-icone img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.numero-item strong {
  margin-bottom: 2px;
}

.proposito-visual-imagem {
  min-height: auto;
}

.proposito-visual-imagem img {
  width: 100%;
  max-width: 820px;
  border-radius: 26px;
  border: 1px solid rgba(55, 178, 255, .24);
  box-shadow: 0 22px 65px rgba(0,0,0,.36);
}

.secao-valores-proposito {
  padding-top: 20px;
}

.grade-valores-proposito {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

.valor-card {
  min-height: 420px;
  padding: 34px 30px 28px;
  border: 1px solid rgba(122, 156, 197, .34);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(10, 39, 70, .9), rgba(5, 19, 36, .96));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  text-align: center;
}

.valor-icone {
  width: 120px;
  height: 120px;
  margin: 0 auto 28px;
  display: grid;
  place-items: center;
  border: 1.5px solid rgba(226, 173, 72, .85);
  border-radius: 28px;
  color: var(--dourado-claro);
  font-size: 3.1rem;
  background: rgba(10, 35, 62, .5);
}

.valor-card h3 {
  min-height: 106px;
  margin: 0;
  color: #ffffff;
  font-family: var(--fonte-titulo);
  font-size: 1.18rem;
  font-weight: 600;
  line-height: 1.2;
}

.valor-card .linha-card {
  width: 110px;
  height: 4px;
  margin: 22px auto 26px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e2ad48, #f1ca73);
}

.valor-card p {
  margin: 0;
  color: #d4deea;
  font-size: 1rem;
  line-height: 1.75;
}

.hero-contato-desktop {
  display: none;
}

.hero-contato-frame {
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(70, 170, 235, .24);
  box-shadow: 0 28px 70px rgba(0,0,0,.36);
}

.hero-contato-frame img {
  width: 100%;
  display: block;
}

@media (min-width: 992px) {
  .hero-contato-desktop {
    display: block;
    padding: 22px 0 12px;
  }

  .hero-contato-mobile {
    display: none;
  }

  .proposito-visual-imagem {
    width: 130%;
  }

  .hero-principal .dashboard-wrap {
        position: relative;
        top: -100px;
    }
}

@media (max-width: 1199px) {
  .grade-valores-proposito {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .valor-card {
    min-height: 360px;
  }
}

@media (max-width: 991px) {
  .cabecalho .marca {
    width: 232px;
    min-width: 232px;
    height: 58px;
  }

  .hero-principal .hero-conteudo h1.hero-titulo-ajustado {
    max-width: none;
    font-size: clamp(2.4rem, 8vw, 3.6rem);
  }

  .grade-valores-proposito {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .valor-card {
    min-height: 0;
    padding: 26px 20px 24px;
  }

  .valor-card h3 {
    min-height: 0;
    margin-bottom: 0;
  }
}

@media (max-width: 640px) {
  .cabecalho .marca {
    width: 190px;
    min-width: 190px;
    height: 50px;
  }

  .numero-icone {
    width: 76px;
    height: 76px;
    flex-basis: 76px;
    border-radius: 18px;
  }

  .lista-formacao li {
    font-size: .88rem;
  }

  .grade-valores-proposito {
    grid-template-columns: 1fr;
  }

  .valor-icone {
    width: 92px;
    height: 92px;
    margin-bottom: 22px;
    border-radius: 22px;
    font-size: 2.2rem;
  }

  .valor-card h3 {
    font-size: 1.08rem;
  }

  .valor-card p {
    font-size: .9rem;
    line-height: 1.65;
  }
}

/* ===== Refinos finais solicitados ===== */
.cabecalho .marca {
  display: flex;
  align-items: center;
  gap: 10px;
  width: auto;
  min-width: 232px;
  height: 64px;
  overflow: visible;
}

.cabecalho .marca img {
  width: 66px;
  height: 54px;
  flex: 0 0 66px;
  object-fit: contain;
  object-position: center;
  transform: none;
  border-radius: 0;
}

.cabecalho .marca-texto {
  display: inline-flex;
  align-items: baseline;
  font-size: 1.78rem;
}

.marca-rodape img {
  object-fit: contain;
  object-position: center;
  border-radius: 0;
}

@media (min-width: 992px) {
  .hero-principal .hero-conteudo h1.hero-titulo-ajustado {
    max-width: 610px;
    font-size: clamp(2.55rem, 3.65vw, 3.75rem);
    line-height: 1.04;
  }
}

.numero-icone {
  width: 106px;
  height: 106px;
  flex: 0 0 106px;
  padding: 4px;
  border: 0;
  border-radius: 20px;
  background: transparent;
}

.numero-icone img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.2));
}

.hero-contato-layout {
  min-height: 650px;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 28px;
  padding: 54px 0 46px;
}

.hero-contato-desktop {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(72, 143, 197, .16);
  background:
    radial-gradient(circle at 76% 48%, rgba(16, 122, 211, .15), transparent 34%),
    linear-gradient(180deg, #020b18 0%, #031328 100%);
}

.hero-contato-conteudo {
  position: relative;
  z-index: 2;
  max-width: 610px;
}

.hero-contato-conteudo .eyebrow {
  margin-bottom: 22px;
}

.hero-contato-conteudo h1 {
  margin: 0;
  font-family: var(--fonte-titulo);
  font-size: clamp(3.5rem, 5.4vw, 5.7rem);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.045em;
}

.linha-contato {
  display: block;
  width: 310px;
  max-width: 70%;
  height: 1px;
  margin: 28px 0 20px;
  background: linear-gradient(90deg, var(--dourado), rgba(226,173,72,.08));
}

.hero-contato-conteudo > p {
  max-width: 560px;
  margin: 0 0 28px;
  color: #d6dde7;
  font-size: 1.18rem;
  line-height: 1.65;
}

.beneficios-contato-hero {
  display: grid;
  gap: 18px;
  margin: 0 0 30px;
}

.beneficio-contato-hero {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  gap: 16px;
}

.beneficio-icone {
  width: 66px;
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  border: 1px solid rgba(226,173,72,.52);
  border-radius: 50%;
  color: var(--dourado-claro);
  background: rgba(226,173,72,.035);
  overflow: hidden;
}

.beneficio-icone ion-icon {
  display: block;
  width: 29px;
  height: 29px;
  line-height: 1;
  flex-shrink: 0;
}

.beneficio-contato-hero strong,
.beneficio-contato-hero div > span {
  display: block;
}

.beneficio-contato-hero strong {
  margin-bottom: 3px;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 500;
}

.beneficio-contato-hero div > span {
  color: #c8d0dc;
  font-size: .96rem;
  line-height: 1.45;
}

.botao-whatsapp-contato {
  min-width: 305px;
  min-height: 68px;
  border-radius: 14px;
  font-size: 1.15rem;
}

.botao-whatsapp-contato ion-icon {
  font-size: 1.55rem;
}

.hero-contato-imagem {
  position: relative;
  min-width: 0;
}

.hero-contato-imagem::before {
  content: "";
  position: absolute;
  inset: 8% 5% 6% 6%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36,184,255,.16), transparent 66%);
  filter: blur(18px);
}

.hero-contato-imagem img {
  width: 100%;
  max-height: 620px;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 991px) {
  .cabecalho .marca {
    min-width: 0;
    height: 58px;
  }
  .cabecalho .marca img {
    width: 56px;
    height: 48px;
    flex-basis: 56px;
  }
  .cabecalho .marca-texto {
    font-size: 1.48rem;
  }
}

@media (max-width: 640px) {
  .cabecalho .marca {
    height: 52px;
  }
  .cabecalho .marca img {
    width: 48px;
    height: 42px;
    flex-basis: 48px;
  }
  .cabecalho .marca-texto {
    font-size: 1.28rem;
  }
  .numero-icone {
    width: 84px;
    height: 84px;
    flex-basis: 84px;
  }
}

.valores-referencia-desktop {
  width: min(1823px, 100%);
  margin-inline: auto;
}

.valores-referencia-desktop img {
  width: 100%;
  display: block;
}

@media (min-width: 992px) {
  .valores-cards-responsivos {
    display: none;
  }
}

@media (max-width: 991px) {
  .valores-referencia-desktop {
    display: none;
  }
}

@media (max-width: 640px) {
  .hero-principal .hero-conteudo h1.hero-titulo-ajustado {
    font-size: clamp(2.15rem, 10vw, 3rem);
  }
}

/* Foto profissional — Sobre mim */
@media (max-width: 900px) {
  .avatar-executivo img { min-height: 250px; }
}
@media (max-width: 640px) {
  .avatar-executivo img { min-height: 220px; }
}

/* Ajuste solicitado — Nosso Propósito / valores
   Mantém o conteúdo existente e dá mais respiro visual aos seis itens. */
.secao-valores-proposito {
  padding-top: 42px;
  padding-bottom: 56px;
}

/* A referência em imagem serviu como guia visual; os cards reais permitem
   controlar tamanho, espaçamento e responsividade sem deformações. */
.secao-valores-proposito .valores-referencia-desktop {
  display: none;
}

.secao-valores-proposito .valores-cards-responsivos {
  display: block;
  width: min(1560px, calc(100% - 64px));
  max-width: none;
  margin-inline: auto;
}

.secao-valores-proposito .grade-valores-proposito {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(22px, 1.8vw, 34px);
}

.secao-valores-proposito .valor-card {
  min-height: 334px;
  padding: 24px 18px 22px;
  border-radius: 18px;
}

.secao-valores-proposito .valor-icone {
  width: 82px;
  height: 82px;
  margin: 0 auto 20px;
  border-radius: 20px;
  font-size: 2.25rem;
}

.secao-valores-proposito .valor-card h3 {
  min-height: 58px;
  font-size: 1.02rem;
  line-height: 1.22;
}

.secao-valores-proposito .valor-card .linha-card {
  width: 64px;
  height: 3px;
  margin: 17px auto 19px;
}

.secao-valores-proposito .valor-card p {
  font-size: .88rem;
  line-height: 1.58;
}

@media (max-width: 1199px) {
  .secao-valores-proposito .valores-cards-responsivos {
    width: min(980px, calc(100% - 48px));
  }

  .secao-valores-proposito .grade-valores-proposito {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }

  .secao-valores-proposito .valor-card {
    min-height: 300px;
  }
}

@media (max-width: 767px) {
  .secao-valores-proposito {
    padding-top: 28px;
    padding-bottom: 42px;
  }

  .secao-valores-proposito .valores-cards-responsivos {
    width: calc(100% - 32px);
  }

  .secao-valores-proposito .grade-valores-proposito {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .secao-valores-proposito .valor-card {
    min-height: 0;
    padding: 22px 16px 20px;
  }

  .secao-valores-proposito .valor-card h3 {
    min-height: 50px;
    font-size: .98rem;
  }
}

@media (max-width: 480px) {
  .secao-valores-proposito .grade-valores-proposito {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .secao-valores-proposito .valor-card h3 {
    min-height: 0;
  }
}


/* Correções pontuais: centralização dos ícones da hero de contato */
.beneficio-contato-hero > .beneficio-icone {
  display: flex;
  align-items: center;
  justify-content: center;
}

.beneficio-contato-hero > .beneficio-icone ion-icon {
  display: block;
  margin: 0;
  transform: none;
}

/* Mobile: a animação do Assistente de IA ocupa toda a largura útil do card. */
@media (max-width: 900px) {
  .assistente-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .assistente-card .wave {
    width: 100%;
    max-width: none;
    min-width: 0;
    justify-content: space-between;
    gap: 0;
    padding-inline: 2px;
    margin-top: 6px;
  }

  .assistente-card .wave i {
    width: 3px;
    flex: 0 0 3px;
  }
}

/* Nosso Propósito — ícones em imagem conforme referência enviada */
.secao-valores-proposito .valor-icone {
  width: 94px;
  height: 94px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.secao-valores-proposito .valor-icone img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  border-radius: 0;
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .18));
}

@media (max-width: 767px) {
  .secao-valores-proposito .valor-icone {
    width: 88px;
    height: 88px;
  }
}

/* =========================================================
   HERO PRINCIPAL — referência 25/08/2026
   Desktop reproduz o painel enviado; mobile permanece com a
   estrutura anterior já aprovada.
   ========================================================= */
.dashboard-desktop-ref,
.hero-beneficios-desktop {
  display: none;
}

@media (min-width: 1200px) {
  .hero-principal {
    min-height: 860px;
    align-items: center;
    background:
      radial-gradient(circle at 74% 20%, rgba(14, 116, 205, .12), transparent 28%),
      linear-gradient(115deg, #020d1d 0%, #041326 47%, #020b17 100%);
  }

  .hero-principal .circuito {
    display: none;
  }

  .hero-principal::before {
    background:
      linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(14,92,154,.025) 44%, rgba(0,0,0,0) 100%),
      radial-gradient(circle at 68% 38%, rgba(34,184,255,.055), transparent 34%);
  }

  .hero-principal .hero-grid {
    width: min(1510px, calc(100% - 56px));
    max-width: none;
    grid-template-columns: minmax(430px, .68fr) minmax(720px, 1.32fr);
    gap: 34px;
    align-items: center;
    padding: 28px 0 34px;
  }

  .hero-principal .hero-conteudo {
    position: relative;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 28px 8px 155px 0;
    min-width: 0;
  }

  .hero-principal .hero-conteudo::after {
    content: "";
    position: absolute;
    left: -70px;
    right: -10px;
    bottom: 0;
    height: 150px;
    background: url("../img/hero-wave.svg") left bottom / 100% 100% no-repeat;
    opacity: .86;
    pointer-events: none;
    filter: drop-shadow(0 0 13px rgba(0,128,255,.12));
  }

  .hero-principal .hero-conteudo .eyebrow {
    margin-bottom: 32px;
    color: #f0bc51;
    font-size: .76rem;
    letter-spacing: .19em;
  }

  .hero-principal .hero-conteudo h1.hero-titulo-ajustado {
    max-width: 590px;
    margin-bottom: 31px;
    font-size: clamp(2.7rem, 3.35vw, 3.65rem);
    line-height: 1.04;
    letter-spacing: -.045em;
    font-weight: 500;
  }

  .hero-principal .hero-conteudo p {
    max-width: 565px;
    margin-bottom: 0;
    color: #d2d9e2;
    font-size: 1.03rem;
    line-height: 1.65;
  }

  .hero-principal .hero-tags,
  .hero-principal .hero-acoes {
    display: none;
  }

  .hero-beneficios-desktop {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    margin-top: 34px;
    max-width: 575px;
  }

  .hero-beneficio-card {
    min-height: 102px;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid rgba(90, 160, 220, .30);
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(7, 30, 54, .84), rgba(4, 21, 41, .78));
    box-shadow: inset 0 1px rgba(255,255,255,.025), 0 12px 30px rgba(0,0,0,.12);
  }

  .hero-beneficio-icone {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    font-size: 1.8rem;
  }

  .hero-beneficio-card strong {
    display: block;
    color: #f5f7fa;
    font-size: .92rem;
    font-weight: 500;
    line-height: 1.2;
  }

  .hero-beneficio-card small {
    display: block;
    margin-top: 6px;
    color: #bdc8d5;
    font-size: .74rem;
    line-height: 1.4;
  }

  .hero-beneficio-humano .hero-beneficio-icone,
  .hero-beneficio-performance .hero-beneficio-icone { color: #f2b83f; }
  .hero-beneficio-ia .hero-beneficio-icone { color: #2bb9ff; }
  .hero-beneficio-dados .hero-beneficio-icone { color: #50df7e; }

  /* preserva o dashboard antigo para tablets/mobile */
  .dashboard-legado {
    display: none;
  }

  .dashboard-desktop-ref {
    display: block;
    position: relative;
    width: 100%;
    min-width: 0;
    padding: 19px;
    border: 1px solid rgba(68, 159, 226, .32);
    border-radius: 22px;
    background:
      radial-gradient(circle at 82% 8%, rgba(31,137,223,.10), transparent 28%),
      linear-gradient(145deg, rgba(4, 20, 38, .98), rgba(2, 13, 27, .99));
    box-shadow: 0 30px 80px rgba(0,0,0,.36), inset 0 0 50px rgba(34,138,213,.035);
  }

  .dashboard-ref-topo {
    min-height: 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 6px 12px;
  }

  .dashboard-ref-titulo {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .dashboard-ref-titulo > strong {
    font-size: 1.16rem;
    font-weight: 600;
  }

  .dashboard-ref-topo-icone {
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(42,176,255,.38);
    border-radius: 50%;
    color: #33b9ff;
    font-size: 1.22rem;
  }

  .dashboard-ref-demo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #49e89b;
    font-size: .82rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .05em;
  }

  .dashboard-ref-demo i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #55ef9f;
    box-shadow: 0 0 12px rgba(85,239,159,.4);
  }

  .dashboard-ref-kpis {
    display: grid;
    grid-template-columns: 1fr .88fr 1.02fr;
    gap: 14px;
  }

  .dashboard-ref-card,
  .dashboard-ref-fluxo,
  .dashboard-ref-metricas > article,
  .dashboard-ref-rodape {
    border: 1px solid rgba(81, 153, 210, .27);
    background: linear-gradient(180deg, rgba(6, 28, 51, .93), rgba(3, 17, 33, .96));
    box-shadow: inset 0 1px rgba(255,255,255,.018);
  }

  .dashboard-ref-card {
    position: relative;
    min-height: 255px;
    overflow: hidden;
    padding: 17px 17px 14px;
    border-radius: 14px;
  }

  .dashboard-ref-card-titulo {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #dfe7ef;
    font-size: .75rem;
  }

  .dashboard-ref-card-titulo > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    border: 1px solid rgba(46,175,255,.45);
    border-radius: 50%;
    color: #38baff;
    background: rgba(20,105,168,.13);
    font-size: 1rem;
  }

  .dashboard-ref-automacao .dashboard-ref-card-titulo > span { color: #a870ff; border-color: rgba(137,78,255,.48); }

  .dashboard-ref-card > b {
    display: block;
    margin-top: 15px;
    color: #f6f7fa;
    font-size: 2.05rem;
    line-height: 1.04;
    font-weight: 600;
    letter-spacing: -.035em;
  }

  .dashboard-ref-card > small {
    display: block;
    margin-top: 8px;
    color: #9aa9ba;
    font-size: .68rem;
  }

  .dashboard-ref-performance > em {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 11px;
    padding: 6px 9px;
    border-radius: 6px;
    background: rgba(32,193,103,.10);
    color: #4de292;
    font-size: .65rem;
    font-style: normal;
  }

  .dashboard-ref-line {
    position: absolute;
    left: 15px;
    right: 15px;
    bottom: 15px;
    width: calc(100% - 30px);
    height: 92px;
  }

  .dashboard-ref-line .grade { fill: none; stroke: rgba(121,169,204,.08); stroke-width: 1; }
  .dashboard-ref-line .linha { fill: none; stroke: #40bfff; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; filter: drop-shadow(0 0 7px rgba(64,191,255,.46)); }

  .dashboard-ref-donut {
    width: 108px;
    aspect-ratio: 1;
    margin: 17px auto 11px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(#2fb9ff 0 45%, #1487d5 45% 57%, #36bb8f 57% 77%, #e6aa38 77% 90%, #8050e7 90% 100%);
  }

  .dashboard-ref-donut::before {
    content: "";
    width: 62px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #071a2e;
  }

  .dashboard-ref-donut span {
    position: absolute;
    color: #fff;
    font-size: .64rem;
    font-weight: 600;
  }

  .dashboard-ref-legenda {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .dashboard-ref-legenda li {
    display: grid;
    grid-template-columns: 8px minmax(0,1fr) auto;
    align-items: center;
    gap: 7px;
    color: #aeb9c6;
    font-size: .58rem;
  }

  .dashboard-ref-legenda li > i { width: 7px; height: 7px; border-radius: 2px; }
  .leg-azul { background: #2faef7; }
  .leg-dourado { background: #e5a73a; }
  .leg-verde { background: #42c88d; }
  .leg-roxo { background: #7c51dc; }
  .dashboard-ref-legenda li b { color: #fff; font-weight: 500; }

  .dashboard-ref-automacao > b { margin-top: 23px; font-size: 1.95rem; }
  .dashboard-ref-bars {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 34px;
    height: 91px;
    display: flex;
    align-items: end;
    gap: 8px;
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(118,167,204,.12);
  }
  .dashboard-ref-bars i {
    flex: 1;
    min-width: 6px;
    border-radius: 4px 4px 1px 1px;
    background: linear-gradient(180deg, #2fbaff, #0768a9);
    box-shadow: 0 0 9px rgba(31,156,238,.16);
  }
  .dashboard-ref-bars i:last-child { background: linear-gradient(180deg, #f3b53e, #9c6516); }
  .dashboard-ref-caption {
    position: absolute;
    left: 18px;
    bottom: 12px;
    color: #8494a7;
    font-size: .59rem;
  }

  .dashboard-ref-fluxo {
    margin-top: 14px;
    padding: 17px 20px 18px;
    border-radius: 14px;
  }

  .dashboard-ref-fluxo-cab {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: #eaf0f6;
    font-size: .72rem;
  }
  .dashboard-ref-fluxo-cab > span { color: #95a3b4; font-size: .62rem; }

  .dashboard-ref-etapas {
    display: grid;
    grid-template-columns: 1fr 42px 1fr 42px 1fr 42px 1fr;
    align-items: start;
    gap: 9px;
    margin-top: 16px;
  }

  .dashboard-ref-etapa { text-align: left; min-width: 0; }
  .etapa-ref-icone {
    width: 57px;
    height: 57px;
    display: grid;
    place-items: center;
    margin: 0 auto 7px;
    border: 2px solid currentColor;
    border-radius: 50%;
    font-size: 1.75rem;
    box-shadow: 0 0 19px currentColor inset, 0 0 12px rgba(0,0,0,.20);
  }
  .dashboard-ref-etapa > b { display: block; text-align: center; font-size: .72rem; font-weight: 600; }
  .dashboard-ref-etapa > small { display: block; margin-top: 5px; color: #aeb9c5; font-size: .59rem; line-height: 1.42; text-align: center; }
  .etapa-azul { color: #3fb8ff; }
  .etapa-verde { color: #55dca0; }
  .etapa-dourada { color: #e9aa37; }
  .dashboard-ref-seta { align-self: center; margin-top: 14px; color: #e0a028; font-size: 1.6rem; text-align: center; }

  .dashboard-ref-metricas {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 13px;
    margin-top: 14px;
  }

  .dashboard-ref-metricas > article {
    min-height: 128px;
    position: relative;
    padding: 17px 13px 14px;
    border-radius: 13px;
  }

  .dashboard-ref-metricas article > small {
    display: block;
    margin-left: 38px;
    color: #a9b5c3;
    font-size: .57rem;
    text-transform: uppercase;
  }

  .metrica-icone {
    position: absolute;
    left: 13px;
    top: 12px;
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: .95rem;
  }
  .metrica-azul { color: #25adff; }
  .metrica-verde { color: #38d990; }
  .metrica-dourada { color: #e0a12e; }
  .metrica-roxa { color: #a768ee; }

  .dashboard-ref-metricas article > strong {
    display: block;
    margin-top: 25px;
    color: #f5f7f9;
    font-size: 1.65rem;
    line-height: 1;
    font-weight: 550;
    white-space: nowrap;
  }
  .dashboard-ref-metricas article > strong em { font-size: .83em; font-style: normal; }
  .dashboard-ref-metricas article > p { margin: 10px 0 0; color: #97a6b6; font-size: .58rem; }
  .dashboard-ref-metricas article > p b { color: #4ce48e; font-weight: 500; }
  .dashboard-ref-metricas .andamento { color: #e0a12e; }

  .dashboard-ref-rodape {
    min-height: 74px;
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) 240px;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding: 12px 16px;
    overflow: hidden;
    border-radius: 13px;
  }
  .dashboard-ref-escudo { color: #2ab6ff; font-size: 2.5rem; }
  .dashboard-ref-rodape p { position: relative; z-index: 2; margin: 0; color: #b1bdc9; font-size: .67rem; line-height: 1.35; }
  .dashboard-ref-rodape p strong { color: #f0f4f8; font-size: .72rem; font-weight: 500; }
  .dashboard-ref-wave-mini {
    position: absolute;
    right: -20px;
    bottom: -25px;
    width: 350px;
    height: 115px;
    background: url("../img/hero-wave.svg") right bottom / contain no-repeat;
    opacity: .67;
  }
}

@media (min-width: 1200px) and (max-width: 1399px) {
  .hero-principal .hero-grid {
    width: min(1320px, calc(100% - 42px));
    grid-template-columns: minmax(390px,.68fr) minmax(670px,1.32fr);
    gap: 24px;
  }
  .hero-principal .hero-conteudo h1.hero-titulo-ajustado { font-size: clamp(2.45rem, 3.2vw, 3.2rem); }
  .hero-beneficio-card { padding: 14px; }
  .dashboard-desktop-ref { padding: 15px; }
  .dashboard-ref-card { min-height: 238px; }
  .dashboard-ref-metricas article > strong { font-size: 1.45rem; }
}

@media (min-width: 1200px) {
  .dashboard-desktop-ref.revelar,
  .dashboard-desktop-ref.revelar.visivel {
    opacity: 1;
    transform: none;
  }
}

.container-site h1 {
  font-size: clamp(2.15rem, 10vw, 3rem);
}

/* ===== Logo oficial completa na barra de navegação ===== */
.cabecalho .marca.marca-navbar-capitalnex {
  display: block;
  width: 300px;
  min-width: 300px;
  height: 72px;
  overflow: hidden;
}

.cabecalho .marca.marca-navbar-capitalnex img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: left center;
  border-radius: 0;
  transform: none;
}

@media (max-width: 1200px) {
  .cabecalho .marca.marca-navbar-capitalnex {
    width: 250px;
    min-width: 250px;
    height: 62px;
  }
}

@media (max-width: 900px) {
  .cabecalho .marca.marca-navbar-capitalnex {
    width: 215px;
    min-width: 0;
    height: 54px;
  }
}

@media (max-width: 430px) {
  .cabecalho .marca.marca-navbar-capitalnex {
    width: 178px;
    height: 46px;
  }
}
