/* ---------- Managing Body: leader cards + organisation chart ---------- */
.mb-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-bottom: 22px; }
.mb-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }

.mb-card { border-radius: var(--r-lg); overflow: hidden; display: grid; grid-template-rows: auto 1fr; }
.mb-card.big { grid-template-columns: 0.9fr 1.1fr; grid-template-rows: none; }
.mb-photo { position: relative; aspect-ratio: 4 / 4.6; margin: 8px 8px 0; border-radius: calc(var(--r-lg) - 6px); overflow: hidden;
  background: linear-gradient(160deg, #243a70, #0f1a33); }
.mb-card.big .mb-photo { margin: 8px; aspect-ratio: auto; min-height: 320px; }
.mb-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 1.2s var(--ease); }
.mb-card:hover .mb-photo img { transform: scale(1.05); }
/* monogram placeholder until a photo is added */
.mb-photo.mono { display: grid; place-items: center; }
.mb-photo.mono::before { content: ''; position: absolute; inset: 0; background: radial-gradient(90% 70% at 50% 30%, rgba(201, 169, 110, 0.22), transparent 70%); }
.mb-photo.mono span { position: relative; font: 500 clamp(3rem, 6vw, 4.6rem)/1 var(--font-display); letter-spacing: 0.06em;
  background: linear-gradient(180deg, #f3e3bf, #c9a96e 60%, #9d7c44); -webkit-background-clip: text; background-clip: text; color: transparent; }

.mb-body { padding: 20px 22px 24px; display: grid; gap: 6px; align-content: start; }
.mb-card.big .mb-body { padding: clamp(24px, 3vw, 40px) clamp(20px, 2.6vw, 34px); align-content: center; }
.mb-body small { font: 700 0.64rem/1.3 var(--font-ui); letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); }
.mb-body h3 { font-size: 1.5rem; }
.mb-card.big .mb-body h3 { font-size: clamp(1.9rem, 2.8vw, 2.6rem); }
.mb-role { margin: 0; font: 700 0.86rem/1.3 var(--font-ui); color: var(--text); }
.mb-body p { margin: 4px 0 0; font-size: 0.9rem; }
.mb-soon { font-style: italic; color: var(--text-3) !important; }
.tbc { color: var(--text-3); }
.mb-links { display: flex; gap: 8px; margin-top: 10px; }
.mb-links a { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, 0.06); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.14) inset; transition: all 0.3s; }
.mb-links a:hover { background: var(--gold); color: #1a1408; }
.mb-links svg { width: 16px; height: 16px; }

/* organisation chart */
.org { display: grid; justify-items: center; }
.org-node { padding: 16px 26px; border-radius: 18px; text-align: center; display: grid; gap: 4px; min-width: 240px; }
.org-node small { font: 700 0.62rem/1 var(--font-ui); letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-3); }
.org-node b { font: 500 1.35rem/1.2 var(--font-display); }
.org-node.top b { font-size: 1.6rem; }
.org-node.gold { box-shadow: var(--glass-shadow), var(--gold-glow); }
.org-node.gold b { color: var(--gold-light); }
.org-line { display: block; width: 2px; height: 34px; background: linear-gradient(180deg, var(--gold), rgba(201, 169, 110, 0.25)); }
.org-depts { position: relative; width: 100%; display: grid; grid-template-columns: repeat(var(--n, 6), minmax(0, 1fr)); gap: 12px; padding-top: 30px; }
.org-depts::before { content: ''; position: absolute; top: 0; left: calc(50% / var(--n, 6)); right: calc(50% / var(--n, 6)); height: 2px; background: linear-gradient(90deg, rgba(201, 169, 110, 0.25), var(--gold), rgba(201, 169, 110, 0.25)); }
.org-node.dept { position: relative; min-width: 0; padding: 16px 12px; }
.org-node.dept::before { content: ''; position: absolute; left: 50%; top: -30px; width: 2px; height: 30px; background: rgba(201, 169, 110, 0.5); }
.org-node.dept b { font-size: 1.05rem; }

@media (max-width: 1100px) {
  .mb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .org-depts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .org-depts::before { left: 25%; right: 25%; }
}
@media (max-width: 860px) {
  .mb-featured { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .mb-card.big { grid-template-columns: 1fr; }
  .mb-card.big .mb-photo { min-height: 0; aspect-ratio: 4 / 3.6; margin: 8px 8px 0; }
  .mb-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .mb-body { padding: 14px 14px 16px; }
  .mb-body h3 { font-size: 1.2rem; }
  .mb-role { font-size: 0.76rem; }
  .mb-body p { font-size: 0.8rem; }
  .org-node { min-width: 0; width: 100%; max-width: 300px; }
  .org-depts { grid-template-columns: 1fr 1fr; gap: 10px; }
  .org-depts::before { left: 25%; right: 25%; }
  .org-node.dept::before { display: none; }
  .org-node.dept b { font-size: 0.95rem; }
}
