/* ============================================================
   Newsletter Ryan Ribeiro
   HOME: preto e branco (estilo future/proof)
   EDIÇÕES: dark + acento verde (modelo interativo) com índice lateral
   Cores no :root. --green só é usado nas edições.
   ============================================================ */
:root{
  --bg:#0A0C0B; --bg2:#0E120F; --card:#121511; --line:#222824;
  --text:#F4F6F5; --muted:#9AA39E; --muted2:#C9CFCC;
  --green:#00C16E; --green-press:#00A25C; --ink:#04130C;
  --font:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --display:'Space Grotesk',var(--font);
  --serif:'Fraunces',Georgia,serif;
  --read:'Spectral',Georgia,serif;
  --mono:'Geist Mono','SFMono-Regular',ui-monospace,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;
  min-height:100dvh;overflow-x:hidden;padding:0 22px calc(48px + env(safe-area-inset-bottom))}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:var(--bg)}
.page-edicao{--bg:#000}
.page-edicao::before{background:#000}
.topline{position:fixed;top:0;left:0;right:0;height:3px;z-index:50;background:linear-gradient(90deg,transparent,var(--green),transparent);background-size:220% 100%;animation:scan 5s linear infinite}
.page-home .topline{background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);background-size:220% 100%}
@keyframes scan{from{background-position:120% 0}to{background-position:-120% 0}}

/* ===== compartilhados ===== */
.signup{margin:16px auto 0;max-width:480px}
.signup form{display:flex;gap:9px;flex-wrap:wrap}
.signup input{flex:1;min-width:180px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;color:var(--text);font-family:var(--font);font-size:15px;padding:14px 16px;outline:none;transition:border-color .2s}
.signup input:focus{border-color:var(--green)}
.signup input::placeholder{color:#5f6864}
.signup button{background:var(--green);color:var(--ink);font-family:var(--display);font-weight:600;font-size:15px;padding:14px 22px;border-radius:12px;border:0;cursor:pointer;white-space:nowrap;transition:filter .2s,transform .2s}
.signup button:hover{filter:brightness(1.06);transform:translateY(-1px)}
.signup button:disabled{opacity:.6;cursor:default;transform:none}
.note{font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:12px;min-height:1.2em}
.note.ok{color:var(--green)} .note.err{color:#ff8b6b}
.empty{color:var(--muted);padding:18px 2px}
.empty code{font-family:var(--mono);font-size:.9em;background:var(--bg2);border:1px solid var(--line);border-radius:5px;padding:.1em .4em;color:var(--muted2)}

.foot{text-align:center;margin-top:54px;padding-top:30px;border-top:1px solid var(--line)}
.foot .sig{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:13px;justify-content:center;flex-wrap:wrap}
.foot .sig img{width:18px;height:18px;filter:grayscale(1)}
.foot .copy{font-family:var(--mono);font-size:11px;color:#717873;letter-spacing:.06em;margin-top:12px}

.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(12px);background:#F4F6F5;color:#0A0C0B;font-family:var(--font);font-weight:600;font-size:13.5px;padding:11px 18px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.5);opacity:0;transition:opacity .25s,transform .25s;z-index:120;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ============================================================
   PÁGINA DE EDIÇÃO (dark + verde) com índice lateral
   ============================================================ */
.wrap-article{max-width:1000px;margin:0 auto}
.nav{display:flex;align-items:center;justify-content:space-between;padding:26px 2px 0}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text)}
.brand img{width:34px;height:34px;border-radius:9px}
.brand b{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em}
.navlink{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--muted);text-decoration:none}
.navlink:hover{color:var(--green)}

.article-grid{display:grid;grid-template-columns:64px minmax(0,1fr);gap:40px;margin-top:18px}
.article-main{max-width:680px}
/* índice minimap: só tracinhos; abre no hover */
.toc{position:sticky;top:28px;align-self:start;z-index:6}
.toc nav{display:flex;flex-direction:column;gap:10px;transition:background .2s,box-shadow .2s,padding .2s}
.toc-link{display:flex;align-items:center;gap:13px;text-decoration:none;min-height:12px;min-width:0}
.toc-link .td{flex:0 0 auto;width:26px;height:2px;border-radius:2px;background:var(--muted);opacity:.4;transition:width .2s,background .2s,opacity .2s}
.toc-link.on .td{background:var(--green);opacity:1;width:34px}
.toc-link.toc-cta .td{background:var(--green);opacity:.85}
.toc-link .tl{flex:1 1 auto;min-width:0;font-family:var(--font);font-size:13.5px;line-height:1.3;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s,max-width .2s;pointer-events:none}
.toc-link.on .tl{color:var(--text)}
.toc:hover nav{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 24px 60px rgba(0,0,0,.6);width:max-content;max-width:320px;gap:12px}
.toc:hover .toc-link .tl{opacity:1;transform:none;pointer-events:auto;max-width:250px}
.toc:hover .toc-link .td{width:18px}
.toc-link.toc-cta{margin-top:4px}
.toc:hover .toc-link.toc-cta .tl{color:var(--green);font-weight:600;font-family:var(--serif);font-style:italic;font-size:14.5px}
.toc:hover .toc-link.toc-cta .td{width:18px}

.back{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;color:var(--muted);text-decoration:none}
.back:hover{color:var(--green)}
.post-title{font-family:var(--display);font-weight:700;font-size:clamp(30px,6vw,44px);line-height:1.12;letter-spacing:-.015em;color:var(--text);margin-top:12px}
/* capa da edição: imagem separada (16:9), logo abaixo do título + byline */
.ed-cover{margin:22px 0 0;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.ed-cover img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;filter:grayscale(1) contrast(1.04)}
/* Resposta direta (TL;DR / BLUF) — citável por IA, no estilo da casa */
.prose .tldr{margin:0 0 30px;padding:18px 22px;background:linear-gradient(180deg,rgba(0,193,110,.06),rgba(0,193,110,.015));border:1px solid var(--line);border-left:3px solid var(--green);border-radius:14px}
.prose .tldr .tldr-tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:7px}
.prose .tldr .tldr-body{font-family:var(--read);font-size:20px;line-height:1.5;color:var(--muted2)}
.prose .tldr .tldr-body>:first-child{margin-top:0}
.prose .tldr .tldr-body>:last-child{margin-bottom:0}
/* FAQ / Perguntas frequentes — emite FAQPage no schema */
.prose .faq{margin:42px 0 0;border-top:1px solid var(--line);padding-top:6px}
.prose .faq>h2{font-family:var(--serif);font-weight:600;margin:18px 0 6px}
.prose .faq-item{border-bottom:1px solid var(--line)}
.prose .faq-item>summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;position:relative;font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.35;color:var(--text)}
.prose .faq-item>summary::-webkit-details-marker{display:none}
.prose .faq-item>summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--mono);font-size:22px;line-height:1;color:var(--green);transition:transform .2s}
.prose .faq-item[open]>summary::after{content:"–"}
.prose .faq-item .faq-a{padding:0 0 18px;color:var(--muted2);font-family:var(--read);font-size:18px;line-height:1.6}
.prose .faq-item .faq-a>:first-child{margin-top:0}
.prose .faq-item .faq-a>:last-child{margin-bottom:0}

.byline{display:flex;align-items:center;gap:12px;margin-top:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.by-ava{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid var(--line);flex:0 0 auto}
.by-info{flex:1;min-width:0}
.by-info b{display:block;font-family:var(--font);font-weight:600;font-size:14.5px;color:var(--text)}
.by-info span{display:block;font-family:var(--mono);font-size:12px;color:var(--muted);margin-top:2px}
.share-btn{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--line);border-radius:9px;color:var(--muted2);font-family:var(--font);font-size:13px;font-weight:500;padding:8px 13px;cursor:pointer;transition:color .2s,border-color .2s;flex:0 0 auto}
.share-btn:hover{color:var(--text);border-color:#3a423d}
.share-btn svg{width:16px;height:16px}

.prose{font-family:var(--read);font-size:19px;line-height:1.8;color:var(--muted2);margin-top:30px}
.prose>*+*{margin-top:1.1em}
.prose h2{font-family:var(--display);font-weight:700;font-size:25px;letter-spacing:-.01em;color:var(--text);line-height:1.25;margin-top:1.8em;scroll-margin-top:24px}
.prose h3{font-family:var(--display);font-weight:600;font-size:19px;color:var(--text);margin-top:1.5em}
.prose strong{color:var(--text);font-weight:600}
.prose em{font-style:italic}
.prose a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-top:.5em}
.prose li::marker{color:var(--green)}
.prose blockquote{border-left:3px solid var(--green);padding:.2em 0 .2em 1.1em;color:var(--text);font-family:var(--read);font-style:italic;font-size:21px}
.prose img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line)}
.prose hr{border:0;height:1px;background:var(--line);margin:2.2em 0}
.prose code{font-family:var(--mono);font-size:.9em;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:.1em .4em}

.cta-box{margin-top:54px;padding:30px 26px;border:1px solid var(--line);border-radius:16px;background:var(--card);text-align:center}
.cta-box h3{font-family:var(--display);font-weight:700;font-size:22px;color:var(--text)}
.cta-box p{color:var(--muted2);font-size:15px;margin-top:8px}

/* dois cards no fim da edição (Diagnóstico + inscrição) */
.end-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:54px}
.end-card{border:1px solid var(--line);border-radius:16px;background:var(--card);padding:26px;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.end-card.diag{border-color:rgba(0,193,110,.35);background:linear-gradient(160deg,rgba(0,193,110,.09),var(--card));transition:border-color .2s}
.end-card.diag:hover{border-color:var(--green)}
.ec-ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.06);margin-bottom:12px}
.ec-ic img{width:21px;height:21px;filter:brightness(0) invert(1)}
.end-card b{font-family:var(--display);font-weight:700;font-size:19px;color:var(--text)}
.end-card.diag b{font-family:var(--serif);font-weight:600;font-size:22px}
.end-card>span{color:var(--muted2);font-size:14px;line-height:1.55;margin-top:8px}
.end-card .ec-cta{color:var(--green);font-family:var(--font);font-weight:600;font-size:14px;margin-top:14px}
.end-card.sub .signup{margin-top:14px}
.end-card.sub .signup form{flex-direction:column}
.end-card.sub .signup button{width:100%}

/* navegação anterior / próxima */
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}
.pn{border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;display:flex;flex-direction:column;gap:6px;transition:border-color .2s}
.pn:hover{border-color:var(--green)}
.pn-next{text-align:right}
.pn-dir{font-family:var(--mono);font-size:11px;color:var(--green);text-transform:uppercase;letter-spacing:.08em}
.pn-tit{font-family:var(--display);font-weight:600;font-size:14px;color:var(--text);line-height:1.3}
.pn-empty{border:0;background:transparent}

/* componentes interativos das edições */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.prose .toggle{border:1px solid var(--line);border-radius:12px;background:var(--bg2);margin:1.4em 0;overflow:hidden}
.prose .toggle summary{cursor:pointer;list-style:none;padding:16px 18px;font-family:var(--display);font-weight:600;font-size:16px;color:var(--text);display:flex;align-items:center;gap:11px}
.prose .toggle summary::-webkit-details-marker{display:none}
.prose .toggle summary::before{content:"+";color:var(--green);font-size:21px;line-height:1;transition:transform .25s;flex:0 0 auto}
.prose .toggle[open] summary::before{transform:rotate(45deg)}
.prose .toggle summary:hover{background:rgba(255,255,255,.03)}
.prose .toggle-body{padding:4px 18px 18px;animation:toggleIn .3s ease}
.prose .toggle-body>*:first-child{margin-top:0}
@keyframes toggleIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.prose .callout{border:1px solid rgba(0,193,110,.3);background:rgba(0,193,110,.06);border-radius:12px;padding:18px 20px;margin:1.5em 0}
.prose .callout>*:first-child{margin-top:0}
.prose .callout>*{color:var(--text)}
.chart-wrap{margin:1.7em 0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.chart-wrap canvas{width:100%!important;height:320px!important}
.chart-wrap figcaption{font-family:var(--mono);font-size:12px;color:var(--muted);text-align:center;margin-top:12px}
.lightbox{position:fixed;inset:0;z-index:90;display:none;place-items:center;background:rgba(5,7,6,.92);padding:5vw;cursor:zoom-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lightbox.open{display:grid;animation:fadeIn .2s ease}
.lightbox img{max-width:100%;max-height:90vh;border-radius:12px;border:1px solid var(--line)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ============================================================
   HOME — preto e branco
   ============================================================ */
.shell{max-width:1120px;margin:0 auto}
.site-header{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.sh-logo{flex:0 0 auto;display:flex}
.sh-logo img{width:32px;height:32px;border-radius:8px;filter:grayscale(1)}
.sh-word{flex:1;text-align:center;font-family:var(--font);font-weight:700;font-size:20px;letter-spacing:.16em;text-transform:uppercase;color:var(--text);text-decoration:none}
.sh-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px}
.ic-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:transparent;border:1px solid transparent;color:var(--muted2);cursor:pointer;transition:color .2s,background .2s}
.ic-btn:hover{color:var(--text);background:rgba(255,255,255,.05)}
.ic-btn svg{width:19px;height:19px}
.btn-sub{background:var(--text);color:#0A0C0B;font-family:var(--font);font-weight:600;font-size:14px;padding:9px 18px;border-radius:8px;text-decoration:none;transition:opacity .2s}
.btn-sub:hover{opacity:.85}

.mainnav{display:flex;gap:26px;justify-content:center;padding:15px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.mainnav a{font-family:var(--font);font-size:14px;color:var(--muted);text-decoration:none;padding-bottom:4px;border-bottom:2px solid transparent;transition:color .2s;white-space:nowrap}
.mainnav a:hover{color:var(--text)}
.mainnav a.on{color:var(--text);border-bottom-color:var(--text)}

.hero-card{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:center;margin:30px 0;padding:40px 44px;border-radius:16px;position:relative;overflow:hidden;background:linear-gradient(135deg,#17191a 0%,#101213 60%,#0d0f10 100%);border:1px solid var(--line)}
.hero-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 80% at 82% 18%,rgba(255,255,255,.06),transparent 60%)}
.hc-text{position:relative;z-index:1}
.hc-eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.hc-text h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,4vw,50px);line-height:1.06;letter-spacing:-.01em;color:#fff;margin:12px 0 0}
.hc-text p{color:var(--muted2);font-size:16px;margin:14px 0 0;max-width:52ch;line-height:1.6}
.hc-cta{display:inline-flex;align-items:center;gap:13px;margin-top:24px;color:#fff;text-decoration:none;font-family:var(--font);font-weight:600;font-size:15px}
.hc-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#0A0C0B;font-size:19px;transition:transform .2s}
.hc-cta:hover .hc-arrow{transform:translateX(3px)}
.hc-cover{position:relative;z-index:1;display:flex;justify-content:center}
.hc-cover img{width:100%;max-width:230px;height:auto;border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.55);display:block}

.block{margin:40px 0}
.block-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:22px}
.block.no-rule .block-head{border-bottom:0;margin-bottom:10px}
.block-head h2{font-family:var(--font);font-weight:700;font-size:17px;letter-spacing:.01em;color:var(--text)}

/* recomendadas — estilo "Most Popular" (4 em linha, texto + thumb pequena, divisória vertical) */
.popular{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pop-item{display:flex;flex-direction:column;gap:11px;text-decoration:none;color:inherit}
.pop-thumb{width:100%;aspect-ratio:16/9;border-radius:8px}
.pop-info h3{font-family:var(--font);font-weight:600;font-size:14px;line-height:1.3;color:var(--text)}
.pop-item:hover .pop-info h3{text-decoration:underline}
.pop-info .meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.pop-thumb.ph span{font-size:26px}

/* busca */
.busca{position:relative;margin-bottom:18px}
.busca-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);display:grid;place-items:center}
.busca-ic svg{width:17px;height:17px}
.busca input{width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:10px;color:var(--text);font-family:var(--font);font-size:14.5px;padding:12px 14px 12px 42px;outline:none;transition:border-color .2s}
.busca input:focus{border-color:#5a6460}
.busca input::placeholder{color:#5f6864}

/* lista de edições + sidebar */
.layout{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:start}
.latest{min-width:0}
.post-row{display:grid;grid-template-columns:1fr 200px;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.post-row .pr-info .meta{font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;gap:12px}
.post-row .pr-info h3{font-family:var(--font);font-weight:700;font-size:clamp(19px,2.2vw,23px);line-height:1.22;color:var(--text);margin:9px 0 0}
.post-row:hover .pr-info h3{text-decoration:underline}
.post-row .pr-info p{color:var(--muted2);font-size:14px;margin:9px 0 0;max-width:54ch}
.post-row .pr-info .more{display:inline-block;margin-top:12px;font-family:var(--font);font-weight:600;font-size:13px;color:var(--muted2)}
.pr-thumb{aspect-ratio:16/9;border-radius:10px}

/* thumbnails (capas) — preto e branco */
.thumb{overflow:hidden;background:var(--card);border:1px solid var(--line)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05);transition:transform .45s}
.post-row:hover .thumb img,.pop-item:hover .thumb img{transform:scale(1.04)}
.thumb.ph{display:grid;place-items:center;background:linear-gradient(135deg,#1b1e1f,#0e1011)}
.thumb.ph span{font-family:var(--serif);font-weight:600;font-size:30px;color:rgba(255,255,255,.16)}

/* sidebar */
.sidebar{position:sticky;top:20px}
.side-card{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:22px}
.sc-brand{display:flex;align-items:center;gap:10px}
.sc-brand img{width:30px;height:30px;border-radius:8px;filter:grayscale(1)}
.sc-brand b{font-family:var(--font);font-weight:700;font-size:16px}
.side-card p{color:var(--muted2);font-size:13.5px;margin:12px 0 0;line-height:1.55}
.side-card .signup{margin:16px 0 0;max-width:none}
.side-card .signup form{flex-direction:column}
.side-card .signup input:focus{border-color:#5a6460}
.side-card .signup button{width:100%;background:var(--text);color:#0A0C0B}
.side-card .note{text-align:left}
.side-card .subform{margin:16px 0 0}
.side-card .subform .note{text-align:left}
/* card whatsapp */
.wpp-card{display:flex;flex-direction:column;gap:5px;margin-top:16px;padding:20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,#10241a,#0e1311);text-decoration:none;color:inherit;transition:border-color .2s}
.wpp-card:hover{border-color:#2c6b4a}
.wpp-ic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.06);margin-bottom:6px}
.wpp-ic img{width:20px;height:20px;filter:brightness(0) invert(1)}
.wpp-card b{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--text)}
.wpp-card>span{font-size:13px;color:var(--muted2);line-height:1.5}
.wpp-cta{font-family:var(--font);font-weight:600;font-size:13px;color:#fff;margin-top:6px}

/* bloco de Diagnóstico (fim da home e das páginas de nicho) */
.diag-cta{margin:48px 0 8px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#10241a,#0c0e0d);padding:44px 32px;text-align:center;position:relative;overflow:hidden}
.diag-cta::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 100% at 50% 0,rgba(0,193,110,.13),transparent 60%)}
.dc-inner{position:relative;z-index:1;max-width:560px;margin:0 auto}
.dc-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.06);margin:0 auto 16px}
.dc-ic img{width:24px;height:24px;filter:brightness(0) invert(1)}
.dc-title{font-family:var(--serif);font-weight:600;font-size:clamp(28px,3.4vw,38px);color:#fff;letter-spacing:-.01em}
.diag-cta p{color:var(--muted2);font-size:15.5px;line-height:1.6;margin:14px auto 0}
.dc-btn{display:inline-block;margin-top:24px;background:var(--green);color:var(--ink);font-family:var(--font);font-weight:600;font-size:15px;padding:13px 26px;border-radius:10px;text-decoration:none;transition:filter .2s,transform .2s}
.dc-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}

/* categoria */
.cat-head{border:0;margin-bottom:0}
.cat-title{font-family:var(--font);font-weight:700;font-size:clamp(26px,4vw,36px);color:var(--text);margin-top:28px}
.cat-sub{color:var(--muted);font-size:15px;margin-top:8px}
.cat-list{max-width:820px}

/* assinar */
.subscribe{display:grid;place-items:center;padding:56px 0}
.sub-box{max-width:440px;width:100%;text-align:center;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:40px 34px}
.sub-logo{width:48px;height:48px;border-radius:12px;filter:grayscale(1);margin:0 auto;display:block}
.sub-box h1{font-family:var(--font);font-weight:700;font-size:26px;color:var(--text);margin-top:18px}
.sub-box>p{color:var(--muted2);font-size:15px;margin-top:10px;line-height:1.55}
.subform{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.subform input{background:var(--bg2);border:1px solid var(--line);border-radius:10px;color:var(--text);font-family:var(--font);font-size:15px;padding:14px 16px;outline:none;transition:border-color .2s}
.subform input:focus{border-color:#5a6460}
.subform input::placeholder{color:#5f6864}
.subform button{background:var(--text);color:#0A0C0B;font-family:var(--font);font-weight:600;font-size:15px;padding:14px;border:0;border-radius:10px;cursor:pointer;margin-top:4px;transition:opacity .2s}
.subform button:hover{opacity:.9}
.subform .note{text-align:center}
.sub-back{display:inline-block;margin-top:18px;font-family:var(--mono);font-size:12px;color:var(--muted);text-decoration:none}
.sub-back:hover{color:var(--text)}

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width:900px){
  .article-grid{grid-template-columns:1fr;gap:0}
  .toc{display:none}
  .article-main{max-width:none}
}
@media (max-width:820px){
  .hero-card{grid-template-columns:1fr;padding:26px 24px;text-align:center}
  .hc-cover{order:-1;margin:0 auto 18px;max-width:208px}
  .hc-text h1,.hc-text p{margin-left:auto;margin-right:auto}
  .popular{grid-template-columns:1fr}
  .pop-item{border-left:0;border-bottom:1px solid var(--line);padding:14px 0}
  .pop-item:last-child{border-bottom:0}
  .layout{grid-template-columns:1fr}
  .sidebar{position:static}
  .post-row{grid-template-columns:1fr;gap:14px}
  .pr-thumb{order:-1;aspect-ratio:16/9}
}
@media (max-width:640px){
  body{padding:0 16px 40px}
  .site-header{padding:12px 0;gap:10px}
  .sh-word{flex:0 1 auto;text-align:left;font-size:16px;letter-spacing:.08em}
  .sh-actions{margin-left:auto;gap:6px}
  .mainnav{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:22px;padding:10px 0}
  .mainnav::-webkit-scrollbar{display:none}
  .ic-btn{width:34px;height:34px}
  .btn-sub{padding:8px 13px;font-size:13px}
  .hero-card{padding:18px;margin:14px 0}
  .hc-cover{max-width:112px;margin-bottom:10px}
  .hc-eyebrow{font-size:10.5px;letter-spacing:.12em}
  .hc-text h1{font-size:25px;margin-top:6px}
  .hc-text p{font-size:13px;line-height:1.45;margin-top:8px}
  .hc-cta{margin-top:14px;font-size:14px}
  .hc-arrow{width:38px;height:38px;font-size:17px}
  .block{margin:26px 0}
  .block-head{margin-bottom:14px}
  .byline{flex-wrap:wrap}
  .post-title{font-size:28px}
  .prose{font-size:18px}
  .end-cards,.prevnext{grid-template-columns:1fr}
  .pn-next{text-align:left}
  .diag-cta{padding:32px 22px}
}
@media (max-width:430px){
  .sh-word{font-size:14px;letter-spacing:.04em}
  .btn-sub{padding:7px 11px;font-size:12.5px}
}
:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:8px}
