/* Grupo Venora 360 — estilo comum a todas as páginas.
   Layout: site de holding — páginas claras e espaçosas sobre grade de 12 colunas; o Azul
   Profundo fica para aberturas, faixas de números e rodapé; o azul da marca só em detalhes. */
:root {
  --noite: #0B1222;
  --profundo: #0F172A;
  --venora: #2563EB;
  --neon: #38BDF8;
  --papel: #FFFFFF;
  --gelo: #F5F7FA;
  --tinta: #0F172A;
  --tinta-2: #3B4558;
  --tinta-3: #6B7588;
  --linha: #E3E7EE;
  --linha-escura: rgba(203, 213, 225, .14);
  --claro: #C9D2E0;
  --display: "Montserrat", "Segoe UI", system-ui, sans-serif;
  --texto: "Inter", "Segoe UI", system-ui, sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
body { background: var(--papel); color: var(--tinta); font-family: var(--texto); font-size: 16px; line-height: 1.65; margin: 0; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: var(--noite); }
.faixa { padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }
.miolo { max-width: 1240px; margin: 0 auto; }
h1, h2, h3, h4 { font-family: var(--display); text-wrap: balance; margin: 0; letter-spacing: -.02em; }
p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--venora); outline-offset: 4px; border-radius: 4px; }
.escuro :focus-visible, .topo :focus-visible, .rodape :focus-visible { outline-color: var(--neon); }
.num { font-variant-numeric: tabular-nums lining-nums; }

.marcador { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--tinta-3); display: flex; align-items: center; gap: 14px; }
.marcador::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.escuro .marcador { color: var(--claro); }
.link-seta { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; transition: gap .2s; }
.link-seta:hover { gap: 14px; }
.botao { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; font-size: 15px; text-decoration: none; padding: 15px 26px; border: 1px solid var(--tinta); background: var(--tinta); color: var(--papel); border-radius: 2px; transition: background .2s, color .2s; cursor: pointer; font-family: var(--texto); }
.botao:hover { background: transparent; color: var(--tinta); }
.escuro .botao { background: var(--papel); color: var(--tinta); border-color: var(--papel); }
.escuro .botao:hover { background: transparent; color: var(--papel); }
.botao.vazado { background: transparent; color: var(--tinta); }
.botao.vazado:hover { background: var(--tinta); color: var(--papel); }
.escuro .botao.vazado { background: transparent; color: var(--papel); border-color: rgba(255, 255, 255, .4); }
.escuro .botao.vazado:hover { background: var(--papel); color: var(--tinta); }

/* Topo */
.topo { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: var(--noite); color: var(--papel); border-bottom: 1px solid var(--linha-escura); }
.topo .miolo { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 16px; }
.marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--papel); }
.marca img { height: 30px; width: auto; }
.marca .nome { font-family: var(--display); font-weight: 800; letter-spacing: .26em; font-size: 15px; }
.marca .grupo { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--claro); border-left: 1px solid var(--linha-escura); padding-left: 12px; }
.menu { display: flex; align-items: center; gap: 30px; font-size: 14px; color: var(--claro); }
.menu a { text-decoration: none; transition: color .2s; position: relative; padding-block: 6px; }
.menu a:hover, .menu a[aria-current="page"] { color: var(--papel); }
.menu a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--neon); }
.menu .contato-topo { color: var(--papel); border: 1px solid rgba(255, 255, 255, .35); padding: 9px 18px; border-radius: 2px; }
.menu .contato-topo:hover { border-color: var(--papel); }
.menu .contato-topo[aria-current="page"]::after { display: none; }
.abrir-menu { display: none; background: none; border: 1px solid rgba(255, 255, 255, .35); color: var(--papel); border-radius: 2px; padding: 8px 12px; font: 600 13px var(--texto); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
@media (max-width: 1080px) {
  .marca .grupo { display: none; }
  .abrir-menu { display: inline-flex; }
  .menu { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--noite); flex-direction: column; align-items: stretch; gap: 0; padding: 8px max(20px, env(safe-area-inset-right, 0px)) 24px max(20px, env(safe-area-inset-left, 0px)); border-bottom: 1px solid var(--linha-escura); }
  .topo.aberto .menu { display: flex; }
  .menu a { padding-block: 14px; border-bottom: 1px solid var(--linha-escura); font-size: 16px; }
  .menu a[aria-current="page"]::after { display: none; }
  .menu a[aria-current="page"] { color: var(--neon); }
  .menu .contato-topo { margin-top: 16px; text-align: center; }
}

/* Abertura da home */
.abertura { position: relative; overflow: hidden; background: var(--noite); color: var(--papel); }
.abertura::before, .cabecalho::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(var(--linha-escura) 1px, transparent 1px), linear-gradient(90deg, var(--linha-escura) 1px, transparent 1px); background-size: 96px 96px; mask-image: radial-gradient(90% 90% at 70% 40%, #000 20%, transparent 75%); -webkit-mask-image: radial-gradient(90% 90% at 70% 40%, #000 20%, transparent 75%); opacity: .7; }
.abertura::after, .cabecalho::after { content: ""; position: absolute; width: 900px; height: 900px; right: -260px; top: -220px; border-radius: 50%; background: radial-gradient(closest-side, rgba(37, 99, 235, .38), transparent); }
.abertura .simbolo { position: absolute; right: max(-60px, calc((100vw - 1240px) / 2 - 40px)); top: 44%; width: min(44vw, 540px); transform: translateY(-50%); z-index: 1; filter: drop-shadow(0 30px 80px rgba(37, 99, 235, .35)); clip-path: circle(48% at 50% 50%); }
.abertura .miolo { position: relative; z-index: 2; padding-block: 128px 0; }
.abertura h1 { font-weight: 700; font-size: clamp(42px, 7vw, 96px); line-height: 1.0; max-width: 12ch; margin-top: 28px; }
.abertura h1 .gira { display: inline-block; color: transparent; background: linear-gradient(95deg, #93C5FD, var(--neon)); -webkit-background-clip: text; background-clip: text; transition: opacity .45s, transform .45s; }
.abertura h1 .gira.saindo { opacity: 0; transform: translateY(12px); }
.abertura .lead { font-size: clamp(17px, 1.6vw, 20px); color: var(--claro); max-width: 46ch; margin-top: 30px; font-weight: 300; line-height: 1.6; }
.abertura .acoes { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 44px; }
.indicadores { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 120px; border-top: 1px solid var(--linha-escura); }
.indicador { padding: 32px 28px 40px 0; display: grid; gap: 6px; min-width: 0; }
.indicador + .indicador { padding-left: 28px; border-left: 1px solid var(--linha-escura); }
.indicador b { font-family: var(--display); font-weight: 600; font-size: clamp(32px, 3.8vw, 52px); line-height: 1; letter-spacing: -.02em; }
.indicador b small { font-size: .46em; font-weight: 600; color: var(--claro); margin-right: 4px; }
.indicador span { font-size: 14px; color: var(--claro); }
@media (max-width: 900px) {
  .abertura .simbolo { position: relative; right: auto; top: auto; transform: none; width: 170px; display: block; }
  .abertura .miolo { padding-block: 40px 0; }
  .indicadores { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 64px; }
  .indicador:nth-child(3) { padding-left: 0; border-left: 0; }
  .indicador:nth-child(n+3) { border-top: 1px solid var(--linha-escura); }
}

/* Cabeçalho das páginas internas */
.cabecalho { position: relative; overflow: hidden; background: var(--noite); color: var(--papel); }
.cabecalho .miolo { position: relative; z-index: 2; padding-block: 112px 96px; }
.cabecalho h1 { font-weight: 700; font-size: clamp(38px, 5.6vw, 76px); line-height: 1.03; max-width: 16ch; margin-top: 26px; }
.cabecalho .lead { font-size: clamp(17px, 1.5vw, 20px); color: var(--claro); max-width: 52ch; margin-top: 26px; font-weight: 300; }
.trilha { font-size: 13px; color: var(--claro); display: flex; gap: 10px; }
.trilha a { text-decoration: none; }
.trilha a:hover { color: var(--papel); }
@media (max-width: 760px) { .cabecalho .miolo { padding-block: 64px 56px; } }

/* Seções */
.secao > .miolo { padding-block: 128px; }
.secao.cinza { background: var(--gelo); }
.secao.escuro { background: var(--noite); color: var(--papel); }
@media (max-width: 760px) { .secao > .miolo { padding-block: 80px; } }
.grade { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; }
.titulo-secao { font-weight: 700; font-size: clamp(32px, 4.4vw, 58px); line-height: 1.06; margin-top: 22px; }
.texto { color: var(--tinta-2); font-size: 18px; line-height: 1.7; max-width: 60ch; }
.texto + .texto { margin-top: 20px; }
.escuro .texto { color: var(--claro); }
.cabeca-linha { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 24px 48px; }
.cabeca-linha .texto { max-width: 44ch; font-size: 17px; }

/* Pilares da home (4 frentes com "Saiba mais") */
.pilares { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 72px; border-top: 1px solid var(--tinta); }
.pilar { padding: 36px 28px 12px 0; display: grid; gap: 14px; align-content: start; text-decoration: none; min-width: 0; }
.pilar + .pilar { padding-left: 28px; border-left: 1px solid var(--linha); }
.pilar .area { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--venora); }
.pilar h3 { font-weight: 700; font-size: 26px; line-height: 1.15; }
.pilar p { color: var(--tinta-2); }
.pilar .mais { font-weight: 600; font-size: 14px; margin-top: 8px; display: inline-flex; gap: 8px; transition: gap .2s; }
.pilar:hover .mais { gap: 14px; }
@media (max-width: 1000px) { .pilares { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pilar:nth-child(3) { padding-left: 0; border-left: 0; } .pilar:nth-child(n+3) { border-top: 1px solid var(--linha); } }
@media (max-width: 560px) { .pilares { grid-template-columns: 1fr; } .pilar, .pilar + .pilar { padding: 32px 0 16px; border-left: 0; } .pilar + .pilar { border-top: 1px solid var(--linha); } }

/* Diferenciais */
.diferenciais { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin-top: 72px; }
.diferencial { display: grid; gap: 14px; align-content: start; padding-top: 28px; border-top: 2px solid var(--venora); min-width: 0; }
.diferencial h3 { font-size: 24px; font-weight: 700; }
.diferencial p { color: var(--tinta-2); }
@media (max-width: 900px) { .diferenciais { grid-template-columns: 1fr; gap: 36px; } }

/* Empresas do grupo */
.empresas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 56px; border-top: 1px solid var(--linha); border-left: 1px solid var(--linha); }
.empresa { border-right: 1px solid var(--linha); border-bottom: 1px solid var(--linha); padding: 28px 24px; min-height: 150px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; background: var(--papel); transition: background .25s; min-width: 0; }
.empresa:hover { background: var(--gelo); }
.empresa b { font-family: var(--display); font-weight: 700; font-size: 20px; letter-spacing: -.01em; }
.empresa span { font-size: 13px; color: var(--tinta-3); line-height: 1.45; }
.empresa.nos { background: var(--noite); color: var(--papel); }
.empresa.nos span { color: var(--claro); }
@media (max-width: 1000px) { .empresas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .empresas { grid-template-columns: repeat(2, minmax(0, 1fr)); } .empresa { padding: 22px 16px; min-height: 120px; } .empresa b { font-size: 17px; } }

/* Clientes */
.clientes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 72px; border-top: 1px solid var(--tinta); }
.cliente { padding: 36px 28px 36px 0; display: grid; gap: 22px; align-content: start; min-width: 0; }
.cliente + .cliente { padding-left: 28px; border-left: 1px solid var(--linha); }
.marca-cliente { font-family: var(--display); font-weight: 800; font-size: 26px; letter-spacing: .02em; height: 34px; display: flex; align-items: center; }
.marca-cliente.fiat { font-style: italic; letter-spacing: .1em; }
.marca-cliente.tml { font-size: 17px; letter-spacing: .22em; font-weight: 600; }
.marca-cliente.f1 { font-style: italic; }
.cliente b { font-family: var(--display); font-weight: 600; font-size: clamp(38px, 4vw, 54px); line-height: 1; }
.cliente b + span { font-size: 14px; color: var(--tinta-3); margin-top: -14px; }
.cliente p { font-size: 14.5px; color: var(--tinta-2); border-top: 1px solid var(--linha); padding-top: 16px; }
.cliente ul { font-size: 14.5px; color: var(--tinta-2); border-top: 1px solid var(--linha); }
.cliente li { padding-block: 10px; border-bottom: 1px solid var(--linha); }
.total { display: flex; align-items: baseline; gap: 16px; }
.total b { font-family: var(--display); font-weight: 600; font-size: clamp(40px, 5vw, 64px); line-height: 1; }
.total span { color: var(--tinta-3); }
@media (max-width: 1000px) { .clientes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cliente:nth-child(3) { padding-left: 0; border-left: 0; } .cliente:nth-child(n+3) { border-top: 1px solid var(--linha); } }
@media (max-width: 560px) { .clientes { grid-template-columns: 1fr; } .cliente, .cliente + .cliente { padding: 32px 0; border-left: 0; } .cliente + .cliente { border-top: 1px solid var(--linha); } }

/* Chamada final */
.chamada .miolo { padding-block: 120px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 40px; position: relative; z-index: 2; }
.chamada { position: relative; overflow: hidden; background: var(--noite); color: var(--papel); }
.chamada::after { content: ""; position: absolute; width: 760px; height: 760px; left: -200px; bottom: -480px; border-radius: 50%; background: radial-gradient(closest-side, rgba(37, 99, 235, .45), transparent); }
.chamada h2 { font-weight: 700; font-size: clamp(36px, 5.4vw, 72px); line-height: 1.02; max-width: 14ch; }
.chamada .acoes { display: flex; flex-wrap: wrap; gap: 14px; }
@media (max-width: 760px) { .chamada .miolo { padding-block: 80px; } }

/* Quem somos */
.historia-intro { grid-column: 1 / span 5; }
.historia-texto { grid-column: 7 / span 6; align-self: end; }
.citacao { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--linha); font-family: var(--display); font-weight: 600; font-size: clamp(20px, 2vw, 25px); line-height: 1.35; letter-spacing: -.01em; }
.foto-larga { grid-column: 1 / -1; margin-top: 88px; }
.foto-larga img { width: 100%; height: clamp(320px, 46vw, 600px); object-fit: cover; object-position: 50% 45%; display: block; }
.foto-larga figcaption { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--tinta-3); margin-top: 14px; }
@media (max-width: 900px) { .historia-intro, .historia-texto { grid-column: 1 / -1; } .historia-texto { margin-top: 32px; } .foto-larga { margin-top: 56px; } }
.valores { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 72px; border-top: 1px solid var(--linha-escura); }
.valor { padding: 32px 28px 8px 0; display: grid; gap: 12px; align-content: start; min-width: 0; }
.valor + .valor { padding-left: 28px; border-left: 1px solid var(--linha-escura); }
.valor h3 { font-size: 22px; font-weight: 700; }
.valor p { color: var(--claro); font-size: 15.5px; }
@media (max-width: 1000px) { .valores { grid-template-columns: repeat(2, minmax(0, 1fr)); } .valor:nth-child(3) { padding-left: 0; border-left: 0; } .valor:nth-child(n+3) { border-top: 1px solid var(--linha-escura); margin-top: 24px; } }
@media (max-width: 560px) { .valores { grid-template-columns: 1fr; } .valor, .valor + .valor { padding: 28px 0 8px; border-left: 0; } .valor + .valor { border-top: 1px solid var(--linha-escura); } }

/* Pessoas */
.lideranca, .equipe { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: 64px; }
.equipe { padding-top: 48px; border-top: 1px solid var(--linha); }
.rotulo-grupo { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--tinta-3); grid-column: 1 / -1; margin-bottom: -8px; }
.pessoa { display: grid; gap: 16px; align-content: start; min-width: 0; }
.pessoa .retrato { aspect-ratio: 4 / 5; max-width: 100%; overflow: hidden; background: var(--gelo); }
.pessoa img { width: 100%; height: 100%; object-fit: cover; display: block; filter: grayscale(1) contrast(1.04); transition: filter .5s, transform .6s; }
.pessoa:hover img { filter: grayscale(0); transform: scale(1.02); }
.pessoa .iniciais { width: 100%; height: 100%; display: grid; place-items: center; background: var(--profundo); color: var(--papel); font-family: var(--display); font-weight: 700; font-size: 48px; letter-spacing: .06em; }
.pessoa b { font-family: var(--display); font-weight: 700; font-size: 18px; line-height: 1.25; display: block; }
.pessoa span { font-size: 14px; color: var(--tinta-3); }
.equipe .pessoa .retrato { aspect-ratio: 1; }
.equipe .pessoa b { font-size: 16px; }
@media (max-width: 900px) { .lideranca, .equipe { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }

/* Páginas de negócio */
.produtos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 64px; margin-top: 72px; border-top: 1px solid var(--tinta); }
.produto { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 24px; padding-block: 36px; border-bottom: 1px solid var(--linha); min-width: 0; }
.produto h3 { font-size: 24px; font-weight: 700; }
.produto .area { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--venora); margin-top: 10px; display: block; }
.produto ul { display: grid; gap: 10px; color: var(--tinta-2); }
.produto li { padding-left: 22px; position: relative; }
.produto li::before { content: ""; position: absolute; left: 0; top: 11px; width: 10px; height: 1px; background: var(--venora); }
@media (max-width: 900px) { .produtos { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .produto { grid-template-columns: 1fr; gap: 14px; } }

.operadoras { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 40px; border-top: 1px solid var(--linha); border-left: 1px solid var(--linha); }
.operadora { border-right: 1px solid var(--linha); border-bottom: 1px solid var(--linha); padding: 30px 24px; display: grid; gap: 6px; background: var(--papel); min-width: 0; }
.operadora b { font-family: var(--display); font-weight: 700; font-size: 21px; }
.operadora span { font-size: 13.5px; color: var(--tinta-3); }
.sub-bloco { font-family: var(--display); font-weight: 700; font-size: 24px; margin-top: 80px; display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.sub-bloco span { font-family: var(--texto); font-size: 14px; font-weight: 400; color: var(--tinta-3); }
.sub-bloco:first-of-type { margin-top: 64px; }
@media (max-width: 900px) { .operadoras { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.criterios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 64px; border-top: 1px solid var(--linha-escura); }
.criterio { padding: 32px 28px 0 0; display: grid; gap: 10px; min-width: 0; }
.criterio + .criterio { padding-left: 28px; border-left: 1px solid var(--linha-escura); }
.criterio h3 { font-size: 22px; font-weight: 700; }
.criterio p { color: var(--claro); }
@media (max-width: 760px) { .criterios { grid-template-columns: 1fr; } .criterio, .criterio + .criterio { padding: 28px 0 0; border-left: 0; } .criterio + .criterio { border-top: 1px solid var(--linha-escura); margin-top: 28px; } }

/* Motor de vendas */
.capacidades { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 64px; margin-top: 64px; border-top: 1px solid var(--tinta); counter-reset: cap; }
.capacidades li { counter-increment: cap; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding-block: 22px; border-bottom: 1px solid var(--linha); font-size: 18px; font-weight: 500; }
.capacidades li::before { content: counter(cap, decimal-leading-zero); font-family: var(--display); font-weight: 600; font-size: 14px; color: var(--venora); font-variant-numeric: tabular-nums; }
.capacidades li em { font-style: normal; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--venora); }
@media (max-width: 760px) { .capacidades { grid-template-columns: 1fr; } .capacidades li { font-size: 16px; } }

.atuacao { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: start; }
.ciclo { counter-reset: etapa; border-top: 1px solid var(--linha-escura); }
.ciclo li { counter-increment: etapa; display: grid; grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1.2fr); gap: 20px; padding-block: 22px; border-bottom: 1px solid var(--linha-escura); align-items: baseline; }
.ciclo li::before { content: counter(etapa, decimal-leading-zero); font-family: var(--display); font-weight: 600; font-size: 14px; color: var(--neon); font-variant-numeric: tabular-nums; }
.ciclo b { font-family: var(--display); font-weight: 600; font-size: 19px; }
.ciclo span { color: var(--claro); font-size: 15px; }
.resultado { margin-top: 48px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--linha-escura); }
.resultado div { padding: 24px 24px 0 0; display: grid; gap: 4px; }
.resultado div + div { padding-left: 24px; border-left: 1px solid var(--linha-escura); }
.resultado b { font-family: var(--display); font-weight: 600; font-size: 40px; line-height: 1; }
.resultado span { color: var(--claro); font-size: 14px; }
.resultado .nota { grid-column: 1 / -1; padding: 16px 0 0; border: 0; font-size: 13px; color: var(--claro); opacity: .8; }
@media (max-width: 980px) { .atuacao { grid-template-columns: 1fr; gap: 48px; } }
@media (max-width: 560px) { .ciclo li { grid-template-columns: 44px minmax(0, 1fr); } .ciclo span { grid-column: 2; } }

.compara { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-top: 64px; border-top: 1px solid var(--tinta); }
.lado { padding: 36px 40px 8px 0; display: grid; gap: 18px; align-content: start; min-width: 0; }
.lado + .lado { padding-left: 40px; border-left: 1px solid var(--linha); }
.lado p { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--tinta-3); }
.lado.depois p { color: var(--venora); }
.lado ul { display: grid; gap: 0; border-top: 1px solid var(--linha); }
.lado li { padding-block: 14px; border-bottom: 1px solid var(--linha); font-size: 17px; }
.lado.antes li { color: var(--tinta-3); text-decoration: line-through; text-decoration-color: rgba(107, 117, 136, .5); }
.lado.depois li { font-weight: 500; }
@media (max-width: 760px) { .compara { grid-template-columns: 1fr; } .lado, .lado + .lado { padding: 32px 0 8px; border-left: 0; } }

.implantacao { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 64px; border-top: 1px solid var(--tinta); counter-reset: passo; }
.implantacao li { counter-increment: passo; padding: 32px 28px 0 0; display: grid; gap: 10px; align-content: start; min-width: 0; }
.implantacao li + li { padding-left: 28px; border-left: 1px solid var(--linha); }
.implantacao li::before { content: "Passo " counter(passo, decimal-leading-zero); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--venora); }
.implantacao h3 { font-size: 22px; font-weight: 700; }
.implantacao p { color: var(--tinta-2); }
.implantacao .prazo { font-family: var(--display); font-weight: 600; font-size: 56px; line-height: 1; }
.implantacao .prazo small { font-size: 18px; font-weight: 600; color: var(--tinta-3); margin-left: 6px; }
@media (max-width: 760px) { .implantacao { grid-template-columns: 1fr; } .implantacao li, .implantacao li + li { padding: 28px 0 0; border-left: 0; } .implantacao li + li { border-top: 1px solid var(--linha); margin-top: 28px; } }

/* Contato */
.contato-grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 80px; align-items: start; }
.canais { border-top: 1px solid var(--tinta); }
.canal { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding-block: 24px; border-bottom: 1px solid var(--linha); text-decoration: none; transition: padding .25s; }
.canal:hover { padding-left: 8px; }
.canal small { display: block; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--tinta-3); }
.canal b { font-family: var(--display); font-weight: 600; font-size: 22px; letter-spacing: -.01em; }
.canal svg { width: 22px; height: 22px; color: var(--venora); }
.formulario { display: grid; gap: 20px; }
.formulario h2 { font-size: 28px; font-weight: 700; }
.campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.campo { display: grid; gap: 8px; min-width: 0; }
.campo.largo { grid-column: 1 / -1; }
.campo label { font-size: 13px; font-weight: 600; color: var(--tinta-2); }
.campo input, .campo select, .campo textarea { font: 16px var(--texto); color: var(--tinta); background: var(--papel); border: 1px solid #CBD2DD; border-radius: 2px; padding: 13px 14px; width: 100%; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--venora); box-shadow: 0 0 0 3px rgba(37, 99, 235, .15); }
.formulario .aviso { font-size: 13px; color: var(--tinta-3); }
@media (max-width: 900px) { .contato-grade { grid-template-columns: 1fr; gap: 56px; } }
@media (max-width: 560px) { .campos { grid-template-columns: 1fr; } }

/* Rodapé */
.rodape { background: var(--noite); color: var(--claro); }
.rodape .miolo { padding-block: 72px 40px; }
.rodape .colunas { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: 40px; }
.rodape h4 { margin: 0 0 16px; font-family: var(--texto); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--papel); }
.rodape li { font-size: 14px; padding-block: 4px; font-weight: 300; }
.rodape a { text-decoration: none; }
.rodape a:hover { color: var(--papel); }
.rodape .assinatura { font-size: 14px; font-weight: 300; max-width: 34ch; margin-top: 18px; }
.rodape .legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--linha-escura); font-size: 12.5px; font-weight: 300; }
@media (max-width: 900px) { .rodape .colunas { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rodape .colunas > div:first-child { grid-column: 1 / -1; } }

/* Nosso espaço — tour virtual pela sede */
.tour-secao { background: var(--noite); color: var(--papel); }
.tour-secao > .miolo { padding-block: 96px 112px; }
.tour { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; margin-top: 48px; align-items: start; }
.tour > * { min-width: 0; }
.tour-secao .texto { color: var(--claro); }
.palco { position: relative; aspect-ratio: 16 / 10; max-width: 100%; overflow: hidden; background: var(--profundo); cursor: grab; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.palco.arrastando { cursor: grabbing; }
.palco .camada { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform-origin: 50% 50%; opacity: 0; transition: opacity .7s ease; pointer-events: none; -webkit-user-drag: none; }
.palco .camada.ativa { opacity: 1; }
.palco::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(11, 18, 34, .92) 0%, rgba(11, 18, 34, .35) 34%, transparent 58%), linear-gradient(to bottom, rgba(11, 18, 34, .55), transparent 22%); }
.palco-topo { position: absolute; z-index: 3; top: 18px; left: 20px; right: 20px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.palco-topo .onde { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--claro); }
.palco-topo .onde b { color: var(--papel); font-weight: 600; }
.controles { display: flex; gap: 8px; }
.ctl { appearance: none; border: 1px solid rgba(255, 255, 255, .28); background: rgba(11, 18, 34, .55); color: var(--papel); font: 600 12px var(--texto); letter-spacing: .06em; padding: 9px 14px; border-radius: 2px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: background .2s, border-color .2s; }
.ctl:hover { background: rgba(37, 99, 235, .7); border-color: var(--venora); }
.ctl svg { width: 16px; height: 16px; }
.palco-base { position: absolute; z-index: 3; left: 28px; right: 28px; bottom: 26px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px 32px; align-items: end; }
.palco-base h3 { font-size: clamp(26px, 3.4vw, 44px); font-weight: 700; line-height: 1.05; }
.palco-base p { color: var(--claro); max-width: 52ch; margin-top: 12px; font-size: 15.5px; line-height: 1.6; }
.angulos { display: flex; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.angulo { appearance: none; padding: 0; border: 2px solid transparent; width: 64px; height: 42px; background: var(--profundo) center / cover no-repeat; cursor: pointer; opacity: .6; transition: opacity .2s, border-color .2s; border-radius: 2px; }
.angulo:hover { opacity: 1; }
.angulo[aria-pressed="true"] { opacity: 1; border-color: var(--neon); }
.passos { display: flex; gap: 8px; }
.passo { appearance: none; width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .4); background: rgba(11, 18, 34, .5); color: var(--papel); cursor: pointer; display: grid; place-items: center; transition: background .2s, border-color .2s; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.passo:hover { background: var(--venora); border-color: var(--venora); }
.passo svg { width: 20px; height: 20px; }
.dica { position: absolute; z-index: 3; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 12px; padding: 12px 20px; background: rgba(11, 18, 34, .62); border: 1px solid rgba(255, 255, 255, .22); border-radius: 40px; font-size: 13.5px; font-weight: 500; pointer-events: none; transition: opacity .6s; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.dica svg { width: 22px; height: 22px; }
.dica.some { opacity: 0; }
.bussola { position: absolute; z-index: 3; left: 28px; right: 28px; bottom: 0; height: 3px; background: rgba(255, 255, 255, .12); }
.bussola i { position: absolute; top: 0; bottom: 0; width: 18%; background: var(--neon); }
.palco:fullscreen { aspect-ratio: auto; width: 100vw; height: 100vh; }
.roteiro { border-top: 1px solid var(--linha-escura); counter-reset: amb; max-height: none; }
.roteiro li { counter-increment: amb; }
.roteiro button { appearance: none; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--linha-escura); color: var(--claro); font: 500 15px var(--texto); padding: 13px 0; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 8px; align-items: baseline; cursor: pointer; transition: color .2s, padding .2s; }
.roteiro button::before { content: counter(amb, decimal-leading-zero); font: 600 12px var(--display); color: var(--tinta-3); font-variant-numeric: tabular-nums; }
.roteiro button::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: transparent; align-self: center; }
.roteiro button:hover { color: var(--papel); padding-left: 6px; }
.roteiro button[aria-current="true"] { color: var(--papel); font-weight: 600; }
.roteiro button[aria-current="true"]::before { color: var(--neon); }
.roteiro button[aria-current="true"]::after { background: var(--neon); }
.roteiro-titulo { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--claro); margin-bottom: 14px; }
.tour-nota { font-size: 13px; color: var(--tinta-3); margin-top: 18px; }
@media (max-width: 1000px) {
  .tour { grid-template-columns: 1fr; }
  .roteiro { display: flex; overflow-x: auto; gap: 8px; border-top: 0; padding-bottom: 6px; scrollbar-width: thin; }
  .roteiro button { white-space: nowrap; border: 1px solid var(--linha-escura); border-radius: 30px; padding: 9px 16px; grid-template-columns: auto auto; }
  .roteiro button::after { display: none; }
  .roteiro button:hover { padding-left: 16px; }
  .roteiro button[aria-current="true"] { border-color: var(--neon); }
}
@media (max-width: 640px) {
  .palco { aspect-ratio: 3 / 4; }
  .dica { top: 30%; white-space: nowrap; font-size: 12.5px; padding: 10px 16px; }
  .palco-base { left: 18px; right: 18px; bottom: 20px; grid-template-columns: 1fr; }
  .palco-base p { font-size: 14.5px; }
  .passos { justify-content: space-between; }
  .ctl .rotulo { display: none; }
  .bussola { left: 18px; right: 18px; }
}

.ambientes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 56px; border-top: 1px solid var(--tinta); }
.ambientes li { padding: 22px 20px 22px 0; border-bottom: 1px solid var(--linha); font-family: var(--display); font-weight: 600; font-size: 17px; min-width: 0; }
@media (max-width: 900px) { .ambientes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.galeria { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 56px; }
.galeria button { appearance: none; padding: 0; border: 0; background: var(--gelo); cursor: pointer; aspect-ratio: 3 / 2; overflow: hidden; position: relative; display: block; width: 100%; }
.galeria img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.galeria button:hover img { transform: scale(1.05); }
.galeria span { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 12px 10px; font-size: 12.5px; font-weight: 600; color: var(--papel); text-align: left; background: linear-gradient(transparent, rgba(11, 18, 34, .8)); }
.galeria .grande { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
@media (max-width: 760px) { .galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.endereco { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.endereco img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.endereco address { font-style: normal; font-family: var(--display); font-weight: 600; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.3; margin-top: 24px; letter-spacing: -.01em; }
.endereco .cep { display: block; font-family: var(--texto); font-weight: 500; font-size: 15px; color: var(--tinta-3); margin-top: 12px; letter-spacing: 0; }
.endereco .acoes { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 900px) { .endereco { grid-template-columns: 1fr; gap: 40px; } }

/* Home — chamada para o espaço */
.vitrine { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto auto; gap: 8px; margin-top: 56px; }
.vitrine a { position: relative; display: block; overflow: hidden; }
.vitrine img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.vitrine a:hover img { transform: scale(1.04); }
.vitrine .principal { grid-row: span 2; aspect-ratio: 4 / 3; }
.vitrine a:not(.principal) { aspect-ratio: 16 / 9; }
.vitrine .selo { position: absolute; left: 24px; bottom: 22px; display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; background: var(--papel); color: var(--tinta); font-weight: 600; font-size: 14px; }
@media (max-width: 760px) { .vitrine { grid-template-columns: 1fr; } .vitrine .principal { grid-row: auto; } }

/* Saúde — identidade 360S2 (referência: 360s2.com.br/operadoras-seguradoras).
   Space Grotesk nos títulos, trecho em degradê petróleo → violeta → magenta, cartões claros arredondados. */
.s2 { --s2-tinta: #17151c; --s2-corpo: #686571; --s2-fundo: #f7f7f8; --s2-tom: #f0eef4; --s2-linha: #e5e2eb; --s2-petroleo: #0d7d7d; --s2-verde: #0d3a3a; --s2-grad: linear-gradient(110deg, #0d7d7d 3%, #6a4cf5 55%, #c336dd); --s2-grad-claro: linear-gradient(110deg, #f472b6, #a78bfa 55%, #60a5fa); --s2-titulo: "Space Grotesk", "Segoe UI", system-ui, sans-serif; background: var(--papel); color: var(--s2-tinta); }
.s2 h1, .s2 h2, .s2 h3 { font-family: var(--s2-titulo); font-weight: 500; letter-spacing: -.03em; }
.s2-grad { background: var(--s2-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.s2-grad.claro { background-image: var(--s2-grad-claro); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.s2 .trilha { color: var(--s2-corpo); justify-content: center; }
.s2 .trilha a:hover { color: var(--s2-tinta); }
.s2-abertura { background: linear-gradient(to bottom, var(--papel) 0, var(--papel) 58%, #d7ebe7 82%, #8fc4bb 100%); }
.s2-abertura .miolo { padding-block: 56px 120px; text-align: center; }
.s2-logo { display: block; width: 160px; height: auto; margin: 40px auto 0; }
.s2-abertura h1 { font-size: clamp(36px, 4.6vw, 60px); line-height: 1.08; margin-top: 36px; }
.s2-lead { font-size: clamp(16px, 1.3vw, 18px); line-height: 1.7; color: var(--s2-tinta); margin-top: 22px; }
.s2-grade { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; max-width: 1020px; margin: 56px auto 0; }
.s2-card { appearance: none; width: 100%; height: 104px; border: 1px solid var(--s2-linha); border-radius: 24px; background: var(--s2-fundo); display: grid; place-items: center; padding: 10px 18px; cursor: pointer; box-shadow: 0 1px 2px rgba(23, 21, 28, .04); transition: transform .25s, box-shadow .25s, background .25s; }
.s2-card:hover { transform: translateY(-3px); background: var(--papel); box-shadow: 0 14px 30px -12px rgba(13, 58, 58, .28); }
.s2-card { overflow: hidden; }
.s2-card img { max-width: 100%; max-height: 84px; object-fit: contain; display: block; mix-blend-mode: multiply; transform: scale(var(--z, 1)); }
.s2-card:focus-visible { outline: 2px solid var(--s2-petroleo); outline-offset: 3px; }
@media (max-width: 900px) { .s2-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .s2-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .s2-card { height: 88px; border-radius: 18px; } }

.s2-criterios { background: #8fc4bb; background: linear-gradient(to bottom, #8fc4bb, #3f8a80); color: var(--papel); }
.s2-criterios .miolo { padding-block: 24px 96px; }
.s2-criterios h2 { font-size: clamp(30px, 3.6vw, 46px); text-align: center; color: var(--s2-verde); }
.s2-criterios .s2-grad { background-image: linear-gradient(110deg, #0d3a3a, #4c3a99 60%, #8a2f82); }
.s2-tres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 48px; }
.s2-tres > div { background: rgba(255, 255, 255, .9); color: var(--s2-tinta); border-radius: 24px; padding: 30px 28px; display: grid; gap: 10px; align-content: start; min-width: 0; }
.s2-tres b { font-family: var(--s2-titulo); font-weight: 600; font-size: 14px; background: var(--s2-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.s2-tres h3 { font-size: 24px; }
.s2-tres p { color: var(--s2-corpo); font-size: 15.5px; }
@media (max-width: 760px) { .s2-tres { grid-template-columns: 1fr; } }

.s2-final { background: linear-gradient(to bottom, #3f8a80, #0d3a3a 70%, #0a2626); color: var(--papel); text-align: center; }
.s2-final .miolo { padding-block: 72px 112px; }
.s2-final h2 { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.08; }
.s2-final p { margin-top: 18px; font-size: 17px; color: rgba(255, 255, 255, .86); }
.s2-botao { display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border-radius: 999px; font: 600 15px var(--texto); text-decoration: none; color: #fff; background: var(--s2-grad); box-shadow: 0 10px 24px -10px rgba(106, 76, 245, .6); transition: transform .2s, box-shadow .2s; }
.s2-botao:hover { transform: translateY(-2px); }
.s2-botao svg { width: 18px; height: 18px; }
.s2-botao.escuro { background: #0f5a43; box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .5); margin-top: 32px; }
.s2-botao.escuro:hover { background: #0c4c39; }

.s2-janela { width: min(680px, calc(100vw - 32px)); max-height: calc(100vh - 32px); border: 0; border-radius: 28px; padding: 28px 26px 26px; color: var(--s2-tinta); background: var(--papel); box-shadow: 0 30px 80px -20px rgba(10, 7, 40, .45); }
.s2-janela::backdrop { background: rgba(23, 21, 28, .45); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.s2-fechar { position: absolute; top: 16px; right: 16px; width: 44px; height: 44px; border-radius: 50%; border: 2px solid #7b35a0; background: var(--papel); color: var(--s2-tinta); font-size: 22px; line-height: 1; cursor: pointer; }
.s2-fechar:hover { background: var(--s2-tom); }
.s2-janela-logo { mix-blend-mode: multiply; transform: scale(var(--z, 1)); display: block; height: 96px; width: auto; max-width: 70%; object-fit: contain; margin: 0 auto; }
.s2-sobre { text-align: center; font-size: 15.5px; line-height: 1.6; margin: 12px auto 0; max-width: 56ch; }
.s2-itens { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.s2-itens li { border: 1px solid var(--s2-linha); background: var(--s2-fundo); border-radius: 12px; padding: 13px 15px; font-size: 14px; line-height: 1.5; display: flex; align-items: center; min-width: 0; }
.s2-rede { display: table; margin: 22px auto 0; color: var(--s2-tinta); font-size: 15px; text-underline-offset: 4px; text-decoration-color: #7b35a0; }
.s2-rede[hidden] { display: none; }
.s2-rodape-janela { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--s2-linha); display: flex; justify-content: flex-end; }
@media (max-width: 560px) { .s2-itens { grid-template-columns: 1fr; } .s2-rodape-janela { justify-content: stretch; } .s2-rodape-janela .s2-botao { width: 100%; justify-content: center; } }

/* Telecom — identidade Vivo Empresas: roxo Vivo, fundo lilás claro, cartões arredondados e botões em pílula. */
.vv { --vv-roxo: #660099; --vv-roxo-2: #8a1fc4; --vv-escuro: #3d005c; --vv-lilas: #f6f0fa; --vv-lilas-2: #ead9f5; --vv-tinta: #1f1f24; --vv-corpo: #5b5b66; --vv-rosa: #eb3c7d; --vv-titulo: "Poppins", "Segoe UI", system-ui, sans-serif; background: var(--papel); color: var(--vv-tinta); }
.vv h1, .vv h2, .vv h3 { font-family: var(--vv-titulo); letter-spacing: -.02em; }
.vv-abertura { position: relative; overflow: hidden; color: #fff; background: radial-gradient(120% 140% at 85% 10%, #a43ee6 0%, transparent 45%), linear-gradient(120deg, var(--vv-escuro) 0%, var(--vv-roxo) 55%, var(--vv-roxo-2) 100%); }
.vv-abertura::after { content: ""; position: absolute; width: 520px; height: 520px; right: -140px; bottom: -260px; border-radius: 50%; border: 70px solid rgba(255, 255, 255, .08); pointer-events: none; }
.vv-abertura .miolo { position: relative; z-index: 1; padding-block: 64px 104px; }
.vv .trilha { color: rgba(255, 255, 255, .72); }
.vv .trilha a:hover { color: #fff; }
.vv-selo { display: inline-block; margin-top: 44px; padding: 7px 16px; border-radius: 999px; background: rgba(255, 255, 255, .14); font: 600 13px var(--vv-titulo); letter-spacing: .02em; }
.vv-abertura h1 { font-weight: 700; font-size: clamp(36px, 5vw, 64px); line-height: 1.08; max-width: 17ch; margin-top: 22px; }
.vv-lead { font-size: clamp(16px, 1.4vw, 19px); line-height: 1.65; max-width: 54ch; margin-top: 22px; color: rgba(255, 255, 255, .88); }
.vv-acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.vv-botao { display: inline-flex; align-items: center; gap: 10px; padding: 15px 28px; border-radius: 999px; font: 600 15px var(--vv-titulo); text-decoration: none; background: #fff; color: var(--vv-roxo); border: 2px solid #fff; transition: background .2s, color .2s; }
.vv-botao:hover { background: var(--vv-lilas-2); border-color: var(--vv-lilas-2); }
.vv-botao.vazado { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .6); }
.vv-botao.vazado:hover { background: #fff; color: var(--vv-roxo); }
.vv :focus-visible { outline: 2px solid var(--vv-rosa); outline-offset: 3px; }

.vv-solucoes { background: var(--vv-lilas); }
.vv-solucoes .miolo, .vv-como .miolo { padding-block: 96px; }
.vv-titulo { font-weight: 700; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.12; color: var(--vv-roxo); }
.vv-sub { color: var(--vv-corpo); font-size: 17px; margin-top: 12px; }
.vv-cartoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 44px; }
.vv-cartao { background: #fff; border-radius: 24px; padding: 30px 28px; display: flex; flex-direction: column; gap: 8px; box-shadow: 0 2px 4px rgba(61, 0, 92, .05), 0 18px 40px -24px rgba(61, 0, 92, .35); transition: transform .25s; min-width: 0; }
.vv-cartao:hover { transform: translateY(-4px); }
.vv-icone { width: 52px; height: 52px; border-radius: 16px; background: var(--vv-lilas-2); color: var(--vv-roxo); display: grid; place-items: center; margin-bottom: 12px; }
.vv-icone svg { width: 26px; height: 26px; }
.vv-area { font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--vv-rosa); }
.vv-cartao h3 { font-size: 23px; font-weight: 600; color: var(--vv-tinta); }
.vv-cartao ul { display: grid; gap: 9px; margin-top: 10px; color: var(--vv-corpo); font-size: 15px; }
.vv-cartao li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; }
.vv-cartao li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--vv-roxo); margin-top: 8px; }
.vv-link { margin-top: auto; padding-top: 18px; font: 600 15px var(--vv-titulo); color: var(--vv-roxo); text-decoration: none; }
.vv-link:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1000px) { .vv-cartoes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .vv-cartoes { grid-template-columns: 1fr; } }

.vv-passos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 44px; counter-reset: vv; }
.vv-passos li { counter-increment: vv; border: 2px solid var(--vv-lilas-2); border-radius: 24px; padding: 28px; display: grid; gap: 10px; align-content: start; min-width: 0; }
.vv-passos li::before { content: counter(vv); width: 44px; height: 44px; border-radius: 50%; background: var(--vv-roxo); color: #fff; display: grid; place-items: center; font: 700 18px var(--vv-titulo); }
.vv-passos h3 { font-size: 21px; font-weight: 600; }
.vv-passos p { color: var(--vv-corpo); font-size: 15.5px; }
@media (max-width: 800px) { .vv-passos { grid-template-columns: 1fr; } }

.vv-final { background: linear-gradient(120deg, var(--vv-roxo) 0%, var(--vv-roxo-2) 100%); color: #fff; text-align: center; }
.vv-final .miolo { padding-block: 88px; }
.vv-final h2 { font-weight: 700; font-size: clamp(30px, 4vw, 50px); line-height: 1.1; max-width: 22ch; margin: 0 auto; }
.vv-final p { margin: 16px auto 32px; color: rgba(255, 255, 255, .88); font-size: 17px; max-width: 52ch; }

/* Logos oficiais das marcas-clientes */
.marca-cliente img { height: 40px; width: auto; max-width: 100%; object-fit: contain; display: block; }
.marca-cliente img.logo-rockinrio { height: 64px; }
.marca-cliente img.logo-tomorrowland { height: 54px; }
.marca-cliente { height: 68px; }

/* ===== Página inicial ===== */
.h-rotulo { font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--venora); }
.h-cabeca { display: grid; gap: 18px; max-width: 760px; }
.h-cabeca h2, .h-texto h2 { font-weight: 700; font-size: clamp(32px, 4.4vw, 60px); line-height: 1.04; letter-spacing: -.035em; }
.h-cabeca h2 em, .h-final h2 em { font-style: normal; background: linear-gradient(100deg, var(--venora), var(--neon)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.h-cabeca > p { color: var(--tinta-2); font-size: 18px; max-width: 56ch; }
.h-cabeca.linha { max-width: none; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 24px 64px; }
.h-cabeca.linha > p { max-width: 42ch; font-size: 17px; }
@media (max-width: 860px) { .h-cabeca.linha { grid-template-columns: 1fr; } }

.anima .revela { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.anima .revela.visivel { opacity: 1; transform: none; }
.anima .h-frentes .revela:nth-child(2), .anima .h-case-grade .revela:nth-child(2) { transition-delay: .08s; }
.anima .h-frentes .revela:nth-child(3), .anima .h-case-grade .revela:nth-child(3) { transition-delay: .16s; }
.anima .h-frentes .revela:nth-child(4), .anima .h-case-grade .revela:nth-child(4) { transition-delay: .24s; }

.h-botao { display: inline-flex; align-items: center; gap: 12px; padding: 17px 30px; border-radius: 999px; font: 600 15px var(--texto); text-decoration: none; background: var(--venora); color: #fff; border: 1px solid var(--venora); box-shadow: 0 14px 34px -14px rgba(37, 99, 235, .9); transition: transform .25s, background .25s, box-shadow .25s; }
.h-botao:hover { transform: translateY(-2px); background: #1d4ed8; box-shadow: 0 20px 40px -14px rgba(37, 99, 235, 1); }
.h-botao.vazado { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .35); box-shadow: none; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.h-botao.vazado:hover { background: #fff; color: var(--tinta); }

/* Abertura com a foto aérea da sede */
.h-abertura { position: relative; overflow: hidden; background: var(--noite); color: #fff; min-height: min(100svh, 980px); display: flex; align-items: center; }
.h-fundo { position: absolute; inset: 0; }
.h-fundo img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; transform: scale(1.08); animation: aproxima 22s ease-out forwards; }
@keyframes aproxima { to { transform: scale(1); } }
.h-abertura .h-fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(95deg, rgba(11, 18, 34, .97) 0%, rgba(11, 18, 34, .88) 38%, rgba(11, 18, 34, .45) 70%, rgba(11, 18, 34, .25) 100%), linear-gradient(to top, rgba(11, 18, 34, 1) 0%, transparent 35%); }
.h-abertura::after { content: ""; position: absolute; width: 900px; height: 900px; left: -300px; top: -380px; border-radius: 50%; background: radial-gradient(closest-side, rgba(37, 99, 235, .38), transparent); pointer-events: none; }
.h-abertura .miolo { position: relative; z-index: 2; width: 100%; padding-block: 120px 56px; }
.h-selo { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; background: rgba(255, 255, 255, .05); font-size: 13px; color: var(--claro); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.h-selo .ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--neon); box-shadow: 0 0 0 4px rgba(56, 189, 248, .2); }
.h-abertura h1 { font-weight: 800; font-size: clamp(44px, 7.4vw, 104px); line-height: .98; letter-spacing: -.045em; max-width: 12ch; margin-top: 30px; }
.h-abertura .gira { display: inline-block; background: linear-gradient(100deg, #60a5fa, var(--neon)); -webkit-background-clip: text; background-clip: text; color: transparent; transition: opacity .45s, transform .45s; }
.h-abertura .gira.saindo { opacity: 0; transform: translateY(14px); }
.h-lead { font-size: clamp(17px, 1.5vw, 21px); line-height: 1.6; font-weight: 300; color: var(--claro); max-width: 50ch; margin-top: 28px; }
.h-abertura .acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }
.h-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 96px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 22px; background: rgba(11, 18, 34, .45); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); overflow: hidden; }
.h-numeros > div { padding: 26px 28px; display: grid; gap: 6px; min-width: 0; }
.h-numeros > div + div { border-left: 1px solid rgba(255, 255, 255, .1); }
.h-numeros b { font-family: var(--display); font-weight: 700; font-size: clamp(26px, 2.8vw, 40px); letter-spacing: -.03em; white-space: nowrap; }
.h-numeros span { font-size: 13.5px; color: var(--claro); }
@media (max-width: 860px) { .h-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 64px; } .h-numeros > div:nth-child(3) { border-left: 0; } .h-numeros > div:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .1); } .h-abertura .miolo { padding-block: 72px 40px; } }

/* Faixa de logos */
.h-marcas { background: var(--noite); color: #fff; border-top: 1px solid var(--linha-escura); }
.h-marcas .miolo { padding-block: 44px 52px; display: grid; gap: 28px; }
.h-marcas-titulo { text-align: center; font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--tinta-3); }
.h-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; gap: 24px; }
.h-logos li { display: grid; place-items: center; height: 112px; border-radius: 22px; background: #fff; padding: 14px 20px; transition: transform .35s, box-shadow .35s; }
.h-logos li:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -18px rgba(56, 189, 248, .45); }
.h-logos img { max-height: 44px; max-width: 78%; width: auto; }
.h-logos img.logo-rockinrio { max-height: 86px; }
.h-logos img.logo-tomorrowland { max-height: 72px; }
.h-logos img.logo-fiat { max-height: 50px; }
@media (max-width: 640px) { .h-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; } }

/* Ecossistema */
.h-eco .miolo, .h-cases .miolo, .h-pessoas .miolo, .h-sede .miolo { padding-block: 128px; }
@media (max-width: 760px) { .h-eco .miolo, .h-cases .miolo, .h-pessoas .miolo, .h-sede .miolo { padding-block: 84px; } }
.h-frentes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 64px; }
.h-frente { position: relative; overflow: hidden; min-height: 440px; border-radius: 28px; padding: 30px 28px; color: #fff; text-decoration: none; display: flex; flex-direction: column; gap: 12px; isolation: isolate; transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s; min-width: 0; }
.h-frente:hover { transform: translateY(-8px); box-shadow: 0 30px 60px -30px rgba(11, 18, 34, .6); }
.h-frente::before { content: ""; position: absolute; width: 340px; height: 340px; right: -120px; top: -120px; border-radius: 50%; border: 48px solid rgba(255, 255, 255, .08); z-index: -1; transition: transform .6s; }
.h-frente:hover::before { transform: scale(1.15); }
.h-frente.telecom { background: linear-gradient(150deg, #3d005c 0%, #660099 55%, #8a1fc4 100%); }
.h-frente.saude { background: linear-gradient(150deg, #0d3a3a 0%, #0d7d7d 45%, #6a4cf5 100%); }
.h-frente.motor { background: linear-gradient(150deg, #0B1222 0%, #1e3a8a 50%, #2563EB 100%); }
.h-frente.grupo { background: var(--noite); }
.h-frente.grupo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: .5; transition: opacity .4s, transform .8s; }
.h-frente.grupo:hover img { opacity: .62; transform: scale(1.05); }
.h-frente.grupo::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(11, 18, 34, .95) 15%, rgba(11, 18, 34, .2)); }
.h-frente .n { font-family: var(--display); font-weight: 600; font-size: 14px; opacity: .7; }
.h-frente .area { margin-top: auto; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; opacity: .8; }
.h-frente h3 { font-size: 27px; font-weight: 700; line-height: 1.1; }
.h-frente p { font-size: 15px; line-height: 1.55; opacity: .85; }
.h-frente .ir { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .4); display: grid; place-items: center; font-size: 20px; margin-top: 10px; transition: background .3s, color .3s; }
.h-frente:hover .ir { background: #fff; color: var(--tinta); }
@media (max-width: 1100px) { .h-frentes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .h-frente { min-height: 360px; } }
@media (max-width: 560px) { .h-frentes { grid-template-columns: 1fr; } .h-frente { min-height: 320px; } }

/* Manifesto */
.h-manifesto { background: var(--gelo); }
.h-manifesto .miolo { padding-block: 128px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: center; }
.h-foto { position: relative; }
.h-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 28px; display: block; }
.h-foto figcaption { position: absolute; left: 20px; bottom: 20px; padding: 10px 16px; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: 13px; font-weight: 500; }
.h-texto { display: grid; gap: 20px; }
.h-razoes { counter-reset: r; margin-top: 20px; }
.h-razoes li { counter-increment: r; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 4px 12px; padding-block: 26px; border-top: 1px solid var(--linha); }
.h-razoes li::before { content: counter(r, decimal-leading-zero); grid-row: span 2; font: 700 30px var(--display); letter-spacing: -.03em; background: linear-gradient(160deg, var(--venora), var(--neon)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.h-razoes h3 { font-size: 22px; font-weight: 700; }
.h-razoes p { color: var(--tinta-2); }
@media (max-width: 900px) { .h-manifesto .miolo { grid-template-columns: 1fr; gap: 48px; padding-block: 84px; } .h-foto img { aspect-ratio: 4 / 3; } }

/* Cases */
.h-case-grade { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 56px; }
.h-case { border: 1px solid var(--linha); border-radius: 28px; padding: 28px; display: grid; gap: 6px; align-content: start; background: #fff; transition: transform .35s, box-shadow .35s, border-color .35s; min-width: 0; }
.h-case:hover { transform: translateY(-6px); border-color: transparent; box-shadow: 0 30px 60px -30px rgba(15, 23, 42, .35); }
.h-case .logo { height: 96px; display: flex; align-items: center; margin-bottom: 18px; border-bottom: 1px solid var(--linha); padding-bottom: 18px; box-sizing: content-box; }
.h-case .logo img { max-height: 44px; max-width: 100%; width: auto; }
.h-case .logo img.logo-rockinrio { max-height: 92px; }
.h-case .logo img.logo-tomorrowland { max-height: 72px; }
.h-case b { font-family: var(--display); font-weight: 700; font-size: 44px; letter-spacing: -.04em; line-height: 1; }
.h-case span { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--venora); }
.h-case p { color: var(--tinta-2); font-size: 15px; margin-top: 8px; }
@media (max-width: 1000px) { .h-case-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .h-case-grade { grid-template-columns: 1fr; } }

/* Pessoas */
.h-pessoas { background: var(--noite); color: #fff; }
.h-pessoas .h-cabeca h2 { color: #fff; }
.h-pessoas .link-seta { color: #fff; }
.h-rostos { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 16px; margin-top: 56px; }
.h-rostos li { display: grid; gap: 4px; min-width: 0; }
.h-rostos img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 20px; filter: grayscale(1) contrast(1.05); transition: filter .4s, transform .4s; margin-bottom: 10px; }
.h-rostos li:hover img { filter: none; transform: translateY(-4px); }
.h-rostos b { font-family: var(--display); font-weight: 600; font-size: 14.5px; line-height: 1.25; }
.h-rostos span { font-size: 12.5px; color: var(--claro); line-height: 1.35; }
@media (max-width: 1100px) { .h-rostos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 520px) { .h-rostos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Sede */
.h-sede .vitrine { gap: 12px; }
.h-sede .vitrine a { border-radius: 24px; }
.h-sede .vitrine .selo { border-radius: 999px; }
.secao .h-cabeca.linha { margin-bottom: 0; }

/* Chamada final com foto */
.h-final { position: relative; overflow: hidden; background: var(--noite); color: #fff; text-align: center; }
.h-final .h-fundo img { width: 100%; height: 100%; object-fit: cover; }
.h-final .h-fundo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(80% 90% at 50% 50%, rgba(11, 18, 34, .78), rgba(11, 18, 34, .96)); }
.h-final .miolo { position: relative; z-index: 2; padding-block: 160px; display: grid; justify-items: center; gap: 22px; }
.h-final h2 { font-weight: 800; font-size: clamp(40px, 6.4vw, 92px); line-height: 1; letter-spacing: -.045em; }
.h-final p:not(.h-rotulo) { color: var(--claro); font-size: 18px; max-width: 50ch; }
.h-final .h-rotulo { color: var(--neon); }
.h-final .acoes { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 14px; }
@media (max-width: 760px) { .h-final .miolo { padding-block: 104px; } }

/* Motor de Vendas — parceiros */
.parceiros-motor { background: var(--gelo); }
.parceiros-motor .miolo { padding-block: 96px; }
.parc-logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 48px; }
.parc-logos li { background: #fff; border: 1px solid var(--linha); border-radius: 28px; height: 180px; display: grid; place-items: center; padding: 24px 32px; transition: transform .35s, box-shadow .35s; }
.parc-logos li:hover { transform: translateY(-4px); box-shadow: 0 30px 60px -30px rgba(15, 23, 42, .35); }
.parc-logos img { max-height: 72px; max-width: 80%; width: auto; }
@media (max-width: 640px) { .parc-logos { grid-template-columns: 1fr; } .parc-logos li { height: 140px; } .parc-logos img { max-height: 56px; } }

/* Foto do time sem esticar além da resolução */
.foto-larga img { height: auto; aspect-ratio: 1246 / 1202; max-width: 860px; margin-inline: auto; object-fit: cover; border-radius: 24px; }
.foto-larga figcaption { max-width: 860px; margin-inline: auto; }
