.ministry {
  --ministry-line: #dfceb0;
  --ministry-paper: #fffdf8;
  --ministry-ink: #173c32;
  background: #f6f0e5;
  color: var(--ministry-ink);
}
.ministry .ministry-shell { max-width: 1340px; }
.ministry :is(h1,h2,h3) { margin: 0; color: var(--ministry-ink); line-height: 1.2; }
.ministry h1 { font-size: clamp(37px, 5.4vw, 68px); }
.ministry h2 { font-size: clamp(27px, 3.5vw, 44px); }
.ministry h3 { font-size: clamp(21px, 2.4vw, 27px); }
.ministry :is(ul,ol) { padding-inline-start: 1.4em; }
.ministry li + li { margin-block-start: .35em; }
.ministry :is(p,li) { line-height: 1.65; }
.ministry .ministry-hero,
.ministry .ministry-close { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 60px); align-items: center; }
.ministry .ministry-hero { margin-block: 6px clamp(40px, 6vw, 74px); }
.ministry .ministry-close { margin-block: clamp(40px, 6vw, 74px) 0; }
.ministry .ministry-hero img,
.ministry .ministry-close img { display: block; width: 100%; height: auto; border: 1px solid var(--ministry-line); border-radius: 20px; }
.ministry .ministry-question { margin: .4em 0 0; font: italic clamp(20px, 2.5vw, 31px)/1.3 Georgia, serif; }
.ministry .ministry-motto { margin-top: .5em; font-weight: 600; }
.ministry blockquote { margin: 16px 0; padding: 4px 0 4px 15px; border-inline-start: 2px solid #bf9655; font: italic 18px/1.55 Georgia, serif; }
.ministry blockquote cite { display: block; margin-block-start: 5px; font: normal 13px/1.5 Inter, Arial, sans-serif; }
.ministry :is(blockquote cite a, .ministry-languages a, .ministry-detail a) { color: var(--ministry-ink); text-underline-offset: 4px; }
.ministry .ministry-languages { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-block: 12px 0; }
.ministry .ministry-languages a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.ministry [aria-current="page"] { font-weight: 700; }
.ministry :is(.btn-primary, .ministry-text-link) { display: inline-flex; align-items: center; min-height: 44px; }
.ministry .ministry-title { text-align: center; margin-block-end: clamp(18px, 3vw, 30px); }
.ministry .ministry-title p { margin: 8px auto 0; max-width: 65ch; }
.ministry .ministry-grid { width: 100%; margin: 0; gap: clamp(16px, 1.55vw, 22px); }
.ministry .primary-card { border-radius: 22px; }
.ministry .primary-card-art { aspect-ratio: auto; height: clamp(180px, 15vw, 210px); }
.ministry .primary-card-art::after {
  inset: auto -1px -3px;
  height: 29px;
  background-size: 100% 100%;
}
.ministry .primary-card-body {
  grid-template-columns: minmax(0, 1fr) 40px;
  grid-template-rows: auto;
  min-height: 125px;
  gap: 10px;
  padding: 14px clamp(14px, 1.6vw, 22px) 17px;
  align-items: start;
}
.ministry .primary-card-text { display: grid; min-width: 0; gap: 5px; }
.ministry .primary-card-text strong { min-height: 2.3em; font-size: clamp(20px, 1.65vw, 23px); }
.ministry .primary-card-text small { font-size: 14px; }
.ministry .primary-card-arrow { grid-row: 1; align-self: center; width: 40px; height: 40px; }
.ministry .primary-card[aria-current] { border-color: #b58a42; }
.ministry .ministry-detail,
.ministry .ministry-note,
.ministry .ministry-column {
  padding: clamp(20px, 3.5vw, 40px);
  border: 1px solid var(--ministry-line);
  border-radius: 20px;
  background: var(--ministry-paper);
}
.ministry .ministry-detail { margin-block: 24px 0; }
.ministry .ministry-detail:focus { outline: 2px solid #9b7539; outline-offset: 3px; }
.ministry .ministry-detail > p { max-width: 73ch; }
.ministry .ministry-detail .section-label { margin: 0 0 6px; }
.ministry .ministry-detail ul { margin-block: 12px; }
.ministry .ministry-note { margin-block: clamp(34px, 5vw, 62px); }
.ministry .ministry-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.ministry .ministry-column ul { margin-block-end: 0; }
.ministry #ministry-choices,
.ministry .ministry-detail { scroll-margin-top: calc(var(--header-h) + 18px); }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .ministry .primary-card:hover, .ministry .primary-card:focus-visible { transform: translateY(-3px) scale(1.018); }
}
@media(max-width: 760px) {
  .ministry .ministry-hero, .ministry .ministry-close, .ministry .ministry-columns { grid-template-columns: 1fr; }
}
@media(max-width: 610px) {
  .ministry .ministry-grid { grid-template-columns: 1fr; }
  .ministry .primary-card-art { height: auto; aspect-ratio: 1.75; }
  .ministry .primary-card-body { min-height: 111px; }
}
