/* Sistema de leitura e componentes públicos. Cabeçalho e menus preservados. */
.public-site main{--portal-deep:#183f35;--portal-leaf:#38634f;--portal-ink:#293b33;--portal-muted:#54645a;--portal-sage:#e9eee5;--portal-paper:#fbfcf9;--portal-line:#d8e1d4}
.public-site main :is(.section-content,.page-heading,.wrap.prose,.listing,.detail,.community-page,.content-intro,.contact-layout,.search-page,.photo-content,.admin-secretariat){--green:var(--portal-leaf);--green-dark:var(--portal-deep);--rust:var(--portal-leaf);--rust-dark:var(--portal-deep);--ink:var(--portal-ink);--muted:var(--portal-muted);--line:var(--portal-line);--action-ink:var(--portal-deep);--action-surface:var(--portal-sage);--action-border:#d2ddcc;color:var(--portal-ink)}
.public-site main :is(.page-heading h1,.page-heading h2,.community-section>h2,.search-page>h2,.contact-layout h2){color:var(--portal-deep);font-weight:500;letter-spacing:-.045em;line-height:1.12}
.public-site main>.page-heading{padding-block:64px 38px;border:0}
.public-site main>.page-heading h1{font-size:clamp(38px,4.8vw,64px);max-width:1080px}
.public-site main .section-content .page-heading{padding-block:42px 28px;border:0}
.public-site main .section-content .page-heading h2{font-size:clamp(32px,3.6vw,48px);max-width:970px}
.public-site main .page-heading .lead{color:var(--portal-muted);font-size:clamp(17px,1.5vw,20px);line-height:1.8;max-width:850px}
.public-site main .breadcrumbs{padding-block:22px 14px;font-size:12px;line-height:1.6;color:#54645a}
.public-site main .breadcrumbs ol{gap:8px 14px}
.public-site main .breadcrumbs a{text-underline-offset:4px}
.public-site main :is(.listing,.detail,.community-page,.content-intro,.wrap.prose,.contact-layout,.search-page,.admin-secretariat) .eyebrow{font-size:12px;font-weight:500;line-height:1.65;letter-spacing:.015em;text-transform:none}
.public-site main :is(.listing,.detail,.community-page,.content-intro) .section-heading{border:0;padding-top:0;gap:24px;margin-bottom:32px}
.public-site main :is(.listing,.community-page) .grid{gap:24px}
.public-site main :is(.listing,.detail,.community-page,.content-intro) .card{background:#fafbf8;border:1px solid var(--portal-line);border-radius:16px;box-shadow:none;padding:28px;min-width:0}
.public-site main :is(.listing,.detail,.community-page,.content-intro) .card h2{font-size:27px;line-height:1.24;color:var(--portal-deep)}
.public-site main :is(.listing,.detail,.community-page,.content-intro) .card :is(h2,h3) a{text-decoration:none}
.public-site main :is(.listing,.detail,.community-page,.content-intro) .card :is(h2,h3) a:hover{text-decoration:underline;text-underline-offset:5px}
.public-site main :is(.listing,.detail,.community-page,.content-intro) .card p:not(.eyebrow){color:var(--portal-muted);font-size:15px;line-height:1.8}
.public-site main :is(.listing,.community-page) .card .eyebrow{color:var(--portal-leaf)}
.public-site main :is(.listing,.community-page) .card .news-card-image{border-radius:5px;background:var(--portal-sage);object-fit:contain}
.public-site main .listing .message-card{padding:24px;gap:26px}
.public-site main .listing .message-card h2{font-size:24px;line-height:1.25}
.public-site main .listing .message-card img{border-radius:5px 24px 5px 5px;background:var(--portal-sage)}
.public-site main .listing .message-card .outline-card-actions a{border-color:#d2ddcc;background:#fff}
.public-site main :is(.filters,.service-search,.site-search,.admin-archive-search){gap:16px;align-items:end}
.public-site main .filters{padding:24px;background:#f0f4ed;border:1px solid #d9e3d3;border-radius:16px;box-shadow:none}
.public-site main :is(.filters,.service-search,.site-search,.admin-archive-search) label{font-size:13px;font-weight:500;color:var(--portal-muted);line-height:1.6;min-width:0}
.public-site main :is(.filters,.service-search,.site-search,.admin-archive-search) :is(input,select){background:#fff;border:1px solid #a5b79d;border-radius:8px;min-height:50px;color:var(--portal-ink)}
.public-site main :is(.filters,.service-search,.site-search,.admin-archive-search) .button{min-height:50px;background:var(--portal-deep);border-color:var(--portal-deep);color:#fff}
.public-site main :is(.filters,.service-search,.site-search,.admin-archive-search) .button:hover{background:#38634f;border-color:#38634f}
.public-site main :is(.filters,.service-search,.site-search,.admin-archive-search) :is(input,select,button):focus-visible{outline:3px solid #38634f;outline-offset:4px}
.public-site main .results{font-size:13px;color:var(--portal-muted);margin-block:22px 28px}
.public-site main .rows{border-top:1px solid var(--portal-line)}
.public-site main :is(.church-row,.document-row){gap:24px;padding:28px 8px;border-color:var(--portal-line)}
.public-site main :is(.church-row,.document-row) h2{font-size:27px;line-height:1.25;color:var(--portal-deep);margin-bottom:12px}
.public-site main :is(.church-row,.document-row) h2 a{text-decoration:none}
.public-site main :is(.church-row,.document-row) h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.public-site main :is(.church-row,.document-row) p{color:var(--portal-muted);font-size:14px;line-height:1.75}
.public-site main .pagination{gap:16px;padding-block:30px}
.public-site main .detail{padding-block:18px 72px}
.public-site main .wrap.prose{padding-block:26px 72px}
.public-site main .prose{max-width:790px;font-size:18px;line-height:1.85}
.public-site main .prose p:not(.caption,.eyebrow,.hash){line-height:1.85;margin-bottom:1.45em;text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.public-site main :is(.detail,.wrap.prose) .prose h2,.public-site main .wrap.prose>h2{font-size:32px;line-height:1.25;letter-spacing:-.035em;color:var(--portal-deep);margin-block:44px 20px}
.public-site main :is(.detail,.wrap.prose) :is(.source,.related-content){border-color:var(--portal-line);background:#f0f4ed;border-radius:12px;padding:26px 28px}
.public-site main :is(.detail,.wrap.prose) .source{border-left:3px solid var(--portal-leaf)}
.public-site main .related-content h2{margin-top:0;font-size:26px;line-height:1.25;color:var(--portal-deep)}
.public-site main .reading-tools{padding:16px 0;gap:18px;border-color:var(--portal-line);font-size:13px}
.public-site main .reading-tools a{color:var(--portal-leaf)}
.public-site main .content-index{border-color:var(--portal-line);background:#f0f4ed;border-radius:12px}
.public-site main :is(.detail,.wrap.prose,.community-page) details:not(.photo-viewer){border-color:var(--portal-line)}
.public-site main :is(.detail,.wrap.prose,.community-page) summary{min-height:48px;line-height:1.6}
.public-site main .content-intro{padding-block:32px 40px;border:0}
.public-site main .listing-help{margin-block:4px 22px;border:0;border-radius:0;background:none}
.public-site main .listing-help>summary{padding:14px 0;min-height:52px;color:var(--portal-leaf);font-size:15px;font-weight:500;line-height:1.6;cursor:pointer;list-style-position:inside;border-block:1px solid var(--portal-line)}
.public-site main .listing-help>summary:focus-visible{outline:3px solid var(--portal-leaf);outline-offset:4px}
.public-site main .listing-help>.content-intro{padding-inline:0;padding-block:26px 16px;margin:0}
.public-site main .content-intro>p{color:var(--portal-muted);max-width:850px;line-height:1.8}
.public-site main .content-intro .related-content{background:none;border:0;border-top:1px solid var(--portal-line);padding:24px 0 0}
.public-site main .community-section{margin-block:48px}
.public-site main .community-section>h2{font-size:clamp(30px,3.2vw,42px);line-height:1.18;margin-bottom:26px}
.public-site main .community-section>p{color:var(--portal-muted);line-height:1.85}
.public-site main :is(.service-preparation,.community-callout){background:#edf2e8;border:1px solid #d8e2d1;border-radius:18px;padding:34px}
.public-site main .service-preparation h2{font-size:34px;line-height:1.2;color:var(--portal-deep)}
.public-site main .service-preparation p{line-height:1.85;color:var(--portal-muted)}
.public-site main .service-preparation :is(input,select,textarea){background:#fff;border-color:#a5b79d;border-radius:8px}
.public-site main .person-card .person-role{line-height:1.7}
.public-site main .person-card :is(.person-initials,.person-identity img){border-radius:5px 26px 5px 5px}
.public-site main .person-card h3{font-size:23px;line-height:1.3;color:var(--portal-deep)}
.public-site main .person-initials{background:var(--portal-sage);color:var(--portal-deep)}
.public-site main .leader-detail-head{gap:24px;padding-block:12px 28px}
.public-site main .brand-downloads>article{border-color:var(--portal-line);background:#fafbf8;border-radius:16px}
.public-site main .brand-preview{background:#f0f4ed}
.public-site main .search-page{padding-block:24px 72px}
.public-site main .search-results{border-top:1px solid var(--portal-line);margin-top:28px}
.public-site main .search-result{padding:28px 4px;border-color:var(--portal-line)}
.public-site main .search-result h2{font-size:28px;line-height:1.25;color:var(--portal-deep)}
.public-site main .search-result p{font-size:16px;line-height:1.85;color:var(--portal-muted);max-width:850px}
.public-site main .empty{background:#f0f4ed;border:1px solid #d9e3d3;border-radius:16px;padding:30px;line-height:1.8}
.public-site main .contact-layout{gap:10%;padding-block:30px 64px}
.public-site main .contact-aside{border-radius:5px 36px 5px 5px;background:#e9eee5;border:1px solid #d5dfce;padding:40px;color:var(--portal-deep)}
.public-site main .contact-aside p{color:var(--portal-muted);line-height:1.8}
.public-site main .big-phone{font-size:clamp(28px,3vw,42px);letter-spacing:-.035em;line-height:1.3;color:var(--portal-deep)}
.public-site main .contact-layout address{font-style:normal;line-height:1.85;color:var(--portal-muted)}
.public-site main .photo-content{padding-block:36px 64px}
.public-site main .photo-content .photo-album{border-color:var(--portal-line);background:#fafbf8;border-radius:14px;box-shadow:none}
.public-site main .photo-content .photo-album img{border-radius:6px}
.public-site main .photo-content .photo-album h3{color:var(--portal-deep);line-height:1.25}
.public-site main .photo-content .photo-album p{color:var(--portal-muted);line-height:1.8}
.public-site main .photo-content .photo-tile{background:#fafbf8;border-color:var(--portal-line);border-radius:12px}
.public-site main .photo-content .photo-tile img{border-radius:5px}
.public-site main .admin-section{padding-block:64px}
.public-site main .admin-section .section-heading{padding-top:0;border:0}
.public-site main .admin-section h2{font-size:clamp(32px,3.4vw,46px);line-height:1.15;color:var(--portal-deep)}
.public-site main :is(.admin-start,.admin-finance-card,.admin-logo-set,.admin-contact){background:#f0f4ed;border-color:var(--portal-line);border-radius:16px}
.public-site main .admin-service{background:#fafbf8;border-color:var(--portal-line);border-radius:16px;box-shadow:none}
.public-site main .admin-service-icon{background:#e7eee1;color:var(--portal-deep);border-radius:10px}
.public-site main :is(.admin-service,.admin-finance-card) h3{color:var(--portal-deep);line-height:1.25}
.public-site main :is(.admin-service,.admin-finance-card) p:not(.eyebrow){color:var(--portal-muted);line-height:1.8}
.public-site main .admin-file-row{padding-block:26px;border-color:var(--portal-line)}
.public-site main .admin-file-row h3{font-size:23px;line-height:1.35;color:var(--portal-deep)}
.public-site main .admin-team h3{line-height:1.3;color:var(--portal-deep)}
.public-site main .admin-team p{line-height:1.75;color:var(--portal-muted)}
.public-site main .admin-team img{border-radius:5px 24px 5px 5px}
.public-site main .admin-contact address{font-style:normal;line-height:1.85}
.public-site main .admin-jump{gap:10px;border-color:var(--portal-line)}
.public-site main .admin-jump a{background:#f0f4ed;border-color:#d2ddcc;color:var(--portal-deep);border-radius:999px;min-height:44px;line-height:1.6}
.public-site main .admin-categories a{border-color:#cbd8c4;color:var(--portal-deep)}
.public-site main .admin-categories a[aria-current]{background:var(--portal-deep);border-color:var(--portal-deep);color:#fff}
.public-site main :is(.admin-file-download,.admin-count){color:var(--portal-deep);background:#e9eee5;border-color:#d2ddcc}
@media(max-width:1000px){
 .public-site main :is(.listing,.community-page) .grid{gap:20px}
 .public-site main .admin-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-site main .contact-aside{padding:30px}
}
@media(max-width:650px){
 .public-site main>.page-heading{padding-block:38px 24px}
 .public-site main .section-content .page-heading{padding-block:30px 20px}
 .public-site main .breadcrumbs{padding-block:18px 10px;font-size:11px}
 .public-site main :is(.listing,.detail,.community-page,.content-intro) .card{padding:22px}
 .public-site main :is(.listing,.detail,.community-page,.content-intro) .card h2{font-size:25px}
 .public-site main .listing .message-card{padding:22px;gap:20px}
 .public-site main .listing .message-card h2{font-size:24px}
 .public-site main .filters{padding:20px;gap:14px}
 .public-site main .filters :is(label,.grow){min-width:0}
 .public-site main :is(.church-row,.document-row){padding:24px 0;gap:14px}
 .public-site main :is(.church-row,.document-row) h2{font-size:24px}
 .public-site main .detail,.public-site main .wrap.prose{padding-block:14px 48px}
 .public-site main .prose{font-size:17px;line-height:1.85}
 .public-site main :is(.detail,.wrap.prose) .prose h2,.public-site main .wrap.prose>h2{font-size:28px;margin-block:34px 18px}
 .public-site main :is(.detail,.wrap.prose) :is(.source,.related-content){padding:22px}
 .public-site main .community-section{margin-block:36px}
 .public-site main :is(.service-preparation,.community-callout){padding:24px}
 .public-site main .service-preparation h2{font-size:30px}
 .public-site main .content-intro{padding-block:24px 30px}
 .public-site main .search-result h2{font-size:25px}
 .public-site main .contact-layout{padding-block:20px 44px;gap:32px}
 .public-site main .contact-aside{padding:28px}
 .public-site main .admin-section{padding-block:44px}
 .public-site main .admin-service-grid{grid-template-columns:1fr}
 .public-site main .admin-service{padding:24px}
 .public-site main .admin-file-row h3{font-size:21px}
 .public-site main .admin-team h3{font-size:21px}
}
@media print{
 .public-site main :is(.filters,.site-search,.reading-tools){display:none}
 .public-site main :is(.detail,.wrap.prose){padding-block:12px}
 .public-site main .prose{font-size:12pt;max-width:none}
 .public-site main :is(.card,.source,.related-content){break-inside:avoid;box-shadow:none}
}
/* Auditoria 30/10/2026: menu recolhido desde o primeiro desenho no celular,
   rótulos legíveis e destaque horizontal do bispo. Sem JS, sem-js.css reabre o menu. */
@media(max-width:1360px){
 .public-site .header:not(.nav-ready) nav:not(.open){display:none}
 .public-site .header:not(.nav-ready) .menu-toggle{display:flex}
}
.public-site .eyebrow{font-size:13px!important}
.public-site :is(.home-cover,.xxiii-banner,.xxiii-feature,.council-hero,.next-hero) .eyebrow{font-size:12px!important}
.public-site main .breadcrumbs,.public-site main .breadcrumbs :is(a,li){font-size:13px!important}
.public-site .footer-link-number{font-size:12px}
.public-site .footer h2{font-size:13px}
.public-site .home-cover-credit{font-size:12px!important}
.public-site .home-cover-territories{font-size:13px!important}
.public-site .home-cover-scroll span{font-size:13px}
@media(min-width:760px){
 .public-site .leadership-feature:has(>.person-card){max-width:760px}
 .public-site .leadership-feature>.person-card{display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:repeat(5,auto) 1fr;column-gap:32px;align-content:start;align-items:start}
 .public-site .leadership-feature>.person-card>.person-identity{display:contents}
 .public-site .leadership-feature>.person-card>.person-identity>img{grid-column:1;grid-row:1/span 6;margin:0}
 .public-site .leadership-feature>.person-card>.person-identity>.eyebrow,.public-site .leadership-feature>.person-card>:not(.person-identity){grid-column:2;margin-top:0}
 .public-site .leadership-feature>.person-card>.person-identity>.eyebrow{margin-bottom:10px}
 .public-site .leadership-feature>.person-card>.text-link{justify-self:start;width:auto;margin-top:8px}
}
.public-site .xxiii-banner dt,.public-site .next-status{font-size:12px!important}
