/* Nelso Schneider — Estruturas e Fundações
   Identidade: prancha técnica / memorial de cálculo
   Paleta Semente (terra/aço): papel #F4EFE6 · tinta #15130F · terracota #C2410C · aço #3D4F5C · linha #CFC6B6 */
:root{
  --papel:#F4EFE6; --tinta:#15130F; --azul:#C2410C; --azul-e:#9A3412;
  --aco:#3D4F5C; --linha:#CFC6B6; --marca:#E9E1D0;
  --disp:"Archivo",system-ui,sans-serif;
  --serif:"Source Serif 4",Georgia,serif;
  --mono:"Space Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--serif);font-size:1.06rem;line-height:1.7;
  background-image:linear-gradient(var(--marca) 1px,transparent 1px),linear-gradient(90deg,var(--marca) 1px,transparent 1px);
  background-size:56px 56px}
a{color:var(--azul)}
img{max-width:100%;height:auto}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--aco)}

/* topo */
.topo{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  max-width:1060px;margin:0 auto;padding:1.1rem 1.25rem;border-bottom:2px solid var(--tinta);background:var(--papel)}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--tinta)}
.logo-n{font-family:var(--disp);font-weight:800;font-size:1.05rem;border:2px solid var(--tinta);padding:.28rem .45rem;background:#fff}
.logo-t{font-family:var(--disp);font-weight:700;line-height:1.15}
.logo-t em{display:block;font-style:normal;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;color:var(--aco)}
.topo nav{display:flex;gap:1.4rem}
.topo nav a{font-family:var(--disp);font-weight:500;text-decoration:none;color:var(--tinta);font-size:.95rem}
.topo nav a.on,.topo nav a:hover{color:var(--azul);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}

main{max-width:1060px;margin:0 auto;padding:0 1.25rem}

/* hero — carimbo de prancha */
.hero{padding:3rem 0 1rem}
.carimbo{border:2px solid var(--tinta);background:#fff;padding:2.2rem 2.2rem 2rem;position:relative;
  box-shadow:8px 8px 0 var(--marca)}
.carimbo h1{font-family:var(--disp);font-weight:800;font-size:clamp(1.7rem,4.4vw,2.9rem);line-height:1.12;margin:.7rem 0 1rem;letter-spacing:-.01em}
.lead{font-size:1.12rem;color:#4A443C;max-width:46rem}
.c-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));border:1px solid var(--tinta);margin:1.6rem 0}
.c-campos div{padding:.55rem .8rem;border-right:1px solid var(--tinta);font-size:.92rem}
.c-campos div:last-child{border-right:0}
.c-campos b{display:block;font-family:var(--mono);font-weight:500;font-size:.63rem;letter-spacing:.14em;color:var(--aco)}
@media(max-width:720px){.c-campos{grid-template-columns:1fr 1fr}.c-campos div:nth-child(2n){border-right:0}.c-campos div{border-bottom:1px solid var(--tinta)}.c-campos div:nth-last-child(-n+2){border-bottom:0}}
.c-acoes{display:flex;gap:.9rem;flex-wrap:wrap}

.btn{display:inline-block;font-family:var(--disp);font-weight:700;font-size:.95rem;text-decoration:none;
  background:var(--azul);color:#fff;padding:.72rem 1.25rem;border:2px solid var(--azul);cursor:pointer}
.btn:hover{background:var(--azul-e);border-color:var(--azul-e)}
.btn.ghost{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.btn.ghost:hover{background:var(--tinta);color:var(--papel)}
.btn:focus-visible,.chip:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--azul);outline-offset:2px}

/* blocos e sumário */
.bloco{padding:2.4rem 0}
.bloco-cab{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;
  border-bottom:2px solid var(--tinta);padding-bottom:.5rem;margin-bottom:.2rem}
.bloco-cab a{font-family:var(--disp);font-weight:700;text-decoration:none}
.nota{font-family:var(--mono);font-size:.72rem;color:var(--aco)}
.lista{display:flex;flex-direction:column}
.linha{display:grid;grid-template-columns:3.4rem 1fr 12.5rem;gap:1.1rem;align-items:baseline;
  padding:1rem .4rem;border-bottom:1px solid var(--linha);text-decoration:none;color:var(--tinta);background:transparent}
.linha:hover{background:#fff}
.ln-num{font-family:var(--mono);color:var(--aco);font-size:.85rem;border-top:2px solid var(--tinta);padding-top:.35rem}
.ln-corpo strong{font-family:var(--disp);font-weight:700;font-size:1.08rem;line-height:1.3;display:block}
.linha:hover .ln-corpo strong{color:var(--azul)}
.ln-corpo em{font-style:normal;color:#5C554B;font-size:.94rem;display:block;margin-top:.15rem}
.ln-meta{font-family:var(--mono);font-size:.72rem;color:var(--aco);text-align:right;letter-spacing:.04em}
.ln-meta b{display:block;color:var(--azul);font-weight:500;letter-spacing:.12em}
@media(max-width:720px){.linha{grid-template-columns:2.4rem 1fr}.ln-meta{grid-column:2;text-align:left}.ln-meta b{display:inline;margin-right:.7rem}}

/* filtros */
.pg-cab h1{font-family:var(--disp);font-weight:800;font-size:clamp(1.8rem,4vw,2.6rem);margin:.4rem 0 1rem}
.filtros{display:flex;flex-direction:column;gap:.8rem}
#busca{font-family:var(--serif);font-size:1rem;padding:.7rem .9rem;border:2px solid var(--tinta);background:#fff;max-width:34rem}
.chips{display:flex;gap:.5rem;flex-wrap:wrap}
.chip{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;padding:.4rem .8rem;background:#fff;
  border:1px solid var(--tinta);cursor:pointer;color:var(--tinta)}
.chip.on{background:var(--tinta);color:var(--papel)}
.vazio{color:var(--aco);font-style:italic;padding:1.2rem .4rem}
.rascunhos .linha{opacity:.85}
.stamp{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;color:#8A5A2B;border:1px solid #8A5A2B;
  padding:.1rem .45rem;transform:rotate(-2deg);display:inline-block;margin-left:.5rem}

/* artigo */
.artigo article{max-width:760px;margin:0 auto;padding:2.6rem 0}
.dim{height:14px;margin:.9rem 0;background:
  linear-gradient(var(--tinta),var(--tinta)) center/100% 1px no-repeat,
  linear-gradient(var(--tinta),var(--tinta)) left center/1px 14px no-repeat,
  linear-gradient(var(--tinta),var(--tinta)) right center/1px 14px no-repeat}
.art-cab h1{font-family:var(--disp);font-weight:800;font-size:clamp(1.7rem,4.4vw,2.6rem);line-height:1.15;margin:.4rem 0}
.destaque{margin:1.6rem 0}
.destaque img{border:1px solid var(--linha);background:#fff}
.conteudo{font-size:1.08rem}
.conteudo p{margin:1.05em 0;text-align:left}
.conteudo h2,.conteudo h3,.conteudo h4{font-family:var(--disp);font-weight:700;line-height:1.25;margin-top:2em}
.conteudo h2{font-size:1.5rem;border-bottom:2px solid var(--tinta);padding-bottom:.3rem}
.conteudo h3{font-size:1.2rem}
.conteudo img{display:block;margin:1.4rem auto;border:1px solid var(--linha);background:#fff;padding:4px}
.conteudo blockquote{margin:1.4rem 0;padding:.2rem 1.2rem;border-left:3px solid var(--azul);background:#fff;color:#4A443C}
.conteudo table{border-collapse:collapse;width:100%;font-size:.95rem;background:#fff}
.conteudo td,.conteudo th{border:1px solid var(--linha);padding:.45rem .6rem}
.conteudo .katex{font-size:1.05em}
.art-pe{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;border-top:2px solid var(--tinta);margin-top:2.6rem;padding-top:1.3rem}
.autor-box{flex:1 1 100%;margin-bottom:.4rem}
.autor-box b{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.14em;display:block}
.autor-box span{color:var(--aco);font-size:.92rem}

/* chamada + form */
.chamada{border:2px solid var(--tinta);background:#fff;padding:2rem 2.2rem;margin:1rem 0 2.5rem;box-shadow:8px 8px 0 var(--marca)}
.chamada h2{font-family:var(--disp);font-weight:800;font-size:1.6rem;margin:.6rem 0 .4rem}
.curso-hero{padding-bottom:0}
.form-espera{display:flex;flex-direction:column;gap:.35rem;max-width:26rem;margin-top:1.4rem}
.form-espera label{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--aco);margin-top:.6rem}
.form-espera input{font-family:var(--serif);font-size:1rem;padding:.65rem .8rem;border:2px solid var(--tinta);background:var(--papel)}
.form-espera .btn{margin-top:1rem}
.form-nota{font-size:.85rem;color:var(--aco);margin:.5rem 0 0}
.form-ok{color:#1E6B3A;font-weight:600}

/* rodapé */
.rodape{max-width:1060px;margin:2rem auto 0;padding:1.4rem 1.25rem 2.4rem;border-top:2px solid var(--tinta);
  font-size:.9rem;color:var(--aco);background:var(--papel)}
.carimbo-mini{display:flex;gap:1.4rem;flex-wrap:wrap;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;margin-bottom:.6rem}
