.parish-heading { margin-bottom:var(--s-6); }
.parish-heading .g-eyebrow { margin-top:var(--s-5); }
.parish-heading .g-lede { max-width:var(--measure); }
.parish-library-page .g-reading-content { max-width:none; }
.parish-library-page .g-reading-content>.g-section:first-child { border-top:2px solid var(--rule-strong); }
.parish-context-map svg { min-height:0; }
.parish-boundary { fill:var(--lime-sunken); stroke:var(--ink-3); stroke-width:1; vector-effect:non-scaling-stroke; }
.parish-boundary.is-selected { fill:var(--celeste-mid); stroke:var(--ink); stroke-width:2; }
.parish-contents { border-top:2px solid var(--rule-strong); padding-top:var(--s-5); }
.parish-contents a { display:block; min-height:var(--hit); padding:var(--s-2) 0; }
.parish-library-page .g-apparatus h2 { font-size:var(--t-sub); }
.parish-library-page .g-provenance>a { display:block; min-height:var(--hit); padding:var(--s-2) 0; }
.resource-list>li { scroll-margin-top:var(--s-8); }
.resource-list .resource-item { padding:var(--s-5) 0; min-width:0; }
.resource-item.has-thumbnail { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,5fr); gap:var(--s-5); align-items:start; }
.resource-thumbnail { display:block; background:var(--lime-sunken); overflow:hidden; }
.resource-thumbnail img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.resource-thumbnail.is-document { padding:var(--s-2); }
.resource-thumbnail.is-document img { aspect-ratio:3/4; object-fit:contain; }
.resource-item .g-eyebrow { margin:0 0 var(--s-2); color:var(--ochre); }
.resource-item h3 { overflow-wrap:anywhere; }
.resource-item h3 a { display:inline; font:500 var(--t-sub)/var(--lh-head) var(--serif); color:var(--celeste); }
.resource-item .g-note { font:var(--t-dense)/var(--lh-dense) var(--sans); }
.resource-item .resource-open { display:inline-flex; gap:var(--s-2); min-height:var(--hit); font:600 var(--t-dense)/var(--lh-dense) var(--sans); color:var(--celeste); }
.parish-filters { display:flex; flex-wrap:wrap; align-items:end; gap:var(--s-4); padding:var(--s-5) 0; border-top:2px solid var(--rule-strong); font:var(--t-body)/var(--lh-dense) var(--sans); }
.parish-filters>label:first-child { flex:1; min-width:40%; }
.parish-filters .g-field,.parish-filters .g-select { display:block; width:100%; margin-top:var(--s-2); }
.parish-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 var(--s-7); }
.parish-directory .parish-directory-row { min-width:0; padding:var(--s-5) 0; }
.parish-directory .parish-row-link { display:flex; gap:var(--s-5); align-items:start; }
.parish-row-link>span { flex:1; min-width:0; }
.parish-row-link>img { width:28%; height:auto; aspect-ratio:4/3; object-fit:cover; background:var(--lime-sunken); }
.parish-row-link strong { font-weight:500; overflow-wrap:anywhere; }
.parish-row-description { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font:var(--t-body)/var(--lh-body) var(--serif); color:var(--ink-2); margin:var(--s-2) 0; }
.parish-row-action { display:block; font:600 var(--t-dense)/var(--lh-dense) var(--sans); color:var(--celeste); }
.parish-library-page [hidden] { display:none; }
.parish-library-page a:focus-visible,.parish-library-page input:focus-visible,.parish-library-page select:focus-visible,.parish-library-page button:focus-visible { outline:3px solid var(--celeste); outline-offset:4px; }
@media(max-width:850px) {
 .parish-directory { grid-template-columns:1fr; }
 .parish-filters>label:first-child { flex-basis:100%; }
 .parish-filters>label:nth-child(2) { flex:1; }
 .resource-item.has-thumbnail { grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:var(--s-4); }
 .parish-library-page .g-reading { display:flex; flex-direction:column; }
 .parish-library-page .g-reading-content,.parish-library-page .g-apparatus { width:100%; }
 .parish-row-link>img { width:28%; }
}
@media(prefers-reduced-motion:no-preference) {
 .resource-open,.parish-row-action { transition:transform var(--dur) var(--ease); }
 .resource-open:hover,.parish-row-link:hover .parish-row-action { transform:translateX(4px); }
}
