*{box-sizing:border-box}
:root{color-scheme:dark;--fundo:#0f0d0c;--superficie:#131110;--superficie-2:#181513;
 --texto:#eee9e1;--texto-2:#b3aaa1;--texto-3:#8b8179;--linha:#262120;--linha-2:#3a3230;
 --acento:#e0895a;--acento-forte:#f0a075;--perigo:#e08a72;--sucesso:#9bc394;
 --sans:'Bricolage Grotesque',sans-serif;--serif:Newsreader,Georgia,serif}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fundo);color:var(--texto);font:400 16px/1.6 var(--serif)}
button,input,select,textarea{font:inherit}
img{max-width:100%}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
 overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.env{max-width:1460px;margin:0 auto;padding:0 3rem}

.topo{position:sticky;top:0;z-index:30;background:rgba(15,13,12,.9);
 -webkit-backdrop-filter:saturate(150%) blur(6px);backdrop-filter:saturate(150%) blur(6px);
 border-bottom:1px solid #262120}
.topo .env{display:flex;align-items:center;gap:3rem;padding:1.1rem 3rem}
.marca{font:800 15px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.19em;text-transform:uppercase;
 text-decoration:none;color:inherit}
.menu{display:flex;gap:1.9rem;font:700 13.5px/1 'Bricolage Grotesque',sans-serif}
.menu a{color:#938a81;text-decoration:none}
.menu a:hover{color:#eee9e1}
.menu a[aria-current]{color:#eee9e1;text-decoration:underline;text-decoration-color:#d2703f;
 text-underline-offset:7px;text-decoration-thickness:2px}
.acoes{margin-left:auto;display:flex;align-items:center;gap:1rem}
.busca{display:flex;align-items:center;gap:.5rem;border-bottom:1px solid #3a3230;
 padding-bottom:.3rem;color:#938a81}
.busca input{border:0;background:none;font:400 14px/1 Newsreader,serif;color:#eee9e1;width:110px;outline:none}
.busca input::placeholder{color:#8b8179}
.perfil{display:grid;place-items:center;width:33px;height:33px;border:1px solid #3a3230;
 color:#938a81;text-decoration:none}
.perfil:hover{border-color:#d2703f;color:#eee9e1}
.perfil[aria-current]{border-color:#d2703f;color:#eee9e1;background:rgba(224,137,90,.08)}

/* vitrine em tela cheia — o retângulo escuro continua escuro nas duas versões:
   é a peça cinematográfica, e o contraste com o fundo é o que a faz funcionar */
.vt{position:relative}
.vt__trilho{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;
 scroll-snap-type:x mandatory;scrollbar-width:none}
.vt__trilho::-webkit-scrollbar{display:none}
.vt__s{scroll-snap-align:center;position:relative}
.vt__s img{width:100%;aspect-ratio:3/1;max-height:clamp(340px,52vh,520px);object-fit:cover;display:block;
 filter:saturate(.72) contrast(1.08) brightness(.82)}
.vt__leg{position:absolute;inset:auto 0 0 0;padding:5rem 0 2.6rem;
 background:linear-gradient(transparent,rgba(9,8,7,.93) 58%);color:#eee9e1}
.vt__k{font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#e0895a}
.vt__leg h2{font:800 clamp(30px,4.4vw,60px)/1.02 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.035em;margin:.65rem 0 .55rem;max-width:20ch}
.vt__leg h2 a{color:inherit;text-decoration:none}
.vt__leg p{margin:0;color:#b3aaa1;max-width:52ch;font-size:16px}
.vt__ctr{position:absolute;right:3rem;bottom:2.6rem;display:flex;align-items:center;gap:.45rem}
.vt__ctr button{width:34px;height:34px;border:1px solid rgba(238,233,225,.28);background:rgba(15,13,12,.5);
 color:#eee9e1;display:grid;place-items:center;cursor:pointer;padding:0}
.vt__ctr button:hover{background:#d2703f;border-color:#d2703f;color:#0f0d0c}
.vt__pts{display:flex;gap:.32rem;margin-right:.4rem}
.vt__pts button{width:7px;height:7px;border:0;padding:0;background:rgba(238,233,225,.35);
 cursor:pointer;border-radius:50%}
.vt__pts button[aria-current="true"]{background:#d2703f;width:22px;border-radius:99px}

/* AJUSTE 2: sem "Tudo" e sem régua. A grade começa direto,
   com respiro maior para o corte não ficar seco. */
.grade{display:grid;grid-template-columns:repeat(4,1fr);gap:4.6rem 1.9rem;
 padding:3.4rem 0 5.5rem}
.card{display:flex;flex-direction:column}
.card__im{display:block;position:relative;overflow:hidden;border-radius:8px}
.card__im img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
 filter:saturate(.7) contrast(1.05) brightness(.88);transition:filter 320ms,transform 620ms cubic-bezier(.2,.6,.3,1)}
.card:hover .card__im img{filter:saturate(1) contrast(1) brightness(1);transform:scale(1.045)}
/* carimbo sobre a imagem = SUBCATEGORIA */
.card__stamp{position:absolute;left:0;top:0;background:#0f0d0c;color:#e0895a;
 font:700 9.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.17em;text-transform:uppercase;
 padding:.42rem .62rem;border-top-left-radius:8px;border-bottom-right-radius:8px}
.card__vid{position:absolute;right:.6rem;bottom:.6rem;color:#eee9e1;font-size:11px;
 background:rgba(15,13,12,.72);width:24px;height:24px;display:grid;place-items:center;border-radius:4px}
.card h3{font:400 19.5px/1.25 Newsreader,serif;letter-spacing:-.015em;margin:.95rem 0 .5rem;
 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
 min-height:calc(2 * 1.25em)}
.card h3 a{color:inherit;text-decoration:none}
.card:hover h3 a{color:#e0895a}
.card p{margin:0 0 .6rem;color:#938a81;font-size:14.5px;line-height:1.5;
 display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card__pe{display:flex;align-items:baseline;gap:.75rem;padding-top:0}
.card__pe time{margin-left:auto;font:700 10.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.09em;
 text-transform:uppercase;color:#8b8179}
/* rodapé do card = CATEGORIA */
.card__cat{font:700 10.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.09em;
 text-transform:uppercase;color:#e0895a;text-decoration:none}
.card__cat:hover{text-decoration:underline;text-underline-offset:3px}

@media(max-width:1200px){.grade{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.env{padding:0 1.25rem} .topo .env{padding:.85rem 1.25rem;gap:1rem;flex-wrap:wrap}
 .marca{order:1}.acoes{order:2}.menu{order:3;width:100%;display:flex;gap:1.25rem;overflow-x:auto;
  padding:.15rem 0 .55rem;scrollbar-width:none}.menu::-webkit-scrollbar{display:none}.menu a{white-space:nowrap;min-height:30px}
 .grade{grid-template-columns:repeat(2,1fr);gap:3.2rem 1.2rem;padding-top:2.2rem}
 .vt__ctr{right:1.25rem;bottom:1.25rem} .vt__leg{padding:4rem 0 1.6rem}}
@media(max-width:540px){.grade{grid-template-columns:1fr}.busca input{width:82px}}
/* =====================================================================
   Telas internas — mesma linguagem da Home
   ===================================================================== */

/* ── faixa de subcategorias (páginas de categoria) ───────────────── */
.faixa-cat{border-bottom:1px solid #262120;padding:2.2rem 0 1.5rem}
.faixa-cat h1{font:800 clamp(28px,3.6vw,46px)/1.02 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.035em;margin:0 0 .3rem}
.faixa-cat .conta{font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.16em;
 text-transform:uppercase;color:#8b8179}
.subs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.4rem}
.sub-btn{font:700 11.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.1em;text-transform:uppercase;
 text-decoration:none;color:#938a81;border:1px solid #3a3230;padding:.55rem .95rem;border-radius:4px}
.sub-btn:hover{color:#eee9e1;border-color:#8b8179}
.sub-btn[aria-current]{background:#e0895a;border-color:#e0895a;color:#0f0d0c}

/* ── post ─────────────────────────────────────────────────────────── */
.post-capa{width:100%;aspect-ratio:1600/460;max-height:clamp(280px,44vh,460px);object-fit:cover;display:block;
 filter:saturate(.72) contrast(1.08) brightness(.86)}
.post-cab{max-width:70ch;margin:0 auto;padding:2.75rem 3rem 0}
.post-k{font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#e0895a}
.post-k a{color:inherit;text-decoration:none}
.post-k .sep{color:#4d453f;margin:0 .5rem}
.post-k .sub{color:#938a81}
.post-cab h1{font:800 clamp(30px,4.2vw,54px)/1.03 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.038em;margin:1rem 0 .75rem}
.post-sub{font:300 clamp(19px,2vw,25px)/1.35 Newsreader,serif;color:#a49a91;margin:0}
.post-meta{display:flex;align-items:center;gap:.85rem;margin-top:1.75rem;padding-top:1.3rem;
 border-top:1px solid #262120;font:700 11.5px/1 'Bricolage Grotesque',sans-serif;
 letter-spacing:.07em;text-transform:uppercase;color:#8b8179}
.post-meta strong{color:#938a81;font-weight:700}
.post-av{width:32px;height:32px;border-radius:50%;background:#262120;color:#e0895a;
 display:grid;place-items:center;font:800 12px/1 'Bricolage Grotesque',sans-serif}
.post-corpo{max-width:70ch;margin:0 auto;padding:2rem 3rem 4rem;font-size:18px;line-height:1.75}
.post-corpo p{margin:0 0 1.6rem}
.post-corpo a{color:#e0895a;text-underline-offset:3px}
.post-corpo h2{font:700 clamp(21px,2.2vw,27px)/1.2 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.02em;margin:2.6rem 0 1rem}
.post-corpo figure{margin:2.2rem 0}
.post-corpo figure img{width:100%;border-radius:8px}
.post-corpo figcaption{font:700 12px/1.45 'Bricolage Grotesque',sans-serif;color:#8b8179;margin-top:.7rem}
.destaque{border-left:3px solid #e0895a;padding:.2rem 0 .2rem 1.35rem;margin:2.2rem 0;
 font:300 21px/1.45 Newsreader,serif;color:#cfc6bc}
.video{position:relative;padding-bottom:56.25%;height:0;margin:2.2rem 0;overflow:hidden;
 border-radius:8px;background:#1a1715}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ── comentários ──────────────────────────────────────────────────── */
.coments{max-width:70ch;margin:0 auto;padding:0 3rem 5rem}
.coments h2{font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.2em;
 text-transform:uppercase;color:#8b8179;margin:0 0 1.4rem;padding-top:2rem;border-top:1px solid #262120}
.com-form{display:flex;gap:.85rem;margin-bottom:2rem}
.com-form textarea{flex:1;background:#161312;border:1px solid #2e2825;color:#eee9e1;
 padding:.8rem .95rem;font:400 15.5px/1.5 Newsreader,serif;border-radius:6px;resize:vertical;min-height:76px}
.com-form textarea:focus{border-color:#4d453f;outline:none}
.com{display:grid;grid-template-columns:34px 1fr;gap:.9rem;padding:1.1rem 0;border-top:1px solid #1f1b19}
.com__av{width:34px;height:34px;border-radius:50%;background:#262120;color:#e0895a;
 display:grid;place-items:center;font:800 12px/1 'Bricolage Grotesque',sans-serif}
.com__cab{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.3rem}
.com__nome{font:700 13.5px/1 'Bricolage Grotesque',sans-serif;color:#eee9e1;
 background:none;border:0;padding:0;cursor:pointer}
.com__nome:hover{color:#e0895a}
.com__q{font:700 10.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.09em;
 text-transform:uppercase;color:#8b8179}
.com p{margin:0;color:#b3aaa1;font-size:15.5px}

/* ── botões e formulários ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
 font:700 13px/1 'Bricolage Grotesque',sans-serif;padding:.82rem 1.5rem;border-radius:6px;
 border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all 160ms}
.btn--pri{background:#e0895a;color:#12100e}
.btn--pri:hover{background:#f0a075}
.btn--sec{background:none;color:#eee9e1;border-color:#3a3230}
.btn--sec:hover{border-color:#e0895a}
.btn--bloco{width:100%}
.campo{margin-bottom:1.15rem}
.campo label{display:block;font:700 11.5px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.09em;
 text-transform:uppercase;color:#938a81;margin-bottom:.5rem}
.campo input,.campo select{width:100%;background:#161312;border:1px solid #2e2825;border-radius:6px;
 padding:.78rem .9rem;color:#eee9e1;font:400 16px/1 Newsreader,serif}
.campo input:focus{border-color:#4d453f;outline:none}
.campo input:disabled{color:#8b8179;background:#131110}
.dica{font:400 13px/1.45 Newsreader,serif;color:#8b8179;margin-top:.45rem}

/* ── página interna genérica ──────────────────────────────────────── */
.pag{max-width:760px;margin:0 auto;padding:3rem 3rem 5rem}
.pag h1{font:800 clamp(26px,3.2vw,40px)/1.05 'Bricolage Grotesque',sans-serif;
 letter-spacing:-.032em;margin:0 0 .5rem}
.pag .lead{color:#938a81;margin:0 0 2.2rem;font-size:17px}
.bloco{border:1px solid #262120;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}
.linha{display:flex;justify-content:space-between;gap:1rem;padding:.72rem 0;border-bottom:1px solid #1f1b19;
 font-size:15.5px}
.linha:last-child{border-bottom:0}
.linha dt{color:#8b8179;font:700 11.5px/1.5 'Bricolage Grotesque',sans-serif;
 letter-spacing:.08em;text-transform:uppercase}
.linha dd{margin:0;text-align:right;color:#cfc6bc}
fieldset{border:1px solid #262120;border-radius:8px;padding:1.35rem;margin:1.5rem 0}
legend{padding:0 .5rem;font:700 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.16em;
 text-transform:uppercase;color:#938a81}
.check{display:flex;gap:.7rem;align-items:center;padding:.4rem 0;font-size:15.5px;color:#cfc6bc}
.check input{width:auto}

/* ── entrada (login) ──────────────────────────────────────────────── */
.entrada{min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr}
.ent-esq{padding:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center;
 background:radial-gradient(900px 480px at 10% -10%,rgba(224,137,90,.11),transparent 62%),#0f0d0c;
 border-right:1px solid #262120}
.ent-marca{font:800 14px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.26em;
 text-transform:uppercase;color:#e0895a;margin-bottom:2rem}
.ent-txt{font:300 clamp(19px,2vw,24px)/1.5 Newsreader,serif;max-width:52ch;margin:0 0 2rem}
.ent-txt a{color:#e0895a;font-weight:400}
.logos{display:flex;gap:1.15rem;flex-wrap:wrap;padding:1.7rem 0;margin-bottom:1.7rem;
 border-top:1px solid #262120;border-bottom:1px solid #262120}
.logo-vazio{width:128px;height:54px;display:grid;place-items:center;text-align:center;
 border:1px dashed #3a3230;border-radius:6px;color:#8b8179;
 font:700 10px/1.35 'Bricolage Grotesque',sans-serif;letter-spacing:.06em;padding:.4rem}
.doacao{display:flex;gap:1.5rem;align-items:flex-start}
.doacao p{margin:0 0 .8rem;color:#938a81;font-size:15px;max-width:42ch}
.qr{width:142px;height:142px;flex:none;border:1px dashed #3a3230;border-radius:8px;
 display:grid;place-items:center;text-align:center;color:#8b8179;
 font:700 10px/1.4 'Bricolage Grotesque',sans-serif;padding:.7rem}
.pix{display:flex;align-items:center;gap:.6rem;background:#161312;border:1px solid #2e2825;
 border-radius:6px;padding:.5rem .65rem}
.pix code{font:400 13.5px/1 ui-monospace,monospace;color:#cfc6bc;overflow:hidden;
 text-overflow:ellipsis;white-space:nowrap}
.pix button{margin-left:auto;flex:none;background:#262120;border:1px solid #3a3230;color:#938a81;
 border-radius:4px;padding:.32rem .6rem;font:700 10px/1 'Bricolage Grotesque',sans-serif;cursor:pointer}
.ent-dir{padding:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center;
 background:#131110}
.ent-caixa{width:100%;max-width:370px;margin:0 auto}
.ent-caixa h2{font:800 26px/1 'Bricolage Grotesque',sans-serif;letter-spacing:-.03em;margin:0 0 1.6rem}
.ent-ou{display:flex;align-items:center;gap:.8rem;color:#8b8179;margin:1.5rem 0;
 font:700 10px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.16em;text-transform:uppercase}
.ent-ou::before,.ent-ou::after{content:'';flex:1;height:1px;background:#262120}
.link-fraco{color:#8b8179;font:400 14px/1 Newsreader,serif;text-decoration:none}
.link-fraco:hover{color:#938a81;text-decoration:underline}

/* ── modal de perfil público ──────────────────────────────────────── */
dialog{border:1px solid #2e2825;border-radius:10px;background:#161312;color:#eee9e1;padding:0;
 max-width:380px;width:calc(100% - 2rem)}
dialog::backdrop{background:rgba(6,5,5,.75)}
.modal-top{display:flex;align-items:center;gap:1rem;padding:1.4rem;border-bottom:1px solid #262120}
.modal-av{width:52px;height:52px;border-radius:50%;background:#262120;color:#e0895a;
 display:grid;place-items:center;font:800 18px/1 'Bricolage Grotesque',sans-serif}
.modal-nome{font:800 18px/1.2 'Bricolage Grotesque',sans-serif;margin:0}
.modal-corpo{padding:1.1rem 1.4rem 1.4rem}
.modal-fechar{position:absolute;top:.7rem;right:.9rem;background:none;border:0;color:#8b8179;
 font-size:1.4rem;cursor:pointer;line-height:1}

@media(max-width:900px){
 .post-cab,.post-corpo,.coments,.pag{padding-left:1.25rem;padding-right:1.25rem}
 .entrada{grid-template-columns:1fr}
 .doacao{flex-direction:column-reverse;align-items:flex-start}
}

/* ── paginação do portal ──────────────────────────────────────────── */
.pag-portal{display:flex;align-items:center;gap:1.5rem;justify-content:center;
 padding:0 0 5rem;font:700 12px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.1em;
 text-transform:uppercase}
.pag-portal a{color:#938a81;text-decoration:none;border:1px solid #3a3230;border-radius:6px;
 padding:.7rem 1.15rem}
.pag-portal a:hover{color:#eee9e1;border-color:#e0895a}
.pag-portal .off{color:#3c3532;border:1px solid transparent;padding:.7rem 1.15rem}
.pag-portal .conta{color:#8b8179;letter-spacing:.06em}
@media(max-width:540px){.pag-portal{gap:.7rem;font-size:11px}
 .pag-portal a,.pag-portal .off{padding:.6rem .8rem}}

/* =====================================================================
   Área pública — a linguagem editorial do portal aplicada à campanha,
   à entrada e à recuperação de acesso.
   ===================================================================== */
.pagina-publica{background:
 radial-gradient(900px 520px at 15% 0%,rgba(224,137,90,.075),transparent 68%),var(--fundo)}
.publico-env{width:min(1180px,calc(100% - 3rem));margin:0 auto}
.publico-topo{position:relative;z-index:20;border-bottom:1px solid var(--linha);background:rgba(15,13,12,.88);
 -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.publico-topo .publico-env{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.publico-nav{display:flex;align-items:center;gap:1.6rem;font:700 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.publico-nav a{color:var(--texto-3);text-decoration:none;padding:.7rem 0}
.publico-nav a:hover,.publico-nav a[aria-current]{color:var(--texto)}
.publico-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--acento);text-underline-offset:7px;text-decoration-thickness:2px}
.publico-rodape{border-top:1px solid var(--linha);padding:2rem 0 3rem;margin-top:3rem;color:var(--texto-3)}
.publico-rodape .publico-env{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;font:700 12px/1.4 var(--sans);letter-spacing:.045em}
.publico-rodape a{color:var(--texto-2);text-decoration:none}
.publico-rodape a:hover{color:var(--acento)}
.publico-rodape a:first-of-type{margin-left:auto}

.landing{width:min(1180px,calc(100% - 3rem));margin:0 auto;padding-bottom:2rem}
.landing-hero{padding:clamp(4rem,9vw,8rem) 0 clamp(3.5rem,7vw,6rem);border-bottom:1px solid var(--linha)}
.rotulo{font:700 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--acento);margin:0 0 1rem}
.landing-hero h1{font:800 clamp(44px,7.2vw,92px)/.94 var(--sans);letter-spacing:-.055em;
 max-width:13ch;margin:0 0 2.2rem;text-wrap:balance}
.landing-abertura{font:300 clamp(19px,2.2vw,25px)/1.5 var(--serif);max-width:62ch;margin:0 0 1.25rem;color:#cfc6bc}
.landing-abertura a{color:var(--acento);text-underline-offset:4px;text-decoration-thickness:1px}
.externo{font-family:var(--sans);font-size:.72em;display:inline-block;margin-left:.12em}
.anuncios{list-style:none;margin:1.5rem 0 1.7rem;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:970px}
.anuncios li{border:1px solid var(--linha);border-radius:9px;padding:1.25rem 1.35rem 1.25rem 3rem;
 color:var(--texto-2);font-size:17px;line-height:1.5;position:relative;background:rgba(19,17,16,.62)}
.anuncios li::before{content:'';position:absolute;left:1.25rem;top:1.67rem;width:8px;height:8px;border-radius:50%;background:var(--acento);
 box-shadow:0 0 0 5px rgba(224,137,90,.11)}
.anuncios strong{color:var(--texto);font-family:var(--sans);font-size:.96em}

.landing-corpo{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,400px);gap:clamp(3rem,7vw,7rem);align-items:start;padding:4rem 0}
.manifesto{max-width:68ch;font-size:18px;line-height:1.78}
.manifesto p{margin:0 0 1.55rem}
.manifesto strong{color:var(--texto);font-weight:700}
.manifesto em{color:#cfc6bc}
.capitular{font-size:clamp(20px,2.1vw,24px);line-height:1.62;color:#cfc6bc}
.capitular::first-letter{float:left;font:800 4.1em/.78 var(--sans);color:var(--acento);padding:.13em .12em 0 0}
.manifesto-secao{margin-top:4.5rem;padding-top:3.5rem;border-top:1px solid var(--linha)}
.manifesto h2,.pix-card h2{font:800 clamp(27px,3.5vw,42px)/1.04 var(--sans);letter-spacing:-.038em;
 margin:0 0 1.35rem;text-wrap:balance}
.apoio-chamada{border:1px solid rgba(224,137,90,.35);border-radius:12px;padding:2rem;
 background:radial-gradient(600px 300px at 0 0,rgba(224,137,90,.1),transparent 72%),var(--superficie)}
.apoio-chamada.manifesto-secao{margin-top:4.5rem}
.apoio-acoes{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.8rem}
.apoio-acoes .btn{min-height:46px}

.pix-card{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;border-top:1px solid var(--linha);
 margin-top:4rem;padding-top:3.5rem}
.pix-card h2{font-size:clamp(24px,3vw,34px)}
.pix-card p:not(.rotulo){color:var(--texto-2);margin:0 0 1.2rem}
.pix-card .qr{width:132px;height:132px;border:0;background:#fff;padding:.4rem;border-radius:8px}
.pix{min-width:0}
.pix code{outline:none}
.pix button{min-height:32px;color:var(--texto-2)}
.assinatura-texto{padding-top:4rem;margin-top:4rem;border-top:1px solid var(--linha);font-size:19px}
.assinatura-texto p{font-style:italic;color:#cfc6bc;margin-bottom:1.2rem}
.assinatura-texto strong,.assinatura-texto time{display:block;font:700 13px/1.5 var(--sans)}
.assinatura-texto time{font-weight:500;color:var(--texto-3)}

.login-coluna{position:sticky;top:2rem;scroll-margin-top:1.5rem}
.login-card{border:1px solid var(--linha-2);border-radius:12px;padding:clamp(1.5rem,3vw,2rem);
 background:linear-gradient(160deg,rgba(255,255,255,.025),transparent 45%),var(--superficie);
 box-shadow:0 30px 80px rgba(0,0,0,.25)}
.login-card h2{font:800 29px/1.06 var(--sans);letter-spacing:-.035em;margin:0 0 .75rem;text-wrap:balance}
.login-card__intro{color:var(--texto-2);font-size:15.5px;line-height:1.5;margin:0 0 1.5rem}
.login-card__nota{color:var(--texto-3);font-size:14px;line-height:1.55;margin:0 0 1rem}
.login-ajuda{display:block;text-align:center;color:var(--texto-2);font-size:14px;margin:1rem 0 0;text-underline-offset:3px}
.login-ajuda:hover{color:var(--acento)}
.login-divisor{display:flex;align-items:center;gap:.75rem;margin:1.7rem 0 1.1rem;color:var(--texto-3);
 font:700 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.login-divisor::before,.login-divisor::after{content:'';height:1px;background:var(--linha);flex:1}
.campo-senha{position:relative}
.campo-senha input{padding-right:5rem}
.mostrar-senha{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--texto-2);
 min-width:68px;min-height:34px;border-radius:4px;cursor:pointer;font:700 11px/1 var(--sans)}
.mostrar-senha:hover{background:#262120;color:var(--texto)}
.check--compacta{font-size:14px;margin:-.15rem 0 1rem;color:var(--texto-2)}
.logos--publicos{align-items:center;justify-content:center;gap:2.5rem;margin:0;padding:3rem 0;border-top:1px solid var(--linha);border-bottom:0}
.logos--publicos img{width:auto;height:48px;max-width:190px;object-fit:contain;opacity:.78;filter:grayscale(.15)}

/* Cartão central compartilhado por recuperar senha, definir senha e estado inativo. */
.auth-shell{width:min(520px,calc(100% - 2rem));margin:0 auto;padding:clamp(3rem,10vh,7rem) 0 5rem;min-height:calc(100vh - 190px)}
.auth-card{border:1px solid var(--linha);border-radius:12px;padding:clamp(1.5rem,5vw,2.4rem);background:var(--superficie)}
.auth-card h1{font:800 clamp(28px,5vw,38px)/1.03 var(--sans);letter-spacing:-.036em;margin:0 0 .75rem}
.auth-card .lead{color:var(--texto-2);font-size:17px;line-height:1.55;margin:0 0 1.8rem}
.auth-card__acoes{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}
.auth-voltar{display:block;text-align:center;margin-top:1.35rem;color:var(--texto-2);font-size:14px;text-decoration:none}
.auth-voltar:hover{color:var(--acento)}

/* Campanha de assinatura: a mesma moldura pública, com foco na conversão. */
.vd{max-width:780px;margin:0 auto;padding:clamp(4rem,9vh,7rem) 1.5rem 5rem}
.vd__marca{font:800 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--acento);margin-bottom:1.4rem}
.vd h1{font:800 clamp(38px,6vw,62px)/.98 var(--sans);letter-spacing:-.048em;margin:0 0 1.3rem;max-width:16ch;text-wrap:balance}
.vd__lead{font:300 clamp(19px,2.2vw,24px)/1.55 var(--serif);color:var(--texto-2);margin:0 0 2.8rem;max-width:57ch}
.vd__logos{display:flex;gap:1.7rem;flex-wrap:wrap;align-items:center;padding:1.8rem 0;border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);margin-bottom:3rem}
.vd__logos img{height:46px;width:auto;max-width:170px;object-fit:contain}
.vd__itens{display:grid;gap:1.6rem;margin:0 0 3rem;padding:0;list-style:none}
.vd__itens li{display:grid;grid-template-columns:26px 1fr;gap:1rem;align-items:start}
.vd__itens svg{margin-top:.3rem;color:var(--acento)}
.vd__itens h2{font:700 17px/1.3 var(--sans);margin:0 0 .3rem;color:var(--texto)}
.vd__itens p{margin:0;color:var(--texto-2);font-size:15.5px;line-height:1.6}
.vd__preco{border:1px solid rgba(224,137,90,.35);border-radius:12px;padding:clamp(1.4rem,4vw,2rem);
 background:radial-gradient(600px 300px at 0% 0%,rgba(224,137,90,.1),transparent 70%),var(--superficie)}
.vd__valor{font:800 clamp(32px,4vw,44px)/1 var(--sans);letter-spacing:-.035em;margin:0}
.vd__valor span{font:400 16px/1 var(--serif);color:var(--texto-2);letter-spacing:0}
.vd__nota{color:var(--texto-2);font-size:14.5px;margin:.9rem 0 1.5rem;line-height:1.55}
.vd__fim{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--linha);color:var(--texto-3);font-size:14.5px;line-height:1.7}
.vd__fim a{color:var(--texto-2)}

/* Componentes utilitários do portal — os mesmos padrões sem estilos avulsos. */
.bloco h2,.bloco-titulo{font:800 19px/1.2 var(--sans);margin:0 0 .6rem}
.bloco p,.bloco-texto{color:var(--texto-2);font-size:15.5px;margin:0 0 1.2rem;max-width:58ch}
.bloco--atencao{border-color:rgba(217,189,106,.45)}
.acoes-linha{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}
.pag--estreita{max-width:640px}
.lead--compacta{margin-bottom:1.6rem!important}.lead--compacta strong{color:var(--texto)}
.fieldset--primeiro{margin-top:0}.dica--intro{margin:0 0 .9rem}.dica--rodape{margin-top:1.4rem}
.aviso--sem-margem{margin:0}
.status{display:inline-flex;align-items:center;gap:.42rem;font:700 12px/1.3 var(--sans)}
.status::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.status--ok{color:var(--sucesso)}.status--atencao{color:#dfc675}.status--erro{color:#e58e7c}
.campo textarea{width:100%;background:#161312;border:1px solid #2e2825;border-radius:6px;padding:.78rem .9rem;
 color:var(--texto);font:400 16px/1.55 var(--serif);resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--acento);outline:none;box-shadow:0 0 0 3px rgba(224,137,90,.13)}
.campo [aria-invalid="true"]{border-color:var(--perigo)}
.check{min-height:38px}
.btn{min-height:44px}

@media(max-width:900px){
 .publico-env,.landing{width:min(100% - 2.5rem,760px)}
 .landing-hero{padding-top:4.5rem}
 .landing-corpo{grid-template-columns:1fr;gap:3.5rem;padding-top:3rem}
 .login-coluna{position:static;grid-row:1}
 .manifesto{grid-row:2;max-width:none}
 .login-card{max-width:520px}
 .anuncios{grid-template-columns:1fr}
 .publico-rodape a:first-of-type{margin-left:0}
}
@media(max-width:600px){
 .publico-topo .publico-env{min-height:62px}
 .publico-nav{gap:1rem;font-size:10px}
 .landing-hero{padding:3.5rem 0 3rem}
 .landing-hero h1{font-size:clamp(39px,13vw,58px)}
 .landing-abertura{font-size:19px}
 .anuncios li{font-size:16px;padding-left:2.8rem}
 .landing-corpo{padding-bottom:2rem}
 .manifesto{font-size:17px;line-height:1.72}
 .capitular{font-size:20px}
 .manifesto-secao{margin-top:3.5rem;padding-top:2.7rem}
 .apoio-chamada{padding:1.35rem}
 .apoio-acoes .btn{width:100%}
 .pix-card{grid-template-columns:1fr}
 .pix-card .qr{grid-row:1}
 .logos--publicos{justify-content:flex-start;gap:1.4rem}
 .logos--publicos img{height:38px;max-width:135px}
 .publico-rodape .publico-env{align-items:flex-start;flex-direction:column;gap:.8rem}
 .auth-card__acoes .btn{width:100%}
}

/* ── utilidades das telas do portal ───────────────────────────────── */
.pular{position:absolute;left:-9999px;background:#e0895a;color:#12100e;padding:.75rem 1.25rem;
 border-radius:6px;z-index:999;font:700 13px/1 'Bricolage Grotesque',sans-serif}
.pular:focus{left:1rem;top:1rem}
:focus-visible{outline:2px solid #e0895a;outline-offset:3px;border-radius:3px}

.vazio{color:#8b8179;text-align:center;padding:3.5rem 1rem;border:1px dashed #262120;
 border-radius:8px;margin:3rem 0 5rem}
.aviso{background:rgba(224,137,90,.1);border:1px solid rgba(224,137,90,.35);color:#f0b78f;
 padding:.85rem 1rem;border-radius:6px;font-size:15px;margin-bottom:1.25rem}
.aviso--erro{background:rgba(212,103,79,.1);border-color:rgba(212,103,79,.4);color:#f0b5a5}

.rodape{border-top:1px solid #262120;margin-top:3rem;padding:2rem 0 3rem}
.rodape .env{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;
 font:700 12px/1 'Bricolage Grotesque',sans-serif;letter-spacing:.06em;color:#8b8179}
.rodape a{color:#938a81;text-decoration:none}
.rodape a:hover{color:#e0895a}
.rodape form{margin-left:auto}
.rodape button{background:none;border:1px solid #3a3230;color:#938a81;border-radius:6px;
 padding:.5rem 1rem;font:700 12px/1 'Bricolage Grotesque',sans-serif;cursor:pointer}
.rodape button:hover{border-color:#e0895a;color:#eee9e1}

/* =====================================================================
   Refinamento público — editorial, direto e sem decoração gratuita.
   ===================================================================== */
.pagina-publica{background:var(--fundo)}
.publico-topo{position:sticky;top:0;border-bottom:0;background:rgba(15,13,12,.96);
 -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}

.landing-primeiro{min-height:calc(100vh - 72px);display:grid;
 grid-template-columns:minmax(0,1fr) minmax(340px,400px);gap:clamp(3rem,7vw,7rem);align-items:center;position:relative}
.continua-abaixo{position:absolute;left:50%;bottom:.9rem;transform:translateX(-50%);display:flex;flex-direction:column;
 align-items:center;gap:.3rem;padding:.65rem 1rem;color:var(--texto-3);text-decoration:none;
 font:700 10px/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.continua-abaixo:hover{color:var(--texto)}
.continua-abaixo__seta{color:var(--acento);font:400 17px/1 var(--sans);animation:continua-abaixo 1.8s ease-in-out infinite}
@keyframes continua-abaixo{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){.continua-abaixo__seta{animation:none}}
.landing-hero{padding:4.5rem 0;border-bottom:0}
.landing-hero h1{font-size:clamp(48px,5.8vw,76px);max-width:12ch;margin-bottom:1.8rem}
.landing-abertura{font-size:clamp(18px,1.8vw,23px)}
.landing-abertura--final{margin-top:1.35rem}
.anuncios-simples{max-width:62ch;margin:1.35rem 0;color:var(--texto-2);font-size:17px;line-height:1.55}
.anuncios-simples p{margin:.55rem 0;padding-left:1.25rem;position:relative}
.anuncios-simples p::before{content:'—';position:absolute;left:0;color:var(--acento)}
.anuncios-simples strong{font-family:var(--sans);color:var(--texto);font-size:.94em}

.manifesto{max-width:760px;margin:7rem auto 0}
.manifesto-secao{border-top:0;padding-top:0;margin-top:5rem}
.apoio-chamada,.apoio-chamada.manifesto-secao{border:0;border-radius:0;padding:0;background:none}
.assinatura-texto{border-top:0;padding-top:0;margin-top:4.5rem}

.login-coluna{position:static}
.login-card{background:var(--superficie);box-shadow:none}
.login-card__nota{margin-top:1.5rem}
.login-card__nota strong{display:block;margin-bottom:.35rem;color:var(--texto);
 font:700 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}

.pix-simples{margin-top:5rem}
.pix-simples h2{font:800 clamp(25px,3vw,36px)/1.05 var(--sans);letter-spacing:-.035em;margin:0 0 1rem}
.pix-simples>p{color:var(--texto-2);margin:0 0 1.25rem}
.pix-link,.manifesto a:not(.btn){color:var(--acento);text-underline-offset:4px}
.pix-chave{max-width:680px;margin:1.4rem 0}
.pix-chave>label{display:block;margin-bottom:.55rem;color:var(--texto-3);
 font:700 11px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase}
.pix-chave__linha{display:flex;align-items:stretch;gap:.65rem}
.pix-chave__linha input{min-width:0;flex:1;background:#161312;border:1px solid #2e2825;border-radius:6px;
 padding:.8rem .9rem;color:var(--texto);font:400 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}
.pix-chave__linha .btn{min-width:92px}
.pix-simples .pix-aviso{max-width:62ch;color:var(--texto-2);font-size:14.5px;line-height:1.55;margin-top:1.5rem}
.pix-aviso strong{color:var(--acento);font-family:var(--sans);font-size:.9em;text-transform:uppercase;letter-spacing:.06em}

.logos--publicos,.vd__logos{justify-content:center;align-items:center;gap:4rem;border:0;padding:3.5rem 0;margin:2rem 0 0}
.logo-marca,.logos--publicos img,.vd__logos img{width:auto;height:58px;max-width:230px;object-fit:contain;opacity:.9;filter:none}
.logo-marca.logo-marca--projeto-humanos{height:220px;max-width:300px}
.vd__logos{margin:0 0 3rem;padding:1rem 0 2.5rem}

.vd__preco{background:var(--superficie);box-shadow:none}
.vd__fim{border-top:0;padding-top:0}
.vd .pix-simples{margin:4rem 0}

@media(max-width:900px){
 .publico-topo .marca,.publico-nav{order:0}
 .landing-primeiro{min-height:0;grid-template-columns:1fr;gap:3rem;padding:3.5rem 0}
 .login-coluna{order:-1}
 .landing-hero{padding:0}
 .continua-abaixo{position:static;transform:none;justify-self:center;margin-top:-1rem}
 .manifesto{margin-top:4.5rem}
}
@media(max-width:600px){
 .landing-primeiro{padding:2rem 0 3rem}
 .landing-hero h1{font-size:clamp(39px,13vw,56px)}
 .anuncios-simples{font-size:16px}
 .pix-chave__linha{align-items:stretch;flex-direction:column}
 .pix-chave__linha .btn{width:100%}
 .logos--publicos,.vd__logos{justify-content:center;gap:1rem;flex-wrap:nowrap}
 .logo-marca,.logos--publicos img,.vd__logos img{height:40px;max-width:120px}
 .logo-marca.logo-marca--projeto-humanos{height:150px;max-width:150px}
}
