/* Apenas o molde JSON. Paleta e tipografia da home/serviços atuais da Corp. */
/* A navegação dos artigos mantém a geometria ao rolar: nenhum salto no conteúdo. */
.corp-artigo #main-nav,.corp-artigo #main-nav.scrolled{width:100%;max-width:none;margin-top:0;border:0;border-bottom:1px solid #d3d3cc;border-radius:0;transition-property:background-color,color,box-shadow}
.corp-artigo #main-nav>div{height:80px;transition-property:background-color,color}
@font-face { font-family:"Inter"; font-style:normal; font-weight:100 900; font-display:optional; src:url("../assets/fonts/inter-latin.woff2") format("woff2"); }
@font-face { font-family:"JetBrains Mono"; font-style:normal; font-weight:400; font-display:optional; src:url("../assets/fonts/jetbrains-mono-400-latin.woff2") format("woff2"); }
.corp-artigo { --papel:#f2f2ed; --tinta:#0a0a0a; --muted:#50504c; --linha:#d3d3cc; --azul:#0e67e4; --sans:"Inter",Arial,sans-serif; --mono:"JetBrains Mono",monospace; background:var(--papel); color:var(--tinta); font-family:var(--sans); line-height:1.7; }
.corp-artigo .container { width:calc(100% - 48px); max-width:1200px; margin-inline:auto; }
.corp-artigo .pg-hero--artigo { padding:128px 0 48px; border-bottom:1px solid var(--linha); }
.corp-artigo .trilha ol { display:flex; gap:12px; margin:0 0 28px; padding:0; list-style:none; font-size:13px; color:var(--muted); }
.corp-artigo .trilha li { display:flex; align-items:center; min-width:0; }
.corp-artigo .trilha li + li::before { content:"›"; flex-shrink:0; margin-right:12px; }
.corp-artigo .trilha li:last-child { display:flex; flex:1; }
.corp-artigo .trilha a { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; }
.corp-artigo .trilha [aria-current] { align-self:center; }
.corp-artigo h1 { max-width:920px; font-size:clamp(36px,4.4vw,62px); line-height:1.1; font-weight:500; letter-spacing:-.035em; margin:0; }
.corp-artigo h2 { font-size:clamp(26px,2.6vw,34px); line-height:1.22; font-weight:500; letter-spacing:-.035em; margin:0 0 24px; }
.corp-artigo h3 { font-size:23px; line-height:1.3; font-weight:500; letter-spacing:-.025em; margin:28px 0 16px; }
.corp-artigo main p { margin:0 0 20px; }
.corp-artigo main a { color:#0956bf; text-decoration:underline; text-underline-offset:4px; }
.corp-artigo main strong { font-weight:600; }
.corp-artigo a:focus-visible,.corp-artigo button:focus-visible,.corp-artigo summary:focus-visible { outline:2px solid var(--azul); outline-offset:4px; }
.corp-artigo .artigo-resposta { max-width:850px; margin-top:28px; padding:24px 28px; border:1px solid var(--linha); border-left:3px solid var(--azul); border-radius:4px 20px 20px 4px; background:#fafaf7; }
.corp-artigo .artigo-resposta p { margin:0; font-size:20px; line-height:1.55; }
.corp-artigo .artigo-rotulo,.corp-artigo .artigo-resposta .artigo-rotulo { margin:0 0 12px; font:400 12px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:#0956bf; }
.corp-artigo .artigo-subtitulo { margin-top:24px; max-width:65ch; font-size:21px; }
.corp-artigo .artigo-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin-top:20px; color:var(--muted); font-size:13px; }
.corp-artigo .artigo-por a { display:inline-flex; min-width:44px; min-height:44px; align-items:center; }
.corp-artigo .artigo-meta-curto { display:none; }
.corp-artigo .artigo-grade { display:grid; grid-template-columns:minmax(0,800px) minmax(260px,1fr); gap:56px; padding-block:56px 96px; }
.corp-artigo .artigo-corpo { min-width:0; font-size:18px; }
.corp-artigo .artigo-corpo > :is(.artigo-solucao,.artigo-faq,.artigo-proximo,.fontes,.relacionados) { display:flow-root; margin-top:72px; }
/* O CSS compartilhado estima seções fora da tela. Aqui o corpo precisa de altura real
   para sumário, alvos e marcador de 38%, sem saltos ao abrir o layout. */
.corp-artigo main section { content-visibility:visible; contain:none; }
.corp-artigo .artigo-texto { position:relative; display:flex; flex-direction:column; gap:72px; }
.corp-artigo .artigo-secao { margin:56px 0 0; }
.corp-artigo .artigo-texto > :is(.artigo-secao,.artigo-cta-meio) { margin:0; }
.corp-artigo .artigo-secao > :last-child { margin-bottom:0; }
.corp-artigo :is(h2,h3,[id^="fonte-"],[id^="ref-"]) { scroll-margin-top:110px; }
.corp-artigo .artigo-secao ul,.corp-artigo .artigo-secao ol { margin:20px 0; padding-left:24px; }
.corp-artigo .artigo-secao ul { list-style:disc; }
.corp-artigo .artigo-secao ol { list-style:decimal; }
.corp-artigo .artigo-secao li { margin-bottom:12px; }
.corp-artigo .artigo-quadro { padding:28px; background:#e8e8e1; border:1px solid var(--linha); border-radius:20px; }
.corp-artigo .artigo-nota { margin:28px 0; font-size:16px; }
.corp-artigo blockquote { padding-left:24px; margin:28px 0; border-left:3px solid var(--azul); }
.corp-artigo blockquote footer { font-size:14px; }
.corp-artigo .artigo-capa,.corp-artigo .artigo-imagem { margin:0 0 32px; }
.corp-artigo .artigo-imagem { margin-top:28px; }
.corp-artigo :is(.artigo-capa,.artigo-imagem) img { display:block; width:100%; height:auto; border-radius:16px; }
.corp-artigo figcaption { margin-top:12px; font-size:14px; color:var(--muted); }
/* Lateral fixa sem rolagem interna: se o sumário não couber, sites/_elementos/lateral recolhe seções. */
.corp-artigo .artigo-lado { position:sticky; top:112px; align-self:start; }
.corp-artigo .sumario { border-top:1px solid var(--linha); padding-top:20px; }
.corp-artigo .sumario p { font:400 12px/1.5 var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.corp-artigo .sumario ol { list-style:none; padding:0; margin:0; }
.corp-artigo .sumario a { display:block; min-height:44px; padding:10px 0; font-size:14px; line-height:1.5; text-decoration:none; color:var(--muted); }
.corp-artigo .sumario a:hover { color:var(--azul); text-decoration:underline; }
.corp-artigo .artigo-sumario-movel { display:none; }
.corp-artigo .pilula { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 22px; border-radius:999px; border:1px solid var(--tinta); font:500 14px/1.5 var(--sans); background:var(--tinta); color:#fff; text-decoration:none; cursor:pointer; }
.corp-artigo .pilula--clara { color:var(--tinta); background:transparent; }
.corp-artigo .pilula:hover { transform:translateY(-2px); }
.corp-artigo .pilula { transition:transform .2s ease,opacity .2s ease; }
.corp-artigo .artigo-cta-meio { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:40px 0; padding:24px; border:1px solid var(--linha); border-radius:20px; background:#e4ebf3; }
.corp-artigo .artigo-cta-meio p { margin:0; font-size:17px; max-width:30ch; }
.corp-artigo .artigo-cta-meio .pilula { flex-shrink:0; }
.corp-artigo .artigo-proximo { margin-top:56px; }
.corp-artigo .artigo-acoes { display:flex; gap:12px; flex-wrap:wrap; }
.corp-artigo .autor-card { padding-top:28px; margin-top:32px; border-top:1px solid var(--linha); font-size:14px; color:var(--muted); }
.corp-artigo .artigo-solucao { padding:32px; border:1px solid var(--linha); border-radius:24px; background:#fafaf7; }
.corp-artigo .artigo-solucao-resolve { padding-left:20px; border-left:2px solid var(--azul); }
.corp-artigo .artigo-solucao .artigo-solucao-passos { list-style:none; padding:0; margin:28px 0; }
.corp-artigo .artigo-solucao-passos > li { position:relative; margin:0; padding:0 0 24px 24px; font-size:17px; }
.corp-artigo .artigo-solucao-passos > li::before { content:""; position:absolute; left:0; top:8px; width:8px; height:8px; border:1px solid var(--azul); border-radius:2px; background:#e4ebf3; }
.corp-artigo .artigo-solucao-passos > li:not(:last-child)::after { content:""; position:absolute; left:4px; top:20px; bottom:4px; width:1px; background:var(--linha); }
.corp-artigo .artigo-solucao-passos > li:last-child { padding-bottom:0; }
.corp-artigo .artigo-solucao-passos strong:first-child { display:block; margin-bottom:4px; font-size:18px; }
.corp-artigo .artigo-solucao-limites { padding-top:20px; border-top:1px solid var(--linha); font-size:14px; color:var(--muted); }
.corp-artigo.artigo-solucao-movimento [data-artigo-solucao-entrada] { opacity:0; transform:translateY(8px); transition:opacity .36s ease,transform .36s ease; transition-delay:var(--solucao-atraso,0ms); }
.corp-artigo.artigo-solucao-movimento [data-artigo-solucao-entrada].visivel { opacity:1; transform:none; }
.corp-artigo .tabela { margin:28px 0; }
.corp-artigo table { width:100%; table-layout:fixed; border-collapse:collapse; text-align:left; font-size:15px; line-height:1.6; }
.corp-artigo caption { text-align:left; font-size:14px; color:var(--muted); padding-bottom:16px; }
.corp-artigo :is(th,td) { padding:18px 12px; border-bottom:1px solid var(--linha); vertical-align:top; overflow-wrap:anywhere; }
.corp-artigo thead th { color:#0956bf; font-weight:500; background:#e4ebf3; }
.corp-artigo tbody th { font-weight:600; }
.corp-artigo .artigo-tabela-rotulo { display:none; }
.corp-artigo .artigo-ref,.corp-artigo .artigo-retorno { display:inline-flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; font-size:14px; }
.corp-artigo .artigo-retorno { justify-content:start; margin:4px 12px 0 0; }
.corp-artigo .fontes { font-size:15px; overflow-wrap:anywhere; }
.corp-artigo .fontes,.corp-artigo .relacionados { margin-top:56px; }
.corp-artigo .fontes ol { list-style:decimal; padding-left:24px; }
.corp-artigo .fontes li { margin-bottom:16px; }
.corp-artigo .faq-02 { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:28px; }
.corp-artigo .faq-contato { padding:20px; border:1px solid var(--linha); border-radius:16px; margin-top:24px; }
.corp-artigo .faq-contato h3 { font-size:22px; margin-top:0; }
.corp-artigo .faq-contato p { font-size:16px; }
.corp-artigo .faq-email { margin-top:16px; overflow-wrap:anywhere; }
.corp-artigo .faq-email a,.corp-artigo .fontes li > a:first-child { display:inline-flex; align-items:center; min-height:44px; }
.corp-artigo .faq-intro { position:static; }
.corp-artigo .faq-botao { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:20px 0; min-height:56px; cursor:pointer; font-size:18px; font-weight:500; line-height:1.4; list-style:none; }
.corp-artigo .faq-botao::-webkit-details-marker { display:none; }
.corp-artigo .faq-item[open] .faq-botao > span:last-child { transform:rotate(45deg); }
.corp-artigo .faq-resp { font-size:16px; }
.corp-artigo .artigo-faq .faq-item { overflow:visible; }
.corp-artigo .relacionados .lista-artigos { list-style:none; padding:0; margin:0; }
.corp-artigo .lista-artigos li { padding:24px 0; border-top:1px solid var(--linha); margin:0; }
.corp-artigo .lista-artigos h3 { margin:0; font-size:24px; }
.corp-artigo .lista-artigos p { margin:12px 0 0; font-size:16px; }
.corp-artigo .lista-artigos .artigo-rotulo { margin:0 0 12px; font-size:12px; }
.corp-artigo .lista-artigos time { font-size:12px; }
.corp-artigo .relacionados h3 a { display:inline-flex; max-width:100%; min-width:44px; min-height:44px; align-items:center; vertical-align:middle; }
.corp-artigo .artigo-aviso[hidden] { display:none!important; }
.corp-artigo .artigo-aviso { position:fixed; z-index:60; right:24px; bottom:104px; width:290px; padding:16px; display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:10px; border:1px solid var(--linha); border-radius:20px; background:#fafaf7; box-shadow:0 8px 28px #0002; animation:artigo-aviso-entra .25s ease both; }
.corp-artigo .artigo-aviso p { margin:0; align-self:center; font-size:15px; line-height:1.45; }
.corp-artigo .artigo-aviso-fechar { grid-column:2; grid-row:1; align-self:start; width:44px; height:44px; border:0; border-radius:8px; font-size:26px; cursor:pointer; background:transparent; }
.corp-artigo .artigo-aviso-acoes { grid-column:1/-1; display:grid; gap:8px; }
.corp-artigo .artigo-aviso-acoes .pilula { min-width:0; min-height:44px; padding:10px 8px; font-size:13px; }
.corp-artigo .artigo-progresso { position:absolute; top:50%; width:1px; height:1px; pointer-events:none; }
/* O script lateral mede os controles depois de aplicar seus modos compactos. */
body.corp-artigo [data-cw-lateral][data-cw-lateral-modo="compacta"] ol a,
body.corp-artigo [data-cw-lateral][data-cw-lateral-modo="janela"] ol a {
  min-height:44px!important; padding-top:10px!important; padding-bottom:10px!important;
}
body.corp-artigo [data-cw-lateral] .cw-lateral-mais {
  min-height:44px!important; padding-top:10px!important; padding-bottom:10px!important;
}
@keyframes artigo-aviso-entra { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
/* Correções restritas ao molde: alvos/legibilidade dos includes atuais. */
.corp-artigo #mobile-menu-btn { width:44px; height:44px; }
.corp-artigo #main-nav a { min-height:44px; }
.corp-artigo #main-nav,.corp-artigo #main-nav *,.corp-artigo .site-footer * { transition-property:transform,opacity; }
.corp-artigo .site-footer a { display:inline-flex; align-items:center; min-height:44px; }
.corp-artigo .site-footer :is(.footer-legal,.footer-legal p,.footer-legal a,.magnetic-btn) { font-size:12px; }
.corp-artigo .site-footer .footer-legal { color:#bbbcb7; }
.corp-artigo .site-footer .magnetic-btn { transition:transform .2s ease,opacity .2s ease; }
@media(max-width:1099px) {
  .corp-artigo .artigo-grade { grid-template-columns:minmax(0,1fr); }
  .corp-artigo .artigo-lado { display:none; }
  .corp-artigo .artigo-sumario-movel { display:block; margin:0 0 36px; border:1px solid var(--linha); border-radius:14px; }
  .corp-artigo .artigo-sumario-movel > summary { padding:16px 20px; min-height:56px; font:400 14px/1.5 var(--sans); cursor:pointer; }
  .corp-artigo .artigo-sumario-movel .sumario { border:0; padding:0 20px 20px; }
  .corp-artigo .artigo-aviso { left:0; right:0; bottom:0; width:auto; padding:6px 12px; border-radius:0; gap:4px; }
  .corp-artigo .artigo-aviso p { font-size:13px; line-height:1.35; }
  .corp-artigo .artigo-aviso-acoes { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
  .corp-artigo .artigo-aviso-acoes .pilula { font-size:12px; }
  .corp-artigo.artigo-aviso-visivel { padding-bottom:var(--artigo-aviso-altura,106px); }
  .corp-artigo aside[aria-label="Atalho para o WhatsApp"] > a { transition-property:opacity; }
  .corp-artigo.artigo-aviso-visivel aside[aria-label="Atalho para o WhatsApp"] > a { transform:translateY(calc(-1 * var(--artigo-aviso-altura,106px))); }
}
@media(max-width:767px) {
  /* O logo real tem 79×48: tamanho móvel compatível com sua resolução. */
  .corp-artigo #main-nav img { height:31px; width:auto; }
  .corp-artigo .container { width:calc(100% - 40px); }
  .corp-artigo .pg-hero--artigo { padding-top:104px; padding-bottom:32px; }
  .corp-artigo .trilha ol { gap:8px; margin-bottom:20px; }
  .corp-artigo .trilha li+li::before { margin-right:8px; }
  .corp-artigo .trilha [aria-current] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .corp-artigo .artigo-resposta { padding:20px; margin-top:24px; }
  .corp-artigo .artigo-resposta p { font-size:18px; }
  .corp-artigo .artigo-meta { display:flex; flex-direction:column; align-items:stretch; gap:4px; min-width:0; font-size:12px; }
  .corp-artigo .artigo-meta > span { min-width:0; white-space:normal; overflow-wrap:anywhere; }
  .corp-artigo .artigo-por { grid-column:1; grid-row:1; }
  .corp-artigo .artigo-meta-leitura { grid-column:2; grid-row:1; }
  .corp-artigo .artigo-meta-publicado { grid-column:1; grid-row:2; }
  .corp-artigo .artigo-meta-atualizado { grid-column:2; grid-row:2; }
  .corp-artigo :is(.artigo-meta-leitura,.artigo-meta-atualizado)::before { content:"·"; margin-right:8px; }
  .corp-artigo .artigo-meta-extenso { display:none; }
  .corp-artigo .artigo-meta-curto { display:inline; }
  .corp-artigo .artigo-grade { padding-block:32px 64px; }
  .corp-artigo .artigo-secao { margin-top:48px; }
  .corp-artigo .artigo-corpo { font-size:17px; }
  .corp-artigo .artigo-quadro,.corp-artigo .artigo-solucao { padding:24px; }
  .corp-artigo .artigo-cta-meio { flex-direction:column; align-items:start; gap:16px; }
  .corp-artigo .faq-02 { grid-template-columns:minmax(0,1fr); }
  .corp-artigo .tabela table { display:block; min-width:0; width:100%; }
  .corp-artigo .tabela caption { display:block; width:100%; }
  .corp-artigo .tabela thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .corp-artigo .tabela tbody { display:grid; gap:16px; }
  .corp-artigo .tabela tbody tr { display:block; padding:20px; border:1px solid var(--linha); border-radius:16px; background:#fafaf7; }
  .corp-artigo .tabela tbody :is(th,td) { display:block; padding:16px 0 0; border:0; }
  .corp-artigo .tabela tbody :is(th,td):first-child { padding-top:0; font-size:19px; font-weight:600; }
  .corp-artigo .artigo-tabela-rotulo { display:block; margin-bottom:6px; font:400 12px/1.5 var(--mono); letter-spacing:.04em; text-transform:uppercase; color:#0956bf; }
}
/* Fluxo textual v1. Conectores vazios são decoração; a ordem pertence ao ol. */
.corp-artigo .artigo-secao ol.artigo-fluxo { display:grid; gap:32px; width:100%; max-width:520px; margin:28px auto; padding:0; list-style:none; }
.corp-artigo .artigo-fluxo > li { position:relative; display:grid; gap:8px; min-width:0; margin:0; padding:20px 24px; border:1px solid var(--linha); border-radius:20px; background:#fafaf7; color:var(--tinta); overflow-wrap:anywhere; }
.corp-artigo .artigo-fluxo > li:not(:last-child)::before { content:""; position:absolute; left:calc(50% - 1px); bottom:-24px; width:2px; height:23px; background:var(--azul); }
.corp-artigo .artigo-fluxo > li:not(:last-child)::after { content:""; position:absolute; left:calc(50% - 5px); bottom:-24px; width:10px; height:10px; border-right:2px solid var(--azul); border-bottom:2px solid var(--azul); transform:rotate(45deg); }
.corp-artigo .artigo-fluxo-rotulo { display:block; font:400 14px/1.5 var(--mono); color:#0956bf; }
.corp-artigo .artigo-fluxo-texto { display:block; font-size:18px; line-height:1.6; }
@media(max-width:767px) {
  .corp-artigo .artigo-fluxo > li { padding:20px; }
  .corp-artigo .artigo-fluxo-rotulo { font-size:13px; }
  .corp-artigo .artigo-fluxo-texto { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .corp-artigo *, .corp-artigo *::before,.corp-artigo *::after { scroll-behavior:auto!important; animation:none!important; transition-property:opacity!important; }
  .corp-artigo .pilula:hover,.corp-artigo.artigo-solucao-movimento [data-artigo-solucao-entrada] { transform:none; }
  .corp-artigo .site-footer .magnetic-btn { transform:none!important; }
}

/* O convite ocupa a margem da leitura no desktop e uma faixa curta no celular. */
.corp-artigo .artigo-aviso { left:auto; right:24px; bottom:24px; width:290px; z-index:10000; }
.corp-artigo.artigo-aviso-visivel aside[aria-label="Atalho para o WhatsApp"] { visibility:hidden; }
.corp-artigo .artigo-fluxo.fluxo-ativo > li { animation:crm-etapa .45s ease-out both; }
.corp-artigo .artigo-fluxo > li:nth-child(2) { animation-delay:.4s; }
.corp-artigo .artigo-fluxo > li:nth-child(3) { animation-delay:.8s; }
.corp-artigo .artigo-fluxo > li:nth-child(4) { animation-delay:1.2s; }
.corp-artigo .artigo-fluxo > li:nth-child(5) { animation-delay:1.6s; }
.corp-artigo .artigo-fluxo > li:nth-child(6) { animation-delay:2s; }
.corp-artigo .artigo-fluxo > li:nth-child(7) { animation-delay:2.4s; }
.corp-artigo .artigo-fluxo > li:nth-child(8) { animation-delay:2.8s; }
@keyframes crm-etapa { from { background:#fafaf7; border-color:var(--linha); } to { background:#e4eee4; border-color:#51936c; } }
.corp-artigo ::selection { background:#c1d9f8; color:#0a0a0a; }
@media(min-width:1100px) and (max-width:1540px) {
 .corp-artigo.pg-artigo-novo .artigo-grade { grid-template-columns:minmax(0,720px) minmax(290px,1fr); gap:32px; }
}
@media(max-width:1099px) {
 .corp-artigo .artigo-aviso { left:0; right:0; bottom:0; width:auto; padding:8px 12px max(8px,env(safe-area-inset-bottom)); }
 .corp-artigo.artigo-aviso-visivel { padding-bottom:var(--artigo-aviso-altura,110px); }
}
@media(prefers-reduced-motion:reduce) {
 .corp-artigo .artigo-fluxo.fluxo-ativo > li { animation:none!important; }
}
