/*
Theme Name: Antonio Guimarães
Theme URI: https://antonioguimaraes.com.br
Author: Antonio Guimarães
Description: Tema leve de blocos do blog antonioguimaraes.com.br. Estrutura "informação primeiro" e identidade visual v2.1 (marinho, Montserrat e Roboto).
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Version: 1.0.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: antonio-guimaraes
*/

:root{
  --ag-navy:#1a2f4a; --ag-navy-deep:#121317; --ag-navy-hover:#243d5c;
  --ag-bg:#ffffff; --ag-bg-soft:#f2f1ee;
  --ag-ink:#16191d; --ag-ink-muted:#565f6b; --ag-ink-soft:#7c8590;
  --ag-display:'Montserrat', Arial, sans-serif;
  --ag-linha:rgba(26,47,74,.12); --ag-linha-forte:rgba(26,47,74,.22);
  --ag-dk-text:#a9b3bf; --ag-dk-small:#8b95a3;
  --ag-calha:24px;
}
html{ scroll-padding-top:88px }
body{ overflow-x:hidden }
/* Os posts antigos são HTML sem marcação de bloco: o WordPress não carrega o CSS do bloco de imagem para eles. */
img{ max-width:100%; height:auto }
.conteudo figure{ margin:2rem 0 }
:focus-visible{ outline:2px solid var(--ag-navy); outline-offset:2px }

/* ---------- tipografia ---------- */
.rotulo{ font-family:var(--ag-display); font-weight:600; font-size:.72rem !important; letter-spacing:.08em; text-transform:uppercase; color:var(--ag-ink-muted); margin:0 }
.titulo-pagina{ font-family:var(--ag-display); font-weight:800 !important; text-transform:uppercase; letter-spacing:.005em; text-wrap:balance;
  color:var(--ag-navy) !important; font-size:clamp(2rem, 5vw, 3.4rem) !important; line-height:1.04 !important; margin-top:.5rem !important }
.titulo-secao{ font-family:var(--ag-display); font-weight:800 !important; text-transform:uppercase; letter-spacing:.01em;
  color:var(--ag-navy) !important; font-size:clamp(1.15rem, 2.2vw, 1.5rem) !important; line-height:1.15 !important; margin-top:.5rem !important }
.titulo-capa{ max-width:18ch }
/* O layout "constrained" centraliza filhos com largura máxima; estes ficam alinhados à esquerda, como no protótipo. */
.is-layout-constrained > .titulo-capa, .is-layout-constrained > .lead, .is-layout-constrained > .titulo-artigo{ margin-left:max(0px, calc((100% - 1140px) / 2)) !important; margin-right:auto !important }
.titulo-pagina::after, .titulo-secao::after{ content:""; display:block; width:52px; height:3px; background:currentColor; margin-top:.9rem }
.lead{ color:var(--ag-ink-muted); font-weight:300; font-size:clamp(1rem, 1.5vw, 1.15rem); max-width:62ch }
.ag-cab-secao{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:8px }
.link-seta a, a.link-seta{ font-family:var(--ag-display); font-weight:600; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; white-space:nowrap }

/* ---------- botões ---------- */
.wp-element-button, .wp-block-button__link{ display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; transition:background .2s, color .2s }
.is-style-outline > .wp-block-button__link, .wp-block-button.is-style-outline .wp-element-button{ background:transparent !important; color:var(--ag-navy) !important; border:1px solid var(--ag-navy) !important }
.is-style-outline > .wp-block-button__link:hover{ background:var(--ag-bg-soft) !important }
.escuro .wp-block-button:not(.is-style-outline) .wp-element-button{ background:#fff; color:var(--ag-navy-deep); border-color:#fff }
.escuro .is-style-outline .wp-element-button{ color:#fff !important; border-color:rgba(255,255,255,.4) !important }
.escuro .is-style-outline .wp-element-button:hover{ background:rgba(255,255,255,.08) !important }

/* ---------- cabeçalho ---------- */
.ag-topo{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); backdrop-filter:saturate(1.4) blur(8px); border-bottom:1px solid var(--ag-linha) }
.admin-bar .ag-topo{ top:32px }
.ag-topo-linha{ min-height:72px; gap:28px !important }
.ag-marca{ gap:0 !important }
/* Marca escrita no tema: o nome do site no WordPress é longo e alimenta os títulos do Yoast, então não é usado aqui. */
.ag-marca .ag-marca-nome{ font-family:var(--ag-display); font-weight:800; text-transform:uppercase; letter-spacing:.02em; font-size:.98rem; margin:0; line-height:1.2; white-space:nowrap }
.ag-marca .ag-marca-nome a{ color:var(--ag-navy); text-decoration:none }
.ag-marca .ag-marca-sub{ font-family:var(--ag-display); font-weight:600; font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ag-ink-soft); margin:1px 0 0 }
.ag-topo .wp-block-navigation a{ color:var(--ag-ink-muted); text-decoration:none; padding:.4rem 0; border-bottom:2px solid transparent }
.ag-topo .wp-block-navigation a:hover{ color:var(--ag-navy) }
.ag-topo .wp-block-navigation .current-menu-item > a, .ag-topo .wp-block-navigation a[aria-current="page"]{ color:var(--ag-navy); border-bottom-color:var(--ag-navy) }
.ag-topo .wp-block-search__input{ border:1px solid var(--ag-linha-forte); border-radius:4px; padding:.6rem .8rem; font-size:.85rem; width:200px }
.wp-block-navigation__responsive-container.is-menu-open{ padding:24px clamp(16px,5vw,80px) }
.wp-block-navigation__responsive-container.is-menu-open a{ font-size:1rem; color:var(--ag-navy) !important }
@media (max-width:980px){ .ag-topo .wp-block-search, .ag-topo .wp-block-buttons{ display:none } }

/* ---------- seções ---------- */
.secao{ padding-top:clamp(56px, 8vw, 96px) !important; padding-bottom:clamp(56px, 8vw, 96px) !important; margin-top:0 !important; margin-bottom:0 !important }
.pedra{ background:var(--ag-bg-soft) }
.escuro{ background:var(--ag-navy-deep); color:#eef2f7; position:relative; overflow:hidden }
.escuro::before{ content:""; position:absolute; inset:-20% -10% -20% 30%; pointer-events:none; z-index:0;
  background:radial-gradient(ellipse at center, rgba(120,140,175,.20) 0%, rgba(120,140,175,.05) 42%, transparent 70%) }
.escuro > *{ position:relative; z-index:1 }
.escuro .rotulo{ color:var(--ag-dk-small) }
.escuro .titulo-secao, .escuro .titulo-pagina{ color:#fff !important }
.escuro .lead{ color:var(--ag-dk-text) }
.wp-site-blocks > main{ margin-top:0 }
.ag-migalha{ font-size:.8rem; color:var(--ag-ink-soft); margin:0 0 18px }
.ag-migalha a{ color:var(--ag-ink-muted); text-decoration:none }
.ag-migalha a:hover{ color:var(--ag-navy); text-decoration:underline }

/* ---------- cards ---------- */
.ag-grade, ul.ag-grade{ display:grid; gap:40px var(--ag-calha); list-style:none; margin:0; padding:0 }
.ag-grade-3{ grid-template-columns:repeat(3, minmax(0,1fr)) }
.ag-grade-2{ grid-template-columns:repeat(2, minmax(0,1fr)) }
@media (max-width:900px){ .ag-grade-3{ grid-template-columns:repeat(2, minmax(0,1fr)) } }
@media (max-width:620px){ .ag-grade-3, .ag-grade-2{ grid-template-columns:minmax(0,1fr) } }
ul.ag-grade > li{ margin:0 }
.ag-card, .ag-destaque, .ag-linha{ display:flex; flex-direction:column; text-decoration:none; color:inherit }
.ag-card-foto{ position:relative; display:block; aspect-ratio:16/10; border-radius:10px; overflow:hidden; background:var(--ag-bg-soft) }
.ag-card-foto img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.22,1,.36,1) }
.ag-card:hover .ag-card-foto img{ transform:scale(1.03) }
.etiqueta{ position:absolute; top:12px; left:12px; background:var(--ag-navy-deep); color:#fff; font-family:var(--ag-display); font-weight:600;
  font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; padding:.35rem .55rem; border-radius:3px }
.ag-meta{ display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; font-size:.76rem; color:var(--ag-ink-soft); margin-top:16px }
.ag-meta .cat{ font-family:var(--ag-display); font-weight:600; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ag-navy) }
.ponto::before{ content:"·" }
.ag-card-titulo{ display:block; font-family:var(--ag-display); font-weight:700; font-size:1.06rem; line-height:1.32; color:var(--ag-ink); margin-top:.45rem; text-wrap:balance }
.ag-card:hover .ag-card-titulo, .ag-linha:hover .ag-card-titulo{ color:var(--ag-navy) }
.ag-card-resumo{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; color:var(--ag-ink-muted); font-weight:300; font-size:.92rem; margin-top:.5rem }
.sem-foto{ display:flex; width:100%; height:100%; align-items:center; justify-content:center; font-family:var(--ag-display); font-weight:600; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ag-ink-soft) }

/* destaque */
.ag-destaque{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:center }
.ag-destaque-titulo{ display:block; font-family:var(--ag-display); font-weight:700; font-size:clamp(1.5rem, 2.8vw, 2.1rem); line-height:1.2; margin-top:.7rem; color:var(--ag-ink); text-wrap:balance }
.ag-destaque:hover .ag-destaque-titulo{ color:var(--ag-navy) }
.ag-destaque-resumo{ display:block; color:var(--ag-ink-muted); font-weight:300; font-size:1.02rem; margin:1rem 0 1.6rem }
.ag-destaque .ag-meta{ margin-top:0 }
@media (max-width:820px){ .ag-destaque{ grid-template-columns:minmax(0,1fr); gap:24px } }

/* categorias */
.ag-cats{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--ag-calha) }
@media (max-width:900px){ .ag-cats{ grid-template-columns:repeat(2, minmax(0,1fr)) } }
.ag-cat-card{ display:flex; flex-direction:column; justify-content:space-between; gap:24px; min-height:150px; padding:22px; border-radius:12px;
  background:var(--ag-bg); border:1px solid var(--ag-linha); text-decoration:none; color:inherit; transition:border-color .2s }
.ag-cat-card:hover{ border-color:var(--ag-navy) }
.ag-cat-card .num{ font-family:var(--ag-display); font-weight:800; font-size:2rem; color:var(--ag-navy); line-height:1 }
.ag-cat-card .nome{ display:block; font-family:var(--ag-display); font-weight:700; font-size:.98rem; line-height:1.25; color:var(--ag-ink) }
.ag-cat-card .legenda{ display:block; font-size:.76rem; color:var(--ag-ink-soft) }
@media (max-width:480px){ .ag-cats{ gap:12px } .ag-cat-card{ min-height:0; padding:16px; gap:14px } .ag-cat-card .num{ font-size:1.6rem } .ag-cat-card .nome{ font-size:.86rem } }

/* início: últimos + lateral */
.ag-com-lateral{ display:grid !important; grid-template-columns:minmax(0,1fr) 300px; gap:56px !important; align-items:start }
.ag-com-lateral > *{ margin:0 !important }
@media (max-width:980px){ .ag-com-lateral{ grid-template-columns:minmax(0,1fr) } }
.ag-lateral{ position:sticky; top:96px; display:flex; flex-direction:column; gap:28px }
@media (max-width:980px){ .ag-lateral{ position:static } }
.ag-lista-num{ list-style:none; margin:16px 0 0; padding:0; border-top:1px solid var(--ag-linha) }
.ag-lista-num li{ border-bottom:1px solid var(--ag-linha); margin:0 }
.ag-lista-num a{ display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; padding:14px 0; text-decoration:none; color:var(--ag-ink) }
.ag-lista-num .n{ font-family:var(--ag-display); font-weight:800; color:var(--ag-navy); font-size:.95rem }
.ag-lista-num .t{ font-family:var(--ag-display); font-weight:600; font-size:.88rem; line-height:1.35 }
.ag-lista-num a:hover .t{ color:var(--ag-navy); text-decoration:underline; text-underline-offset:3px }
.caixa-escura{ border-radius:12px; padding:24px !important }
.caixa-escura h3{ font-family:var(--ag-display); font-weight:800; text-transform:uppercase; font-size:1rem; margin:.6rem 0 0; color:#fff }
.caixa-escura p:not(.rotulo){ font-size:.86rem; color:var(--ag-dk-text); font-weight:300 }
.caixa-escura .wp-block-button, .caixa-escura .wp-element-button{ width:100%; justify-content:center }

/* autor e redes */
.ag-autor-faixa{ display:grid !important; grid-template-columns:150px minmax(0,1fr) auto; gap:32px !important; align-items:center }
.ag-autor-faixa > *{ margin:0 !important }
@media (max-width:820px){ .ag-autor-faixa{ grid-template-columns:110px minmax(0,1fr) } .ag-autor-faixa > .wp-block-buttons{ grid-column:1 / -1 } }
.retrato{ aspect-ratio:4/5; border-radius:10px; overflow:hidden; background:repeating-linear-gradient(135deg, rgba(26,47,74,.08) 0 10px, rgba(26,47,74,.03) 10px 20px);
  display:flex; align-items:center; justify-content:center; text-align:center; font-family:var(--ag-display); font-weight:600; font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ag-ink-soft); padding:8px }
.retrato img{ width:100%; height:100%; object-fit:cover }
.autor-nome{ font-family:var(--ag-display); font-weight:800; font-size:1.3rem; color:var(--ag-ink); margin:.35rem 0 0 !important }
.autor-cargo{ font-size:.86rem; color:var(--ag-ink-muted); margin:.1rem 0 0 !important }
.autor-bio{ font-size:.92rem; color:var(--ag-ink-muted); font-weight:300; margin:.8rem 0 0 !important; max-width:64ch }
.ag-redes{ display:grid !important; grid-template-columns:minmax(0,1fr) auto; gap:32px !important; align-items:center }
.ag-redes > *{ margin:0 !important }
@media (max-width:820px){ .ag-redes{ grid-template-columns:minmax(0,1fr) } }

/* ---------- rodapé ---------- */
.ag-rodape{ background:var(--ag-bg-soft); border-top:1px solid var(--ag-linha); padding-top:64px !important; padding-bottom:28px !important; font-size:.86rem; margin-top:0 !important }
.ag-rodape-grade{ display:grid !important; grid-template-columns:minmax(0,1.6fr) repeat(3, minmax(0,1fr)); gap:32px !important }
.ag-rodape-grade > *{ margin:0 !important }
@media (max-width:820px){ .ag-rodape-grade{ grid-template-columns:repeat(2, minmax(0,1fr)) } }
@media (max-width:480px){ .ag-rodape-grade{ grid-template-columns:minmax(0,1fr) } }
.ag-rodape h4, .ag-rodape .ag-rodape-titulo{ font-family:var(--ag-display); font-weight:700; font-size:.68rem !important; letter-spacing:.1em; text-transform:uppercase; color:var(--ag-ink); margin:0 0 14px }
.ag-rodape ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px }
.ag-rodape a{ color:var(--ag-ink-muted); text-decoration:none }
.ag-rodape a:hover{ color:var(--ag-navy); text-decoration:underline }
.ag-rodape .sobre-txt{ color:var(--ag-ink-muted); font-weight:300; max-width:36ch }
.ag-rodape-base{ margin-top:48px !important; padding-top:20px; border-top:1px solid var(--ag-linha); color:var(--ag-ink-soft); font-size:.78rem }

/* ---------- lista e categoria ---------- */
.ag-pilulas{ display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 32px }
.pilula{ font-family:var(--ag-display); font-weight:600; font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; text-decoration:none;
  border:1px solid var(--ag-linha-forte); border-radius:999px; padding:.45rem .9rem; background:var(--ag-bg); color:var(--ag-navy); white-space:nowrap }
.pilula:hover{ border-color:var(--ag-navy) }
.pilula[aria-current="page"]{ background:var(--ag-navy); border-color:var(--ag-navy); color:#fff }
.pilula .n{ opacity:.65; margin-left:.3rem }
.ag-contagem{ font-size:.82rem; color:var(--ag-ink-soft); margin:0 0 24px }
.ag-busca .wp-block-search__input{ border:1px solid var(--ag-linha-forte); border-radius:4px; padding:.75rem .9rem }
.ag-busca .wp-block-search__button{ margin-left:8px }
.ag-com-filtros{ display:grid !important; grid-template-columns:220px minmax(0,1fr); gap:48px !important; align-items:start }
.ag-com-filtros > *{ margin:0 !important }
@media (max-width:900px){ .ag-com-filtros{ grid-template-columns:minmax(0,1fr); gap:24px !important } }
.ag-filtros{ position:sticky; top:96px }
@media (max-width:900px){ .ag-filtros{ position:static } }
.ag-filtros-titulo{ font-family:var(--ag-display); font-weight:700; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ag-ink); margin:0 0 12px }
.ag-filtros ul{ list-style:none; margin:0 0 20px; padding:0 }
.ag-filtros a{ display:flex; gap:.6rem; justify-content:space-between; font-size:.86rem; color:var(--ag-ink-muted); text-decoration:none; padding:.4rem .6rem; border-radius:4px }
.ag-filtros a:hover{ background:var(--ag-bg-soft); color:var(--ag-navy) }
.ag-filtros a[aria-current="page"]{ background:var(--ag-navy); color:#fff }
.ag-filtros .n{ font-size:.74rem; opacity:.7 }
.ag-limpar{ font-family:var(--ag-display); font-weight:600; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ag-navy) }
.wp-block-query-pagination{ margin-top:56px !important; gap:6px; justify-content:center; flex-wrap:wrap }
/* 12 páginas não cabem numa linha em celular de 320 px (medido no site real em 06/10/2026). */
.wp-block-query-pagination-numbers{ display:flex; gap:6px; flex-wrap:wrap; justify-content:center }

/* Formulário de contato (Contact Form 7): o atributo size dos campos passava da tela em 320 px. */
.wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]), .wpcf7 textarea, .wpcf7 select{
  width:100%; max-width:100%; box-sizing:border-box; border:1px solid var(--ag-linha-forte); border-radius:4px; padding:.7rem .9rem; font:inherit; background:var(--ag-bg) }
.wpcf7 input:focus, .wpcf7 textarea:focus{ outline:2px solid var(--ag-navy); outline-offset:0 }
.wpcf7 input[type=submit]{ background:var(--ag-navy); color:#fff; border:1px solid var(--ag-navy); border-radius:4px; padding:.85rem 1.3rem;
  font-family:var(--ag-display); font-weight:600; font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; cursor:pointer }
.wpcf7 input[type=submit]:hover{ background:var(--ag-navy-hover) }
.wp-block-query-pagination .page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next{
  min-width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; padding:0 .8rem; border:1px solid var(--ag-linha-forte); border-radius:4px;
  font-family:var(--ag-display); font-weight:600; font-size:.8rem; color:var(--ag-navy); text-decoration:none; background:var(--ag-bg) }
.wp-block-query-pagination .page-numbers.current{ background:var(--ag-navy); color:#fff; border-color:var(--ag-navy) }
.wp-block-query-pagination .page-numbers.dots{ border:0 }
.ag-vazio{ text-align:center; padding:48px 16px !important; border:1px dashed var(--ag-linha-forte); border-radius:12px }

/* ---------- artigo ---------- */
.titulo-artigo{ font-family:var(--ag-display); font-weight:700 !important; color:var(--ag-ink); font-size:clamp(1.8rem, 4vw, 2.8rem) !important; line-height:1.15 !important;
  letter-spacing:-.005em; max-width:24ch; text-wrap:balance; margin-top:.7rem !important }
.ag-artigo-meta{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:24px !important; padding:16px 0; border-top:1px solid var(--ag-linha); border-bottom:1px solid var(--ag-linha) }
.ag-artigo-meta > *{ margin:0 !important }
.ag-quem{ display:flex; align-items:center; gap:12px; font-size:.84rem; color:var(--ag-ink-muted) }
.ag-quem b{ font-family:var(--ag-display); font-weight:700; color:var(--ag-ink) }
.ag-avatar{ width:40px; height:40px; border-radius:50%; background:var(--ag-navy); color:#fff; display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--ag-display); font-weight:800; font-size:.8rem; flex:none; overflow:hidden }
.ag-avatar img{ width:100%; height:100%; object-fit:cover; object-position:50% 28%; display:block }
.ag-compartilhar{ display:flex; gap:8px; align-items:center }
.ag-compartilhar .rotulo{ margin-right:4px }
.ag-compartilhar a, .ag-compartilhar button{ width:36px; height:36px; border-radius:50%; border:1px solid var(--ag-linha-forte); background:var(--ag-bg);
  display:inline-flex; align-items:center; justify-content:center; color:var(--ag-navy); cursor:pointer; text-decoration:none; padding:0 }
.ag-compartilhar a:hover, .ag-compartilhar button:hover, .ag-compartilhar .copiado{ border-color:var(--ag-navy); background:var(--ag-bg-soft) }
.capa{ margin-top:32px !important; border-radius:10px; overflow:hidden }
.capa img{ border-radius:10px }
.ag-artigo-corpo{ display:grid !important; grid-template-columns:220px minmax(0, 720px); gap:64px !important; justify-content:center; padding-top:48px; padding-bottom:72px }
.ag-artigo-corpo > *{ margin:0 !important; max-width:none !important }
@media (max-width:980px){ .ag-artigo-corpo{ grid-template-columns:minmax(0,1fr); gap:24px !important } }
.sumario{ position:sticky; top:96px; align-self:start }
.sumario[hidden]{ display:none }
@media (max-width:980px){ .sumario{ position:static; border:1px solid var(--ag-linha); border-radius:12px; padding:16px 18px } }
.sumario ol{ list-style:none; margin:12px 0 0; padding:0; border-left:2px solid var(--ag-linha) }
.sumario a{ display:block; padding:.42rem 0 .42rem 14px; margin-left:-2px; border-left:2px solid transparent; font-size:.84rem; line-height:1.4; color:var(--ag-ink-muted); text-decoration:none }
.sumario a:hover{ color:var(--ag-navy) }
.sumario a.ativo{ color:var(--ag-navy); border-left-color:var(--ag-navy); font-weight:500 }
.progresso{ height:3px; background:var(--ag-linha); border-radius:999px; margin-top:18px; overflow:hidden }
.progresso i{ display:block; height:100%; width:0; background:var(--ag-navy) }
.resumo{ background:var(--ag-bg-soft); border-radius:12px; padding:22px 24px !important; margin:0 0 32px !important }
.resumo .wp-block-post-excerpt{ margin:.5rem 0 0 }
.resumo .wp-block-post-excerpt__excerpt{ font-size:1rem; line-height:1.65; color:var(--ag-ink); margin:0 }
.conteudo{ overflow-wrap:break-word; font-size:1.12rem; line-height:1.75; color:#22262b }
.conteudo > p:first-of-type{ font-size:1.2rem; color:var(--ag-ink) }
.conteudo h2{ font-family:var(--ag-display); font-weight:700; font-size:clamp(1.3rem, 2.4vw, 1.6rem); line-height:1.25; color:var(--ag-ink); margin:2.6rem 0 .8rem; scroll-margin-top:96px }
.conteudo h2::before{ content:""; display:block; width:52px; height:3px; background:var(--ag-navy); margin-bottom:1rem }
.conteudo a{ color:var(--ag-navy); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px }
.conteudo li::marker{ color:var(--ag-navy) }
.conteudo blockquote{ margin:2rem 0; padding:.2rem 0 .2rem 1.4rem; border-left:3px solid var(--ag-navy); font-family:var(--ag-display); font-weight:600; font-size:1.2rem; line-height:1.45; color:var(--ag-navy) }
.conteudo img{ border-radius:10px }
.conteudo figcaption{ font-size:.82rem; color:var(--ag-ink-soft) }
.conteudo .ag-fontes{ border-top:1px solid var(--ag-linha); margin-top:2.4rem; padding-top:1.2rem; font-size:.86rem; color:var(--ag-ink-muted) }
.caixa-autor{ display:grid !important; grid-template-columns:72px minmax(0,1fr); gap:20px !important; margin-top:40px !important; padding:24px !important; border:1px solid var(--ag-linha); border-radius:12px }
.caixa-autor > *{ margin:0 !important }
.caixa-autor .ag-avatar{ width:72px; height:72px; font-size:1.2rem }
.caixa-autor h3{ font-family:var(--ag-display); font-weight:800; font-size:1.05rem; margin:.3rem 0 0 }
.caixa-autor p:not(.rotulo){ font-size:.9rem; color:var(--ag-ink-muted); font-weight:300 }
/* Celular estreito: a caixa somava foto + margens + link sem quebra e passava da tela (medido no site real a 300 px). */
@media (max-width:480px){
  .caixa-autor{ grid-template-columns:48px minmax(0,1fr); gap:14px !important; padding:18px !important }
  .caixa-autor .ag-avatar{ width:48px; height:48px; font-size:.9rem }
  .caixa-autor .link-seta a{ white-space:normal }
}

/* ---------- sobre ---------- */
.ag-sobre-topo{ display:grid !important; grid-template-columns:320px minmax(0,1fr); gap:64px !important; align-items:center }
.ag-sobre-topo > *{ margin:0 !important }
@media (max-width:820px){ .ag-sobre-topo{ grid-template-columns:minmax(0,1fr); gap:32px !important } .ag-sobre-topo .retrato{ max-width:240px } }
.numeros{ display:flex !important; gap:24px 48px !important; flex-wrap:wrap; margin-top:32px !important; padding-top:24px; border-top:1px solid var(--ag-linha) }
.numeros > *{ margin:0 !important }
.numeros .n{ font-family:var(--ag-display); font-weight:800; font-size:2.6rem; line-height:1; color:var(--ag-navy); display:block }
.numeros .l{ font-size:.78rem; color:var(--ag-ink-soft); margin-top:.4rem; display:block; max-width:18ch }
.ag-linha{ display:grid; grid-template-columns:200px minmax(0,1fr); gap:24px; padding:24px 0; border-bottom:1px solid var(--ag-linha) }
.ag-linha:first-child{ border-top:1px solid var(--ag-linha) }
.ag-linha .ag-meta{ margin-top:0 }
@media (max-width:620px){ .ag-linha{ grid-template-columns:110px minmax(0,1fr); gap:14px } .ag-linha .ag-card-resumo{ display:none } }

@media (prefers-reduced-motion: reduce){ .ag-card-foto img{ transition:none } }
