.org-chart { margin-top: 84px; padding: 60px 0 20px; border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.org-heading { margin-bottom: 42px; }
.org-heading h2 { font-size: clamp(1.8rem, 3.5vw, 2.7rem); line-height: 1.15; margin-bottom: 0; }
.org-governance { max-width: 680px; margin-inline: auto; }
.org-office { position: relative; display: grid; gap: 7px; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: white; color: var(--ink); text-align: center; overflow-wrap: anywhere; }
.org-office strong { font-size: 1rem; line-height: 1.4; font-weight: 600; }
.org-person { color: #52666c; font-size: .875rem; line-height: 1.5; }
a.org-person { color: var(--green-deep); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a.org-person:hover { color: var(--ink); }
a.org-person:focus-visible { outline: 2px solid var(--green-deep); outline-offset: 4px; border-radius: 2px; }
.org-president { width: min(100%, 320px); margin-inline: auto; color: white; background: #0d2d35; border-color: #0d2d35; }
.org-president .org-person { color: #d1e7e1; }
.org-president a:focus-visible { outline-color: white; }
.org-president::after { content: ""; position: absolute; height: 20px; top: 100%; left: 50%; border-left: 1px solid var(--line); }
.org-branches { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; padding-top: 20px; margin-top: 20px; }
.org-branches::before { content: ""; position: absolute; top: 0; right: calc(25% - 7px); left: calc(25% - 7px); border-top: 1px solid var(--line); }
.org-executive, .org-oversight { display: grid; gap: 20px; align-content: start; }
.org-branches .org-office::before { content: ""; position: absolute; height: 20px; bottom: 100%; left: 50%; border-left: 1px solid var(--line); }
.org-bridge { position: relative; height: 28px; width: calc(25% + 7px); margin-left: calc(25% - 7px); border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); border-bottom-left-radius: 10px; }
.org-bridge::after { content: ""; position: absolute; height: 20px; top: 100%; right: 0; border-left: 1px solid var(--line); }
.org-directorates-node { width: min(100%, 320px); margin: 20px auto 0; padding: 21px; font-size: 1.1rem; font-weight: 700; color: var(--green-deep); border-color: #69988b; }
.org-directorates-node::after { content: ""; position: absolute; height: 28px; top: 100%; left: 50%; border-left: 1px solid var(--line); }
.org-directorates { position: relative; list-style: none; margin: 28px 0 0; padding: 22px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; align-items: start; }
.org-directorates::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; border-left: 1px solid var(--line); }
.org-directorate-item { position: relative; min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.org-directorate-item::before { content: ""; position: absolute; width: 14px; top: 34px; left: 100%; border-top: 1px solid var(--line); }
.org-directorate-item:nth-child(even)::before { left: auto; right: 100%; }
.org-directorate summary { display: flex; gap: 13px; align-items: start; padding: 22px; min-height: 122px; cursor: pointer; list-style: none; border-radius: var(--radius); }
.org-directorate summary::-webkit-details-marker { display: none; }
.org-directorate summary::after { content: "+"; margin-left: auto; color: var(--green-deep); font-size: 1.35rem; line-height: 1.1; }
.org-directorate[open] summary::after { content: "−"; }
.org-directorate summary:hover { color: var(--green-deep); }
.org-directorate summary:focus-visible { outline: 2px solid var(--green-deep); outline-offset: -3px; }
.org-number { padding-top: 1px; color: var(--green-deep); font-size: .875rem; font-weight: 600; }
.org-directorate-heading { display: grid; gap: 8px; min-width: 0; flex: 1; }
.org-directorate-title { font-size: 1rem; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.org-unit-body { padding: 20px 22px; border-top: 1px solid var(--line); }
.org-profile-link { margin-bottom: 20px; }
.org-directorate:not([open]) .org-unit-body { display: none; }
.org-unit-body h4 { margin: 0 0 16px; color: var(--green-deep); font-size: .875rem; font-weight: 600; }
.org-units { margin: 0; padding-left: 19px; color: #52666c; font-size: .9375rem; line-height: 1.6; }
.org-units li + li { margin-top: 10px; }
.org-units ul { margin-top: 10px; padding-left: 19px; }
@media (max-width: 660px) {
  .org-chart { margin-top: 58px; padding-top: 38px; }
  .org-heading { margin-bottom: 32px; }
  .org-office { padding: 17px 12px; }
  .org-office strong { font-size: .9375rem; }
  .org-branches { gap: 16px; }
  .org-branches::before { left: calc(25% - 4px); right: calc(25% - 4px); }
  .org-bridge { width: calc(25% + 4px); margin-left: calc(25% - 4px); }
  .org-directorates { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 0 0 0 19px; border-left: 1px solid var(--line); }
  .org-directorates::before { left: 0; right: 50%; top: -14px; bottom: auto; height: 14px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); border-top-left-radius: 8px; }
  .org-directorates-node::after { height: 14px; }
  .org-directorate-item::before, .org-directorate-item:nth-child(even)::before { left: -20px; right: auto; width: 19px; }
  .org-directorate summary { padding: 20px 16px; min-height: 0; gap: 10px; }
  .org-unit-body { padding: 18px 16px; }
}
