/* PW7 — site v2: componentes novos (carrega depois do site.css) */

/* ── menu fixo ── */
.nav { top: 0; left: 0; transform: none; width: 100%; max-width: none; border-radius: 0; padding: 0; background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; display: block; transition: none; }
.nav::before { display: none; }
.nav.some { transform: none; }
.nav .barra { width: min(100% - 2 * var(--gut), var(--wrap)); margin: 14px auto 0; height: 62px; padding: 0 10px 0 22px; display: flex; align-items: center; gap: 4px; border-radius: 20px; transition: background .4s, box-shadow .4s, margin .5s var(--ease), height .5s var(--ease); }
.nav.rolou .barra { margin-top: 10px; height: 56px; background: rgba(12,12,14,0.72); }
.nav .lg { width: 58px; margin-right: 22px; }
.nav .links { display: flex; gap: 2px; margin-inline: auto; }
.nav a.it { position: relative; font-size: 14px; padding: 10px 14px; color: var(--gelo300); }
.nav a.it:hover { background: none; color: #fff; }
.nav a.it::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 1.5px; border-radius: 2px; background: var(--azul-luz); transform: scaleX(0); transform-origin: 0 50%; transition: transform .45s var(--ease); }
.nav a.it:hover::after, .nav a.it[aria-current]::after { transform: scaleX(1); }
.nav a.it[aria-current] { background: none; color: #fff; }
.nav .btn { margin-left: 0; --h: 42px; }
@media (max-width: 980px) { .nav .links { display: none; } .nav .btn { margin-left: auto; } .nav .menu { display: grid; } .nav .barra { padding-left: 16px; } }
@media (min-width: 981px) { .nav .menu { display: none; } }

/* ── hero com vidro líquido ── */
canvas.liquido { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1.4s var(--ease); }
canvas.liquido.pronto { opacity: 1; }
.hero-veu.suave { background: radial-gradient(60% 50% at 50% 46%, rgba(10,10,11,0.45), transparent 80%), linear-gradient(180deg, rgba(10,10,11,0.55), transparent 30%, transparent 70%, var(--preto)); }
.tag-hero { display: inline-flex; align-items: center; gap: 10px; height: 36px; padding: 0 16px; border-radius: 999px; font-size: 13px; color: var(--gelo100); margin-bottom: 28px; }
.tag-hero i { width: 7px; height: 7px; border-radius: 50%; background: var(--azul-luz); box-shadow: 0 0 12px var(--azul-luz); animation: pulsa 2.4s ease-in-out infinite; }
@keyframes pulsa { 50% { opacity: .35; transform: scale(.8); } }
.desce { position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%); z-index: 3; width: 26px; height: 42px; border-radius: 14px; box-shadow: inset 0 0 0 1.5px var(--fio-forte); }
.desce::after { content: ''; position: absolute; left: 50%; top: 9px; width: 3px; height: 8px; margin-left: -1.5px; border-radius: 3px; background: #fff; animation: rola 2s var(--ease) infinite; }
@keyframes rola { 0% { opacity: 0; transform: translateY(-4px); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }

/* ── plataformas ── */
.plat { display: grid; grid-template-columns: 1fr 1.6fr; gap: 30px 60px; align-items: center; padding: 44px 0; border-block: 1px solid var(--fio); }
.plat p { font-size: 15px; color: var(--gelo500); max-width: 380px; }
.plat p strong { color: var(--gelo100); font-weight: 400; }
.plat .logos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.plat .logos div { aspect-ratio: 1; border-radius: 18px; display: grid; place-items: center; gap: 0; background: rgba(255,255,255,0.03); box-shadow: inset 0 0 0 1px var(--fio); transition: background .4s, transform .5s var(--ease); position: relative; }
.plat .logos div:hover { background: rgba(255,255,255,0.08); transform: translateY(-4px); }
.plat .logos img { width: 34%; filter: invert(1); opacity: .86; }
.plat .logos span { position: absolute; bottom: 9px; font-size: 10.5px; color: var(--gelo500); }
@media (max-width: 860px) { .plat { grid-template-columns: 1fr; } .plat .logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ── manifesto que acende com a rolagem ── */
.manifesto { font-size: clamp(26px, 3.6vw, 50px); letter-spacing: -0.035em; line-height: 1.16; font-weight: 300; max-width: 1040px; }
.manifesto .w { color: var(--g600); transition: color .5s; }
.manifesto .w.on { color: #fff; }
.manifesto .w.az.on { color: var(--azul-luz); }

/* ── frentes com cenas animadas em código ── */
.frentes.cenas .frente { background: linear-gradient(180deg, #111114, #0B0B0D); }
.frentes.cenas .frente::after { background: linear-gradient(180deg, transparent 40%, rgba(10,10,11,0.9)); }
.cena { position: absolute; inset: 0 0 34% 0; z-index: -2; display: grid; place-items: center; overflow: hidden; }
.cena::before { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 70% at 50% 0%, rgba(47,123,255,0.22), transparent 70%); }
.cena svg { width: min(78%, 300px); overflow: visible; position: relative; }
.no { fill: #1a1a1e; stroke: rgba(255,255,255,.28); stroke-width: 1; }
.fio-a { stroke: rgba(255,255,255,.16); stroke-width: 1; fill: none; }
.pulso { stroke: var(--azul-luz); stroke-width: 1.6; fill: none; stroke-dasharray: 8 200; stroke-linecap: round; animation: corre-fio 3.2s linear infinite; filter: drop-shadow(0 0 4px var(--azul-luz)); }
@keyframes corre-fio { from { stroke-dashoffset: 208; } to { stroke-dashoffset: 0; } }
.anel { fill: none; stroke: rgba(255,255,255,.2); stroke-width: 1; transform-origin: center; transform-box: fill-box; animation: gira 14s linear infinite; }
.anel.b { animation-duration: 22s; animation-direction: reverse; stroke-dasharray: 3 9; }
@keyframes gira { to { transform: rotate(360deg); } }
.nucleo { animation: respira 3.6s ease-in-out infinite; transform-origin: center; transform-box: fill-box; }
@keyframes respira { 50% { transform: scale(1.08); } }
.barra-g { transform-origin: 50% 100%; transform-box: fill-box; animation: cresce 3.4s var(--ease) infinite alternate; }
@keyframes cresce { from { transform: scaleY(.45); } to { transform: scaleY(1); } }
.linha-g { fill: none; stroke: var(--azul-luz); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 400; animation: traca 4s var(--ease) infinite; filter: drop-shadow(0 0 6px rgba(76,141,255,.8)); }
@keyframes traca { 0% { stroke-dashoffset: 400; } 60%, 100% { stroke-dashoffset: 0; } }

/* ── miolo: número em painel ── */
.painel-n { position: relative; border-radius: var(--r); overflow: hidden; padding: clamp(34px, 6vw, 80px); background: linear-gradient(180deg, #121215, #0B0B0D); box-shadow: inset 0 0 0 1px var(--fio), inset 0 1px 0 rgba(255,255,255,0.07); }
.painel-n::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 80% at 18% 0%, rgba(47,123,255,0.28), transparent 70%), radial-gradient(40% 60% at 100% 100%, rgba(47,123,255,0.12), transparent 70%); }
.painel-n > * { position: relative; }
.painel-n .topo { display: grid; grid-template-columns: auto 1fr; gap: 20px 60px; align-items: end; }
.painel-n .numerao { background: linear-gradient(180deg, #fff 40%, #8FB6FF); -webkit-background-clip: text; background-clip: text; color: transparent; }
.painel-n .tres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: clamp(34px, 5vw, 60px); border-top: 1px solid var(--fio-forte); }
.painel-n .tres div { padding: 24px 24px 0 0; }
.painel-n .tres div + div { padding-left: 24px; border-left: 1px solid var(--fio); }
.painel-n .tres b { display: block; font-weight: 300; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -0.035em; line-height: 1.1; }
.painel-n .tres span { font-size: 13.5px; color: var(--gelo500); }
@media (max-width: 760px) { .painel-n .topo { grid-template-columns: 1fr; } .painel-n .tres { grid-template-columns: 1fr; } .painel-n .tres div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--fio); margin-top: 20px; } }

/* ── logos de clientes ── */
.logos-c { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-radius: var(--r); overflow: hidden; box-shadow: inset 0 0 0 1px var(--fio); }
.logos-c div { aspect-ratio: 3 / 2; display: grid; place-items: center; border-left: 1px solid var(--fio); padding: 12%; }
.logos-c div:first-child { border-left: 0; }
.logos-c img { max-height: 44px; max-width: 100%; width: auto; filter: brightness(0) invert(1); opacity: .6; transition: opacity .4s; }
.logos-c div:hover img { opacity: 1; }
@media (max-width: 860px) { .logos-c { grid-template-columns: repeat(4, minmax(0, 1fr)); } .logos-c div { border-top: 1px solid var(--fio); } }
.letreiro { overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); padding: 34px 0; border-block: 1px solid var(--fio); }
.letreiro .trilha { display: flex; align-items: center; gap: 84px; width: max-content; animation: corre 40s linear infinite; }
.letreiro img { height: 34px; width: auto; filter: brightness(0) invert(1); opacity: .65; }

/* ── sócios: alternador ── */
.duo { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: stretch; }
.duo .fotos { position: relative; border-radius: var(--r); overflow: hidden; min-height: 560px; box-shadow: inset 0 0 0 1px var(--fio); }
.duo .fotos img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.85) brightness(0.92); opacity: 0; transform: scale(1.06); transition: opacity .9s var(--ease), transform 1.4s var(--ease); }
.duo .fotos img.on { opacity: 1; transform: none; }
.duo .fotos::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(10,10,11,0.85)); }
.duo .troca { position: absolute; left: 20px; bottom: 20px; z-index: 2; display: flex; gap: 4px; padding: 4px; border-radius: 999px; }
.duo .troca button { height: 38px; padding: 0 18px; border-radius: 999px; font-size: 13.5px; color: var(--gelo300); transition: background .3s, color .3s; }
.duo .troca button[aria-pressed="true"] { background: #fff; color: var(--preto); }
.duo .ficha { position: relative; border-radius: var(--r); padding: clamp(26px, 4vw, 48px); background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); display: grid; }
.duo .ficha > div { grid-area: 1 / 1; display: flex; flex-direction: column; opacity: 0; transform: translateY(16px); transition: opacity .6s var(--ease), transform .6s var(--ease); pointer-events: none; }
.duo .ficha > div.on { opacity: 1; transform: none; pointer-events: auto; }
.duo h3 { font-size: clamp(30px, 3.4vw, 44px); }
.duo .cargo { color: var(--azul-luz); font-size: 15px; margin-top: 8px; }
.duo .bio { font-size: 16.5px; color: var(--gelo300); margin-top: 22px; max-width: 460px; }
.duo dl { margin-top: auto; padding-top: 30px; display: grid; }
.duo dl div { display: grid; grid-template-columns: 120px 1fr; gap: 14px; padding: 13px 0; border-top: 1px solid var(--fio); font-size: 14px; }
.duo dt { color: var(--gelo500); } .duo dd { color: var(--gelo100); }
@media (max-width: 860px) { .duo { grid-template-columns: 1fr; } .duo .fotos { min-height: 440px; } }

/* ── selos reais ── */
.selos-g { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; }
.selo { border-radius: 22px; aspect-ratio: 1; display: grid; place-items: center; align-content: center; gap: 10px; text-align: center; padding: 14px; background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015)); box-shadow: inset 0 0 0 1px var(--fio), inset 0 1px 0 rgba(255,255,255,0.08); transition: transform .5s var(--ease), box-shadow .4s; }
.selo:hover { transform: translateY(-6px); box-shadow: inset 0 0 0 1px var(--fio-forte), 0 30px 50px -30px rgba(47,123,255,0.5); }
.selo img { max-width: 72%; max-height: 58%; border-radius: 8px; }
.selo img.icone { width: 34%; filter: invert(1); }
.selo span { font-size: 11.5px; color: var(--gelo300); line-height: 1.3; }
@media (max-width: 980px) { .selos-g { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 560px) { .selos-g { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ── blog v2 ── */
.blog-g { display: grid; grid-template-columns: 1.35fr 1fr; gap: 14px; }
.blog-g .lado { display: grid; gap: 14px; }
.post.grande { position: relative; min-height: 520px; justify-content: flex-end; isolation: isolate; }
.post.grande .img { position: absolute; inset: 0; aspect-ratio: auto; z-index: -2; }
.post.grande::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,10,11,0.1), rgba(10,10,11,0.94) 78%); }
.post.grande .txt { flex: 0; padding: 34px; }
.post.grande h3 { font-size: clamp(24px, 2.6vw, 34px); font-weight: 300; letter-spacing: -0.035em; }
.post.linha { flex-direction: row; }
.post.linha .img { aspect-ratio: auto; width: 38%; flex: none; }
.post .ed { display: inline-flex; align-items: center; gap: 8px; }
.post .ed::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--azul-luz); }
.post .ler { display: inline-flex; align-items: center; gap: 8px; }
.post .ler svg { width: 14px; height: 14px; transition: transform .45s var(--ease); }
.post:hover .ler svg { transform: translateX(5px); }
@media (max-width: 900px) { .blog-g { grid-template-columns: 1fr; } .post.grande { min-height: 420px; } }
.busca { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 26px; }
.busca .campo { flex: 1; min-width: 240px; display: flex; align-items: center; gap: 12px; height: 56px; padding: 0 20px; border-radius: 18px; }
.busca .campo svg { width: 18px; height: 18px; color: var(--gelo500); flex: none; }
.busca input { flex: 1; font: inherit; font-size: 16px; color: #fff; background: none; border: 0; outline: none; min-width: 0; }
.busca input::placeholder { color: var(--gelo500); }
.vazio { padding: 60px 0; text-align: center; color: var(--gelo500); display: none; }

/* ── artigo v2 ── */
.art { display: grid; grid-template-columns: minmax(0, 720px) 300px; gap: 60px; justify-content: center; align-items: start; }
.art aside { position: sticky; top: 100px; display: grid; gap: 14px; }
.art aside .cx { border-radius: 22px; padding: 22px; background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); }
.art aside b { font-weight: 400; font-size: 14px; display: block; margin-bottom: 10px; }
.art aside a.ind { display: block; font-size: 13.5px; color: var(--gelo500); padding: 7px 0 7px 12px; border-left: 1.5px solid var(--fio); transition: color .3s, border-color .3s; }
.art aside a.ind:hover, .art aside a.ind.on { color: #fff; border-color: var(--azul-luz); }
.art aside p { font-size: 13.5px; color: var(--gelo500); }
.artigo { margin: 0; max-width: none; }
.artigo .capa { margin: 30px 0 40px; }
.artigo > p:first-of-type { font-size: 21px; color: var(--gelo100); line-height: 1.55; }
.autor { display: flex; gap: 16px; align-items: center; margin-top: 44px; padding: 22px; border-radius: 22px; box-shadow: inset 0 0 0 1px var(--fio); }
.autor img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.autor p { font-size: 14px !important; color: var(--gelo500) !important; line-height: 1.5 !important; margin: 0 !important; }
.autor p b { color: #fff; font-weight: 400; display: block; }
@media (max-width: 1040px) { .art { grid-template-columns: minmax(0, 720px); } .art aside { position: static; } }

/* ── perguntas v2 ── */
.pergs { display: grid; grid-template-columns: 1fr 1.5fr; gap: 30px 60px; align-items: start; }
.pergs .esq { position: sticky; top: 110px; }
.faq { max-width: none; display: grid; gap: 10px; }
.faq details { border: 0 !important; border-radius: 20px; background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); padding: 0 24px; transition: box-shadow .4s, background .4s; }
.faq details[open] { box-shadow: inset 0 0 0 1px rgba(76,141,255,0.45); background: linear-gradient(180deg, #14161c, #0E0E10); }
.faq summary { padding: 22px 0; font-size: 17px; }
.faq summary::after { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-size: 20px; box-shadow: inset 0 0 0 1px var(--fio-forte); }
.faq details p { padding: 0 44px 24px 0; }
.faq details::details-content { block-size: 0; overflow: hidden; transition: block-size .5s var(--ease), content-visibility .5s allow-discrete; }
.faq details[open]::details-content { block-size: auto; }
:root { interpolate-size: allow-keywords; }
@media (max-width: 860px) { .pergs { grid-template-columns: 1fr; } .pergs .esq { position: static; } }

/* ── localização ── */
.local { display: grid; grid-template-columns: 1fr 1.5fr; gap: 14px; }
.local .mapa { position: relative; border-radius: var(--r); overflow: hidden; min-height: 400px; box-shadow: inset 0 0 0 1px var(--fio); }
.local iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(1) invert(0.92) contrast(0.9) brightness(0.9); }
.local .mapa::after { content: ''; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 1px var(--fio-forte); border-radius: inherit; background: rgba(9,81,199,0.08); mix-blend-mode: screen; }
.local .end { font-size: 22px; letter-spacing: -0.02em; line-height: 1.35; font-weight: 300; }
@media (max-width: 860px) { .local { grid-template-columns: 1fr; } }

/* ── formulário e chamada final ── */
.final { padding: clamp(34px, 6vw, 76px); background: linear-gradient(180deg, #111114, #0A0A0B); }
.final::before { background: radial-gradient(50% 90% at 0% 0%, rgba(47,123,255,0.3), transparent 70%), radial-gradient(45% 70% at 100% 100%, rgba(47,123,255,0.16), transparent 70%); }
.final .passos-c { display: grid; gap: 0; margin-top: 30px; max-width: 420px; }
.final .passos-c div { display: flex; gap: 14px; align-items: baseline; padding: 13px 0; border-top: 1px solid var(--fio); font-size: 14.5px; color: var(--gelo300); }
.final .passos-c b { font-weight: 400; color: var(--azul-luz); font-size: 13px; }
.form { padding: 28px; gap: 14px; }
.form .dois { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form .escolha { display: flex; flex-wrap: wrap; gap: 8px; }
.form .escolha label { display: block; cursor: pointer; }
.form .escolha input { position: absolute; opacity: 0; width: 0; height: 0; }
.form .escolha span { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border-radius: 999px; font-size: 13.5px; color: var(--gelo300); box-shadow: inset 0 0 0 1px var(--fio-forte); transition: background .25s, color .25s, box-shadow .25s; }
.form .escolha input:checked + span { background: #fff; color: var(--preto); box-shadow: none; }
.form .escolha input:focus-visible + span { outline: 2px solid var(--azul-luz); outline-offset: 2px; }
@media (max-width: 520px) { .form .dois { grid-template-columns: 1fr; } }

/* ── rodapé v2 ── */
footer { position: relative; overflow: hidden; padding: 70px 0 0; background: linear-gradient(180deg, transparent, #070708); }
footer .cta-rod { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; padding-bottom: 54px; border-bottom: 1px solid var(--fio); margin-bottom: 54px; }
footer .cta-rod h2 { font-size: clamp(30px, 4vw, 54px); max-width: 640px; }
.rod { grid-template-columns: 1.5fr 1fr 1fr 1.3fr; }
.rod .redes { display: flex; gap: 8px; margin-top: 20px; }
.rod .redes a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--fio-forte); transition: background .3s, transform .5s var(--ease); }
.rod .redes a:hover { background: rgba(255,255,255,0.1); transform: translateY(-3px); }
.rod .redes img { width: 16px; filter: invert(1); opacity: .85; }
.gigante { display: block; width: 100%; margin-top: 50px; color: #fff; --acc: var(--azul-logo); opacity: .05; transform: translateY(18%); }
.rod-fim { position: relative; margin-top: 0; padding: 22px 0 26px; border-top: 1px solid var(--fio); }

/* ── ciclo (etapas com ícone e seta) ── */
.ciclo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; position: relative; }
.etapa { position: relative; padding: 30px 26px 30px 0; }
.etapa + .etapa { padding-left: 26px; }
.etapa .ic { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; background: linear-gradient(160deg, #26262b, #0e0e10 70%); box-shadow: inset 0 1px 1px rgba(255,255,255,0.3), inset 0 0 0 1px rgba(255,255,255,0.06), 0 20px 40px -20px #000; color: #fff; }
.etapa .ic svg { width: 26px; height: 26px; }
.etapa:not(:last-child)::after { content: ''; position: absolute; top: 61px; left: 84px; right: -14px; height: 1px; background: linear-gradient(90deg, var(--fio-forte), var(--fio-forte)) ; }
.etapa:not(:last-child) .seta { position: absolute; top: 55px; right: -18px; width: 12px; height: 12px; border-top: 1.5px solid var(--gelo500); border-right: 1.5px solid var(--gelo500); transform: rotate(45deg); z-index: 2; }
.etapa:not(:last-child)::before { content: ''; position: absolute; top: 60px; left: 84px; width: 40px; height: 3px; border-radius: 3px; background: var(--azul-luz); filter: blur(.5px) drop-shadow(0 0 6px var(--azul-luz)); animation: vai 3s var(--ease) infinite; animation-delay: calc(var(--i) * .6s); opacity: 0; z-index: 1; }
@keyframes vai { 0% { transform: translateX(0); opacity: 0; } 20% { opacity: 1; } 100% { transform: translateX(calc(100cqw - 140px)); opacity: 0; } }
.ciclo .etapa { container-type: inline-size; }
.etapa h3 { font-size: 20px; font-weight: 400; letter-spacing: -0.025em; margin-top: 26px; }
.etapa p { font-size: 14.5px; color: var(--gelo500); margin-top: 8px; max-width: 250px; }
.treme svg { animation: treme 3.5s ease-in-out infinite; animation-delay: calc(var(--i) * .5s); }
@keyframes treme { 0%, 80%, 100% { transform: none; } 85% { transform: rotate(-9deg) scale(1.08); } 92% { transform: rotate(7deg) scale(1.08); } }
.resultado { margin-top: 26px; border-radius: 22px; padding: 26px 30px; display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; background: linear-gradient(90deg, rgba(255,90,90,0.09), transparent 70%); box-shadow: inset 0 0 0 1px rgba(255,120,120,0.2); }
.resultado b { font-weight: 300; font-size: clamp(20px, 2.4vw, 28px); letter-spacing: -0.03em; }
.resultado span { font-size: 14.5px; color: var(--gelo500); max-width: 420px; }
@media (max-width: 900px) { .ciclo { grid-template-columns: 1fr 1fr; } .etapa, .etapa + .etapa { padding: 22px 16px 22px 0; } .etapa::after, .etapa::before, .etapa .seta { display: none !important; } }
@media (max-width: 520px) { .ciclo { grid-template-columns: 1fr; } }

/* ── linha do tempo que preenche com a rolagem ── */
.trilho-t { position: relative; display: grid; gap: 14px; padding-left: 74px; }
.trilho-t::before { content: ''; position: absolute; left: 27px; top: 10px; bottom: 10px; width: 2px; border-radius: 2px; background: var(--g700); }
.trilho-t .cheio { position: absolute; left: 27px; top: 10px; width: 2px; border-radius: 2px; height: calc((100% - 20px) * var(--t, 0)); background: linear-gradient(180deg, var(--azul), var(--azul-luz)); box-shadow: 0 0 14px var(--azul-luz); }
.fase { position: relative; border-radius: var(--r); padding: 30px 32px; background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); display: grid; grid-template-columns: 1fr 1.2fr; gap: 16px 40px; align-items: start; transition: box-shadow .6s, transform .8s var(--ease), opacity .8s; opacity: .45; }
.fase.on { opacity: 1; box-shadow: inset 0 0 0 1px rgba(76,141,255,0.4), 0 40px 70px -50px rgba(47,123,255,0.6); }
.fase .num { position: absolute; left: -74px; top: 26px; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font-size: 15px; background: #0E0E10; box-shadow: inset 0 0 0 1px var(--fio-forte); color: var(--gelo500); transition: background .5s, color .5s, box-shadow .5s; }
.fase.on .num { background: linear-gradient(180deg, #1564E6, var(--azul)); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,0.3), 0 0 24px rgba(47,123,255,0.7); }
.fase h3 { font-size: clamp(24px, 2.6vw, 32px); }
.fase .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.fase p { font-size: 15.5px; color: var(--gelo300); }
.fase p small { display: block; font-size: 13.5px; color: var(--gelo500); margin-top: 12px; }
@media (max-width: 760px) { .fase { grid-template-columns: 1fr; } .trilho-t { padding-left: 54px; } .trilho-t::before, .trilho-t .cheio { left: 19px; } .fase .num { left: -54px; width: 40px; height: 40px; font-size: 13px; } }

/* ── entregas com ícone ── */
.ent { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ent article { border-radius: 24px; padding: 26px; background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); transition: transform .6s var(--ease), box-shadow .4s; }
.ent article:hover { transform: translateY(-6px); box-shadow: inset 0 0 0 1px var(--fio-forte), 0 40px 60px -40px rgba(47,123,255,0.45); }
.ent .orb { margin-bottom: 30px; }
.ent h3 { font-size: 18px; font-weight: 400; letter-spacing: -0.02em; }
.ent p { font-size: 14px; color: var(--gelo500); margin-top: 6px; }
@media (max-width: 900px) { .ent { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ent { grid-template-columns: 1fr; } }

/* ── sanfona de cases ── */
.sanfona { display: flex; gap: 14px; height: clamp(420px, 56vh, 540px); }
.sanfona .frente .bg { filter: saturate(0.85) brightness(0.85); }
.sanfona .frente .num { display: flex; gap: 22px; padding-top: 16px; }
.sanfona .frente .num b { display: block; font-weight: 300; font-size: 22px; letter-spacing: -0.03em; }
.sanfona .frente .num span { font-size: 11.5px; color: var(--gelo500); }
.sanfona:hover .frente { flex: 0.8; } .sanfona .frente:hover { flex: 1.8; }
@media (max-width: 860px), (hover: none) { .sanfona { flex-direction: column; height: auto; } }

/* ── antes e depois (duas colunas) ── */
.ad { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ad .col { border-radius: var(--r); padding: 28px; background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); }
.ad .col.dep { box-shadow: inset 0 0 0 1px rgba(76,141,255,0.4); background: linear-gradient(180deg, #12151c, #0E0E10); }
.ad .cabeca { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 18px; }
.ad .cabeca h3 { font-size: 22px; font-weight: 400; letter-spacing: -0.025em; }
.ad ol { list-style: none; display: grid; }
.ad li { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: baseline; padding: 11px 0; border-top: 1px solid var(--fio); font-size: 14.5px; opacity: 0; transform: translateX(-10px); transition: opacity .5s var(--ease), transform .5s var(--ease); transition-delay: calc(var(--i) * 110ms); }
.is-in li { opacity: 1; transform: none; }
.ad li small { display: block; font-size: 12px; color: var(--gelo500); }
.ad li em { font-style: normal; font-size: 13px; color: var(--gelo500); white-space: nowrap; }
.ad .dep li em { color: var(--azul-luz); }
.ad .fim { margin-top: 16px; font-size: 14.5px; color: var(--gelo300); }
.ad-res { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.ad-res div { border-radius: 22px; padding: 22px 24px; box-shadow: inset 0 0 0 1px var(--fio); }
.ad-res b { display: block; font-weight: 300; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -0.035em; }
.ad-res span { font-size: 13.5px; color: var(--gelo500); }
@media (max-width: 800px) { .ad, .ad-res { grid-template-columns: 1fr; } }

/* ── teia (setores) ── */
.teia { display: grid; grid-template-columns: 1fr 1.4fr; gap: 14px; }
.teia .abas { display: grid; gap: 6px; align-content: start; }
.teia .abas button { text-align: left; padding: 16px 20px; border-radius: 18px; font-size: 17px; letter-spacing: -0.02em; color: var(--gelo500); display: flex; justify-content: space-between; align-items: center; transition: background .3s, color .3s; }
.teia .abas button span { font-size: 12.5px; color: var(--gelo700); }
.teia .abas button[aria-pressed="true"] { background: linear-gradient(180deg, #16181f, #101013); color: #fff; box-shadow: inset 0 0 0 1px rgba(76,141,255,0.4); }
.teia .quadro { position: relative; border-radius: var(--r); padding: clamp(26px, 4vw, 44px); background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); overflow: hidden; display: grid; min-height: 340px; }
.teia .quadro::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 70% at 100% 0%, rgba(47,123,255,0.22), transparent 70%); }
.teia .quadro > div { grid-area: 1 / 1; position: relative; opacity: 0; transform: translateY(14px); transition: opacity .5s var(--ease), transform .5s var(--ease); pointer-events: none; display: flex; flex-direction: column; }
.teia .quadro > div.on { opacity: 1; transform: none; pointer-events: auto; }
.teia h3 { font-size: clamp(22px, 2.6vw, 32px); max-width: 520px; }
.teia .pts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 30px; }
@media (max-width: 860px) { .teia { grid-template-columns: 1fr; } .teia .abas { grid-template-columns: 1fr 1fr; } .teia .abas button { font-size: 15px; padding: 12px 14px; } }

/* ── IA própria (diagrama) ── */
.ia-p { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: center; border-radius: var(--r); padding: clamp(24px, 4vw, 48px); background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); position: relative; overflow: hidden; }
.ia-p::before { content: ''; position: absolute; inset: 0; background: radial-gradient(40% 60% at 50% 50%, rgba(47,123,255,0.2), transparent 70%); }
.ia-p > * { position: relative; }
.ia-p .grupo { display: flex; flex-wrap: wrap; gap: 8px; }
.ia-p .grupo.d { justify-content: flex-end; }
.ia-p .rot { font-size: 13px; color: var(--gelo500); margin-bottom: 12px; }
.ia-p .grupo.d + .x, .ia-p .dir .rot { text-align: right; }
.ia-p .core { width: 170px; height: 170px; border-radius: 50%; display: grid; place-items: center; text-align: center; font-size: 15px; line-height: 1.3; background: radial-gradient(circle at 50% 30%, #2b62d9, #0A2A6B 70%); box-shadow: inset 0 2px 2px rgba(255,255,255,0.4), 0 0 60px rgba(47,123,255,0.55), 0 0 0 10px rgba(47,123,255,0.08), 0 0 0 22px rgba(47,123,255,0.04); animation: respira 4s ease-in-out infinite; }
.ia-p .core small { display: block; font-size: 11.5px; opacity: .75; }
@media (max-width: 800px) { .ia-p { grid-template-columns: 1fr; justify-items: center; } .ia-p .grupo, .ia-p .grupo.d { justify-content: center; } .ia-p .rot, .ia-p .dir .rot { text-align: center; } }

/* ── integrações e tarefas ── */
.integ { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.integ div { border-radius: 16px; padding: 16px; background: rgba(255,255,255,0.035); box-shadow: inset 0 0 0 1px var(--fio); font-size: 14.5px; transition: background .3s; }
.integ div:hover { background: rgba(255,255,255,0.08); }
.integ small { display: block; font-size: 12px; color: var(--gelo500); }
.tarefas { display: grid; gap: 8px; margin-top: 22px; }
.tarefa { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 13px 16px; border-radius: 14px; background: rgba(255,255,255,0.035); font-size: 14px; opacity: 0; transform: translateY(10px); transition: opacity .5s var(--ease), transform .5s var(--ease); transition-delay: calc(var(--i) * 260ms); }
.is-in .tarefa { opacity: 1; transform: none; }
.tarefa i { width: 20px; height: 20px; border-radius: 50%; background: rgba(40,200,64,0.16); display: grid; place-items: center; color: #7EE2A8; font-style: normal; font-size: 11px; }
.tarefa small { display: block; font-size: 12px; color: var(--gelo500); }
.tarefa em { font-style: normal; font-size: 12.5px; color: var(--gelo500); }

/* ── calculadora ── */
.calc { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.calc .ctrl-c, .calc .res { border-radius: var(--r); padding: clamp(24px, 4vw, 44px); background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); }
.calc .res { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; box-shadow: inset 0 0 0 1px rgba(76,141,255,0.4); }
.calc .res::before { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 70% at 50% 0%, rgba(47,123,255,0.3), transparent 70%); }
.calc .res > * { position: relative; }
.calc label { display: block; font-size: 15px; color: var(--gelo300); margin-bottom: 30px; }
.calc label output { float: right; color: #fff; font-size: 20px; letter-spacing: -0.02em; }
.calc input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 6px; border-radius: 6px; margin-top: 16px; background: linear-gradient(90deg, var(--azul-luz) var(--v, 30%), var(--g700) var(--v, 30%)); outline-offset: 6px; }
.calc input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; border-radius: 50%; background: #fff; box-shadow: 0 4px 14px rgba(0,0,0,0.6), 0 0 0 6px rgba(76,141,255,0.25); cursor: grab; }
.calc input[type=range]::-moz-range-thumb { width: 26px; height: 26px; border: 0; border-radius: 50%; background: #fff; }
.calc .res .numerao { font-size: clamp(60px, 9vw, 120px); }
.calc .res p { color: var(--gelo300); font-size: 15.5px; margin-top: 10px; max-width: 380px; }
@media (max-width: 800px) { .calc { grid-template-columns: 1fr; } }

/* ── growth: fluxo de receita e painel ── */
.fluxo { display: flex; align-items: center; gap: 0; flex-wrap: wrap; row-gap: 12px; }
.fluxo span { height: 44px; padding: 0 18px; border-radius: 999px; display: inline-flex; align-items: center; font-size: 14px; box-shadow: inset 0 0 0 1px var(--fio-forte); background: #0E0E10; position: relative; z-index: 1; animation: acende 6.4s linear infinite; animation-delay: calc(var(--i) * .8s); }
.fluxo i { width: 26px; height: 1px; background: var(--fio-forte); }
@keyframes acende { 0%, 10% { background: var(--azul); box-shadow: inset 0 1px 0 rgba(255,255,255,0.3), 0 0 24px rgba(47,123,255,0.7); } 14%, 100% { background: #0E0E10; box-shadow: inset 0 0 0 1px var(--fio-forte); } }
.retorno { margin-top: 20px; display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: var(--azul-luz); }
.retorno svg { width: 20px; height: 20px; }
.dash { border-radius: var(--r); padding: clamp(18px, 3vw, 30px); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.dash .kp { border-radius: 18px; padding: 18px; background: rgba(255,255,255,0.045); }
.dash .kp span { font-size: 12.5px; color: var(--gelo300); }
.dash .kp b { display: block; font-weight: 300; font-size: 28px; letter-spacing: -0.035em; margin-top: 6px; }
.dash .kp em { font-style: normal; font-size: 12px; color: #7EE2A8; }
.dash .graf { grid-column: span 4; border-radius: 18px; padding: 18px; background: rgba(255,255,255,0.045); }
.dash .graf svg { width: 100%; height: 170px; overflow: visible; }
.dash .aviso { grid-column: span 4; font-size: 12px; color: var(--gelo500); }
@media (max-width: 700px) { .dash { grid-template-columns: 1fr 1fr; } .dash .graf, .dash .aviso { grid-column: span 2; } }

/* ── página de cases ── */
.caso { display: grid; grid-template-columns: 1fr 1.1fr; gap: 14px; scroll-margin-top: 100px; }
.caso + .caso { margin-top: 14px; }
.caso .img { position: relative; border-radius: var(--r); overflow: hidden; min-height: 460px; }
.caso .img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.85) brightness(0.9); }
.caso .img .chip { position: absolute; top: 20px; left: 20px; }
.caso .cx { border-radius: var(--r); padding: clamp(24px, 4vw, 44px); background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); display: flex; flex-direction: column; }
.caso h2 { font-size: clamp(28px, 3.4vw, 42px); }
.caso .dupla-t { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px; }
.caso .dupla-t b { font-weight: 400; font-size: 13.5px; color: var(--azul-luz); display: block; margin-bottom: 6px; }
.caso .dupla-t p { font-size: 14.5px; color: var(--gelo300); }
.caso .num { display: flex; gap: 30px; flex-wrap: wrap; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--fio-forte); }
.caso .num b { display: block; font-weight: 300; font-size: 30px; letter-spacing: -0.035em; line-height: 1.1; }
.caso .num span { font-size: 12.5px; color: var(--gelo500); }
.caso blockquote { margin-top: auto; padding-top: 26px; font-size: 16.5px; line-height: 1.5; color: var(--gelo100); letter-spacing: -0.01em; }
.caso blockquote cite { display: block; font-style: normal; font-size: 13px; color: var(--gelo500); margin-top: 10px; }
.caso:nth-child(even) .img { order: 2; }
@media (max-width: 860px) { .caso { grid-template-columns: 1fr; } .caso:nth-child(even) .img { order: 0; } .caso .img { min-height: 300px; } .caso .dupla-t { grid-template-columns: 1fr; } }
.sub-hero { padding-top: 170px; }
.gigante { width: min(100% - 2 * var(--gut), var(--wrap)); margin: 46px auto 0; transform: translateY(12%); opacity: .06; }
.selo img { max-width: 88%; max-height: 62%; }
.selo { aspect-ratio: 4 / 5; }
[hidden] { display: none !important; }
@media (max-width: 860px), (hover: none) { .frentes.cenas .frente { min-height: 440px; } .cena { inset: 0 0 46% 0; } .tag-hero { height: auto; padding: 8px 16px; font-size: 12px; } }

/* ═════ v3 ═════ */
/* selos soltos */
.selos-l { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 34px 28px; padding: 20px 0; }
.selos-l figure { display: grid; justify-items: center; gap: 16px; transition: transform .6s var(--ease); }
.selos-l figure:hover { transform: translateY(-8px); }
.selos-l img { height: clamp(84px, 9vw, 124px); width: auto; border-radius: 10px; filter: drop-shadow(0 24px 30px rgba(0,0,0,0.6)); }
.selos-l figcaption { font-size: 13px; color: var(--gelo500); }
@media (max-width: 760px) { .selos-l { justify-content: center; } }

/* blog em lista editorial */
.blog-l { border-top: 1px solid var(--fio-forte); }
.blog-l a { display: grid; grid-template-columns: 260px 1fr auto; gap: 34px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--fio-forte); position: relative; transition: padding .6s var(--ease); }
.blog-l a::before { content: ''; position: absolute; inset: 0 calc(-1 * var(--gut)); background: linear-gradient(90deg, rgba(47,123,255,0.1), transparent 70%); opacity: 0; transition: opacity .5s; pointer-events: none; }
.blog-l a:hover::before { opacity: 1; }
.blog-l a:hover { padding-left: 14px; }
.blog-l .img { aspect-ratio: 16 / 10; border-radius: 18px; overflow: hidden; position: relative; }
.blog-l img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.85) brightness(0.9); transition: transform 1.2s var(--ease); }
.blog-l a:hover img { transform: scale(1.07); }
.blog-l .ed { font-size: 13px; color: var(--azul-luz); }
.blog-l h3 { font-size: clamp(21px, 2.4vw, 30px); letter-spacing: -0.035em; line-height: 1.15; margin-top: 8px; max-width: 640px; position: relative; }
.blog-l p { font-size: 14.5px; color: var(--gelo500); margin-top: 10px; max-width: 560px; position: relative; }
.blog-l .vai { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--fio-forte); transition: background .4s, transform .6s var(--ease); position: relative; }
.blog-l .vai svg { width: 18px; height: 18px; }
.blog-l a:hover .vai { background: var(--azul); transform: rotate(-45deg); box-shadow: inset 0 1px 0 rgba(255,255,255,0.3); }
@media (max-width: 800px) { .blog-l a { grid-template-columns: 1fr; gap: 16px; } .blog-l .vai { display: none; } }

/* sócios juntos */
.juntos { position: relative; border-radius: var(--r); overflow: hidden; box-shadow: inset 0 0 0 1px var(--fio); isolation: isolate; }
.juntos img { width: 100%; aspect-ratio: 16 / 8.6; object-fit: cover; object-position: 50% 35%; filter: saturate(0.85) brightness(0.9); display: block; transition: transform 1.6s var(--ease); }
.juntos:hover img { transform: scale(1.03); }
.juntos::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,10,11,0.1) 30%, rgba(10,10,11,0.96) 92%); z-index: 1; }
.juntos .lados { position: absolute; inset: auto 0 0 0; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: clamp(16px, 3vw, 34px); }
.juntos .lado { border-radius: 22px; padding: 22px 24px; }
.juntos .lado:last-child { justify-self: end; }
.juntos .lado { max-width: 440px; width: 100%; }
.juntos h3 { font-size: clamp(22px, 2.4vw, 30px); }
.juntos .cargo { font-size: 13.5px; color: var(--azul-luz); margin-top: 4px; }
.juntos p.bio { font-size: 14px; color: var(--gelo300); margin-top: 12px; }
.juntos .chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.juntos .chips .chip { height: 28px; font-size: 11.5px; padding: 0 12px; }
@media (max-width: 860px) { .juntos img { aspect-ratio: 4 / 3; } .juntos .lados { position: static; grid-template-columns: 1fr; background: #0B0B0D; } .juntos::after { display: none; } .juntos .lado { max-width: none; } }

/* chip da IA própria */
.chipd { position: relative; border-radius: var(--r); padding: clamp(10px, 3vw, 30px); background: linear-gradient(180deg, #111114, #0B0B0D); box-shadow: inset 0 0 0 1px var(--fio); overflow: hidden; }
.chipd::before { content: ''; position: absolute; inset: 0; background: radial-gradient(40% 60% at 50% 50%, rgba(47,123,255,0.22), transparent 70%); }
.chipd svg { position: relative; width: 100%; height: auto; display: block; }
.chipd text { font-family: var(--sora); font-size: 13px; fill: var(--gelo300); }
.chipd .fio-c { fill: none; stroke: rgba(255,255,255,0.16); stroke-width: 1; }
.chipd .pul { fill: none; stroke: var(--azul-luz); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 14 400; animation: corre-chip 3.4s linear infinite; filter: drop-shadow(0 0 5px var(--azul-luz)); }
.chipd .pul.s { animation-name: corre-chip2; }
@keyframes corre-chip { from { stroke-dashoffset: 414; } to { stroke-dashoffset: 0; } }
@keyframes corre-chip2 { from { stroke-dashoffset: 414; } to { stroke-dashoffset: 0; } }
.chipd .pt { fill: #0B0B0D; stroke: rgba(255,255,255,0.4); }
.chipd .corpo-c { animation: brilha 3.4s ease-in-out infinite; }
@keyframes brilha { 50% { filter: drop-shadow(0 0 26px rgba(47,123,255,0.9)); } 0%, 100% { filter: drop-shadow(0 0 10px rgba(47,123,255,0.4)); } }
@media (max-width: 700px) { .chipd text { font-size: 17px; } }

/* teia radial */
.radial-g { display: grid; grid-template-columns: 1.15fr 1fr; gap: 14px; align-items: stretch; }
.radial { position: relative; border-radius: var(--r); background: linear-gradient(180deg, #111114, #0B0B0D); box-shadow: inset 0 0 0 1px var(--fio); overflow: hidden; display: grid; place-items: center; padding: 20px; }
.radial::before { content: ''; position: absolute; inset: 0; background: radial-gradient(45% 45% at 50% 50%, rgba(47,123,255,0.2), transparent 70%); }
.radial .area { position: relative; width: min(100%, 520px); aspect-ratio: 1; }
.radial svg.base { position: absolute; inset: 0; width: 100%; height: 100%; }
.radial .raio { stroke: rgba(255,255,255,0.14); stroke-width: 1; transition: stroke .5s; }
.radial .raio.on { stroke: var(--azul-luz); stroke-width: 1.6; stroke-dasharray: 5 6; animation: tracejado 1.2s linear infinite; filter: drop-shadow(0 0 5px var(--azul-luz)); }
@keyframes tracejado { to { stroke-dashoffset: -22; } }
.radial .centro { position: absolute; left: 50%; top: 50%; width: 24%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 50% 30%, #26262b, #0c0c0e 70%); box-shadow: inset 0 1px 1px rgba(255,255,255,0.35), 0 0 0 1px rgba(255,255,255,0.1), 0 0 50px rgba(47,123,255,0.35); }
.radial .centro svg { width: 62%; color: #fff; --acc: var(--azul-logo); }
.radial .setor { position: absolute; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 8px; font-size: 13px; color: var(--gelo500); transition: color .4s; }
.radial .setor i { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; background: #101013; box-shadow: inset 0 0 0 1px var(--fio-forte); color: var(--gelo300); transition: background .5s, box-shadow .5s, transform .6s var(--ease), color .4s; }
.radial .setor i svg { width: 20px; height: 20px; }
.radial .setor[aria-pressed="true"] { color: #fff; }
.radial .setor[aria-pressed="true"] i { background: linear-gradient(180deg, #1564E6, var(--azul)); color: #fff; transform: scale(1.14); box-shadow: inset 0 1px 0 rgba(255,255,255,0.35), 0 0 30px rgba(47,123,255,0.8); }
.painel-s { border-radius: var(--r); overflow: hidden; display: flex; flex-direction: column; }
.painel-s .barra { display: flex; align-items: center; gap: 7px; padding: 14px 18px; border-bottom: 1px solid var(--fio); font-size: 12px; color: var(--gelo500); }
.painel-s .barra i { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; }
.painel-s .barra i:nth-child(2) { background: #febc2e; } .painel-s .barra i:nth-child(3) { background: #28c840; margin-right: 8px; }
.painel-s .barra em { margin-left: auto; font-style: normal; color: #7EE2A8; }
.painel-s .dentro { padding: 24px; flex: 1; display: grid; }
.painel-s .dentro > div { grid-area: 1 / 1; opacity: 0; transform: translateY(12px); transition: opacity .5s var(--ease), transform .5s var(--ease); pointer-events: none; }
.painel-s .dentro > div.on { opacity: 1; transform: none; pointer-events: auto; }
.painel-s h3 { font-size: 26px; }
.painel-s p { font-size: 14.5px; color: var(--gelo300); margin-top: 8px; }
.painel-s ol { list-style: none; margin-top: 18px; counter-reset: s; }
.painel-s li { counter-increment: s; display: flex; gap: 14px; align-items: center; padding: 11px 0; border-top: 1px solid var(--fio); font-size: 14.5px; }
.painel-s li::before { content: '0' counter(s); font-size: 12px; color: var(--gelo700); }
.painel-s li::after { content: ''; margin-left: auto; width: 6px; height: 6px; border-radius: 50%; background: var(--azul-luz); box-shadow: 0 0 8px var(--azul-luz); }
.painel-s .seg { display: flex; gap: 6px; padding: 0 24px 22px; }
.painel-s .seg b { flex: 1; height: 3px; border-radius: 3px; background: var(--g700); transition: background .4s; }
.painel-s .seg b.on { background: #fff; }
@media (max-width: 900px) { .radial-g { grid-template-columns: 1fr; } .radial .setor { font-size: 11px; } .radial .setor i { width: 40px; height: 40px; } }

/* simulação do lead */
.sim-topo { display: flex; justify-content: flex-end; align-items: center; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; font-size: 13px; color: var(--gelo500); }
.sim-topo .leg { display: inline-flex; align-items: center; gap: 7px; }
.sim-topo .leg::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--gelo500); }
.sim-topo .leg.az::before { background: var(--azul-luz); }
.sim { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sim .col { border-radius: var(--r); padding: 26px; background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); }
.sim .col.dep { box-shadow: inset 0 0 0 1px rgba(76,141,255,0.4); background: linear-gradient(180deg, #12151c, #0E0E10); }
.sim .cabeca { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 20px; }
.sim .cabeca h3 { font-size: 20px; font-weight: 400; }
.sim .cabeca small { display: block; font-size: 12.5px; color: var(--gelo500); margin-top: 4px; }
.sim .tempo { text-align: right; font-size: clamp(22px, 2.6vw, 32px); letter-spacing: -0.035em; font-variant-numeric: tabular-nums; }
.sim .tempo small { font-size: 12px; letter-spacing: 0; }
.sim ol { list-style: none; position: relative; display: grid; gap: 8px; padding-left: 28px; }
.sim ol::before { content: ''; position: absolute; left: 7px; top: 22px; bottom: 22px; width: 1.5px; background: var(--g700); }
.sim li { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 11px 14px; border-radius: 14px; font-size: 14px; opacity: .32; transition: opacity .4s, background .4s, box-shadow .4s; }
.sim li::before { content: ''; position: absolute; left: -26px; top: 50%; width: 11px; height: 11px; margin-top: -5.5px; border-radius: 50%; background: #0E0E10; box-shadow: inset 0 0 0 1.5px var(--g600); transition: background .4s, box-shadow .4s; }
.sim li small { display: block; font-size: 12px; color: var(--gelo500); }
.sim li em { font-style: normal; font-size: 12.5px; color: var(--gelo500); font-variant-numeric: tabular-nums; }
.sim li.feito { opacity: 1; background: rgba(255,255,255,0.035); }
.sim li.feito::before { background: var(--gelo300); box-shadow: none; }
.sim .dep li.feito::before { background: var(--azul-luz); box-shadow: 0 0 10px var(--azul-luz); }
.sim li.atual { opacity: 1; background: rgba(255,255,255,0.07); box-shadow: inset 0 0 0 1px var(--fio-forte); }
.sim .dep li.atual { box-shadow: inset 0 0 0 1px rgba(76,141,255,0.6); }
.sim li.atual::before { background: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,0.15); }
.sim li .ia { display: inline-block; margin-left: 8px; font-size: 10.5px; padding: 2px 7px; border-radius: 999px; background: rgba(76,141,255,0.18); color: #9CC0FF; vertical-align: 1px; }
.sim .fim { margin-top: 14px; padding: 13px 14px; border-radius: 14px; font-size: 14px; color: var(--gelo300); box-shadow: inset 0 0 0 1px var(--fio); opacity: .3; transition: opacity .6s; }
.sim .fim.on { opacity: 1; }
.sim .dep .fim.on { color: #fff; box-shadow: inset 0 0 0 1px rgba(76,141,255,0.5); background: rgba(47,123,255,0.1); }
@media (max-width: 800px) { .sim { grid-template-columns: 1fr; } }

/* cases em janela */
.janelas { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.jan { border-radius: 22px; overflow: hidden; background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); transition: transform .6s var(--ease), box-shadow .4s; }
.jan:hover { transform: translateY(-6px); box-shadow: inset 0 0 0 1px var(--fio-forte), 0 40px 60px -40px rgba(47,123,255,0.5); }
.jan .barra { display: flex; align-items: center; gap: 7px; padding: 13px 16px; font-size: 12px; color: var(--gelo500); border-bottom: 1px solid var(--fio); }
.jan .barra i { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; }
.jan .barra i:nth-child(2) { background: #febc2e; } .jan .barra i:nth-child(3) { background: #28c840; }
.jan .barra span { margin: 0 auto; padding: 4px 14px; border-radius: 999px; box-shadow: inset 0 0 0 1px var(--fio); }
.jan .barra em { font-style: normal; color: #7EE2A8; font-size: 11.5px; }
.jan .logo { height: 190px; display: grid; place-items: center; background-color: #0A0A0B; background-image: linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px); background-size: 34px 34px; }
.jan .logo.clara { background-color: #F2F4F7; background-image: linear-gradient(rgba(0,0,0,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,0.05) 1px, transparent 1px); }
.jan .logo img { max-height: 84px; max-width: 60%; }
.jan .txt { padding: 24px; }
.jan .cat { font-size: 12.5px; color: var(--azul-luz); }
.jan h3 { font-size: 22px; font-weight: 400; letter-spacing: -0.025em; margin-top: 6px; }
.jan p { font-size: 14.5px; color: var(--gelo500); margin-top: 8px; }
.jan .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.jan .tags .chip { height: 28px; font-size: 12px; }
@media (max-width: 800px) { .janelas { grid-template-columns: 1fr; } }

/* janelas de integrações */
.pilha-j { display: grid; gap: 14px; }
.jg { border-radius: var(--r); overflow: hidden; background: linear-gradient(180deg, #131316, #0E0E10); box-shadow: inset 0 0 0 1px var(--fio); position: sticky; top: calc(96px + var(--k) * 16px); }
.jg .barra { display: flex; align-items: center; gap: 7px; padding: 14px 18px; font-size: 12px; color: var(--gelo500); border-bottom: 1px solid var(--fio); }
.jg .barra i { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; }
.jg .barra i:nth-child(2) { background: #febc2e; } .jg .barra i:nth-child(3) { background: #28c840; }
.jg .barra span { margin: 0 auto; }
.jg .barra em { font-style: normal; color: #7EE2A8; }
.jg .dentro { display: grid; grid-template-columns: 1fr 1.2fr; gap: 30px; padding: clamp(22px, 4vw, 44px); align-items: center; }
.jg h3 { font-size: clamp(24px, 2.8vw, 34px); }
.jg .dentro > div > p { font-size: 15px; color: var(--gelo500); margin-top: 14px; max-width: 420px; }
.jg .vis { border-radius: 22px; padding: 16px; background: rgba(255,255,255,0.03); box-shadow: inset 0 0 0 1px var(--fio); }
.ferr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ferr div { border-radius: 16px; padding: 18px 12px; text-align: center; background: #0E0E10; box-shadow: inset 0 0 0 1px var(--fio); font-size: 14px; position: relative; animation: liga-f 7.2s linear infinite; animation-delay: calc(var(--i) * .8s); }
.ferr div::after { content: ''; position: absolute; top: 10px; right: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--g600); animation: ponto-f 7.2s linear infinite; animation-delay: calc(var(--i) * .8s); }
@keyframes liga-f { 0%, 12% { box-shadow: inset 0 0 0 1px rgba(76,141,255,0.6), 0 0 26px -6px rgba(47,123,255,0.7); } 16%, 100% { box-shadow: inset 0 0 0 1px var(--fio); } }
@keyframes ponto-f { 0%, 12% { background: var(--azul-luz); box-shadow: 0 0 8px var(--azul-luz); } 16%, 100% { background: var(--g600); box-shadow: none; } }
.ferr .ico { width: 40px; height: 40px; margin: 0 auto 10px; border-radius: 12px; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--fio-forte); color: var(--gelo100); }
.ferr .ico svg, .ferr .ico img { width: 18px; height: 18px; }
.ferr .ico img { filter: invert(1); }
.ferr small { display: block; font-size: 11.5px; color: var(--gelo500); margin-top: 2px; }
.pipe { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 22px; position: relative; padding: 14px 6px; }
.pipe div { border-radius: 16px; padding: 16px 8px; text-align: center; font-size: 13.5px; background: #0E0E10; box-shadow: inset 0 0 0 1px var(--fio); position: relative; animation: liga-f 6.4s linear infinite; animation-delay: calc(var(--i) * .8s); }
.pipe div .ico { width: 34px; height: 34px; margin: 0 auto 8px; border-radius: 10px; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--fio-forte); }
.pipe div .ico svg { width: 16px; height: 16px; }
.pipe div:not(.fimlinha)::after { content: '→'; position: absolute; right: -17px; top: 50%; transform: translateY(-50%); color: var(--gelo700); font-size: 13px; }
.pipe div.volta:not(.fimlinha)::after { content: '←'; right: auto; left: -17px; }
.pipe .desce-p { grid-column: 4; height: 0; position: relative; }
.sinal { margin-top: 14px; display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--azul-luz); padding: 10px 14px; border-radius: 12px; box-shadow: inset 0 0 0 1px rgba(76,141,255,0.35); border: 0; animation: pisca-s 6.4s linear infinite; }
.sinal svg { width: 16px; height: 16px; }
@keyframes pisca-s { 0%, 85% { background: transparent; } 90%, 100% { background: rgba(47,123,255,0.18); } }
.checks { list-style: none; margin-top: 20px; display: grid; gap: 10px; }
.checks li { display: flex; gap: 10px; align-items: center; font-size: 14.5px; color: var(--gelo100); }
.checks li svg { width: 18px; height: 18px; color: var(--azul-luz); }
.ops .cab-o { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--gelo500); margin-bottom: 10px; }
.ops .cab-o b { font-weight: 400; color: #7EE2A8; }
.op { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 14px; background: rgba(255,255,255,0.03); font-size: 13.5px; margin-bottom: 8px; transition: background .5s, box-shadow .5s; }
.op i { width: 20px; height: 20px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--g600); display: grid; place-items: center; font-style: normal; font-size: 11px; color: transparent; transition: background .4s, color .4s, box-shadow .4s; }
.op small { display: block; font-size: 12px; color: var(--gelo500); }
.op em { font-style: normal; font-size: 11.5px; padding: 3px 9px; border-radius: 999px; color: var(--gelo500); box-shadow: inset 0 0 0 1px var(--fio); }
.op.rodando { box-shadow: inset 0 0 0 1px rgba(76,141,255,0.5); background: rgba(47,123,255,0.08); }
.op.rodando em { color: #9CC0FF; }
.op.feito i { background: var(--azul); box-shadow: none; color: #fff; }
.op.feito em { color: #7EE2A8; }
.contador-o { margin-top: 14px; font-size: 13.5px; color: var(--gelo300); }
.contador-o b { font-weight: 300; font-size: 26px; letter-spacing: -0.03em; color: #fff; margin-right: 8px; font-variant-numeric: tabular-nums; }
@media (max-width: 860px) { .jg { position: static; } .jg .dentro { grid-template-columns: 1fr; } .pipe { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pipe div::after { display: none; } }
.form .tres-c { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 520px) { .form .tres-c { grid-template-columns: 1fr; } }
.selos-l img { max-width: 190px; object-fit: contain; }
.letreiro.duplo { display: grid; gap: 34px; padding: 40px 0; }
.letreiro .trilha { gap: 76px; animation-duration: 70s; }
.letreiro .trilha.volta { animation-direction: reverse; animation-duration: 80s; }
@keyframes corre { to { transform: translateX(-33.333%); } }
.letreiro img { height: 38px; max-width: 170px; object-fit: contain; transition: opacity .4s; }
.letreiro img.orig { filter: none; opacity: .72; }
.letreiro img:hover { opacity: 1; }
.letreiro:hover .trilha { animation-play-state: paused; }

/* ═════ celular (v4) ═════ */
.ia-p.mob { display: none; }
.plat .logos span { font-size: 11.5px; }
@media (max-width: 700px) {
  .tag-hero .longo { display: none; }
  .sec { padding-top: 76px; }
  .letreiro.duplo { gap: 26px; padding: 30px 0; }
  .letreiro img { height: 28px; max-width: 128px; }
  .letreiro .trilha { gap: 46px; }
  .filtros { display: flex; flex-wrap: nowrap; overflow-x: auto; max-width: 100%; scrollbar-width: none; }
  .filtros::-webkit-scrollbar { display: none; }
  .filtros button { flex: none; }
  .cases { grid-auto-rows: 400px; }
  .selos-l { display: grid; grid-template-columns: 1fr 1fr; justify-items: center; gap: 30px 14px; }
  .selos-l img { height: 70px; max-width: 150px; }
  .final { padding: 28px 18px; }
  .form { padding: 18px; }
  .rod { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .rod > div:first-child { grid-column: 1 / -1; }
  footer .cta-rod { padding-bottom: 40px; margin-bottom: 40px; }
  .chipd.desk { display: none; }
  .ia-p.mob { display: grid; }
  .ia-p .core { width: 150px; height: 150px; }
  .plat .logos div { aspect-ratio: 1.15; }
  .palco { padding: 14px; }
  .juntos .lados { padding: 14px; }
  .t-hero { font-size: clamp(34px, 9.4vw, 44px); }
}
