:root {
  --azul: #0D1B33;
  --eletrico: #2563EB;
  --claro: #60A5FA;
  --off: #F5F7FB;
  --grafite: #253145;
  --linha: #D9E1EE;
  --branco: #FFFFFF;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
  --sans: "Manrope", Arial, sans-serif;
  --raio: 14px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { font-family: var(--sans); color: var(--grafite); background: var(--off); line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
.wrap { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 24px; }

h1, h2, h3 { color: var(--azul); font-weight: 800; line-height: 1.12; letter-spacing: -0.02em; }
h1 { font-size: clamp(2.4rem, 5.4vw, 4rem); }
h1 span { color: var(--eletrico); }
h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem); max-width: 22ch; }
h3 { font-size: 1.15rem; }
.lead { font-size: 1.125rem; max-width: 56ch; margin-top: 20px; }
.rotulo { font-family: var(--mono); font-size: .78rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--eletrico); margin-bottom: 14px; }
.rotulo-claro { color: var(--claro); }
.lead-claro { color: #C8D3E6; }

/* Botões */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 10px; font-weight: 700; font-size: .95rem; text-decoration: none; transition: background .15s, color .15s, border-color .15s; }
.btn-sm { min-height: 40px; padding: 0 16px; font-size: .875rem; }
.btn-pri { background: var(--eletrico); color: var(--branco); }
.btn-pri:hover { background: #1D4ED8; }
.btn-sec { border: 1.5px solid var(--azul); color: var(--azul); }
.btn-sec:hover { background: var(--azul); color: var(--branco); }
.btn-claro { border: 1.5px solid #3A4A66; color: var(--branco); }
.btn-claro:hover { border-color: var(--claro); }
.btn:focus-visible, .abas button:focus-visible, a:focus-visible { outline: 3px solid var(--claro); outline-offset: 3px; }

/* Topo */
.topo { position: sticky; top: 0; z-index: 10; background: rgba(245, 247, 251, .92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--linha); }
.topo-in { display: flex; align-items: center; gap: 32px; height: 68px; }
.marca img { width: 150px; }
.menu { display: flex; gap: 28px; font-size: .9rem; font-weight: 600; }
.menu a { text-decoration: none; color: var(--azul); padding: 6px 0; border-bottom: 2px solid var(--eletrico); }
.breve { color: #8A96AB; cursor: not-allowed; padding: 6px 0; }
.menu-gaveta { display: flex; align-items: center; gap: 32px; margin-left: auto; }
.menu-btn { display: none; margin-left: auto; width: 44px; height: 44px; border: 1px solid var(--linha); border-radius: 10px; background: var(--branco); flex-direction: column; align-items: center; justify-content: center; gap: 5px; cursor: pointer; }
.menu-btn span { width: 18px; height: 2px; background: var(--azul); border-radius: 2px; transition: transform .2s, opacity .2s; }
.topo.aberto .menu-btn span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.topo.aberto .menu-btn span:nth-child(2) { opacity: 0; }
.topo.aberto .menu-btn span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.breve em { font-style: normal; font-family: var(--mono); font-size: .66rem; text-transform: uppercase; letter-spacing: .06em; margin-left: 6px; padding: 2px 6px; border-radius: 4px; background: #E6EBF3; color: #6B778C; }

/* Hero */
.hero { padding: 88px 0 96px; }
.hero-in { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.sistema { background: var(--branco); border: 1px solid var(--linha); border-radius: 20px; padding: 18px; }
.sistema svg { width: 100%; height: auto; display: block; }
.no rect { fill: var(--off); stroke: var(--azul); stroke-width: 1.5; }
.no-fim rect { fill: var(--azul); }
.n-rot { font-family: var(--mono); font-size: 8.6px; fill: #6B778C; letter-spacing: .02em; }
.n-tit { font-family: var(--sans); font-weight: 800; font-size: 18px; fill: var(--azul); }
.no-fim .n-rot { fill: var(--claro); }
.no-fim .n-tit { fill: var(--branco); font-size: 20px; }
.n-leg { font-family: var(--mono); font-size: 10.5px; fill: #6B778C; }
.fio path { stroke-dasharray: 6 5; animation: fluxo 1.4s linear infinite; }
@keyframes fluxo { to { stroke-dashoffset: -22; } }
@media (prefers-reduced-motion: reduce) { .fio path { animation: none; } html { scroll-behavior: auto; } }

/* Seções */
.secao { padding: 96px 0; }
.problema { background: var(--branco); border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }
.sinais { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 48px; border-top: 1px solid var(--linha); }
.sinais li { padding: 24px 24px 0 0; display: flex; flex-direction: column; gap: 8px; }
.sinais li + li { padding-left: 24px; border-left: 1px solid var(--linha); }
.sinais b { color: var(--azul); font-size: 1.02rem; }
.sinais span { font-size: .95rem; }

/* Frentes */
.frentes { background: var(--azul); color: #C8D3E6; }
.frentes h2, .frentes h3 { color: var(--branco); }
.abas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 48px; }
.abas button { font: inherit; text-align: left; cursor: pointer; padding: 18px 20px; border-radius: 12px 12px 0 0; border: 1px solid #22324F; border-bottom: none; background: #12233F; color: #C8D3E6; font-weight: 700; font-size: 1.05rem; display: flex; align-items: baseline; gap: 10px; transition: background .15s, color .15s; }
.abas button small { font-family: var(--mono); font-size: .75rem; color: var(--claro); font-weight: 500; }
.abas button:hover { color: var(--branco); }
.abas button[aria-selected="true"] { background: var(--branco); color: var(--azul); border-color: var(--branco); }
.abas button[aria-selected="true"] small { color: var(--eletrico); }
.painel { background: var(--branco); color: var(--grafite); border-radius: 0 0 var(--raio) var(--raio); padding: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 32px 48px; }
.painel[hidden] { display: none; }
.painel h3 { color: var(--azul); font-size: 1.6rem; margin: 10px 0 12px; }
.resolve { font-family: var(--mono); font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: #6B778C; }
.resolve b { color: var(--eletrico); font-weight: 500; }
.itens { list-style: none; display: grid; gap: 14px; }
.itens li { padding-left: 18px; border-left: 2px solid var(--linha); font-size: .95rem; }
.itens b { display: block; color: var(--azul); }
.metodo { grid-column: 1 / -1; list-style: none; counter-reset: m; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--linha); padding-top: 24px; }
.metodo li { counter-increment: m; position: relative; padding-right: 12px; font-size: .88rem; font-weight: 600; color: var(--azul); }
.metodo li::before { content: "0" counter(m); display: block; font-family: var(--mono); font-size: .72rem; font-weight: 500; color: var(--eletrico); margin-bottom: 6px; }
.metodo li::after { content: ""; position: absolute; top: 6px; left: 28px; right: 14px; height: 1px; background: var(--linha); }
.metodo li:last-child::after { display: none; }

/* Modelo */
.passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }
.passos article { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 28px; }
.passos .num { font-family: var(--mono); font-size: .8rem; color: var(--eletrico); }
.passos h3 { margin: 10px 0 8px; font-size: 1.3rem; }
.passos p { font-size: .95rem; }

/* Prova */
.prova { background: var(--branco); border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 48px; border-top: 2px solid var(--azul); }
.kpis div { padding: 24px 24px 0 0; display: flex; flex-direction: column; gap: 6px; }
.kpis div + div { padding-left: 24px; border-left: 1px solid var(--linha); }
.kpis b { font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 800; color: var(--azul); line-height: 1.1; letter-spacing: -0.02em; }
.kpis span { font-size: .95rem; }
.kpis small { font-family: var(--mono); font-size: .72rem; color: var(--eletrico); text-transform: uppercase; letter-spacing: .05em; }
.nota { margin-top: 32px; font-size: .8rem; color: #6B778C; max-width: 80ch; }

/* Depoimentos */
.depos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 48px; }
.depos figure { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.depos blockquote { font-size: 1.02rem; color: var(--azul); font-weight: 500; }
.depos figcaption { display: flex; align-items: center; gap: 14px; font-size: .85rem; }
.depos figcaption img, .pessoas img { border-radius: 50%; flex: none; }
.depos figcaption b, .pessoas b { display: block; color: var(--azul); font-size: .95rem; }
.sub { margin-top: 64px; font-size: 1.1rem; }
.pessoas { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 20px; }
.pessoas li { display: flex; align-items: center; gap: 14px; background: var(--branco); border: 1px solid var(--linha); border-radius: 12px; padding: 14px; font-size: .82rem; line-height: 1.4; }
.pessoas span { flex: 1; min-width: 0; }
.pessoas a { flex: none; width: 36px; height: 36px; border-radius: 8px; background: #0A66C2; color: #fff; font-weight: 800; font-size: .9rem; display: grid; place-items: center; text-decoration: none; }

/* Ferramentas */
.ferramentas { padding-top: 0; }
.fer { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 40px; }
.fer-card { border: 1.5px dashed #B8C4D8; border-radius: var(--raio); padding: 28px; cursor: not-allowed; }
.fer-card h3 { margin: 14px 0 8px; font-size: 1.3rem; color: #4A5872; }
.fer-card p { font-size: .95rem; color: #6B778C; }
.selo { font-family: var(--mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; background: #E6EBF3; color: #4A5872; padding: 4px 8px; border-radius: 4px; }

/* Contato e rodapé */
.contato { background: var(--azul); }
.contato h2 { color: var(--branco); }
.contato-in { display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: end; }
.contato-acoes { display: flex; flex-direction: column; gap: 12px; }
.rodape { background: #091427; color: #8A96AB; padding: 40px 0; font-size: .85rem; }
.rodape-in { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; }
.rodape-links { margin-left: auto; }
.rodape a { text-decoration: none; color: #C8D3E6; }
.rodape a:hover { color: var(--branco); }

/* Faixa de marcas */
.marcas { background: var(--azul); color: var(--branco); padding: 28px 0; display: flex; align-items: center; overflow: hidden; }
.marcas-tit { flex: none; position: relative; z-index: 1; padding: 0 32px 0 max(24px, calc((100vw - 1140px) / 2 + 24px)); background: var(--azul); font-family: var(--mono); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--claro); white-space: nowrap; box-shadow: 24px 0 24px var(--azul); }
.marcas-trilho { display: flex; width: max-content; animation: marcas 60s linear infinite; }
.marcas:hover .marcas-trilho { animation-play-state: paused; }
.marcas-lista { list-style: none; display: flex; flex: none; }
.marcas-lista li { display: flex; align-items: center; gap: 14px; padding-right: 40px; font-weight: 700; font-size: 1.05rem; white-space: nowrap; }
.marcas-lista li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--eletrico); flex: none; }
@keyframes marcas { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .marcas-trilho { animation-duration: 240s; } }
@media (max-width: 640px) {
  .marcas { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px 0; }
  .marcas-tit { padding: 0 16px; box-shadow: none; }
}

/* Vídeo da metodologia */
.video-metodo { margin-top: 56px; }
.video-metodo video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--raio); border: 1px solid var(--linha); background: var(--azul); box-shadow: 0 24px 48px -28px rgba(13, 27, 51, .4); }
.video-metodo figcaption { margin-top: 14px; font-size: .92rem; color: #6B778C; }
.video-metodo figcaption b { color: var(--azul); }

/* Produtos */
.produto { display: grid; grid-template-columns: .85fr 1.15fr; gap: 48px; align-items: center; margin-top: 64px; }
.produto + .produto { padding-top: 64px; border-top: 1px solid var(--linha); }
.produto:nth-of-type(even) .produto-txt { order: 2; }
.produto-tag { font-family: var(--mono); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--eletrico); }
.produto h3 { font-size: 1.8rem; margin: 8px 0 14px; }
.produto-txt > p:not(.produto-tag) { font-size: 1rem; }
.produto ul { list-style: none; margin-top: 18px; display: grid; gap: 8px; font-size: .93rem; }
.produto ul li { padding-left: 18px; position: relative; }
.produto ul li::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 2px; background: var(--eletrico); }
.tela { background: var(--branco); border: 1px solid var(--linha); border-radius: 12px; overflow: hidden; box-shadow: 0 18px 40px -24px rgba(13, 27, 51, .35); }
.tela-barra { display: flex; gap: 6px; padding: 10px 12px; background: #EEF2F8; border-bottom: 1px solid var(--linha); }
.tela-barra i { width: 9px; height: 9px; border-radius: 50%; background: #C9D3E3; }
.antes-depois { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.antes-depois div { border: 1px solid var(--linha); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 2px; background: var(--branco); }
.antes-depois div + div { border-color: var(--eletrico); }
.antes-depois small { font-family: var(--mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: #6B778C; }
.antes-depois b { font-size: 1.3rem; color: var(--azul); }
.antes-depois span { font-size: .85rem; }

/* Fundador */
.fundador { background: var(--branco); border-bottom: 1px solid var(--linha); }
.fundador-in { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.fundador-perfil img { width: 168px; height: 168px; border-radius: 20px; object-fit: cover; margin-bottom: 28px; }
.fundador-perfil h2 { max-width: none; }
.fundador-perfil .cargo { font-weight: 700; color: var(--eletrico); margin: 8px 0 18px; }
.fundador-perfil .formacao { font-size: .82rem; color: #6B778C; margin: 18px 0 24px; }
.carreira { list-style: none; border-left: 2px solid var(--linha); }
.carreira li { position: relative; padding: 0 0 26px 28px; font-size: .92rem; }
.carreira li:last-child { padding-bottom: 0; }
.carreira li::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: var(--branco); border: 2px solid var(--eletrico); }
.carreira li:first-child::before { background: var(--eletrico); }
.carreira span { display: block; font-family: var(--mono); font-size: .72rem; color: #6B778C; letter-spacing: .04em; }
.carreira b { color: var(--azul); font-size: 1.05rem; }
.carreira em { display: block; font-style: normal; font-weight: 600; color: var(--grafite); margin-bottom: 4px; }

/* Responsivo */
@media (max-width: 960px) {
  .topo-in { height: 64px; }
  .menu-btn { display: flex; }
  .menu-gaveta { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 20px; padding: 8px 24px 24px; background: var(--off); border-bottom: 1px solid var(--linha); box-shadow: 0 18px 30px -20px rgba(13, 27, 51, .35); }
  .topo.aberto .menu-gaveta { display: flex; }
  .menu { flex-direction: column; gap: 0; margin: 0; font-size: 1rem; }
  .menu a, .breve { display: flex; align-items: center; justify-content: space-between; min-height: 52px; padding: 0; border-bottom: 1px solid var(--linha); }
  .menu a { border-bottom: 1px solid var(--linha); color: var(--eletrico); }
  .topo-cta { min-height: 48px; font-size: .95rem; }
  .hero { padding: 56px 0 64px; }
  .hero-in, .contato-in { grid-template-columns: 1fr; gap: 40px; }
  .sinais, .kpis { grid-template-columns: 1fr 1fr; }
  .sinais li:nth-child(3), .kpis div:nth-child(3) { padding-left: 0; border-left: none; }
  .painel { grid-template-columns: 1fr; padding: 28px; }
  .metodo { grid-template-columns: 1fr; gap: 10px; }
  .metodo li { display: flex; gap: 12px; align-items: baseline; }
  .metodo li::before { margin: 0; }
  .metodo li::after { display: none; }
  .pessoas { grid-template-columns: 1fr 1fr; }
  .produto, .fundador-in { grid-template-columns: 1fr; gap: 28px; }
  .produto:nth-of-type(even) .produto-txt { order: 0; }
  .fundador-in { gap: 48px; }
  .secao { padding: 72px 0; }
  .ferramentas { padding-top: 0; }
}
@media (max-width: 640px) {
  .wrap { padding: 0 16px; }
  .menu-gaveta { padding: 8px 16px 20px; }
  .marca img { width: 120px; }
  .sinais, .kpis, .passos, .depos, .fer, .pessoas { grid-template-columns: 1fr; }
  .sinais li, .kpis div { padding: 20px 0 0 !important; border-left: none !important; }
  .abas { grid-template-columns: 1fr; gap: 6px; }
  .abas button { border-radius: 10px; border-bottom: 1px solid #22324F; }
  .abas button[aria-selected="true"] { border-radius: 10px 10px 0 0; }
  .painel { padding: 22px; }
  .rodape-links { margin-left: 0; }
}

/* Menu com links */
.menu a:not(.ativo) { border-bottom-color: transparent; }
.menu a:not(.ativo):hover { border-bottom-color: var(--linha); }
.fer-card-link { border-style: solid; border-color: var(--eletrico); cursor: pointer; text-decoration: none; background: var(--branco); transition: box-shadow .15s, transform .15s; }
.fer-card-link:hover { box-shadow: 0 18px 36px -24px rgba(13, 27, 51, .45); transform: translateY(-2px); }
.fer-card-link h3 { color: var(--azul); }
.fer-card-link p { color: var(--grafite); }
.fer-card-link .selo { background: var(--eletrico); color: var(--branco); }
.fer-card-link .fer-ir { display: inline-block; margin-top: 16px; font-weight: 700; color: var(--eletrico); }

/* Viabilidade de I.A */
.vi-hero { padding: 72px 0 40px; }
.vi-hero h1 { font-size: clamp(2.1rem, 4.6vw, 3.4rem); max-width: 20ch; }
.vi-fatos { list-style: none; display: flex; flex-wrap: wrap; gap: 12px 40px; margin-top: 32px; font-size: .9rem; }
.vi-fatos b { display: block; font-size: 1.6rem; color: var(--azul); line-height: 1.1; }
.vi-corpo { padding: 0 0 96px; }
.vi-form, .vi-res > div, .vi-lead, .vi-completo { background: var(--branco); border: 1px solid var(--linha); border-radius: 20px; padding: 40px; }
.vi-form { scroll-margin-top: 88px; }
.vi-form[hidden] { display: none; }
.vi-passos { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 36px; }
.vi-passos li { font-weight: 700; font-size: .9rem; color: #8A96AB; padding-top: 12px; border-top: 3px solid var(--linha); }
.vi-passos li span { font-family: var(--mono); font-size: .72rem; font-weight: 500; margin-right: 8px; }
.vi-passos li.ativo { color: var(--azul); border-top-color: var(--eletrico); }
.vi-passos li.feito { color: var(--azul); border-top-color: var(--azul); }
.vi-etapa { border: none; display: grid; gap: 32px; min-width: 0; }
.vi-etapa[hidden] { display: none; }
.vi-leg { font-size: 1rem; color: #6B778C; padding: 0; }
.vi-leg b { color: var(--azul); }
.vi-p { display: block; font-weight: 700; color: var(--azul); font-size: 1.02rem; margin-bottom: 12px; }
.vi-op { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.vi-op-2 { grid-template-columns: repeat(2, 1fr); }
.vi-op label { position: relative; cursor: pointer; }
.vi-op input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.vi-op span { display: flex; align-items: center; min-height: 56px; height: 100%; padding: 12px 16px 12px 44px; border: 1.5px solid var(--linha); border-radius: 12px; font-size: .93rem; font-weight: 600; color: var(--grafite); background: var(--off); transition: border-color .15s, background .15s; position: relative; }
.vi-op span::before { content: ""; position: absolute; left: 16px; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-radius: 50%; border: 2px solid #B8C4D8; background: var(--branco); box-sizing: border-box; }
.vi-op label:hover span { border-color: #9DB0CF; }
.vi-op input:checked + span { border-color: var(--eletrico); background: #EEF4FF; color: var(--azul); }
.vi-op input:checked + span::before { border: 5px solid var(--eletrico); }
.vi-op input:focus-visible + span { outline: 3px solid var(--claro); outline-offset: 2px; }
.vi-nums { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.vi-num { display: flex; flex-direction: column; }
.vi-num input, .vi-campos input { font: inherit; font-size: 1rem; min-height: 52px; padding: 0 16px; border: 1.5px solid var(--linha); border-radius: 12px; background: var(--off); color: var(--azul); width: 100%; }
.vi-num input:focus, .vi-campos input:focus { outline: none; border-color: var(--eletrico); background: var(--branco); }
.vi-num small { font-size: .8rem; color: #6B778C; margin-top: 6px; }
.vi-nums .vi-p { min-height: 2.6em; }
.vi-op-4 { grid-template-columns: repeat(4, 1fr); }
.vi-nums-2 { grid-template-columns: repeat(2, 1fr); max-width: 640px; }
.vi-nums-2 .vi-p { min-height: 0; }
.vi-q[hidden], .vi-conta[hidden] { display: none; }
.vi-conta { margin-top: -16px; font-size: .95rem; color: var(--grafite); }
.vi-conta b, .vi-num small b { color: var(--eletrico); }
.vi-num-salario { max-width: 420px; }
.vi-moeda { position: relative; display: block; }
.vi-moeda i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); font-style: normal; font-weight: 700; color: #6B778C; }
.vi-moeda input { padding-left: 46px; }
.vi-erro { margin-top: 24px; padding: 12px 16px; border-radius: 10px; background: #FFF1F1; color: #A61B1B; font-size: .92rem; font-weight: 600; }
.vi-erro[hidden] { display: none; }
.vi-nav { display: flex; justify-content: flex-end; gap: 12px; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--linha); }
.vi-nav button { font: inherit; font-weight: 700; cursor: pointer; background: none; }
.vi-nav button[hidden] { display: none; }
.vi-nav .btn-pri { background: var(--eletrico); border: none; }
.vi-nav .btn-pri:hover { background: #1D4ED8; }

.vi-res { display: grid; gap: 20px; outline: none; scroll-margin-top: 88px; }
.vi-res[hidden] { display: none; }
.vi-res .vi-veredito { border-top: 6px solid var(--eletrico); }
.vi-res[data-veredito="preparar"] .vi-veredito { border-top-color: #D98A00; }
.vi-res[data-veredito="nao"] .vi-veredito { border-top-color: #6B778C; }
.vi-selo { display: inline-block; font-family: var(--mono); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; padding: 5px 10px; border-radius: 6px; background: var(--eletrico); color: var(--branco); margin-bottom: 14px; }
.vi-res[data-veredito="preparar"] .vi-selo { background: #D98A00; }
.vi-res[data-veredito="nao"] .vi-selo { background: #6B778C; }
.vi-veredito h2 { max-width: none; }
.vi-veredito .lead { max-width: 64ch; margin-top: 12px; }
.vi-hoje { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 32px; border-top: 1px solid var(--linha); }
.vi-hoje div { padding: 20px 20px 0 0; display: flex; flex-direction: column; gap: 2px; }
.vi-hoje div + div { padding-left: 20px; border-left: 1px solid var(--linha); }
.vi-hoje small { font-family: var(--mono); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: #6B778C; }
.vi-hoje b { font-size: clamp(1.4rem, 2.4vw, 1.9rem); color: var(--azul); line-height: 1.2; }
.vi-hoje span { font-size: .85rem; }

.vi-escada ol { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; align-items: end; }
.vi-escada li { border: 1.5px solid var(--linha); border-radius: 12px; padding: 16px; font-size: .85rem; color: #6B778C; background: var(--off); display: flex; flex-direction: column; gap: 4px; }
.vi-escada li:nth-child(1) { min-height: 150px; }
.vi-escada li:nth-child(2) { min-height: 175px; }
.vi-escada li:nth-child(3) { min-height: 200px; }
.vi-escada li:nth-child(4) { min-height: 225px; }
.vi-escada li span { font-family: var(--mono); font-size: .72rem; margin-top: auto; }
.vi-escada li b { font-size: 1rem; color: #4A5872; }
.vi-escada li.abaixo { opacity: .6; }
.vi-escada li.ativo { border-color: var(--eletrico); background: var(--azul); color: #C8D3E6; }
.vi-escada li.ativo b { color: var(--branco); }
.vi-escada li.ativo span { color: var(--claro); }
.vi-porque { margin-top: 20px; font-size: .98rem; color: var(--azul); font-weight: 600; max-width: 72ch; }

.vi-res .vi-lead { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px 40px; align-items: start; border-color: var(--eletrico); }
.vi-res .vi-lead[hidden], .vi-res .vi-completo[hidden] { display: none; }
.vi-lead h3 { font-size: 1.4rem; margin-bottom: 8px; }
.vi-lead > div:first-child p { font-size: .95rem; }
.vi-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.vi-campos label { display: flex; flex-direction: column; gap: 6px; font-size: .85rem; font-weight: 700; color: var(--azul); }
.vi-lgpd, .vi-lead .vi-erro, .vi-lead button { grid-column: 2; }
.vi-lgpd { font-size: .8rem; color: #6B778C; }
.vi-lead .vi-erro { margin-top: 0; }
.vi-lead button { font: inherit; font-weight: 700; border: none; cursor: pointer; justify-self: start; }

.vi-res .vi-completo { display: grid; gap: 40px; }
.vi-res > *, .vi-completo > * { min-width: 0; }
.vi-dims { list-style: none; display: grid; gap: 12px; }
.vi-dims li { display: grid; grid-template-columns: 220px 1fr 40px; gap: 16px; align-items: center; }
.vi-dims span { font-weight: 700; color: var(--azul); font-size: .95rem; }
.vi-dims small { display: block; font-family: var(--mono); font-size: .68rem; font-weight: 400; color: #6B778C; }
.vi-dims i { height: 10px; border-radius: 6px; background: var(--linha); position: relative; overflow: hidden; }
.vi-dims i::after { content: ""; position: absolute; inset: 0; width: calc(var(--v) * 100%); background: var(--eletrico); border-radius: 6px; }
.vi-dims .fraca i::after { background: #D98A00; }
.vi-dims b { font-size: 1.1rem; color: var(--azul); text-align: right; }
.vi-mini { margin-top: 14px; font-size: .82rem; color: #6B778C; max-width: 80ch; }
.vi-tab-wrap { overflow-x: auto; }
.vi-tab { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .93rem; }
.vi-tab th, .vi-tab td { padding: 12px 14px; text-align: right; border-bottom: 1px solid var(--linha); }
.vi-tab thead th { font-family: var(--mono); font-size: .72rem; font-weight: 500; text-transform: uppercase; letter-spacing: .05em; color: #6B778C; }
.vi-tab thead th:nth-child(3) { color: var(--eletrico); }
.vi-tab tbody th { text-align: left; font-weight: 600; color: var(--grafite); }
.vi-tab td { font-weight: 700; color: var(--azul); font-variant-numeric: tabular-nums; }
.vi-tab td:nth-child(3) { background: #EEF4FF; }
.vi-tab tr:last-child th, .vi-tab tr:last-child td { border-bottom: none; }
.vi-tab td.neg { color: #A61B1B; }
.vi-acoes { counter-reset: a; list-style: none; display: grid; gap: 12px; }
.vi-acoes li { counter-increment: a; position: relative; padding: 14px 16px 14px 52px; border: 1px solid var(--linha); border-radius: 12px; font-size: .95rem; }
.vi-acoes li::before { content: "0" counter(a); position: absolute; left: 16px; top: 14px; font-family: var(--mono); font-size: .78rem; color: var(--eletrico); }
.vi-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; background: var(--azul); border-radius: var(--raio); padding: 28px; }
.vi-cta h3 { color: var(--branco); font-size: 1.25rem; }
.vi-cta p { color: #C8D3E6; font-size: .93rem; max-width: 56ch; margin-top: 6px; }
.vi-refazer { justify-self: start; font: inherit; font-weight: 700; color: var(--eletrico); background: none; border: none; cursor: pointer; padding: 8px 0; text-decoration: underline; text-underline-offset: 4px; }
.vi-corpo .nota { margin-top: 28px; }

@media (max-width: 960px) {
  .menu a:not(.ativo) { border-bottom-color: var(--linha); }
  .vi-op, .vi-nums, .vi-op-4 { grid-template-columns: 1fr 1fr; }
  .vi-escada ol { grid-template-columns: 1fr 1fr; }
  .vi-escada li { min-height: 0 !important; }
  .vi-res .vi-lead { grid-template-columns: 1fr; }
  .vi-lgpd, .vi-lead .vi-erro, .vi-lead button { grid-column: 1; }
}
@media (max-width: 640px) {
  .vi-hero { padding: 48px 0 28px; }
  .vi-form, .vi-res > div, .vi-lead, .vi-completo { padding: 22px 18px; border-radius: 16px; }
  .vi-op, .vi-op-2, .vi-nums, .vi-nums-2, .vi-campos, .vi-escada ol, .vi-hoje { grid-template-columns: 1fr; }
  .vi-op-4 { grid-template-columns: 1fr 1fr; }
  .vi-nums .vi-p { min-height: 0; }
  .vi-passos li { font-size: .78rem; }
  .vi-passos li span { display: block; }
  .vi-hoje div { padding: 16px 0 0 !important; border-left: none !important; }
  .vi-dims li { grid-template-columns: 1fr 36px; gap: 6px 12px; }
  .vi-dims i { grid-column: 1 / -1; grid-row: 2; }
  .vi-nav .btn { flex: 1; }
  .vi-lead button, .vi-cta .btn { width: 100%; }
}

