/* Theme Advocacia (New Box), feito para a Mendonça Rocha Advocacia Imobiliária.
   Veio do protótipo (mendoncarocha/prototipo/assets/css/style.css); os ajustes do WordPress estão no fim.
   Fontes servidas pelo próprio site, só o subconjunto latino. */
@font-face { font-family: 'Libre Baskerville'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/libre-baskerville.woff2) format('woff2'); }
@font-face { font-family: 'Libre Baskerville'; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/libre-baskerville-italic.woff2) format('woff2'); }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/lato-400.woff2) format('woff2'); }
@font-face { font-family: 'Lato'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/lato-700.woff2) format('woff2'); }
/* Mendonça Rocha Advocacia Imobiliária, protótipo. Base no celular, cresce com min-width (621 / 901 / 1061).
   Cores, fontes e o jeito de compor vêm da apresentação do escritório ("Da posse à próxima geração").
   Elemento próprio: a passagem, caixa de contorno arredondado ligada à seguinte por uma seta amarela
   (posse > propriedade > próxima geração), como nos slides 1, 5 e 7. */

:root {
  --grafite: #292d2d;
  --grafite-2: #323737;
  --grafite-3: #1f2222;
  --fio: #687176;
  --fio-claro: #454b4c;
  --creme: #f5f3ed;
  --texto: #dcdcd6;
  --cinza: #b3b8b9;
  --amarelo: #e8d66c;
  --amarelo-2: #f1e39a;
  --papel: #f5f3ed;
  --papel-2: #ebe7dc;
  --tinta: #292d2d;
  --cinza-papel: #585e60;
  --ouro-texto: #6b5d12;
  --verde-whats: #1f8f4e;
  --serifa: 'Libre Baskerville', Georgia, serif;
  --sans: 'Lato', system-ui, sans-serif;
  --raio: 18px;
  --topo-h: 68px;
  --barra-h: 64px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--topo-h) + 12px); }
body { margin: 0; padding-bottom: var(--barra-h); background: var(--grafite); color: var(--texto); font: 400 1.0625rem/1.65 var(--sans); overflow-x: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
p { margin: 0 0 1em; }
h1, h2 { font-family: var(--serifa); font-weight: 700; text-transform: uppercase; letter-spacing: .035em; color: var(--creme); line-height: 1.14; margin: 0 0 .45em; }
h1 { font-size: clamp(1.75rem, 8.2vw, 3.9rem); }
h2 { font-size: clamp(1.45rem, 6vw, 2.5rem); }
h3 { font: 700 1.1rem/1.3 var(--sans); color: var(--creme); margin: 0 0 .4em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; }
strong { color: var(--creme); }

.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.pular { position: absolute; left: 8px; top: -60px; z-index: 100; background: var(--amarelo); color: var(--tinta); padding: 12px 16px; }
.pular:focus { top: 8px; }
.i { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.i-cheio { fill: currentColor; stroke: none; }
.sub { font-size: clamp(1.08rem, 3.6vw, 1.3rem); color: var(--cinza); max-width: 34em; }
.italico { font: italic 400 clamp(1.25rem, 4.6vw, 1.75rem)/1.45 var(--serifa); color: var(--amarelo); }

/* ---------- botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 12px 24px; border: 1.5px solid transparent; border-radius: 6px;
  font: 700 .98rem/1.2 var(--sans); text-decoration: none; cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
}
.btn--amarelo { background: var(--amarelo); color: var(--tinta); }
.btn--amarelo:hover { background: var(--amarelo-2); }
.btn--linha { border-color: var(--fio); color: var(--creme); background: transparent; }
.btn--linha:hover { border-color: var(--creme); }
.btn--tinta { background: var(--tinta); color: var(--creme); }
.btn--tinta:hover { background: #3a4040; }
.link-seta { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; color: var(--amarelo); text-decoration: none; }
.link-seta .i { transition: transform .2s; }
.link-seta:hover .i { transform: translateX(4px); }
.papel .link-seta { color: var(--ouro-texto); }

/* etiqueta amarela, como os tags dos slides ("contrato particular", "sem registro") */
.etiquetas { display: flex; flex-wrap: wrap; gap: 8px; }
.etiqueta { display: inline-block; padding: 5px 11px; border-radius: 4px; background: var(--amarelo); color: var(--tinta); font: 700 .82rem/1.3 var(--sans); text-transform: uppercase; letter-spacing: .02em; }
.etiqueta--linha { background: none; border: 1.5px solid var(--fio); color: var(--creme); }
.papel .etiqueta--linha { border-color: #b9b4a6; color: var(--tinta); }

/* ---------- topo ---------- */
.topo { position: sticky; top: 0; z-index: 50; background: var(--grafite); transition: box-shadow .25s; }
.topo.is-rolado { box-shadow: 0 1px 0 var(--fio-claro); }
.topo__barra { display: flex; align-items: center; justify-content: space-between; height: var(--topo-h); }
.marca { display: flex; align-items: center; text-decoration: none; }
.marca img { width: 108px; height: auto; }
.menu-btn { display: grid; place-items: center; width: 48px; height: 48px; margin-right: -8px; border: 0; background: none; color: var(--creme); cursor: pointer; }
.menu-btn .i { width: 26px; height: 26px; }
.menu-btn .i--fechar, .menu-btn[aria-expanded="true"] .i--abrir { display: none; }
.menu-btn[aria-expanded="true"] .i--fechar { display: block; }

.nav {
  position: fixed; inset: var(--topo-h) 0 0; z-index: 49; display: flex; flex-direction: column; gap: 24px;
  padding: 12px 16px 32px; background: var(--grafite); overflow-y: auto;
  visibility: hidden; opacity: 0; transition: opacity .2s, visibility .2s;
}
.nav.is-aberto { visibility: visible; opacity: 1; }
.nav__lista a { display: flex; align-items: center; min-height: 56px; border-bottom: 1px solid var(--fio-claro); font: 700 1.05rem/1.2 var(--serifa); text-transform: uppercase; letter-spacing: .04em; text-decoration: none; color: var(--creme); }
.nav__lista a[aria-current="page"] { color: var(--amarelo); }
.nav__sub a { min-height: 48px; padding-left: 18px; font: 400 1rem/1.2 var(--sans); text-transform: none; letter-spacing: 0; color: var(--texto); }
.nav__item > a .i { display: none; }
.nav__extra { display: grid; gap: 12px; }
.nav__extra small { color: var(--cinza); font-size: .88rem; }

/* ---------- hero da home: foto grande de ponta a ponta (mesmo modelo do BM7) ---------- */
.hero { position: relative; display: flex; align-items: flex-end; min-height: calc(100svh - var(--barra-h)); max-height: 960px; padding: calc(var(--topo-h) + 24px) 0 36px; color: var(--creme); background: var(--grafite-3); overflow: hidden; isolation: isolate; }
.hero__foto { position: absolute; inset: 0; z-index: -2; margin: 0; }
.hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 42% 62%; transform: scale(1.02); animation: zoom 14s ease-out forwards; }
@keyframes zoom { to { transform: scale(1.1); } }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(31, 34, 34, .7) 0%, rgba(31, 34, 34, .1) 26%, rgba(31, 34, 34, .35) 50%, rgba(31, 34, 34, .94) 88%); }
.hero__foto figcaption { position: absolute; right: 16px; top: calc(var(--topo-h) + 8px); font-size: .72rem; color: rgba(245, 243, 237, .75); }
.hero__conteudo { position: relative; }
.hero h1 { font-size: clamp(1.9rem, 9vw, 4.2rem); max-width: 12em; margin-bottom: 14px; text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
.hero__areas { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-bottom: 16px; }
.hero__areas span:not(.etiqueta) { font: 700 .9rem/1.3 var(--sans); text-transform: uppercase; letter-spacing: .03em; color: var(--creme); }
.hero__areas span:not(.etiqueta)::before { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 10px 2px 0; border-radius: 50%; background: var(--creme); }
.hero__apoio { max-width: 34em; margin-bottom: 22px; font-size: clamp(1.02rem, 3.9vw, 1.25rem); line-height: 1.55; color: rgba(245, 243, 237, .92); }
.hero__botoes { display: flex; flex-wrap: wrap; gap: 10px; }
.btn--claro { border-color: rgba(245, 243, 237, .7); color: var(--creme); background: rgba(31, 34, 34, .45); }
.btn--claro:hover { background: var(--creme); color: var(--tinta); }
.hero__passagem { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 26px 0 0; padding-top: 18px; border-top: 1px solid rgba(245, 243, 237, .25); font: 700 .86rem/1.2 var(--serifa); text-transform: uppercase; letter-spacing: .06em; color: var(--creme); }
.hero__passagem .i { width: 22px; height: 22px; color: var(--amarelo); stroke-width: 2.4; }

/* topo transparente sobre a foto do hero; ganha fundo ao rolar ou abrir o menu */
.topo--sobre-foto { position: fixed; left: 0; right: 0; background: transparent; }
.topo--sobre-foto:not(.is-rolado) { background: linear-gradient(180deg, rgba(31, 34, 34, .55), transparent); }
.topo--sobre-foto.is-rolado, .topo--sobre-foto.is-menu { background: var(--grafite); }

/* a passagem: caixas de contorno ligadas por seta amarela. Em coluna no celular, em linha a partir de 901px */
.caixa { border: 1.5px solid var(--fio); border-radius: var(--raio); padding: 22px 20px; }
.caixa h3, .caixa__titulo { font: 700 clamp(1.25rem, 4.4vw, 1.7rem)/1.2 var(--serifa); text-transform: uppercase; letter-spacing: .04em; color: var(--creme); margin: 0 0 8px; }
.caixa p { margin: 0; color: var(--cinza); }
.caixa .caixa__titulo { color: var(--creme); margin-bottom: 8px; }
.caixa__rotulo { display: block; margin-bottom: 10px; font: 700 .9rem/1.2 var(--sans); text-transform: uppercase; letter-spacing: .03em; color: var(--amarelo); }
.passagem { display: grid; gap: 0; }
.passagem__seta { display: grid; place-items: center; height: 52px; color: var(--amarelo); }
.passagem__seta .i { width: 34px; height: 34px; stroke-width: 2.4; transform: rotate(90deg); }
.passagem__seta--diferente { font: 400 2.4rem/1 var(--serifa); }
.papel .caixa { border-color: #b9b4a6; }
.papel .caixa h3, .papel .caixa__titulo { color: var(--tinta); }
.papel .caixa p { color: var(--cinza-papel); }
.papel .caixa .caixa__titulo { color: var(--tinta); }
.papel .caixa__rotulo { color: var(--ouro-texto); }
.papel .passagem__seta { color: var(--ouro-texto); }

/* passagem do hero: uma caixa só, com posse > propriedade > próxima geração dentro */
.cartao-hero { padding: 28px 24px; }
.cartao-hero .caixa__titulo { font-size: clamp(1.6rem, 6vw, 2.3rem); margin: 0; }
.cartao-hero .cartao-hero__fim { color: var(--cinza); }
.cartao-hero .passagem__seta { display: flex; align-items: center; justify-content: center; width: auto; height: 64px; }
.cartao-hero .passagem__seta .i { transform: none; width: 44px; height: 44px; }
.cartao-hero__fim { display: flex; align-items: center; gap: 8px; margin-top: 18px; font: 700 .95rem/1.2 var(--sans); text-transform: uppercase; letter-spacing: .03em; color: var(--cinza); }

/* ---------- seções ---------- */
.secao { position: relative; padding: 64px 0; }
.secao--funda { background: var(--grafite-3); }
.secao--cartao { background: var(--grafite-2); }
.papel { background: var(--papel); color: #3b3f40; }
.papel h2, .papel h3, .papel strong { color: var(--tinta); }
.papel .sub { color: var(--cinza-papel); }
.secao__topo { max-width: 44em; margin-bottom: 36px; }
.secao__topo .sub { margin: 0; }
.secao__topo--linha { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px 32px; max-width: none; }
.secao__topo--linha > div { max-width: 40em; }
.duas { display: grid; gap: 36px; }
.pergunta { margin: 36px 0 14px; font: 700 1.12rem/1.4 var(--sans); color: var(--creme); }
.nota { font-size: .95rem; color: var(--cinza); max-width: 40em; }
.nota .link-seta { display: flex; width: fit-content; }
.papel .nota { color: var(--cinza-papel); }

/* lista numerada em itálico amarelo (slides 6 e 8) */
.numerada { counter-reset: n; }
.numerada > li { counter-increment: n; display: grid; grid-template-columns: 58px 1fr; column-gap: 12px; padding: 22px 0; border-bottom: 1px solid var(--fio); }
.numerada > li::before { content: counter(n, decimal-leading-zero); grid-row: 1 / span 3; font: italic 400 2rem/1 var(--serifa); color: var(--amarelo); }
.numerada > li > * { grid-column: 2; }
.numerada h3 { font-size: 1.15rem; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 4px; }
.numerada p { margin: 0; color: var(--cinza); }
.numerada .link-seta { margin-top: 4px; }
.papel .numerada > li { border-color: #cbc6b8; }
.papel .numerada > li::before { color: var(--ouro-texto); }
.papel .numerada p { color: var(--cinza-papel); }
a.numerada__item { display: contents; text-decoration: none; }

/* mito x realidade (slide 3) */
.mito { padding: 26px 22px; border-radius: var(--raio); background: var(--grafite-2); }
.mito blockquote { margin: 10px 0 0; font: 700 clamp(1.5rem, 5.6vw, 2.2rem)/1.35 var(--serifa); color: var(--creme); }
.requisitos { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 16px; margin: 18px 0 30px; }
.requisitos li { display: grid; gap: 10px; justify-items: start; align-content: start; }
.requisitos li::before { content: attr(data-n); display: grid; place-items: center; width: 58px; height: 58px; border: 2px solid var(--amarelo); border-radius: 50%; font: 400 1.4rem/1 var(--serifa); color: var(--amarelo); }
.requisitos strong { font: 700 .98rem/1.3 var(--sans); text-transform: uppercase; }
.requisitos span { font-size: .92rem; color: var(--cinza); }

/* história do imóvel: quem, quando, como, prova (slide 4) */
.historia { position: relative; }
.historia li { position: relative; display: grid; grid-template-columns: 56px 1fr; column-gap: 16px; padding-bottom: 26px; }
.historia li::before { content: attr(data-n); grid-row: 1 / span 2; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--amarelo); color: var(--tinta); font: 400 1.3rem/1 var(--serifa); position: relative; z-index: 1; }
.historia li:not(:last-child)::after { content: ""; position: absolute; left: 27px; top: 56px; bottom: 0; width: 2px; background: var(--fio); }
.historia strong { font: 700 1.1rem/1.3 var(--sans); text-transform: uppercase; padding-top: 6px; }
.historia span { color: var(--cinza); }
.papel .historia span { color: var(--cinza-papel); }
.documentos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.documentos li { display: flex; align-items: center; min-height: 54px; padding: 10px 16px; border: 1.5px solid var(--fio); border-radius: 10px; font: 700 .9rem/1.25 var(--sans); text-transform: uppercase; color: var(--creme); }
.papel .documentos li { border-color: #b9b4a6; color: var(--tinta); background: #fbfaf6; }

/* três momentos (podcast: comprar, vender, falecimento) */
.momentos { display: grid; gap: 14px; }
@media (min-width: 621px) { .momentos { grid-template-columns: 1fr 1fr; } }
.momento { display: flex; flex-direction: column; gap: 8px; text-decoration: none; transition: border-color .2s; }
.momento:hover { border-color: var(--amarelo); }
.momento .caixa__titulo { font-size: clamp(1.15rem, 4vw, 1.4rem); margin: 0; }
.momento .link-seta { margin-top: auto; }

/* o escritório */
.retrato-foto--larga { max-width: none; }
.retrato-foto--larga img { aspect-ratio: 16 / 10; object-position: 20% 30%; }
.midia__foto { position: relative; display: block; border-radius: 12px; overflow: hidden; }
.midia__foto img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .5s ease; }
.midia__foto:hover img { transform: scale(1.03); }
.midia__play { position: absolute; left: 16px; bottom: 16px; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--amarelo); color: var(--tinta); }
.midia__play .i { width: 24px; height: 24px; stroke-width: 2.4; }
.retrato-foto { margin: 0; width: 100%; max-width: 400px; }
.retrato-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raio); }
.retrato-foto figcaption { margin-top: 10px; font-size: .85rem; color: var(--cinza); }
.midia { display: grid; gap: 18px; align-items: center; }
.midia img { width: 100%; border-radius: 12px; }
.retrato { width: 100%; max-width: 400px; display: grid; place-items: center; aspect-ratio: 4 / 5; padding: 24px; border: 1.5px dashed var(--fio); border-radius: var(--raio); color: var(--cinza); text-align: center; font-size: .92rem; }
.retrato img { width: 96px; margin-bottom: 12px; opacity: .8; }
.papel .retrato { border-color: #b9b4a6; color: var(--cinza-papel); }
.frase { margin: 28px 0; padding-left: 20px; border-left: 3px solid var(--amarelo); font: italic 400 clamp(1.2rem, 4.2vw, 1.5rem)/1.5 var(--serifa); color: var(--creme); }
.papel .frase { color: var(--tinta); border-color: var(--ouro-texto); }
.fatos li { padding: 14px 0; border-bottom: 1px solid var(--fio-claro); }
.fatos span { display: block; font-size: .88rem; color: var(--cinza); }
.pendente { color: var(--cinza); font-style: italic; }
.espaco-topo { margin-top: 24px; }
.espaco-baixo { margin-bottom: 14px; }

/* FAQ */
.faq details { border-bottom: 1px solid var(--fio); }
.faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; padding: 16px 0; cursor: pointer; list-style: none; font-weight: 700; font-size: 1.05rem; color: var(--creme); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; font: 400 1.8rem/1 var(--serifa); color: var(--amarelo); transition: transform .25s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0 0 22px; color: var(--cinza); max-width: 44em; }
.papel .faq details { border-color: #cbc6b8; }
.papel .faq summary { color: var(--tinta); }
.papel .faq summary::after { color: var(--ouro-texto); }
.papel .faq details p { color: var(--cinza-papel); }

/* ---------- capa das páginas internas ---------- */
.capa { padding: 28px 0 48px; border-bottom: 1px solid var(--fio-claro); }
.trilha { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 22px; font-size: .88rem; color: var(--cinza); }
.trilha a { color: var(--cinza); }
.capa h1 { font-size: clamp(1.65rem, 7.4vw, 3.3rem); max-width: 16em; }
.capa .sub { margin-bottom: 0; }
.capa__botoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.capa__etiquetas { margin-top: 24px; }
.capa__grade { display: grid; gap: 28px; }
.capa__foto { margin: 0; }
.capa__foto img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--raio); }
.capa__foto figcaption, .retrato-foto figcaption, .artigo__capa figcaption { margin-top: 8px; font-size: .78rem; color: var(--cinza); }

/* resposta direta no topo das internas (vale para o leitor apressado e para buscas por IA) */
.resposta { padding: 22px 0 22px 20px; border-left: 3px solid var(--amarelo); margin-bottom: 8px; }
.resposta h2 { font: 700 .92rem/1.2 var(--sans); text-transform: uppercase; letter-spacing: .03em; color: var(--amarelo); margin-bottom: 10px; }
.resposta p { margin: 0; font: 400 clamp(1.1rem, 3.8vw, 1.3rem)/1.6 var(--serifa); color: var(--creme); }
.papel .resposta { border-color: var(--ouro-texto); }
.papel .resposta h2 { color: var(--ouro-texto); }
.papel .resposta p { color: var(--tinta); }

.texto { max-width: 720px; }
.texto h2 { margin-top: 1.5em; font-size: clamp(1.25rem, 4.8vw, 1.7rem); }
.texto h3 { margin-top: 1.4em; }
.texto ul.pontos { list-style: none; margin-bottom: 1.1em; }
.texto ul.pontos li { position: relative; padding-left: 22px; margin-bottom: .5em; }
.texto ul.pontos li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--amarelo); }
.papel .texto ul.pontos li::before { background: var(--ouro-texto); }
.texto .lei { font-size: .9rem; color: var(--cinza); }
.papel .texto .lei { color: var(--cinza-papel); }

/* tabela de modalidades de usucapião: blocos empilhados no celular, tabela a partir de 621px */
.tabela { width: 100%; border-collapse: collapse; font-size: .95rem; }
.tabela thead { display: none; }
.tabela tr { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; padding: 16px 0; border-bottom: 1px solid #cbc6b8; }
.tabela td { display: block; padding: 0; }
.tabela td:first-child { font-weight: 700; color: var(--tinta); }
.tabela td:nth-child(2) { font: italic 400 1.15rem/1.3 var(--serifa); color: var(--ouro-texto); white-space: nowrap; }
.tabela td:nth-child(3) { grid-column: 1 / -1; color: var(--cinza-papel); }

/* etapas reais de cada área */
.etapas { counter-reset: e; display: grid; gap: 0; }
.etapas li { counter-increment: e; position: relative; padding: 0 0 26px 44px; }
.etapas li::before { content: counter(e); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--amarelo); color: var(--tinta); font: 700 .9rem/1 var(--sans); }
.etapas li:not(:last-child)::after { content: ""; position: absolute; left: 14px; top: 34px; bottom: 4px; width: 2px; background: var(--fio); }
.etapas strong { display: block; font-size: 1.05rem; margin-bottom: 2px; }
.etapas span { color: var(--cinza); }
.papel .etapas span { color: var(--cinza-papel); }
.papel .etapas li:not(:last-child)::after { background: #b9b4a6; }

/* outras áreas no fim das internas */
.outras { display: grid; gap: 12px; }
.outras a { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; padding: 16px 20px; border: 1.5px solid var(--fio); border-radius: 12px; text-decoration: none; font: 700 1rem/1.3 var(--sans); text-transform: uppercase; color: var(--creme); transition: border-color .2s; }
.outras a:hover { border-color: var(--amarelo); }
.outras .i { color: var(--amarelo); }

/* conteúdos: busca, filtros, cartões e paginação (no WP: searchform, categorias e paginate_links) */
.visualmente-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.busca { display: flex; max-width: 640px; border: 1.5px solid var(--fio); border-radius: 10px; background: var(--grafite-2); overflow: hidden; }
.busca input { flex: 1; min-width: 0; min-height: 52px; padding: 12px 16px; border: 0; background: none; color: var(--creme); font-size: 16px; }
.busca input::placeholder { color: var(--cinza); }
.busca input:focus { outline: none; }
.busca:focus-within { border-color: var(--amarelo); }
.busca button { display: grid; place-items: center; width: 56px; border: 0; background: var(--amarelo); color: var(--tinta); cursor: pointer; }
.busca button .i { width: 22px; height: 22px; stroke-width: 2.2; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 8px; }
.filtros button { min-height: 44px; padding: 8px 16px; border: 1.5px solid var(--fio); border-radius: 40px; background: none; color: var(--texto); font: 700 .88rem/1 var(--sans); cursor: pointer; }
.filtros button[aria-pressed="true"] { background: var(--amarelo); border-color: var(--amarelo); color: var(--tinta); }
.busca__status { min-height: 1.5em; margin: 6px 0 18px; font-size: .92rem; color: var(--cinza); }
.artigos { display: grid; gap: 22px; }
.artigo-card[hidden] { display: none; }
.artigo-card > a { display: flex; flex-direction: column; height: 100%; border: 1.5px solid var(--fio-claro); border-radius: var(--raio); overflow: hidden; text-decoration: none; transition: border-color .2s; }
.artigo-card > a:hover { border-color: var(--amarelo); }
.artigo-card figure { margin: 0; overflow: hidden; }
.artigo-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .5s ease; }
.artigo-card > a:hover img { transform: scale(1.04); }
.artigo-card__corpo { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 20px; }
.artigo-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: .82rem; color: var(--cinza); }
.artigo-card h3 { margin: 12px 0 8px; font: 700 1.2rem/1.35 var(--serifa); text-transform: none; color: var(--creme); }
.artigo-card p { margin: 0 0 14px; color: var(--cinza); font-size: .96rem; }
.artigo-card .link-seta { margin-top: auto; }
.leitura { font-weight: 400; color: var(--cinza); }
.paginacao { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--fio-claro); }
.paginacao a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 8px; color: var(--texto); font-weight: 700; text-decoration: none; }
.paginacao a[aria-current="page"] { background: var(--amarelo); color: var(--tinta); }
.paginacao a[aria-disabled="true"] { opacity: .35; pointer-events: none; }
.paginacao__numeros { display: flex; gap: 4px; }
.paginacao [data-anterior] span, .paginacao [data-proxima] span { display: none; }

.assina { font-size: .92rem; color: var(--cinza); }

/* post: topo escuro, capa, sumário lateral (mesmo modelo do BM7) */
.artigo__topo { padding-top: 28px; }
.artigo__cabeca > * { max-width: 860px; }
.artigo__cabeca h1 { font-size: clamp(1.7rem, 6.6vw, 3.1rem); margin-bottom: .35em; }
.artigo__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 14px; font-size: .88rem; color: var(--cinza); }
.artigo__meta > span:last-child { display: inline-flex; align-items: center; gap: 6px; }
.artigo__meta .i { width: 16px; height: 16px; }
.artigo__linha-fina { font-size: clamp(1.05rem, 3.6vw, 1.2rem); line-height: 1.55; color: var(--cinza); max-width: 56ch; }
.artigo__autor { display: flex; align-items: center; gap: 12px; margin: 20px 0 26px; font-size: .9rem; color: var(--cinza); }
.artigo__autor img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: 50% 12%; border: 2px solid var(--amarelo); }
.artigo__autor strong { display: block; font-size: .98rem; }
.artigo__capa { margin: 0 auto; }
.artigo__capa img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--raio); }
.artigo__fundo { background: var(--papel); color: #3b3f40; }
.artigo__grade { display: grid; gap: 24px; padding-top: 28px; padding-bottom: 56px; }
.artigo__fundo h2, .artigo__fundo strong { color: var(--tinta); }
.artigo__texto { max-width: 70ch; font-size: 1.06rem; }
.artigo__texto h2 { scroll-margin-top: calc(var(--topo-h) + 16px); }
.artigo__texto .resposta { border-color: var(--ouro-texto); }
.artigo__texto .resposta h2 { color: var(--ouro-texto); margin-top: 0; font-size: .92rem; }
.artigo__texto .resposta p { color: var(--tinta); }
.artigo__texto ul.pontos li::before { background: var(--ouro-texto); }
.artigo__texto .lei { color: var(--cinza-papel); }
.artigo__texto .faq details { border-color: #cbc6b8; }
.artigo__texto .faq summary { color: var(--tinta); }
.artigo__texto .faq summary::after { color: var(--ouro-texto); }
.artigo__texto .faq details p { color: var(--cinza-papel); }
.indice { border: 1.5px solid #cbc6b8; border-radius: 12px; padding: 0 16px; background: #fbfaf6; }
.indice summary { display: flex; align-items: center; min-height: 52px; font-weight: 700; color: var(--tinta); cursor: pointer; }
.indice ol { margin: 0 0 14px; padding-left: 1.2em; list-style: decimal; }
.indice li::marker { color: var(--ouro-texto); font-weight: 700; }
.indice a { display: block; padding: 7px 0; color: var(--cinza-papel); text-decoration: none; }
.indice a:hover, .indice a.is-atual { color: var(--ouro-texto); font-weight: 700; }
.compartilhar { display: flex; align-items: center; gap: 8px; margin-top: 16px; font-size: .88rem; color: var(--cinza-papel); }
.compartilhar p { margin: 0 6px 0 0; font-weight: 700; }
.compartilhar a, .compartilhar button { display: grid; place-items: center; width: 44px; height: 44px; border: 1.5px solid #cbc6b8; border-radius: 50%; background: none; color: var(--tinta); cursor: pointer; }
.artigo__cta { display: grid; gap: 16px; margin-top: 36px; padding: 24px 22px; border-radius: var(--raio); background: var(--grafite); color: var(--texto); }
.artigo__cta p { margin: 0; color: var(--cinza); }
.artigo__cta .artigo__cta-titulo { margin-bottom: 4px; font: 700 1.2rem/1.35 var(--serifa); color: var(--creme); }

/* busca do topo */
.busca-btn { display: grid; place-items: center; width: 48px; height: 48px; margin-left: auto; border: 0; background: none; color: var(--creme); cursor: pointer; }
.busca-btn .i { width: 22px; height: 22px; stroke-width: 2.2; }
.busca-dialogo { width: min(640px, calc(100vw - 32px)); margin: 12vh auto auto; padding: 28px 20px 22px; border: 1px solid var(--fio); border-radius: var(--raio); background: var(--grafite); color: var(--texto); }
.busca-dialogo::backdrop { background: rgba(15, 17, 17, .8); }
.busca-dialogo label { display: block; margin-bottom: 10px; font: 700 1.1rem/1.2 var(--serifa); text-transform: uppercase; letter-spacing: .04em; color: var(--creme); }
.busca-dialogo__fechar { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 44px; height: 44px; border: 0; background: none; color: var(--cinza); cursor: pointer; }

/* mapa do contato */
.mapa { margin-top: 24px; border-radius: var(--raio); overflow: hidden; border: 1.5px solid #cbc6b8; }
.mapa iframe { display: block; width: 100%; aspect-ratio: 4 / 3; border: 0; }

/* contato */
.form { display: grid; gap: 16px; }
.campo { display: grid; gap: 6px; }
.campo label { font-weight: 700; font-size: .95rem; color: var(--tinta); }
.campo input, .campo select, .campo textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1.5px solid #b9b4a6; border-radius: 8px; background: #fff; font-size: 16px; color: var(--tinta); }
.campo textarea { min-height: 120px; resize: vertical; }
.aceite { display: flex; gap: 12px; align-items: flex-start; font-size: .9rem; color: var(--cinza-papel); cursor: pointer; }
.aceite input { width: 22px; height: 22px; margin-top: 2px; accent-color: var(--tinta); flex: none; }
.form small { color: var(--cinza-papel); }
.contatos li { display: flex; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--fio-claro); }
.contatos .i { margin-top: 3px; color: var(--amarelo); }
.contatos a { text-decoration: none; font-weight: 700; color: var(--creme); }
.contatos span { display: block; font-size: .92rem; color: var(--cinza); }
.papel .contatos li { border-color: #cbc6b8; }
.papel .contatos .i { color: var(--ouro-texto); }
.papel .contatos a, .papel .contatos div > span:first-child { color: var(--tinta); }
.papel .contatos span { color: var(--cinza-papel); }

/* ---------- chamada e rodapé ---------- */
.chamada { padding: 64px 0; background: var(--grafite-3); border-top: 1px solid var(--fio-claro); }
.chamada__in { display: grid; gap: 24px; }
.chamada__titulo { margin-bottom: 12px; }
.chamada__botoes { display: flex; flex-wrap: wrap; gap: 12px; }
.rodape { padding: 48px 0 32px; background: var(--grafite-3); border-top: 1px solid var(--fio-claro); color: var(--cinza); font-size: .94rem; }
.rodape__grade { display: grid; gap: 32px; }
.rodape__marca img { width: 150px; margin-bottom: 16px; }
.rodape__titulo { margin-bottom: 10px; font: 700 .85rem/1.2 var(--sans); text-transform: uppercase; letter-spacing: .04em; color: var(--creme); }
.rodape__lista li a, .rodape__lista li > span { display: flex; align-items: flex-start; gap: 10px; min-height: 40px; padding: 6px 0; text-decoration: none; }
.rodape__lista a:hover { color: var(--creme); }
.rodape__lista .i { margin-top: 2px; color: var(--amarelo); }
.rodape__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--fio-claro); font-size: .84rem; }

/* barra de ações no celular */
.barra { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: grid; grid-template-columns: repeat(4, 1fr); height: var(--barra-h); padding-bottom: env(safe-area-inset-bottom); background: var(--grafite-3); border-top: 1px solid var(--fio-claro); }
.barra a { display: grid; place-items: center; align-content: center; gap: 3px; min-height: 44px; font-size: .74rem; font-weight: 700; color: var(--texto); text-decoration: none; }
.barra .i { width: 22px; height: 22px; }
.barra a[aria-current="page"] { color: var(--amarelo); }
.barra .barra__destaque { margin: 7px 4px; border-radius: 10px; background: var(--amarelo); color: var(--tinta); }
.flutua-whats { display: none; }
.volta-topo { position: fixed; right: 16px; bottom: calc(var(--barra-h) + 14px); z-index: 40; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--fio); border-radius: 50%; background: var(--grafite); color: var(--creme); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity .2s; }
.volta-topo.is-visivel { opacity: 1; visibility: visible; }

/* entrada ao rolar: só esconde se o JS estiver ativo */
.js .revelar { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
.js .revelar.is-visivel { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
  .js .revelar { opacity: 1; transform: none; }
}

/* ---------- 621px ---------- */
@media (min-width: 621px) {
  .container { padding: 0 28px; }
  .requisitos { grid-template-columns: repeat(4, 1fr); }
  .artigos { grid-template-columns: 1fr 1fr; }
  .outras { grid-template-columns: 1fr 1fr; }
  .paginacao [data-anterior] span, .paginacao [data-proxima] span { display: inline; }
  .rodape__grade { grid-template-columns: 1fr 1fr; }
  .tabela thead { display: table-header-group; }
  .tabela tr { display: table-row; }
  .tabela td { display: table-cell; }
  .tabela th, .tabela td { padding: 14px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid #cbc6b8; }
  .tabela th { font: 700 .8rem/1.2 var(--sans); text-transform: uppercase; letter-spacing: .03em; color: var(--cinza-papel); }
  .tabela td:nth-child(3) { color: inherit; }
}

/* ---------- 901px ---------- */
@media (min-width: 901px) {
  .secao { padding: 96px 0; }
  .hero { padding-bottom: 64px; }
  .hero::after { background: linear-gradient(180deg, rgba(31, 34, 34, .65) 0%, rgba(31, 34, 34, 0) 22%, rgba(31, 34, 34, 0) 50%, rgba(31, 34, 34, .8) 100%),
    linear-gradient(90deg, rgba(31, 34, 34, .8) 0%, rgba(31, 34, 34, .35) 45%, rgba(31, 34, 34, 0) 72%); }
  .hero__foto figcaption { top: auto; bottom: 22px; right: 104px; }
  .hero__apoio { max-width: 30em; }
  .capa--foto .capa__grade { grid-template-columns: 1.1fr .9fr; align-items: center; gap: 56px; }
  .capa__foto img { aspect-ratio: 4 / 3; }
  .artigo__topo { padding-top: 48px; background: linear-gradient(var(--grafite) 0, var(--grafite) calc(100% - 220px), var(--papel) calc(100% - 220px)); }
  .artigo__grade { grid-template-columns: 250px minmax(0, 1fr); gap: 56px; padding-top: 48px; padding-bottom: 88px; }
  .artigo__lado { position: sticky; top: calc(var(--topo-h) + 24px); align-self: start; }
  .indice { border: 0; border-left: 2px solid #cbc6b8; border-radius: 0; padding: 0 0 0 16px; background: none; }
  .indice summary { pointer-events: none; min-height: 0; margin-bottom: 8px; list-style: none; }
  .indice summary::-webkit-details-marker { display: none; }
  .artigo__cta { grid-template-columns: 1fr auto; align-items: center; padding: 28px 30px; }
  .capa { padding: 48px 0 72px; }
  .duas { grid-template-columns: 1fr 1fr; gap: 72px; }
  .duas--estreita { grid-template-columns: .85fr 1.15fr; }
  .duas--centro { align-items: center; }
  .passagem { grid-auto-flow: column; grid-auto-columns: 1fr; align-items: stretch; }
  .passagem > .caixa { min-height: 100%; }
  .passagem__seta { width: 64px; height: auto; }
  .passagem__seta .i { transform: none; }
  .passagem--tres { grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr) 64px minmax(0, 1fr); grid-auto-flow: row; }
  .passagem--duas { grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr); grid-auto-flow: row; }
  /* ao lado de um texto, a passagem continua em coluna, como no celular */
  .passagem--coluna { grid-template-columns: 1fr; grid-auto-flow: row; }
  .passagem--coluna .passagem__seta { width: auto; height: 52px; }
  .passagem--coluna .passagem__seta .i { transform: rotate(90deg); }
  .caixa { padding: 30px 30px 34px; }
  .mito { padding: 36px 32px; }
  .numerada > li { grid-template-columns: 110px 1fr; padding: 28px 0; }
  .numerada > li::before { font-size: 2.6rem; }
  .artigos { grid-template-columns: repeat(3, 1fr); }
  .momentos { grid-template-columns: 1fr 1fr; gap: 20px; }
  .midia { grid-template-columns: 1fr 1.2fr; gap: 48px; }
  .outras { grid-template-columns: repeat(3, 1fr); }
  .chamada__in { grid-template-columns: 1.4fr auto; align-items: center; }
  .rodape__grade { grid-template-columns: 1.3fr 1fr 1fr 1fr; }
  .faq__lado { position: sticky; top: calc(var(--topo-h) + 24px); align-self: start; }
  .lado-fixo { position: sticky; top: calc(var(--topo-h) + 24px); align-self: start; }
}

/* ---------- 1061px: menu horizontal, sem barra de ações ---------- */
@media (min-width: 1061px) {
  body { padding-bottom: 0; }
  :root { --topo-h: 84px; --barra-h: 0px; }
  .busca-btn { order: 3; margin-left: 18px; }
  .marca img { width: 128px; }
  .barra { display: none; }
  .flutua-whats { position: fixed; right: 22px; bottom: 22px; z-index: 40; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--verde-whats); color: #fff; box-shadow: 0 8px 20px rgba(0, 0, 0, .3); }
  .flutua-whats .i { width: 28px; height: 28px; }
  .volta-topo { bottom: 92px; right: 28px; }
  .menu-btn { display: none; }
  .nav { position: static; visibility: visible; opacity: 1; flex-direction: row; align-items: center; gap: 28px; padding: 0; background: none; overflow: visible; }
  .nav__lista { display: flex; gap: 26px; }
  .nav__lista > li > a { min-height: 44px; border: 0; font: 700 .86rem/1 var(--sans); letter-spacing: .06em; color: var(--texto); }
  .nav__lista > li > a:hover { color: var(--amarelo); }
  .nav__lista > li > a[aria-current="page"] { color: var(--creme); box-shadow: inset 0 -2px 0 var(--amarelo); }
  .nav__item { position: relative; }
  .nav__item > a { gap: 6px; }
  .nav__item > a .i { display: block; width: 14px; height: 14px; }
  .nav__sub { position: absolute; top: 100%; left: -18px; min-width: 260px; padding: 10px 0; background: var(--grafite-2); border: 1px solid var(--fio-claro); border-radius: 10px; visibility: hidden; opacity: 0; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; }
  .nav__item:hover .nav__sub, .nav__item:focus-within .nav__sub { visibility: visible; opacity: 1; transform: none; }
  .nav__sub a { min-height: 44px; padding: 0 18px; border: 0; font-size: .95rem; }
  .nav__sub a:hover { color: var(--amarelo); }
  .nav__extra { display: flex; align-items: center; }
  .nav__extra small { display: none; }
  .nav__extra .btn { min-height: 46px; padding: 10px 20px; font-size: .9rem; }
  .momentos { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- WordPress ---------- */
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* filtro por assunto: links para as categorias (no protótipo eram botões) */
.filtros a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1.5px solid var(--fio); border-radius: 40px; color: var(--texto); font: 700 .88rem/1 var(--sans); text-decoration: none; }
.filtros a:hover { border-color: var(--amarelo); }
.filtros a[aria-current="page"] { background: var(--amarelo); border-color: var(--amarelo); color: var(--tinta); }
/* paginate_links */
.paginacao__numeros .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 8px; color: var(--texto); font-weight: 700; text-decoration: none; }
.paginacao__numeros .current { background: var(--amarelo); color: var(--tinta); }
.paginacao__numeros .dots { min-width: 24px; padding: 0; }
.artigos > li { list-style: none; }
.artigo-card h2 { margin: 12px 0 8px; font: 700 1.2rem/1.35 var(--serifa); text-transform: none; letter-spacing: 0; color: var(--creme); }
.artigo__meta a.etiqueta { text-decoration: none; }
p.resposta__titulo { margin: 0 0 .4em; font: 700 .82rem/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--amarelo); }
/* imagens e citações escritas no editor de blocos */
.artigo__texto figure { margin: 1.6em 0; }
.artigo__texto figure img { border-radius: 12px; }
.artigo__texto figcaption, .wp-element-caption { margin-top: 8px; font-size: .85rem; color: var(--cinza); }
.artigo__texto blockquote { margin: 1.6em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--amarelo); font: italic 400 1.15rem/1.55 var(--serifa); color: var(--creme); }
.artigo__texto ul:not([class]), .artigo__texto ol:not([class]) { margin: 0 0 1em; padding-left: 1.3em; list-style: revert; }
.artigo__texto table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: .95rem; }
.artigo__texto th, .artigo__texto td { padding: 10px 12px; border-bottom: 1px solid var(--fio-claro); text-align: left; }
.alignleft { float: left; margin: 0 1.2em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.2em; }
.aligncenter { margin-left: auto; margin-right: auto; }
/* barra do painel para quem está logado */
.admin-bar .topo { top: 46px; }
@media (min-width: 783px) { .admin-bar .topo { top: 32px; } }

/* aviso de cookies (só aparece quando a medição está ligada) */
.cookies { position: fixed; left: 12px; right: 12px; bottom: calc(var(--barra-h) + 12px); z-index: 60; display: grid; gap: 12px; padding: 18px; border: 1.5px solid var(--fio); border-radius: var(--raio); background: var(--grafite-3); color: var(--texto); font-size: .95rem; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
.cookies[hidden] { display: none; }
.cookies p { margin: 0; }
.cookies a { color: var(--amarelo); font-weight: 700; }
.cookies__acoes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cookies__acoes .btn { min-height: 46px; padding: 0 16px; }
@media (min-width: 1061px) { .cookies { left: 24px; right: auto; bottom: 24px; width: 420px; } }