/* Standalone ministry pages share the existing masthead, including its height. */
.ministry-page { background: #fbf9f4; }
.ministry-hero__links a { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.1rem 0; border-bottom: 1px solid #d8c69a44; color: #eee5d1; font-family: Georgia, serif; font-size: .98rem; line-height: 1.6; text-decoration: none; }
.ministry-hero__links a:first-child { border-top: 1px solid #d8c69a44; }
.ministry-hero__links b { color: #c2a267; font-weight: 400; }
.ministry-content { max-width: 1240px; padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.ministry-prose { color: #444841; font-size: 1.02rem; line-height: 1.9; }
.ministry-prose p { margin: 0 0 1.2rem; }
.ministry-prose > p { max-width: 940px; }
.ministry-prose h2, .ministry-section-heading h2, .ministry-archive h2 { font-family: Georgia, serif; font-size: clamp(1.45rem, 2.1vw, 1.9rem); font-weight: 400; letter-spacing: -.02em; line-height: 1.4; color: #223d49; margin: 0 0 1rem; }
.ministry-prose a:not(.wp-block-image a) { color: #7c283a; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.ministry-prose figure { margin: 0; }
.ministry-prose figure img { display: block; width: 100%; height: auto; }
.ministry-prose figcaption { margin-top: .7rem; color: #727269; font-size: .74rem; line-height: 1.65; }
.ministry-prose .ministry-intro-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.15fr); gap: clamp(1.7rem, 4vw, 4rem); align-items: center; margin-bottom: 3rem; }
.ministry-prose .ministry-intro-grid > * { min-width: 0; }
.ministry-prose .ministry-intro-grid > div > p:last-child { margin-bottom: 0; }
.ministry-prose .ministry-social-intro { max-width: 960px; margin: 0 auto; }
.ministry-prose .ministry-social-intro > h2 { margin-bottom: 1.3rem; }
.ministry-prose .ministry-activity { border-top: 1px solid #d7d0c1; }
.ministry-prose .ministry-activity:last-of-type { border-bottom: 1px solid #d7d0c1; }
.ministry-activity summary { cursor: pointer; padding: .9rem .3rem; color: #223d49; font-family: Georgia, serif; font-size: 1.1rem; line-height: 1.6; }
.ministry-activity[open] summary { color: #7c283a; }
.ministry-activity > div { padding: .35rem 1.4rem .9rem; }
.ministry-prose .ministry-contact-note { margin: 1.4rem 0 0; font-size: .89rem; }
.ministry-news { padding-top: 3rem; margin-top: 3rem; border-top: 1px solid #d5c8b0; }
.ministry-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.2rem; margin-bottom: 1.7rem; }
.ministry-section-heading h2 { margin-bottom: 0; }
.ministry-section-heading > a { color: #705d3e; font-size: .78rem; text-decoration: none; }
.ministry-news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.ministry-news-card { min-width: 0; display: flex; flex-direction: column; border-bottom: 1px solid #cfc3ae; padding-bottom: 1.5rem; }
.ministry-news-card__image { display: block; overflow: hidden; background: #ebe7de; aspect-ratio: 3 / 2; margin-bottom: 1.15rem; }
.ministry-news-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s ease; }
.ministry-news-card__image:hover img { transform: scale(1.025); }
.ministry-news-card__copy { flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.ministry-news-card time { color: #777163; font-size: .73rem; }
.ministry-news-card h3 { margin: .5rem 0 .7rem; font-family: Georgia, serif; font-size: 1.27rem; font-weight: 400; line-height: 1.5; letter-spacing: -.015em; }
.ministry-news-card h3 a { color: #233e49; text-decoration: none; }
.ministry-news-card__copy > p { font-size: .88rem; line-height: 1.8; color: #66665e; margin: 0 0 1rem; }
.ministry-read-more { color: #7c283a; text-decoration: none; font-size: .75rem; margin-top: auto; padding-top: .5rem; }
.ministry-read-more span { padding-left: .5rem; }
.ministry-archive { margin-top: 3rem; }
.ministry-year { border-top: 1px solid #d7d0c1; }
.ministry-year:last-child { border-bottom: 1px solid #d7d0c1; }
.ministry-year summary { cursor: pointer; padding: 1.05rem .4rem; color: #243f4b; }
.ministry-year summary strong { font-size: 1.2rem; font-family: Georgia, serif; font-weight: 400; margin: 0 1.8rem 0 .8rem; }
.ministry-year summary > span { color: #79746b; font-size: .75rem; }
.ministry-year ul { list-style: none; padding: 0 .5rem 1rem; margin: 0; }
.ministry-year li { display: grid; grid-template-columns: 6rem 1fr 1rem; gap: 1rem; align-items: baseline; padding: .85rem .4rem; border-top: 1px solid #e8e1d5; }
.ministry-year li time { font-size: .72rem; color: #777163; }
.ministry-year li a { font-size: .96rem; line-height: 1.6; color: #303b3d; text-decoration: none; }
.ministry-year li > span { color: #9c8355; }
.ministry-prose .saints-documents { border-top: 1px solid #d5c8b0; padding-top: 2.5rem; margin-top: 2.5rem; }
.ministry-prose .saints-document { display: grid; grid-template-columns: minmax(0, .62fr) minmax(0, 1.38fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; padding: 2.4rem 0; border-bottom: 1px solid #ded7c8; }
.ministry-prose .saints-document h3 { font-family: Georgia, serif; font-weight: 400; color: #203c49; font-size: clamp(1.3rem, 1.8vw, 1.65rem); line-height: 1.45; letter-spacing: -.02em; margin: 0 0 1rem; }
.ministry-prose .saints-document figure img { max-height: 300px; object-fit: contain; object-position: left top; }
.ministry-prose .saints-document p { font-size: .95rem; }
.ministry-prose .saints-source { font-size: .78rem !important; color: #777163; }
.ministry-prose .saints-source a { display: inline-block; margin-top: .45rem; }
.ministry-prose .saints-calendar-note { font-size: .82rem; color: #777163; }
.ministry-page :is(a, summary):focus-visible { outline: 2px solid #a28242; outline-offset: 5px; }
.ministry-page [id] { scroll-margin-top: 1.5rem; }
@media (min-width: 821px) {
 .metropolis-hub > .metropolis-hub__hero .metropolis-hub__lead { font-size: .91rem; line-height: 1.65; }
}
@media (max-width: 1050px) and (min-width: 821px) {
 .metropolis-hub > .metropolis-hub__hero .metropolis-panel__intro h1 { font-size: 2.4rem; }
 .metropolis-hub > .metropolis-hub__hero .metropolis-hub__lead { font-size: .82rem; line-height: 1.55; }
 .metropolis-hub > .metropolis-hub__hero .metropolis-hub__place { margin-top: .5rem; }
 .metropolis-hub > .metropolis-hub__hero .metropolis-panel__intro .ornament { margin-top: .7rem; margin-bottom: .7rem; }
 .ministry-news__grid { gap: 1.2rem; }
 .ministry-prose .ministry-intro-grid { grid-template-columns: .8fr 1.2fr; gap: 2rem; align-items: start; }
}
@media (max-width: 980px) and (min-width: 821px) {
 .metropolis-hub > .metropolis-hub__hero .metropolis-hub__hero-grid { row-gap: 1rem; }
}
@media (max-width: 820px) {
 .ministry-news__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
 .ministry-prose .ministry-intro-grid { grid-template-columns: 1fr; }
 .ministry-prose .ministry-intro-grid figure { max-width: 600px; }
 .ministry-prose .saints-document { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 1.5rem; }
 .ministry-hero__links { width: 100%; }
}
@media (max-width: 540px) {
 .ministry-content { padding-block: 2rem; }
 .ministry-section-heading { display: block; }
 .ministry-section-heading > a { display: inline-block; margin-top: .8rem; }
 .ministry-news__grid, .ministry-prose .saints-document { grid-template-columns: 1fr; }
 .ministry-news-card h3 { font-size: 1.23rem; }
 .ministry-prose { font-size: .98rem; }
 .ministry-news { margin-top: 2rem; padding-top: 2rem; }
 .ministry-year li { grid-template-columns: 1fr 1rem; gap: .3rem .6rem; }
 .ministry-year li time { grid-column: 1/-1; }
 .ministry-prose .saints-document figure img { max-height: 320px; width: auto; max-width: 100%; }
}
@media (max-width: 680px) {
 /* A single softly masked emblem avoids the inherited double-image seam. */
 .ministry-hero.metropolis-panel--mosaic-emblem::before { opacity: 0; }
 .ministry-hero.metropolis-hub__hero .metropolis-panel__seal::before {
  -webkit-mask-image: radial-gradient(ellipse 12rem 9rem at 50% 50%, #000 0%, #000 45%, transparent 100%);
  mask-image: radial-gradient(ellipse 12rem 9rem at 50% 50%, #000 0%, #000 45%, transparent 100%);
 }
}

/* Each saint retains a distinct, editable group of three documents. */
.ministry--saints .saints-documents,
.ministry-prose .saints-documents {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 0 2rem;
}
.ministry-prose .saints-documents > :not(.saints-document) { grid-column: 1 / -1; }
.ministry-prose .saints-documents > .saints-document {
 display: flex; flex-direction: column; min-width: 0;
 gap: 1.25rem; padding: 1.5rem 0 1.75rem;
 border-bottom: 1px solid #ded7c8;
}
.ministry-prose .saints-documents > .saints-document figure { margin: 0; width: 100%; }
.ministry-prose .saints-documents > .saints-document figure img {
 width: 100%; height: 220px; max-height: none;
 object-fit: contain; object-position: center;
 background: #eee9df;
}
.ministry-prose .saints-documents > .saints-document figcaption {
 font-size: .75rem; line-height: 1.5; margin-top: .65rem;
}
.ministry-prose .saints-documents > .saints-document > div { flex: 1; display: flex; flex-direction: column; }
.ministry-prose .saints-documents > .saints-document h3 { font-size: 1.3rem; line-height: 1.45; }
.ministry-prose .saints-documents > .saints-document .saints-fulltext-link { margin-top: auto; padding-top: 1rem; }
@media (max-width: 760px) {
 .ministry-prose .saints-documents { grid-template-columns: 1fr; }
 .ministry-prose .saints-documents > .saints-document figure img { height: 260px; }
}
