/* MINISTERIAL ROLE — institution chart + split register (Ministry vs documented role) */
.mr-head { background: var(--white); border-bottom: 1px solid var(--line); }
.mr-head .wrap { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 3rem 4rem; align-items: center; }
.mr-head h1 { font-size: clamp(2.6rem, 1.4rem + 4.2vw, 5.2rem); }
.mr-head h1 small { display: block; font-family: var(--sans); font-size: .8rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--soil-ink); margin-bottom: 1rem; }

.chart { display: grid; gap: 0; justify-items: center; }
.chart__node { width: 100%; max-width: 520px; text-align: center; padding: 1.1rem 1.3rem; border: 1px solid var(--line-on-dark); background: var(--indigo-2); }
.chart__node .meta { color: var(--wheat); display: block; margin-bottom: .25rem; }
.chart__node strong { display: block; font-family: var(--serif); font-weight: 400; font-size: 1.35rem; line-height: 1.2; color: var(--white); }
.chart__node p { margin: .35rem 0 0; font-size: .9rem; color: var(--sand); }
.chart__stem { width: 1px; height: 28px; background: var(--wheat); opacity: .7; }
.chart__row { width: 100%; display: grid; grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr)); gap: 1rem; position: relative; padding-top: 28px; }
.chart__row::before { content: ""; position: absolute; top: 0; left: calc(100% / var(--n, 2) / 2); right: calc(100% / var(--n, 2) / 2); height: 1px; background: var(--wheat); opacity: .7; }
.chart__row > .chart__node { position: relative; max-width: none; }
.chart__row > .chart__node::before { content: ""; position: absolute; top: -28px; left: 50%; width: 1px; height: 28px; background: var(--wheat); opacity: .7; }
.chart__node--me { border-color: var(--wheat); background: var(--indigo-2); box-shadow: inset 0 3px 0 var(--wheat); }
.chart__row--plain { padding-top: 0; }
.chart__row--plain::before, .chart__row--plain > .chart__node::before { display: none; }
.chart__cap { width: 100%; margin: 2rem 0 .8rem; padding-top: 1rem; border-top: 1px dashed var(--line-on-dark); font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--wheat); text-align: center; }

.domains { border-top: 2px solid var(--indigo); }
.domains__head, .domain { display: grid; grid-template-columns: minmax(10rem, .8fr) minmax(0, 1.3fr) minmax(0, 1fr); gap: 0 2.5rem; }
.domains__head { padding: .9rem 0; border-bottom: 1px solid var(--line-strong); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--slate); }
.domain { padding: 2rem 0; border-bottom: 1px solid var(--line); }
.domain h3 { font-size: 1.7rem; margin: 0; }
.domain h3 span { display: block; font-family: var(--sans); font-size: .7rem; font-weight: 700; letter-spacing: .16em; color: var(--soil-ink); margin-bottom: .5rem; }
.domain__min p, .domain__me p { font-size: .98rem; }
.domain__me { padding-left: 1.4rem; border-left: 2px solid var(--wheat); }
.domain__me .lbl, .domain__min .lbl { display: none; font-size: .66rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--slate); margin-bottom: .3rem; }

.mr-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.mr-photos .plate--mat { --ar: 16 / 9; }

@media (max-width: 960px) {
  .mr-head .wrap { grid-template-columns: minmax(0, 1fr); }
  .domains__head { display: none; }
  .domain { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .domain__me .lbl, .domain__min .lbl { display: block; }
  .mr-photos { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .chart__row { grid-template-columns: minmax(0, 1fr); padding-top: 0; gap: 0; }
  .chart__row::before { display: none; }
  .chart__row > .chart__node { margin-top: 28px; }
}
