/* Barra de breadcrumb — MESMA das LPs de serviço e dos hubs. Estava só no servico.css e no
   hub.css: página institucional, blog, post e contato ficavam com o caminho solto no topo,
   sem faixa, e o título desalinhado em relação às demais. É a 6ª vez neste projeto que uma
   regra de componente compartilhado mora num arquivo e falta no outro. */
.crumb-bar{background:var(--panel-2);border-bottom:1px solid var(--line);}
.crumb-bar .crumb{padding:10px 0;font-size:12.5px;color:var(--ink-faint);font-family:var(--mono);display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:0;}

/* Artigo, página institucional e índice do blog.
   Não havia protótipo aprovado para post/página (a Fase 1 entregou home, produto,
   categoria, hub e LP). Isto segue o DESIGN_SYSTEM.md: corpo ~65ch, rótulo em mono
   caixa-alta com tracking .12em, âmbar só no CTA, motion sóbrio. */

/* ---- cabeçalho do artigo ---- */
/* `padding-block`, NUNCA o atalho `padding: X 0` — ele zera a lateral e o `.art-head`
   perdia os 36px do `.wrap`. Resultado: o título de Empresa/Blog/Contato começava em x=120
   e o caminho em x=156, fora do eixo do miolo. Mesmo gotcha já registrado no projeto. */
.art-head{padding-block:clamp(24px,4vw,40px) 0;}
.crumb-bar + .art-head{padding-top:clamp(20px,3vw,32px);}
.art-head .crumb{margin-bottom:18px;}
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;}
.art-meta .tagcat{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand);background:color-mix(in srgb,var(--brand) 10%,transparent);border-radius:999px;padding:5px 11px;}
.art-meta .date,.art-meta .rd{font-family:var(--mono);font-size:12.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums;}
.art-meta .sep{color:var(--line);}
/* Sem max-width em ch: qualquer valor fixo quebrava o título antes do fim do miolo, porque
   1ch acompanha a fonte e o clamp muda o tamanho conforme a viewport. Quem limita a linha
   agora é o próprio .wrap — o título usa o corpo inteiro da página, como pedido. */
.art-head h1{font-size:clamp(28px,4.2vw,44px);font-weight:800;letter-spacing:-.02em;line-height:1.14;margin:0 0 14px;}
.art-head .lede{font-size:clamp(16px,1.5vw,18.5px);color:var(--ink-soft);line-height:1.6;margin:0;max-width:none;}
/* A capa agora mora DENTRO do grid, como primeiro item da coluna de conteúdo — é o que faz
   o trilho lateral começar na altura da imagem em vez de na altura do primeiro parágrafo.
   Largura vem da própria coluna; não precisa mais de max-width próprio. */
/* 68ch para bater com resposta-direta, prosa, FAQ e bloco de catálogo — todos usam a
   mesma medida. Sem isso a capa ficava 80px mais larga que o resto da coluna e a borda
   esquerda do conteúdo deixava de ser uma linha só. */
.art-cover{margin:0 0 26px;max-width:68ch;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);}
.art-cover img{display:block;width:100%;height:auto;}

/* ---- prosa ---- */
.prose{max-width:68ch;font-size:16px;line-height:1.75;color:var(--ink-soft);}
.prose > *:first-child{margin-top:0;}
.prose h2{font-size:clamp(21px,2.4vw,27px);font-weight:800;letter-spacing:-.015em;color:var(--ink);line-height:1.25;margin:2em 0 .6em;}
.prose h3{font-size:clamp(18px,2vw,21px);font-weight:700;color:var(--ink);line-height:1.3;margin:1.7em 0 .5em;}
.prose h4,.prose h5,.prose h6{font-size:16.5px;font-weight:700;color:var(--ink);margin:1.5em 0 .4em;}
.prose p{margin:0 0 1.1em;}
.prose b,.prose strong{color:var(--ink);font-weight:700;}
.prose a{color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--brand-lite);}
.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.3em;}
.prose li{margin:.35em 0;}
.prose li::marker{color:var(--brand-pale);}
.prose img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line);margin:1.4em 0;}
.prose blockquote{margin:1.5em 0;padding:2px 0 2px 18px;border-left:3px solid var(--brand-pale);color:var(--ink);font-size:17px;}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0;}
/* tabela técnica: mesmo peso de elemento de design do datasheet */
.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.prose thead th{background:var(--panel-2);font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-align:left;}
.prose th,.prose td{padding:9px 13px;border-bottom:1px solid var(--line);vertical-align:top;}
.prose tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel-2) 45%,transparent);}
.prose tbody tr:last-child td{border-bottom:0;}
.prose td:first-child{color:var(--ink);font-weight:600;}

/* layout do artigo: prosa + trilho lateral */
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(28px,4vw,56px);align-items:start;}
@media(max-width:900px){.art-layout{grid-template-columns:1fr;}}
.art-aside{position:sticky;top:86px;display:flex;flex-direction:column;gap:16px;}
@media(max-width:900px){.art-aside{position:static;}}
.aside-cta{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:14px;padding:20px;box-shadow:var(--shadow);}
.aside-cta h3{margin:0 0 8px;font-size:16.5px;color:var(--ink);}
.aside-cta p{margin:0 0 14px;font-size:13.5px;color:var(--ink-soft);line-height:1.55;}
.aside-cta .b-wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--amber);color:#3a2600;font-weight:700;font-size:14px;padding:11px 14px;border-radius:10px;}
.aside-cta .b-wa:hover{filter:brightness(1.05);}
/* Resposta direta (AIO): primeiro bloco do artigo. Borda na cor da marca e fundo recuado
   para ler como "a resposta", não como mais um parágrafo do texto. */
.art-resposta{max-width:68ch;margin:0 0 30px;padding:20px 22px;background:var(--panel-2);border-left:3px solid var(--brand);border-radius:12px;}
.art-resposta h2{margin:0 0 7px;font-size:12px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);}
.art-resposta p{margin:0;font-size:16px;line-height:1.7;color:var(--ink);}

/* FAQ do post. O componente `.faq` vem do app.css (compartilhado com produto/LP/hub);
   aqui só o espaçamento do bloco dentro do artigo. */
.art-faq{max-width:68ch;margin:40px 0 0;}
.art-faq h2{margin:0 0 14px;font-size:19px;line-height:1.3;color:var(--ink);}

/* Links internos injetados na prosa: precisam se distinguir do texto sem gritar. */
.prose a{color:var(--brand);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;}
.prose a:hover{text-decoration-thickness:2px;}

/* Ponte artigo → catálogo, no fim da coluna de leitura. Segue o max-width da prosa para não
   estourar a medida de linha do artigo. */
.art-main{min-width:0;}
.art-catalogo{max-width:68ch;margin:44px 0 0;padding:26px;background:var(--panel);border:1px solid var(--line);border-radius:16px;}
.art-catalogo h2{margin:0 0 6px;font-size:19px;line-height:1.3;color:var(--ink);}
.art-catalogo > p{margin:0 0 18px;font-size:14px;color:var(--ink-soft);line-height:1.6;}
.cat-grid{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;}
/* --panel-2, não --bg: `--bg` não existe no design system e caía para transparente, deixando
   o card sem preenchimento sobre o painel branco (getComputedStyle acusou rgba(0,0,0,0)). */
.cat-grid a{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;transition:border-color .15s,transform .15s;}
.cat-grid a:hover{border-color:var(--brand);transform:translateY(-1px);}
.cat-nome{font-size:14px;font-weight:600;color:var(--ink);line-height:1.35;}
.cat-total{flex:none;font-family:var(--mono);font-size:11.5px;color:var(--ink-faint);}
.cat-acoes{display:flex;flex-wrap:wrap;gap:10px;}
.b-cat-primaria{display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:#fff;font-weight:700;font-size:14px;padding:11px 18px;border-radius:10px;}
.b-cat-primaria:hover{filter:brightness(1.08);}
.b-cat-wa{display:inline-flex;align-items:center;gap:8px;background:var(--amber);color:#3a2600;font-weight:700;font-size:14px;padding:11px 18px;border-radius:10px;}
.b-cat-wa:hover{filter:brightness(1.05);}
@media(max-width:520px){.art-catalogo{padding:20px;}.cat-acoes>a{width:100%;}}

/* Destino do cluster: leva o leitor do artigo para a LP/hub que resolve a dor dele.
   Borda na cor da marca para não competir com o âmbar do CTA de WhatsApp logo abaixo. */
.aside-destino{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:14px;padding:20px;box-shadow:var(--shadow);}
.aside-destino h3{margin:0 0 8px;font-size:12px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);}
.aside-destino p{margin:0 0 14px;font-size:13.5px;color:var(--ink-soft);line-height:1.55;}
.aside-destino .b-destino{display:inline-flex;align-items:center;justify-content:center;width:100%;background:var(--brand);color:#fff;font-weight:700;font-size:14px;line-height:1.3;text-align:center;padding:11px 14px;border-radius:10px;}
.aside-destino .b-destino:hover{filter:brightness(1.08);}
.destino-extras{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);}
.destino-extras a{display:block;padding:5px 0;font-size:13px;color:var(--ink-soft);}
.destino-extras a:hover{color:var(--brand);}

.aside-links{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;}
.aside-links h3{margin:0 0 10px;font-size:12px;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);}
.aside-links a{display:block;padding:7px 0;font-size:14px;color:var(--ink-soft);border-bottom:1px solid var(--line);}
.aside-links a:last-child{border-bottom:0;}
.aside-links a:hover{color:var(--brand);}

/* ---- índice do blog e hub de categoria ---- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:980px){.blog-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.blog-grid{grid-template-columns:1fr;}}
.bpost{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,border-color .15s;}
.bpost:hover{transform:translateY(-3px);border-color:var(--brand-lite);}
.bpost .cover{aspect-ratio:16/9;background:var(--panel-2);overflow:hidden;}
.bpost .cover img{width:100%;height:100%;object-fit:cover;display:block;}
.bpost .pbody{padding:16px 17px 18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.bpost .date{font-family:var(--mono);font-size:11.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums;}
.bpost .t{font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.35;}
.bpost .ex{font-size:13.5px;color:var(--ink-soft);line-height:1.55;}
.bpost .rd{margin-top:auto;font-size:13px;font-weight:600;color:var(--brand);display:inline-flex;align-items:center;gap:5px;}

.cat-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;}
.cat-chips a{font-size:13.5px;font-weight:600;color:var(--ink-soft);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 14px;}
.cat-chips a:hover{border-color:var(--brand-lite);color:var(--brand);}
.cat-chips a.on{background:var(--brand);border-color:var(--brand);color:#fff;}
.cat-chips a .n{font-family:var(--mono);font-size:11.5px;opacity:.65;margin-left:5px;}

/* ── Página institucional ────────────────────────────────────────────────────
   Missão, visão e valores são três blocos PARALELOS: viravam parágrafos empilhados
   e perdiam a leitura de conjunto. Aqui vão lado a lado, numerados. */
/* Sem o max-width de 68ch: aquilo é medida de LEITURA de prosa, e cartão não é prosa.
   Preso a 685px, o minmax de 228px só deixava caber 2 por linha e os três pilares —
   que são paralelos — quebravam em 2+1, desfazendo a leitura de conjunto. */
.pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:34px 0 0;}
@media(max-width:760px){.pilares{grid-template-columns:1fr;}}
.pilar{position:relative;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--brand);border-radius:14px;padding:22px 20px 20px;}
.pilar-n{position:absolute;top:14px;right:16px;font-family:var(--mono);font-size:11px;color:var(--ink-faint);letter-spacing:.08em;}
.pilar h2{margin:0 0 6px;font-size:17px;letter-spacing:-.01em;color:var(--ink);}
.pilar-lema{margin:0 0 10px;font-size:13.5px;font-weight:700;color:var(--brand);line-height:1.4;}
.pilar-txt{font-size:14px;line-height:1.62;color:var(--ink-soft);}
.pilar-txt p{margin:0;}

/* Código de ética: destaque, não parágrafo perdido no fim da página. */
/* Sem max-width: o box de ética é irmão dos três pilares e precisa da mesma largura.
   Preso a 68ch ele ficava visivelmente mais estreito que a faixa logo acima. */
.etica{margin:30px 0 0;padding:24px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:14px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;}
.etica-txt{flex:1 1 300px;}
.etica-txt h2{margin:0 0 8px;font-size:18px;color:var(--ink);}
.etica-txt div{font-size:14px;line-height:1.62;color:var(--ink-soft);}
.etica-txt p{margin:0;}
.etica-acoes{display:flex;flex-direction:column;gap:8px;flex:0 0 auto;}
.b-etica{display:inline-flex;align-items:center;justify-content:center;background:var(--amber);color:#3a2600;font-weight:700;font-size:14px;padding:12px 20px;border-radius:10px;white-space:nowrap;}
.b-etica:hover{filter:brightness(1.05);}
.b-etica-sec{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);font-weight:600;font-size:13.5px;padding:11px 20px;border-radius:10px;white-space:nowrap;}
.b-etica-sec:hover{border-color:var(--brand);color:var(--brand);}
@media(max-width:560px){.etica-acoes{width:100%}.etica-acoes a{width:100%}}

/* "Carregar mais" do blog — substitui a paginação numerada na tela; a paginação segue
   existindo por baixo (e dentro de <noscript>) para o rastreador e para quem não tem JS. */
.mais-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;padding:34px 0 6px;}
.mais-btn{display:inline-flex;align-items:center;gap:9px;background:var(--panel);color:var(--ink);
  border:1px solid var(--line);border-radius:11px;padding:13px 26px;font:700 14.5px/1 var(--sans);
  cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s,color .15s,transform .15s;}
.mais-btn:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-1px);}
.mais-btn:disabled{opacity:.6;cursor:progress;transform:none;}
.mais-conta{font-family:var(--mono);font-size:12px;color:var(--ink-faint);margin:0;}
