/* Ritmo editorial — outubro de 2026. Identidades dos concílios preservadas. */
.public-site{--cream:#fff;--paper:#fff;--line:#e6e7e2;background:#fff;color:#232824}
.public-site :is(.hero h1,.identity h2,.section-heading h2,.formation-home h2,.page-heading h1,.card h2,.prose h2,.church-row h2,.document-row h2,.contact-layout h2,.contact-aside h2,.side-note h2,.fala-feature h2,.event-feature h2){font-family:'IMW Study Sans',Arial,sans-serif;font-weight:500;letter-spacing:-.045em}
.public-site .wrap{max-width:1360px}
.public-site .section{padding-block:88px}
.public-site .header{border-bottom:0}
.public-site .header-inner{min-height:108px}
.public-site .hero{background:none;gap:9%;padding-block:88px 64px}
.public-site .hero h1{font-size:clamp(52px,6vw,84px);line-height:1.06}
.public-site .hero h1 em{font-style:normal;color:var(--green)}
.public-site .hero .lead{font-size:18px;line-height:1.75;max-width:520px}
.public-site .identity{background:#f2f4ee;border:1px solid #e2e7dc;border-radius:24px;box-shadow:none;padding:44px;min-height:390px}
.public-site .identity::before{border-color:#d7dfce;right:-140px;top:-90px;width:340px;height:340px}
.public-site .identity h2{font-size:clamp(34px,3.2vw,46px);line-height:1.12}
.public-site .identity p:not(.eyebrow){color:#52604e;line-height:1.7}
.public-site .button{border-radius:999px;gap:22px}
.public-site .quick{gap:16px}
.public-site .quick a{border-radius:16px;box-shadow:none}
.public-site .section-heading{border-top:1px solid var(--line);padding-top:28px;margin-bottom:36px;gap:32px}
.public-site .section-heading h2,.public-site .formation-home h2{font-size:clamp(32px,3.4vw,48px);line-height:1.13}
.public-site .eyebrow{letter-spacing:.09em}
.public-site .community-access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;counter-reset:community}
.public-site .community-access article{position:relative;border:1px solid #e8e9e5;border-radius:20px;background:#f6f7f4;padding:34px;display:flex;flex-direction:column;align-items:start;counter-increment:community}
.public-site .community-access article::before{content:'0' counter(community);color:var(--green);font-size:14px;font-variant-numeric:tabular-nums;margin-bottom:36px}
.public-site .community-access h3{font-size:30px;max-width:90%;line-height:1.15;margin-bottom:16px}
.public-site .community-access p{font-size:16px;line-height:1.7;max-width:440px;color:var(--muted)}
.public-site .community-access .text-link{margin-top:auto}
.public-site .secretary-band{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border:0;border-radius:0;overflow:visible;background:none}
.public-site .secretary-band a,.public-site .secretary-band a:first-child,.public-site .secretary-band a:last-child{position:relative;border:1px solid #e8e9e5;border-radius:18px;background:#f6f7f4;padding:30px}
.public-site .secretary-band a:hover,.public-site .community-access article:focus-within{background:#edf2e9}
.public-site .secretary-band strong{font-size:21px;line-height:1.3;min-height:0;font-weight:500;letter-spacing:-.025em}
.public-site .secretary-band span{font-size:14px;line-height:1.7;margin-top:20px}
.public-site .event-feature{padding-block:0}
.public-site .event-feature img{border-radius:20px 0 0 20px}
.public-site .event-feature>div{border-radius:0 20px 20px 0}
.public-site .event-feature h2{font-size:40px}
.public-site .fala-feature{border-radius:22px;padding:48px;gap:64px}
.public-site .fala-feature h2{font-size:clamp(36px,4vw,54px)}
.public-site .grid{gap:20px;align-items:stretch}
.public-site .card{background:#f6f7f4;border:1px solid #e8e9e5;border-radius:18px;padding:26px;box-shadow:none;overflow:hidden}
.public-site .card-copy{display:flex;flex:1;flex-direction:column;align-items:start;width:100%;min-width:0}
.public-site .card h2{font-size:27px;line-height:1.2;text-wrap:pretty}
.public-site .card p:not(.eyebrow){font-size:15px;line-height:1.7}
.public-site .card .eyebrow{color:var(--green);font-size:11px;margin-bottom:14px}
.public-site .card .text-link{font-size:14px}
.public-site .card .news-card-image{border-radius:11px;object-fit:contain;background:#eef0e9;width:100%;height:260px;margin-bottom:26px}
.public-site .card>a:has(.news-card-image){width:100%}
.public-site .message-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-site .message-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;padding:24px;align-items:start}
.public-site .message-card .message-cover{width:100%;margin:0}
.public-site .message-card img{border-radius:12px;margin:0;aspect-ratio:16/9;object-fit:contain;background:#e8ebe3}
.public-site .message-card h2{font-size:23px;line-height:1.22;margin-bottom:12px}
.public-site .message-card .card-copy>p:not(.eyebrow){font-size:14px}
.public-site .message-card .outline-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;border:0;padding:0;width:100%}
.public-site .message-card .outline-card-actions a{border-radius:999px;padding:10px 15px;background:white;min-height:44px;gap:8px;font-size:12px;text-decoration:none}
.public-site .formation-home{background:#f2f4ee;border-block:1px solid #e2e7dc}
.public-site .reading-list a{border-color:#d8ded0;padding-block:28px}
.public-site .reading-list span:nth-child(2){font-size:27px;letter-spacing:-.03em}
.public-site .page-heading{background:none;padding-block:60px 46px;border-bottom:1px solid var(--line)}
.public-site .page-heading h1{font-size:clamp(40px,4.8vw,66px);max-width:1050px;line-height:1.08}
.public-site .page-heading .lead{font-size:20px;line-height:1.65;max-width:860px;color:#556052}
.public-site .filters{background:#f4f5f1;border:1px solid #e4e7df;border-radius:18px}
.public-site .filters :is(input,select){border-color:#bac2b4;border-radius:10px;background:white}
.public-site .prose{font-size:18px;max-width:780px}
.public-site .wrap.prose{max-width:940px;padding-block:52px 80px}
.public-site .prose p{text-align:left;hyphens:none;line-height:1.8;margin-bottom:1.5em}
.public-site .prose h2{font-size:32px;line-height:1.25;margin-top:48px;margin-bottom:22px;scroll-margin-top:30px}
.public-site .prose :is(ul,ol){padding-left:1.3em;line-height:1.8}
.public-site .content-intro{padding-block:48px;border-bottom:1px solid var(--line)}
.public-site .content-intro>p{max-width:800px;font-size:17px;line-height:1.8}
.public-site .document-row,.public-site .church-row{padding:30px 8px}
.public-site .document-row h2,.public-site .church-row h2{font-size:28px}
.public-site .footer{border-top:0;margin-top:24px}
.public-site .grid:has(>.person-card){grid-template-columns:repeat(4,minmax(0,1fr))}
.public-site .person-card{padding:22px;align-items:stretch}
.public-site .person-identity{flex-direction:column;align-items:start;gap:20px;margin-bottom:20px}
.public-site .person-identity img,.public-site .person-initials{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center top;border-radius:14px}
.public-site .person-initials{width:72px;height:72px;font-size:26px;background:#e8ede3}
.public-site .person-card h3{font-size:23px;line-height:1.25;letter-spacing:-.03em;margin-bottom:12px}
.public-site .person-card h3>.text-link{font-size:inherit;line-height:inherit;padding:0;text-decoration:none}
.public-site .person-card .person-role{font-size:15px;line-height:1.6}
.public-site .leadership-feature:has(>.person-card){max-width:310px;grid-template-columns:1fr;margin-bottom:48px}
@media(max-width:1100px){
 .public-site .grid:has(>.person-card){grid-template-columns:repeat(3,minmax(0,1fr))}
 .public-site .leadership-feature:has(>.person-card){grid-template-columns:1fr}
 .public-site .message-card{grid-template-columns:1fr;gap:22px}
 .public-site .community-access h3{font-size:27px}
}

/* Álbuns com capas amplas e uma linguagem comum para as ações públicas. */
.public-site{--action-ink:var(--green-dark);--action-surface:#eff2eb;--action-border:#dfe5d9}
.public-site :is(.council-xxi,.council-xxii,.council-xxiii){--action-ink:var(--council-accent,var(--green-dark))}
.public-site :is(.button,.text-link,.photo-back,.photo-filters>a,.photo-page-control,.photo-page-number){display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:11px 20px;border:1px solid var(--action-border);border-radius:999px;font-family:inherit;font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;max-width:100%;transition:background .18s ease,color .18s ease,border-color .18s ease}
.public-site :is(.text-link,.photo-back,.photo-filters>a,.photo-page-control,.photo-page-number){background:var(--action-surface);color:var(--action-ink)}
.public-site .text-link{justify-content:space-between;text-align:left}
.public-site .button{background:var(--action-ink);border-color:var(--action-ink);color:#fff}
.public-site .button.light{background:#fff;color:var(--green-dark);border-color:#fff}
.public-site .header .contact-link,.public-site .menu-toggle{border-radius:999px;min-height:48px;padding:11px 20px;font-weight:500}
.public-site .header nav a{font-weight:500}
.public-site .button.secondary{background:var(--action-surface);color:var(--action-ink);border-color:var(--action-border)}
.public-site :is(.button,.text-link) .link-arrow{box-sizing:content-box;width:15px;height:15px;flex:0 0 15px;padding:7px;border-radius:50%;background:rgb(255 255 255 / 65%);color:var(--action-ink)}
.public-site .button .link-arrow{background:rgb(255 255 255 / 16%);color:inherit}
.public-site :is(.text-link,.photo-back,.photo-filters>a,.photo-page-control,.photo-page-number):hover{background:#e3eadc;border-color:#bfcdb5;color:var(--green-dark)}
.public-site .button:hover{background:#246650;border-color:#246650;color:#fff}
.public-site :is(.text-link,.button,.photo-back,.photo-filters>a,.photo-page-control,.photo-page-number):focus-visible{outline:3px solid var(--action-ink);outline-offset:4px}
.public-site :is(.actions,.document-tools,.outline-card-actions,.topic-links){gap:12px}
.public-site .compact-list{display:grid;gap:10px}
.public-site .compact-list .text-link{margin:0;border:1px solid var(--action-border);padding:12px 20px}
.public-site :is(.card,.community-access article,.secretary-band a)>.text-link,.public-site .card-copy>.text-link{align-self:flex-start;margin-top:auto}
.public-site .card .text-link{padding:10px 18px}
.public-site .message-card .outline-card-actions a{min-height:48px;font-size:13px;font-weight:500;border:1px solid var(--action-border);padding:10px 16px;gap:10px;background:#fff}
.public-site .message-card .outline-card-actions a:hover{background:#e3eadc}
.public-site :is(h2,h3) .text-link{display:inline;min-height:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-decoration:none}
.public-site :is(h2,h3) .text-link:hover{background:none;color:var(--green);text-decoration:underline}
.public-site :is(h2,h3) .text-link .link-arrow{display:none}
.public-site .prose p a:not(.text-link):not(.button){color:var(--action-ink);text-decoration-thickness:1px;text-underline-offset:4px}
.public-site .prose p a:not(.text-link):not(.button):hover{text-decoration-thickness:2px}
.public-site :is(.topic-links,.anchor-nav,.council-nav,.next-nav) a{border:1px solid var(--action-border);border-radius:999px;background:var(--action-surface);color:var(--action-ink);font-size:14px;line-height:1.4;min-height:44px;padding:11px 18px;text-decoration:none}
.public-site :is(.topic-links,.anchor-nav,.council-nav,.next-nav) a:hover{background:#e3eadc;border-color:#bfcdb5}
.public-site :is(.fala-feature,.event-feature) .text-link{background:#fff;color:var(--green-dark);border-color:#fff}
.public-site .photo-heading .photo-back{background:rgb(255 255 255 / 10%);color:#fff;border-color:rgb(255 255 255 / 30%)}
.public-site .photo-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.public-site .photo-album{display:block;border:1px solid #e5e8df;border-radius:20px;background:repeating-linear-gradient(135deg,rgb(35 60 35 / 2%) 0 1px,transparent 1px 4px),#f6f7f4;overflow:hidden;color:var(--ink);box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease}
.public-site .photo-album figure{display:flex;flex-direction:column;gap:0;min-height:0;padding:8px;height:100%}
.public-site .photo-album img{width:100%;aspect-ratio:2/1;height:auto;object-fit:cover;border-radius:13px;background:#e9ede4}
.public-site .photo-album figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;padding:20px 14px 16px;height:auto;width:100%;align-self:stretch;flex:1;align-items:start}
.public-site .photo-album h3{grid-column:1;grid-row:1;font-family:inherit;font-size:25px;font-weight:500;line-height:1.2;letter-spacing:-.035em;margin:0}
.public-site .photo-album .eyebrow{grid-column:2;grid-row:1;white-space:nowrap;font-size:10px;letter-spacing:.05em;padding:7px 12px;border-radius:999px;background:#e9ede4;color:#46563e;align-self:start;justify-self:end}
.public-site .photo-album p{grid-column:1;grid-row:2;font-size:14px;line-height:1.6;margin:0;max-width:400px}
.public-site .photo-album-action{grid-column:2;grid-row:2;display:inline-flex;align-items:center;gap:14px;min-height:44px;margin:0;padding:9px 14px;border:1px solid var(--action-border);border-radius:999px;background:#fff;color:var(--action-ink);font-size:13px;font-weight:500;align-self:end;white-space:nowrap}
.public-site .photo-album-action>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--action-surface)}
.public-site .photo-album:hover{border-color:#b7c5aa;box-shadow:0 8px 28px rgb(28 52 25 / 7%)}
.public-site .photo-album:hover .photo-album-action{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.public-site .photo-album:hover .photo-album-action>span{background:rgb(255 255 255 / 16%)}
.public-site .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.public-site .photo-tile{padding:8px;border:1px solid #e5e8df;border-radius:18px;background:#f6f7f4;color:var(--green-dark)}
.public-site .photo-tile img{border-radius:11px;background:#e9ede4;object-fit:contain}
.public-site .photo-tile>span{align-items:center;padding:12px 8px 4px;font-size:13px}
.public-site .photo-tile>span>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e9ede4}
.public-site .photo-tile:hover{border-color:#b7c5aa}
.public-site .photo-page-number{padding:8px;min-width:44px;min-height:44px;width:44px}
.public-site .photo-page-number[aria-current=page],.public-site .photo-page-number[aria-current=page]:hover{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
.public-site .photo-page-control[aria-disabled=true]{color:#7a8174;background:#f5f6f3;border-color:#e5e8df}
.public-site .photo-viewer{border-radius:20px}
.public-site .photo-viewer button{border-radius:999px;min-height:48px;padding:11px 20px;font-size:14px;font-weight:500}
@media(max-width:900px){.public-site .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-site .photo-album figcaption{grid-template-columns:1fr;gap:12px}.public-site .photo-album .eyebrow{grid-column:1;grid-row:1;justify-self:start}.public-site .photo-album h3{grid-column:1;grid-row:2}.public-site .photo-album p{grid-column:1;grid-row:3}.public-site .photo-album-action{grid-column:1;grid-row:4;justify-self:start}}
@media(max-width:600px){.public-site .photo-albums{grid-template-columns:1fr;gap:20px}.public-site .photo-album img{aspect-ratio:3/2}.public-site .photo-album figcaption{padding:18px 12px}.public-site .photo-album h3{font-size:26px}.public-site .photo-grid{gap:12px}.public-site .photo-tile{padding:6px;border-radius:14px}.public-site .photo-tile img{border-radius:9px}.public-site .photo-page-control{min-height:44px;padding:9px 12px;font-size:12px}.public-site .photo-page-number{min-width:34px;width:34px}.public-site .photo-viewer button{padding:10px 14px}.public-site .photo-album p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.public-site :is(.photo-album,.button,.text-link){transition:none}}

/* Referência: links de texto com troca vertical no hover; só Contato em cápsula. */
.public-site .header nav{gap:20px}
.public-site .header nav a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 0;border:0;border-radius:0;background:transparent;color:#f8faf5;opacity:.72;font-size:14px;font-weight:500;line-height:22px;text-align:center;text-decoration:none;transition:opacity .2s ease}
.public-site .header nav a:hover,.public-site .header nav a:focus-visible,.public-site .header nav a[aria-current=page]{background:transparent;color:#fff;opacity:1}
.public-site .header nav a[aria-current=page]{font-weight:600}
.public-site .header nav a:focus-visible{outline:2px solid #e3eadc;outline-offset:5px}
.public-site .nav-label{display:block;height:22px;overflow:hidden;white-space:nowrap}
.public-site .nav-label-track{display:flex;flex-direction:column;transform:translateY(0);transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.public-site .nav-label-track>span{display:block;height:22px;line-height:22px;flex:0 0 22px}
.public-site .header nav a:is(:hover,:focus-visible) .nav-label-track{transform:translateY(-50%)}
.public-site .header .contact-link{display:inline-flex;gap:12px;min-height:46px;padding:6px 18px 6px 6px;border:1px solid #e3eadc;border-radius:999px;background:#eef2e9;color:#164d40;opacity:1}
.public-site .header .contact-link:is(:hover,:focus-visible),.public-site .header .contact-link[aria-current=page]{background:#e3eadc;color:#164d40;opacity:1}
.public-site .header .contact-link .link-arrow{box-sizing:content-box;width:16px;height:16px;flex:0 0 16px;padding:8px;border-radius:50%;background:var(--rust);color:#fff}
.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}
.social-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}
.social-link svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.social-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.header-actions{display:flex;align-items:center;gap:12px}
.header .social-links--icons{gap:4px;flex-wrap:nowrap}
.public-site .header nav .social-link,.header nav .social-link{box-sizing:border-box;width:36px;height:44px;min-width:36px;min-height:44px;flex:0 0 36px;padding:0;justify-content:center;border:0;border-radius:0;background:transparent;opacity:.85}
.header .social-link svg{width:20px;height:20px;flex-basis:20px}
.public-site .header nav .social-link:hover,.public-site .header nav .social-link:focus-visible{background:transparent;opacity:1}
.footer .social-links{flex-direction:column;align-items:flex-start;gap:0;margin-block:4px}
.public-site .footer .social-link,.footer .social-link{display:inline-flex;margin:0}
.contact-social{margin-block:18px 24px}
.contact-social .social-links{align-items:flex-start;flex-direction:column;gap:4px}
.contact-social .social-link{padding:8px 14px;border:1px solid var(--line);border-radius:10px;color:var(--rust);font-size:14px}
.contact-social .social-link:hover{background:#eef2e9}
@media(max-width:1360px){
 .public-site .header-inner{flex-wrap:wrap}
 .public-site .header .menu-toggle{display:flex}
 .public-site .header nav{display:none;width:100%;flex-wrap:wrap;gap:8px 20px;padding-block:16px 8px;border-top:1px solid #564f43}
 .public-site .header nav.open,.public-site .header:not(.nav-ready) nav{display:flex}
 .public-site .header:not(.nav-ready) .menu-toggle{display:none}
 .public-site .header nav a{flex:0 0 calc(25% - 15px);min-width:0;justify-content:flex-start}
 .public-site .header-actions{flex-basis:100%;padding-top:8px;gap:16px;justify-content:space-between}
}
@media(max-width:600px){.public-site .header nav a{flex-basis:calc(50% - 10px);padding:11px 0;min-height:46px}.public-site .header .contact-link{flex:0 0 auto;padding:6px 18px 6px 6px}}
@media(prefers-reduced-motion:reduce){.public-site .header nav a,.public-site .nav-label-track{transition:none}.public-site .header nav a:is(:hover,:focus-visible) .nav-label-track{transform:none}}
@media(max-width:850px){
 .public-site .grid:has(>.person-card){grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-site .leadership-feature:has(>.person-card){grid-template-columns:1fr}
 .public-site .section{padding-block:60px}
 .public-site .hero{padding-block:52px;gap:32px}
 .public-site .hero h1{font-size:60px}
 .public-site .identity{padding:30px;min-height:340px}
 .public-site .secretary-band{grid-template-columns:repeat(2,minmax(0,1fr))}
 .public-site .event-feature{padding-block:0}
 .public-site .event-feature img{border-radius:20px 20px 0 0}
 .public-site .event-feature>div{border-radius:0 0 20px 20px}
 .public-site .fala-feature{padding:32px;gap:32px}
}
@media(max-width:600px){
 .public-site .grid:has(>.person-card){gap:12px}
 .public-site .person-card{padding:16px}
 .public-site .person-card h3{font-size:20px}
 .public-site .person-card .person-role{font-size:14px}
 .public-site .leadership-feature:has(>.person-card){grid-template-columns:1fr}
 .public-site .wrap{padding-inline:22px}
 .public-site .hero{padding-block:40px;gap:30px}
 .public-site .hero h1{font-size:clamp(46px,11vw,64px)}
 .public-site .hero .lead{font-size:17px}
 .public-site .identity{min-height:0;padding:30px}
 .public-site .identity h2{font-size:38px}
 .public-site .section{padding-block:48px}
 .public-site .section-heading{padding-top:22px;margin-bottom:26px}
 .public-site .community-access,.public-site .secretary-band,.public-site .message-grid{grid-template-columns:1fr}
 .public-site .community-access article{padding:26px}
 .public-site .community-access article::before{margin-bottom:24px}
 .public-site .community-access h3{font-size:28px}
 .public-site .secretary-band a,.public-site .secretary-band a:first-child,.public-site .secretary-band a:last-child{padding:26px!important}
 .public-site .event-feature{padding-block:0}
 .public-site .event-feature h2{font-size:34px}
 .public-site .fala-feature{padding:26px}
 .public-site .fala-feature h2{font-size:40px}
 .public-site .message-card{padding:20px}
 .public-site .message-card h2{font-size:25px}
 .public-site .message-card .outline-card-actions a{font-size:13px}
 .public-site .page-heading{padding-block:36px 30px}
 .public-site .page-heading .lead{font-size:18px}
 .public-site .prose{font-size:17px}
 .public-site .prose h2{font-size:28px;margin-top:36px}
 .public-site .wrap.prose{padding-block:32px 56px}
 .public-site .content-intro{padding-block:32px}
 .public-site .reading-list span:nth-child(2){font-size:23px}
}

/* Superfícies e ações: variação de formas, textura leve e movimento da seta. */
.public-site{--hatch:repeating-linear-gradient(135deg,rgb(49 60 43 / 6%) 0 .6px,transparent .6px 4px)}
.public-site main{background-image:url('/assets/fundo-editorial.svg?v=20261023');background-position:center top;background-size:1920px 2200px;background-repeat:repeat-y}
.public-site :is(.card,.community-access article,.secretary-band a,.photo-album,.photo-tile){background-image:var(--hatch)}
.public-site .formation-home{background-image:var(--hatch)}
.public-site .identity{background-image:linear-gradient(115deg,rgb(255 255 255 / 45%),transparent),var(--hatch)}
.public-site .community-access article::before{content:none}
.public-site .column-marker{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;margin-bottom:44px;color:var(--ink)}
.public-site .column-number{font-size:24px;line-height:1.1;font-weight:600;letter-spacing:-.08em;font-variant-numeric:tabular-nums}
.public-site .column-dots{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:50%}
.public-site .column-dots i{display:block;width:8px;height:8px;border-radius:50%;background:#d8dcd3}
.public-site .column-dots .filled{background:var(--rust)}
.public-site .numbered-card>.column-marker{order:-1;flex-shrink:0}
.public-site .numbered-card .news-card-image{height:240px;margin-bottom:30px}
.public-site .community-access h3{max-width:100%}

/* Controles, filtros e ações de leitura têm cantos suaves; chamadas têm cápsula. */
.public-site :is(.text-link,.button:not(.cta),.photo-back,.photo-filters>a,.photo-page-control,.photo-page-number,.photo-album-action){border-radius:10px}
.public-site :is(.topic-links,.anchor-nav,.council-nav,.next-nav) a,.public-site .message-card .outline-card-actions a{border-radius:10px}
.public-site .menu-toggle,.public-site .photo-viewer button{border-radius:10px}
.public-site .text-link:not(.cta) .link-arrow{padding:0;border-radius:0;background:none;width:17px;height:17px;flex-basis:17px}
.public-site :is(h2,h3) .text-link{border-radius:0}

.public-site a.cta:is(.text-link,.button,.contact-link),.public-site a.cta:is(.text-link,.button,.contact-link).button,.public-site .header .contact-link.cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:flex-start;gap:14px;min-height:54px;max-width:100%;padding:5px 24px 5px 5px;border:1px solid #e0e4da;border-radius:999px;background:#eff2eb;color:var(--green-dark);font-size:14px;font-weight:500;line-height:22px;text-decoration:none;overflow:hidden;opacity:1;transition:border-color .3s ease,color .3s ease}
.public-site a.cta:is(.text-link,.button,.contact-link)::before{content:'';position:absolute;z-index:-1;left:5px;top:5px;bottom:5px;width:42px;border-radius:999px;background:var(--rust);transition:width .45s cubic-bezier(.22,.61,.36,1)}
.public-site a.cta:is(.text-link,.button,.contact-link):is(:hover,:focus-visible)::before{width:calc(100% - 10px)}
.public-site a.cta:is(.text-link,.button,.contact-link):is(:hover,:focus-visible),.public-site a.cta:is(.text-link,.button,.contact-link).button:is(:hover,:focus-visible),.public-site .header .contact-link.cta:is(:hover,:focus-visible){background:#eff2eb;color:#fff;border-color:#c9cebf;opacity:1}
.public-site a.cta:is(.text-link,.button,.contact-link) .action-icon{position:relative;display:block;width:42px;height:42px;flex:0 0 42px;overflow:hidden;border-radius:50%;color:#fff}
.public-site a.cta:is(.text-link,.button,.contact-link) .action-label{display:block;position:relative;min-width:0;height:22px;overflow:hidden;text-align:left}
.public-site a.cta:is(.text-link,.button,.contact-link):focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.public-site .header .contact-link.cta{min-height:46px;padding:5px 18px 5px 5px;gap:10px}
.public-site .header .contact-link.cta::before{width:34px}
.public-site .header .contact-link.cta:is(:hover,:focus-visible)::before{width:calc(100% - 10px)}
.public-site .header .contact-link.cta .action-icon{width:34px;height:34px;flex-basis:34px}
.public-site .header .contact-link.cta[aria-current=page]{color:var(--green-dark);font-weight:600}
.public-site .header .contact-link.cta[aria-current=page]:is(:hover,:focus-visible){color:#fff}
@media(max-width:600px){
 .public-site main{background-size:1000px auto}
 .public-site .column-marker{margin-bottom:32px}
 .public-site a.cta:is(.text-link,.button,.contact-link),.public-site a.cta:is(.text-link,.button,.contact-link).button{font-size:13px;gap:10px;padding-right:18px}
 .public-site .header .contact-link.cta{flex:0 0 auto}
}

/* Uma seta e um rótulo por chamada, isolados dos estilos contextuais antigos. */
.public-site a.cta:is(.text-link,.button,.contact-link) .action-icon{display:grid;place-items:center}
.public-site a.cta:is(.text-link,.button,.contact-link) .action-icon-window{display:block;position:relative;width:20px;height:20px;overflow:hidden;color:#fff;flex:none}
.public-site a.cta:is(.text-link,.button,.contact-link) .action-icon .link-arrow{display:block;position:static;box-sizing:border-box;width:20px;height:20px;margin:0;padding:0;border:0;border-radius:0;background:none;color:#fff;fill:none;stroke:currentColor;stroke-width:1.6;transform:none}
.public-site a.cta:is(.text-link,.button,.contact-link) .action-label{height:auto;min-height:22px;line-height:22px;white-space:normal;color:inherit}
.public-site a.cta:is(.text-link,.button,.contact-link):is(:hover,:focus-visible){text-decoration:none}
.public-site a.cta:is(.text-link,.button,.contact-link):is(:hover,:focus-visible) .action-icon .link-arrow{animation:cta-arrow-roll .45s cubic-bezier(.22,.61,.36,1) both}
@keyframes cta-arrow-roll{0%{transform:translateX(0);opacity:1}44%{transform:translateX(24px);opacity:0}45%{transform:translateX(-24px);opacity:0}100%{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.public-site a.cta:is(.text-link,.button,.contact-link)::before{transition:none}.public-site a.cta:is(.text-link,.button,.contact-link):is(:hover,:focus-visible) .action-icon .link-arrow{animation:none}}

/* Leitura em português: justificação com hifenização e última linha à esquerda. */
.public-site .prose p:not(.caption):not(.eyebrow):not(.hash),
.public-site .admin-service-body p:not(.caption),
.public-site .admin-service-body li{
 text-align:justify;
 text-align-last:left;
 text-justify:inter-word;
 hyphens:auto;
 -webkit-hyphens:auto;
 hyphenate-limit-chars:7 3 3;
 overflow-wrap:break-word;
}
.public-site .prose :is(.caption,.eyebrow,.hash),
.public-site :is(address,figcaption,.source,.source p,.content-index,.document-tools){text-align:left;hyphens:none}

/* Navegação interna do XXII Concílio. */
.public-site .council-section-nav{background:#fff;border-bottom:1px solid var(--council-line)}
.public-site .council-section-nav .council-nav{gap:0 30px;padding-block:0;align-items:stretch}
.public-site .council-section-nav .council-nav a{display:inline-flex;align-items:center;min-height:60px;padding:18px 0 15px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--council-muted);font-weight:500;line-height:1.4;text-decoration:none}
.public-site .council-section-nav .council-nav a:is(:hover,[aria-current=location]){background:transparent;border-bottom-color:var(--council-accent);color:var(--council-accent)}
.public-site .council-section-nav .council-nav a[aria-current=location]{font-weight:600}
.public-site .council-section-nav .council-nav a:focus-visible{outline:2px solid var(--council-accent);outline-offset:3px}
@media(max-width:600px){.public-site .council-section-nav .council-nav{gap:0 20px}.public-site .council-section-nav .council-nav a{min-height:48px;padding:12px 0 9px;font-size:13px}}

/* Acervo do XXII Concílio: categorias e arquivos em listas. */
.public-site .council-archive-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;padding-block:32px;border-block:1px solid var(--council-line)}
.public-site .council-archive-grid .council-panel{min-width:0;border:0;border-radius:0;padding:0;background:transparent}
.public-site .council-archive-grid .council-appointments{border-left:1px solid var(--council-line);padding-left:40px}
.public-site .council-archive-grid h2{margin-bottom:28px}
.public-site .council-archive-grid .council-doc-group{margin:0;padding:0;border:0;border-top:1px solid var(--council-line)}
.public-site .council-archive-grid .council-doc-group:last-child{border-bottom:1px solid var(--council-line)}
.public-site .council-archive-grid .council-doc-group summary{display:flex;align-items:center;gap:12px;min-height:64px;padding:18px 0;list-style:none;background:transparent;color:var(--council-deep);font-size:15px;line-height:1.5}
.public-site .council-archive-grid .council-doc-group summary::-webkit-details-marker{display:none}
.public-site .council-archive-grid .council-doc-group summary::marker{content:''}
.public-site .council-archive-grid .council-doc-group summary::before{content:'';width:6px;height:6px;flex:0 0 6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.public-site .council-archive-grid .council-doc-group[open] summary::before{transform:rotate(45deg)}
.public-site .council-archive-grid .council-doc-group summary:hover{background:transparent;color:var(--council-accent)}
.public-site .council-archive-grid .council-doc-group summary span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:24px;margin-left:auto;padding:2px 8px;border-radius:999px;background:var(--council-soft);color:var(--council-accent);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.public-site .council-archive-grid .compact-list{gap:0}
.public-site .council-archive-grid .council-doc-group .compact-list{padding:0 0 16px 22px}
.public-site .council-archive-grid .council-appointments .compact-list{border-block:1px solid var(--council-line)}
.public-site .council-archive-grid .compact-list .text-link{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:60px;margin:0;padding:16px 0;border:0;border-bottom:1px solid var(--council-line);border-radius:0;background:transparent;color:var(--council-deep);font-size:15px;font-weight:400;line-height:1.6;text-decoration:none}
.public-site .council-archive-grid .compact-list .text-link:last-child{border-bottom:0}
.public-site .council-archive-grid .compact-list .text-link:hover{background:transparent;color:var(--council-accent);text-decoration:underline;text-underline-offset:4px}
.public-site .council-archive-grid .compact-list .link-arrow{box-sizing:border-box;width:18px;height:18px;flex:0 0 18px;padding:0;border-radius:0;background:transparent;color:var(--council-accent)}
.public-site .council-archive-grid .caption{margin-top:22px;line-height:1.7}
@media(max-width:760px){.public-site .council-archive-grid{grid-template-columns:1fr;gap:32px;padding-block:28px}.public-site .council-archive-grid .council-appointments{border-left:0;border-top:1px solid var(--council-line);padding:28px 0 0}.public-site .council-archive-grid .compact-list .text-link{font-size:14px;gap:14px}.public-site .council-archive-grid h2{margin-bottom:22px}}

/* Comportamento comum às edições; cada concílio mantém suas cores. */
.public-site .council-xxiii{--council-deep:#493222;--council-accent:var(--rust);--council-muted:#745947;--council-line:var(--next-border);--council-soft:#fbf4e8}
.public-site .council-xxiii .council-section-nav .council-nav{display:flex;flex-wrap:wrap}
.public-site .council-xxiii :is(#secao-0,#informacoes,#acervo-xxiii){scroll-margin-top:24px}
.public-site .council-archive-list .compact-list{gap:0;border-block:1px solid var(--council-line)}
.public-site .council-archive-list .text-link{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:60px;margin:0;padding:16px 0;border:0;border-bottom:1px solid var(--council-line);border-radius:0;background:transparent;color:var(--council-deep);font-size:15px;font-weight:400;line-height:1.6;text-decoration:none}
.public-site .council-archive-list .text-link:last-child{border-bottom:0}
.public-site .council-archive-list .text-link:hover{color:var(--council-accent);text-decoration:underline;text-underline-offset:4px}
.public-site .council-archive-list .link-arrow{width:18px;height:18px;flex:0 0 18px;padding:0;border-radius:0;background:transparent;color:var(--council-accent)}
.public-site .xxi-hero-actions .cta{--action-ink:#183e44;--action-paper:var(--xxi-gold);border-radius:10px;font-weight:500}
.public-site .xxi-hero-actions .xxi-secondary{--action-ink:#fffdf7;--action-paper:#123f48}
@media print{.public-site .council-section-nav{display:none}}

/* Rodapé: linhas numeradas, divisórias e setas, conforme a referência. */
.footer .footer-grid{grid-template-columns:minmax(170px,.8fr) minmax(440px,1.9fr) minmax(180px,1fr);gap:44px}
.footer-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.footer-menu>div{border-top:1px solid #726f61}
.footer .footer-menu-link{position:relative;display:flex;align-items:center;gap:9px;min-height:52px;margin:0;padding:13px 0;border-bottom:1px solid #615f53;color:#eeeade;font-size:14px;line-height:22px;text-decoration:none;transition:color .2s ease}
.footer-link-number{flex:0 0 26px;font-size:10px;line-height:22px;color:#c9c2ae;font-variant-numeric:tabular-nums}
.footer .footer-menu-link .nav-label{display:block;flex:1;min-width:0;height:22px;overflow:hidden;white-space:nowrap}
.footer .footer-menu-link .nav-label-track{display:flex;flex-direction:column;transform:translateY(0);transition:transform .35s cubic-bezier(.22,.61,.36,1)}
.footer .footer-menu-link .nav-label-track>span{display:block;height:22px;line-height:22px;flex:0 0 22px}
.footer-link-arrow{width:17px;height:17px;flex:0 0 17px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .25s ease}
.footer-menu-link::after{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:#eee4c7;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.footer .footer-menu-link:is(:hover,:focus-visible){color:#fff;text-decoration:none}
.footer-menu-link:is(:hover,:focus-visible)::after{transform:scaleX(1)}
.footer-menu-link:is(:hover,:focus-visible) .nav-label-track{transform:translateY(-50%)}
.footer-menu-link:is(:hover,:focus-visible) .footer-link-arrow{transform:translateX(3px)}
.footer-menu-link[aria-current=page]{color:#fff;font-weight:600}
.footer-menu-link[aria-current=page] .footer-link-number{color:#ead29b}
.footer .footer-bottom .footer-top{display:inline-flex;align-items:center;gap:12px;min-height:48px;margin-left:auto;text-decoration:none}
.footer-top svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
@media(max-width:1100px){.footer .footer-grid{grid-template-columns:1fr 1fr;gap:36px 52px}.footer-navigation{grid-column:1/-1;grid-row:2}.footer-menu{gap:0 36px}}
@media(max-width:600px){.footer .footer-grid{grid-template-columns:1fr;gap:32px}.footer-navigation{grid-column:auto;grid-row:auto}.footer-menu{grid-template-columns:1fr;gap:0}.footer-menu>div+div{border-top:0}.footer .footer-menu-link{font-size:15px;min-height:54px}.footer .footer-bottom .footer-top{margin-left:0}}
@media(prefers-reduced-motion:reduce){.footer .footer-menu-link,.footer .footer-menu-link .nav-label-track,.footer-link-arrow,.footer-menu-link::after{transition:none}.footer-menu-link:is(:hover,:focus-visible) .nav-label-track,.footer-menu-link:is(:hover,:focus-visible) .footer-link-arrow{transform:none}}

/* Retorno ao topo, disponível somente depois da rolagem. */
.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:25;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #dce4d7;border-radius:50%;background:#164d40;color:#fff;box-shadow:0 4px 18px rgb(0 0 0 / 15%);cursor:pointer;transition:background .2s ease,transform .2s ease}
.back-to-top[hidden],body:has(.header nav.open) .back-to-top,body:has(dialog[open]) .back-to-top{display:none}
.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;pointer-events:none}
.back-to-top:hover{background:#103a30;transform:translateY(-2px)}
.back-to-top:focus-visible{outline:3px solid #b54721;outline-offset:4px}
@media(max-width:600px){.back-to-top{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}.back-to-top:hover{transform:none}}
@media print{.back-to-top{display:none!important}}
