/* ==========================================================================
   IOSEPH · BLOG
   --------------------------------------------------------------------------
   Folha PRÓPRIA das páginas do blog, e de propósito.
   A home tem o CSS embutido no HTML — ela é a página que precisa pintar mais
   rápido, e uma folha externa ali seria uma requisição bloqueante a mais.
   O blog é outro caso: são muitas páginas com o MESMO desenho, então uma folha
   externa é baixada uma vez e reaproveitada em todas.
   Os tokens são os mesmos da home — a marca não muda de casa para casa.
   ⚠️ Nome versionado: /assets/* é servido como `immutable` por um ano.
   ========================================================================== */
:root{
  --tabaco:#130E09; --breu:#0E0A06; --cedro:#201810;
  --ambar:#D99B46; --ambar-luz:#F0C274; --latao:#C8A24E;
  --pergaminho:#F0E7D5; --fumaca:#CCBEA3; --cinza:#948468;
  --disp:'Cormorant Garamond',Georgia,serif;
  --serif:'Spectral',Georgia,serif;
  --mono:'Space Mono',ui-monospace,'Courier New',monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --ouro-grad:linear-gradient(115deg,#A67B30,#F0C274 48%,#C8A24E);
  --gut:clamp(22px,5vw,84px);
  --wrap:760px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--serif);font-weight:300;font-size:18px;line-height:1.85;
  color:var(--fumaca);background:var(--tabaco);-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* o mesmo grão da home: textura de matéria, não de tela */
body::after{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
::selection{background:var(--ambar);color:#150E07}
:focus-visible{outline:2px solid var(--ambar);outline-offset:3px}
.pular{position:absolute;left:-9999px;background:var(--cedro);color:var(--pergaminho);
  padding:14px 20px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;z-index:99}
.pular:focus{left:12px;top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}

/* ---------- topo ---------- */
header{position:relative;z-index:50;border-bottom:1px solid rgba(200,162,78,.13)}
header .in{display:flex;align-items:center;justify-content:center;height:118px;
  max-width:1180px;margin:0 auto;padding-inline:var(--gut)}
header .lg img{width:104px;height:86px}

/* ---------- artigo ---------- */
.artigo{padding-block:clamp(46px,7vh,88px)}
.migalha{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--cinza);margin-bottom:26px}
.migalha a{color:var(--latao);text-decoration:none;transition:color .3s var(--ease)}
.migalha a:hover{color:var(--ambar-luz)}
.migalha span{opacity:.5;margin-inline:8px}
h1{font-family:var(--disp);font-weight:500;font-size:clamp(34px,5.4vw,58px);line-height:1.06;
  letter-spacing:-.015em;color:var(--pergaminho)}
h1 em{font-style:italic;font-weight:400;
  background:var(--ouro-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
@supports not (background-clip:text){h1 em{color:var(--ambar-luz)}}
.olho{font-size:clamp(19px,2vw,22px);line-height:1.7;color:var(--fumaca);margin-top:24px;
  padding-bottom:30px;border-bottom:1px solid rgba(200,162,78,.15)}
.artigo h2{font-family:var(--disp);font-weight:500;font-size:clamp(26px,3.4vw,38px);
  line-height:1.12;letter-spacing:-.01em;color:var(--pergaminho);margin-top:52px;margin-bottom:18px}
.artigo h3{font-family:var(--disp);font-weight:500;font-size:clamp(21px,2.4vw,26px);
  color:var(--pergaminho);margin-top:34px;margin-bottom:12px}
.artigo p{margin-top:18px}
.artigo p+p{margin-top:20px}
.artigo ul,.artigo ol{margin:20px 0 20px 24px}
.artigo li{margin-top:11px;padding-left:6px}
.artigo li::marker{color:var(--latao)}
.artigo strong{font-weight:400;color:var(--pergaminho)}
.artigo em{font-style:italic}
.ouro{background:var(--ouro-grad);-webkit-background-clip:text;background-clip:text;
  color:transparent;font-weight:400}
@supports not (background-clip:text){.ouro{color:var(--ambar-luz)}}
/* o aparte: onde a casa fala do próprio ofício, sem virar anúncio */
.nota{margin-top:34px;padding:26px 30px;border-left:2px solid rgba(200,162,78,.5);
  background:linear-gradient(90deg,rgba(217,155,70,.055),transparent 82%);
  font-size:17px;line-height:1.8}
.nota p{margin-top:0}
.nota p+p{margin-top:14px}
.artigo a{color:var(--latao);text-decoration:underline;text-decoration-color:rgba(200,162,78,.35);
  text-underline-offset:3px;transition:color .3s var(--ease)}
.artigo a:hover{color:var(--ambar-luz)}

/* ---------- índice do blog ---------- */
.capa-blog{padding-block:clamp(52px,8vh,96px);text-align:center}
.capa-blog .rot{font-family:var(--mono);font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--ambar);margin-bottom:18px}
.capa-blog p{max-width:52ch;margin:22px auto 0;font-size:19px;line-height:1.7}
.lista{padding-bottom:clamp(52px,8vh,96px)}
.lista article{padding-block:34px;border-top:1px solid rgba(200,162,78,.14)}
.lista article:last-child{border-bottom:1px solid rgba(200,162,78,.14)}
.lista h2{font-family:var(--disp);font-weight:500;font-size:clamp(24px,3vw,32px);
  line-height:1.14;color:var(--pergaminho)}
.lista h2 a{text-decoration:none;transition:color .3s var(--ease)}
.lista h2 a:hover{color:var(--ambar-luz)}
.lista p{margin-top:12px;font-size:17px;color:var(--fumaca)}

/* ---------- tabela ----------
   Número solto no corpo do texto não é lido como dado — nem por quem lê, nem
   por quem indexa. A tabela é a forma que as duas pontas reconhecem como fato
   comparável. `.rolagem` existe para que a tabela role dentro de si mesma no
   telefone: quem rola horizontalmente é ela, nunca a página. */
.rolagem{margin:34px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;
  /* As duas primeiras camadas são tapa-sombra na cor do fundo e rolam JUNTO com
     o conteúdo (`local`); as duas últimas são as sombras e ficam presas ao
     quadro (`scroll`). Resultado: a sombra só aparece do lado em que ainda há
     coluna escondida, e some sozinha ao chegar ao fim. */
  background:
    linear-gradient(90deg,var(--tabaco) 40%,rgba(19,14,9,0)) left/28px 100% no-repeat local,
    linear-gradient(90deg,rgba(19,14,9,0),var(--tabaco) 60%) right/28px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.55),transparent) left/13px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.55),transparent) right/13px 100% no-repeat scroll}
.artigo table{width:100%;border-collapse:collapse;font-size:16px;
  border-top:1px solid rgba(200,162,78,.22);border-bottom:1px solid rgba(200,162,78,.22)}
.artigo th{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ambar);text-align:left;padding:14px 18px 14px 0;font-weight:400;
  border-bottom:1px solid rgba(200,162,78,.22);white-space:nowrap}
.artigo td{padding:14px 18px 14px 0;color:var(--fumaca);
  border-bottom:1px solid rgba(200,162,78,.08);vertical-align:top}
.artigo tr:last-child td{border-bottom:0}
.artigo td strong{color:var(--pergaminho)}
.artigo table th:last-child,.artigo table td:last-child{padding-right:0}

/* ---------- o que leva de volta ---------- */
.seguir{padding-block:clamp(44px,6vh,72px);border-top:1px solid rgba(200,162,78,.14)}
.seguir .rot{font-family:var(--mono);font-size:11px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--ambar);margin-bottom:20px}
.seguir ul{list-style:none;margin:0}
.seguir li{margin-top:12px}
.seguir a{font-family:var(--disp);font-size:21px;color:var(--pergaminho);text-decoration:none;
  transition:color .3s var(--ease)}
.seguir a:hover{color:var(--ambar-luz)}

/* ---------- rodapé ---------- */
footer{position:relative;padding-top:54px;padding-bottom:48px;text-align:center}
footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(14,10,6,.9) 40%,#0A0704)}
footer img{width:104px;height:86px;margin:0 auto 16px}
footer .cont{font-size:16px;line-height:1.95;color:var(--cinza)}
footer .cont a{color:inherit;text-decoration:none}
footer .cont a:hover{color:var(--pergaminho)}
.legal{margin-top:30px;font-size:14px;line-height:1.8;color:var(--cinza)}
.fim{margin-top:22px;display:flex;flex-direction:column;align-items:center;gap:14px;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cinza)}
.ame-sig{display:flex;align-items:center;gap:10px}
.ame-sig .fp{font-family:var(--disp);font-size:10.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase}
.ame-lockup{display:inline-flex;align-items:center;font-family:'Instrument Serif',Georgia,serif;
  font-size:17px;line-height:1;text-transform:none;color:#8A8279;text-decoration:none;transition:color .35s var(--ease)}
.ame-lockup:hover{color:#C9C2B4}
.ame-lockup .amestar{height:.66em;width:.516em;margin:0 .15em;opacity:.85;animation:star-spin 18s linear infinite}
.ame-lockup em{font-style:italic;background:linear-gradient(120deg,#8a6528,#c8ab68 45%,#a5741f);
  -webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes star-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ame-lockup .amestar{animation:none}}

/* whatsapp */
.wa-flut{position:fixed;right:24px;bottom:24px;z-index:55;width:66px;height:66px;
  display:flex;align-items:center;justify-content:center;background:var(--cedro);
  border:1px solid rgba(200,162,78,.45);box-shadow:0 14px 34px rgba(0,0,0,.55);
  transition:background .3s var(--ease),border-color .3s var(--ease)}
.wa-flut:hover{background:#291F15;border-color:var(--ambar)}
.wa-flut svg{width:30px;height:30px;fill:var(--ambar-luz)}

@media(max-width:620px){
  body{font-size:17px}
  header .in{height:96px}
  header .lg img{width:88px;height:73px}
  .wa-flut{right:16px;bottom:16px;width:60px;height:60px}
  .nota{padding:20px 22px}
  /* ⚠️ `width:100%` + `overflow-x:auto` NÃO faz a tabela rolar: a largura manda,
     e a tabela ESPREME as colunas até o texto quebrar em duas linhas e a última
     coluna sair cortada. É preciso um PISO de largura para o overflow ter o que
     rolar. A dica visual (o degradê à direita) avisa que há mais coluna adiante. */
  .artigo table{font-size:15px;min-width:460px}
  .artigo th,.artigo td{padding:12px 16px 12px 0}
}
