/* Heuristika — páginas de conteúdo (sistema sob medida e um sistema por página).
   Usa os tokens, o topo, o rodapé, os botões e as tabelas de site.css; aqui fica só o que é da leitura longa. */

.pagina .topo { background: rgba(13, 22, 19, 0.86); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom-color: var(--line); }
.pagina .topo__nav { display: none; }
@media (min-width: 900px) { .pagina .topo__nav { display: flex; } }
.pagina main { position: relative; z-index: 2; padding-top: 72px; }

.trilha { padding-top: var(--space-6); font-size: 13px; color: var(--ink-muted); }
.trilha ol { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.trilha li + li::before { content: "/"; margin-right: var(--space-2); color: var(--line-strong); }
.trilha a { text-decoration: none; }
.trilha a:hover { color: var(--ink); text-decoration: underline; }

.pag-abertura { padding: var(--space-7) 0 var(--space-8); max-width: 860px; }
.pag-abertura > * + * { margin-top: var(--space-5); }
.pag-abertura h1 { font-family: var(--font-display); font-weight: 700; font-size: clamp(36px, 5.6vw, 68px); line-height: 1.02; letter-spacing: -0.035em; text-wrap: balance; }
.pag-abertura .hero__acoes { margin-top: var(--space-6); }

.pag-destaque { display: grid; gap: var(--space-5); padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
@media (min-width: 900px) { .pag-destaque { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); align-items: start; gap: var(--space-7); } }

.pag-secao { padding: var(--space-8) 0; border-top: 1px solid var(--line); }
.pag-secao__cab { max-width: 760px; }
.pag-secao__cab > * + * { margin-top: var(--space-3); }
.pag-secao h2 { font-family: var(--font-display); font-weight: 700; font-size: clamp(26px, 3.2vw, 40px); line-height: 1.1; letter-spacing: -0.025em; text-wrap: balance; }
.pag-texto { max-width: 720px; margin-top: var(--space-5); }
.pag-texto > * + * { margin-top: var(--space-4); }
.pag-texto p { font-size: 17px; line-height: 28px; color: var(--ink-muted); }
.pag-texto strong { color: var(--ink); font-weight: 600; }
.pag-texto a, .pag-faq a { color: var(--terracota-text); }
.pag-texto .lista > li { font-size: 16px; line-height: 26px; }
.pag-texto .lista > li::before { top: 8px; background: var(--terracota-text); }

.pag-numeros { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
@media (min-width: 900px) { .pag-numeros { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pag-numeros div { padding-top: var(--space-4); border-top: 1px solid var(--line-strong); }
.pag-numeros strong { display: block; font-family: var(--font-mono); font-weight: 500; font-size: clamp(26px, 3vw, 36px); line-height: 1.1; color: var(--terracota-text); }
.pag-numeros span { display: block; margin-top: var(--space-2); font-size: 14px; line-height: 20px; color: var(--ink-muted); }

.pag-grade { display: grid; gap: var(--space-4); margin-top: var(--space-6); }
@media (min-width: 700px) { .pag-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pag-grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pag-item { padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(16, 27, 23, 0.6); }
.pag-item h3 { font-family: var(--font-display); font-weight: 700; font-size: 18px; line-height: 1.3; }
.pag-item p { margin-top: var(--space-2); font-size: 15px; line-height: 23px; color: var(--ink-muted); }
.pag-item .overline { display: block; margin-bottom: var(--space-2); }

a.pag-item { display: block; text-decoration: none; transition: border-color 140ms ease-out, background-color 140ms ease-out; }
a.pag-item:hover { border-color: var(--line-strong); background: rgba(23, 38, 34, 0.9); }
a.pag-item h3::after { content: " →"; color: var(--terracota-text); }

.pag-faq { max-width: 860px; margin-top: var(--space-6); }

.pag-fim { padding: var(--space-9) 0; border-top: 1px solid var(--line); }
.pag-fim > .wrap > * + * { margin-top: var(--space-4); }
.pag-fim h2 { max-width: 16ch; }
.pag-fim .hero__acoes { margin-top: var(--space-6); }
