/* ==========================================================================
   Blog do Reposta Lá — folha de estilo editorial
   Direção: revista impressa. Papel quente, tinta densa, tipografia de leitura.
   Fraunces (títulos) + Newsreader (texto) + Space Grotesk (interface, da marca).
   ========================================================================== */

:root{
  --papel:#FAF8F4;
  --papel-2:#F3F0E9;
  --tinta:#14120E;
  --tinta-2:#3A352C;
  --mut:#6B6459;
  --soft:#9A9284;
  --regua:#E4DFD5;
  --acc:#B4451F;          /* siena queimada — links, kickers, progresso */
  --acc-suave:#F6E9E2;
  --ok:#1F6B3F;

  --disp:"Fraunces","Georgia",serif;
  --leitura:"Newsreader","Georgia",serif;
  --ui:"Space Grotesk",system-ui,sans-serif;

  --medida:34rem;         /* largura da coluna de leitura */
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--papel);
  color:var(--tinta);
  font-family:var(--leitura);
  font-size:19px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* textura de papel: ruído sutil, não aparece em tela pequena */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:var(--acc);text-decoration:none;}
img{max-width:100%;height:auto;}

/* ── barra de progresso de leitura ─────────────────────── */
.progresso{position:fixed;top:0;left:0;height:3px;background:var(--acc);z-index:60;width:0;
  transition:width .12s linear;}

/* ── cabeçalho ─────────────────────────────────────────── */
.topo{position:sticky;top:0;z-index:50;background:rgba(250,248,244,.88);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--regua);}
.topo .linha{max-width:70rem;margin:0 auto;padding:14px 24px;display:flex;
  align-items:center;justify-content:space-between;gap:16px;}
.marca{display:inline-flex;align-items:center;gap:10px;font-family:var(--ui);
  font-weight:700;font-size:17px;letter-spacing:-.03em;color:var(--tinta);}
.marca svg{width:27px;height:17px;flex:none;}
.marca em{font-style:normal;color:var(--soft);font-weight:500;}
.topo nav{display:flex;gap:20px;font-family:var(--ui);font-size:13.5px;font-weight:500;}
.topo nav a{color:var(--mut);}
.topo nav a:hover{color:var(--tinta);}
.topo .cta{font-family:var(--ui);font-size:13.5px;font-weight:600;background:var(--tinta);
  color:var(--papel);padding:9px 16px;border-radius:99px;white-space:nowrap;}
.topo .cta:hover{background:var(--acc);}
@media(max-width:640px){
  .topo nav{display:none;}
  .topo .linha{padding:12px 18px;}
}

/* ── envelopes ─────────────────────────────────────────── */
.folha{max-width:70rem;margin:0 auto;padding:0 24px;position:relative;z-index:2;}
.coluna{max-width:var(--medida);margin:0 auto;}
@media(max-width:640px){.folha{padding:0 20px;}}

/* ── tipografia editorial ──────────────────────────────── */
.kicker{font-family:var(--ui);font-size:11.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--acc);}
h1,h2,h3{font-family:var(--disp);font-weight:600;letter-spacing:-.02em;line-height:1.1;
  font-variation-settings:"SOFT" 20,"WONK" 1;}
h1{font-size:clamp(2.4rem,6vw,4.1rem);line-height:1.02;margin:0 0 18px;}
h2{font-size:clamp(1.6rem,3.4vw,2.1rem);margin:3.2rem 0 .9rem;}
h3{font-size:1.28rem;margin:2.2rem 0 .6rem;letter-spacing:-.015em;}
p{margin:0 0 1.35rem;}
strong{font-weight:650;color:var(--tinta);}
.lede{font-size:1.24rem;line-height:1.6;color:var(--tinta-2);margin-bottom:2rem;}

/* primeira letra do artigo — capitular */
.corpo > p:first-of-type::first-letter{
  float:left;font-family:var(--disp);font-size:4.1rem;line-height:.86;
  padding:.06em .09em 0 0;font-weight:600;color:var(--acc);
}

.corpo ul,.corpo ol{padding-left:1.3em;margin:0 0 1.35rem;}
.corpo li{margin-bottom:.55rem;}
.corpo li::marker{color:var(--acc);}

/* ── elementos de destaque ─────────────────────────────── */
.dado{margin:2.2rem 0;padding:1.5rem 1.6rem;background:var(--papel-2);
  border-left:3px solid var(--acc);border-radius:0 12px 12px 0;}
.dado .num{font-family:var(--disp);font-size:2.6rem;line-height:1;font-weight:600;
  color:var(--acc);display:block;margin-bottom:.35rem;}
.dado p{margin:0;font-size:1rem;line-height:1.6;color:var(--tinta-2);}

.citacao{margin:2.4rem 0;padding-left:1.6rem;border-left:2px solid var(--tinta);
  font-family:var(--disp);font-size:1.42rem;line-height:1.35;font-style:italic;
  color:var(--tinta);}
.citacao cite{display:block;margin-top:.7rem;font-family:var(--ui);font-size:.78rem;
  font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);}

.aviso{margin:2rem 0;padding:1.15rem 1.35rem;border:1px solid var(--regua);
  border-radius:12px;background:#fff;font-size:1rem;line-height:1.62;}
.aviso b{font-family:var(--ui);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;
  display:block;margin-bottom:.4rem;color:var(--acc);}

.passo{display:flex;gap:1rem;margin:1.5rem 0;}
.passo .n{flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--tinta);
  color:var(--papel);font-family:var(--ui);font-weight:700;font-size:.86rem;
  display:flex;align-items:center;justify-content:center;margin-top:.15rem;}
.passo .txt{flex:1;}
.passo .txt p:last-child{margin-bottom:0;}
.passo h3{margin:.1rem 0 .4rem;font-size:1.1rem;}

/* ── tabelas ───────────────────────────────────────────── */
/* Simetria: layout fixo distribui as colunas por igual (ou pelas larguras
   declaradas via <colgroup>), texto alinhado no topo, primeira coluna em
   destaque, zebra suave. Em tela estreita rola na horizontal sem quebrar. */
.tabela{margin:2.2rem 0;overflow-x:auto;border:1px solid var(--regua);border-radius:12px;
  background:#fff;-webkit-overflow-scrolling:touch;}
.tabela table{width:100%;min-width:560px;border-collapse:separate;border-spacing:0;
  table-layout:fixed;font-family:var(--ui);font-size:.92rem;line-height:1.5;}
.tabela th,.tabela td{padding:.9rem 1.05rem;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--regua);overflow-wrap:anywhere;}
.tabela th{background:var(--papel-2);font-weight:600;font-size:.76rem;letter-spacing:.07em;
  text-transform:uppercase;color:var(--mut);}
.tabela th:first-child{border-top-left-radius:12px;}
.tabela th:last-child{border-top-right-radius:12px;}
.tabela tbody tr:nth-child(even) td{background:#fafaf8;}
.tabela tbody tr:last-child td{border-bottom:none;}
.tabela td:first-child{font-weight:600;color:var(--tinta);}
.tabela td strong{font-weight:600;}
.tabela .c{text-align:center;}
.tabela .ok{color:#15803d;font-weight:600;}
.tabela .nao{color:#b91c1c;font-weight:600;}
.tabela .meio{color:#b45309;font-weight:600;}
.tabela caption{caption-side:bottom;text-align:left;padding:.7rem 1.05rem;font-size:.82rem;
  color:var(--mut);font-family:var(--ui);border-top:1px solid var(--regua);}
@media(max-width:640px){.tabela th,.tabela td{padding:.75rem .8rem;font-size:.86rem;}}

/* ── figuras (diagramas SVG próprios) ─────────────────── */
.figura{margin:2.4rem 0;}
.figura .quadro{border:1px solid var(--regua);border-radius:14px;background:#fff;padding:1.4rem;
  overflow:hidden;}
.figura svg{display:block;width:100%;height:auto;font-family:var(--ui);}
.figura figcaption{margin-top:.7rem;font-family:var(--ui);font-size:.84rem;color:var(--mut);
  line-height:1.5;}
.figura figcaption b{color:var(--tinta);font-weight:600;}

/* ── fontes / notas ────────────────────────────────────── */
sup.ref{font-size:.62em;vertical-align:super;line-height:0;font-family:var(--ui);font-weight:600;}
sup.ref a{padding:0 .1em;}
.fontes{margin:3.5rem 0 0;padding-top:1.6rem;border-top:1px solid var(--regua);}
.fontes h2{font-family:var(--ui);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mut);margin:0 0 1rem;font-weight:600;}
.fontes ol{padding-left:1.2em;font-size:.92rem;line-height:1.6;color:var(--mut);}
.fontes li{margin-bottom:.55rem;}
.fontes a{word-break:break-word;}

/* ── sumário ───────────────────────────────────────────── */
.sumario{margin:2.5rem 0;padding:1.3rem 1.5rem;background:#fff;border:1px solid var(--regua);
  border-radius:14px;}
.sumario b{font-family:var(--ui);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mut);display:block;margin-bottom:.7rem;}
.sumario ol{margin:0;padding-left:1.2em;font-family:var(--ui);font-size:.94rem;line-height:1.85;}
.sumario a{color:var(--tinta-2);}
.sumario a:hover{color:var(--acc);}

/* ── chamada final ─────────────────────────────────────── */
.oferta{margin:3.5rem 0 0;padding:2.2rem 2rem;border-radius:18px;background:var(--tinta);
  color:var(--papel);position:relative;overflow:hidden;}
.oferta::after{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;
  border-radius:50%;background:radial-gradient(circle,rgba(180,69,31,.4),transparent 68%);}
.oferta h3{font-family:var(--disp);font-size:1.65rem;margin:0 0 .5rem;color:var(--papel);
  position:relative;z-index:1;}
.oferta p{color:#C9C3B8;font-size:1rem;margin:0 0 1.4rem;position:relative;z-index:1;}
.oferta .btn{display:inline-block;background:var(--papel);color:var(--tinta);font-family:var(--ui);
  font-weight:600;font-size:.95rem;padding:.85rem 1.5rem;border-radius:99px;position:relative;z-index:1;}
.oferta .btn:hover{background:var(--acc);color:#fff;}
.oferta .mini{display:block;margin-top:.9rem;font-size:.82rem;color:#8E877C;position:relative;z-index:1;}

/* ── índice do blog ────────────────────────────────────── */
.capa{padding:clamp(3.5rem,8vw,6rem) 0 2.5rem;border-bottom:1px solid var(--regua);}
.capa h1{max-width:14ch;}
.capa .lede{max-width:46ch;margin-bottom:0;}

.lista{padding:1rem 0 2rem;}
.item{display:grid;grid-template-columns:3.2rem 1fr;gap:1.4rem;padding:2.2rem 0;
  border-bottom:1px solid var(--regua);align-items:start;}
.item:hover .item-tit{color:var(--acc);}
.item .ordem{font-family:var(--ui);font-size:.8rem;font-weight:600;color:var(--soft);
  padding-top:.45rem;letter-spacing:.05em;}
.item-tit{font-family:var(--disp);font-size:clamp(1.35rem,2.7vw,1.85rem);font-weight:600;
  line-height:1.16;letter-spacing:-.02em;color:var(--tinta);margin:0 0 .5rem;
  transition:color .18s;}
.item-res{color:var(--mut);font-size:1.02rem;line-height:1.6;margin:0 0 .7rem;max-width:52ch;}
.item-meta{font-family:var(--ui);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--soft);display:flex;gap:.9rem;flex-wrap:wrap;}
@media(max-width:640px){
  .item{grid-template-columns:1fr;gap:.5rem;}
  .item .ordem{padding-top:0;}
}

/* entrada suave, escalonada */
@media(prefers-reduced-motion:no-preference){
  .anima{opacity:0;transform:translateY(14px);animation:sobe .6s cubic-bezier(.2,.7,.3,1) forwards;}
  .anima:nth-child(1){animation-delay:.04s}.anima:nth-child(2){animation-delay:.11s}
  .anima:nth-child(3){animation-delay:.18s}.anima:nth-child(4){animation-delay:.25s}
  .anima:nth-child(5){animation-delay:.32s}
  @keyframes sobe{to{opacity:1;transform:none}}
}

/* ── cabeçalho do artigo ───────────────────────────────── */
.migalhas{font-family:var(--ui);font-size:.78rem;letter-spacing:.06em;color:var(--soft);
  padding:2rem 0 0;text-transform:uppercase;}
.migalhas a{color:var(--mut);}
.artigo-topo{padding:1.6rem 0 2.4rem;border-bottom:1px solid var(--regua);margin-bottom:2.6rem;}
.assinatura{font-family:var(--ui);font-size:.82rem;color:var(--mut);display:flex;
  gap:1rem;flex-wrap:wrap;align-items:center;}
.assinatura .ponto{width:3px;height:3px;border-radius:50%;background:var(--soft);}

/* ── relacionados + rodapé ─────────────────────────────── */
.relacionados{margin-top:3.5rem;padding-top:1.8rem;border-top:1px solid var(--regua);}
.relacionados b{font-family:var(--ui);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mut);display:block;margin-bottom:1rem;}
.rel{display:block;padding:.9rem 0;border-bottom:1px solid var(--regua);
  font-family:var(--disp);font-size:1.12rem;color:var(--tinta);line-height:1.3;}
.rel:hover{color:var(--acc);}
.rel:last-child{border-bottom:none;}

.rodape{margin-top:4.5rem;border-top:1px solid var(--regua);background:var(--papel-2);
  padding:2.4rem 0;font-family:var(--ui);font-size:.84rem;color:var(--mut);}
.rodape .linha{max-width:70rem;margin:0 auto;padding:0 24px;display:flex;
  justify-content:space-between;gap:1.2rem;flex-wrap:wrap;}
.rodape a{color:var(--mut);}
.rodape a:hover{color:var(--tinta);}

@media(max-width:640px){
  body{font-size:17.5px;}
  :root{--medida:100%;}
  .corpo > p:first-of-type::first-letter{font-size:3.2rem;}
  .oferta{padding:1.8rem 1.5rem;}
}
