/* Bagan struktur lembaga (Profil): tingkatan dari atas ke bawah, disambung garis; berkas CSS biasa tanpa build Tailwind. */
.org { display: flex; flex-direction: column; align-items: center; gap: 0; }
.org-level { position: relative; width: 100%; padding-top: 1.75rem; text-align: center; }
.org-level:first-child { padding-top: 0; }
.org-level:not(:first-child)::before { content: ""; position: absolute; top: 0; left: 50%; width: 2px; height: 1.75rem; background: #c9a043; }
.org-caption { margin: 0 0 .75rem; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #09563c; }
.org-nodes { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.org-node { display: flex; flex-direction: column; gap: .15rem; min-width: 11rem; max-width: 17rem; padding: .75rem 1rem; border: 1px solid #d9ded9; border-top: 3px solid #c9a043; border-radius: .625rem; background: #fff; box-shadow: 0 6px 16px -12px rgba(8, 55, 104, .35); }
.org-title { font-weight: 700; color: #083768; line-height: 1.3; }
.org-name { font-size: .875rem; color: #4b5563; line-height: 1.4; }
.org-level-1 .org-node { background: #09563c; border-color: #063e2b; border-top-color: #c9a043; }
.org-level-1 .org-title { color: #f7e7b0; font-size: .8125rem; font-weight: 600; }
.org-level-1 .org-name { color: #fff; font-weight: 600; }
.org-level-5 .org-node { min-width: 0; padding: .5rem .75rem; border-top-width: 1px; font-size: .875rem; }
.org-level-5 .org-title { font-weight: 600; color: #1f2937; }
@media (max-width: 640px) { .org-node { min-width: 0; width: 100%; max-width: none; } }
@media (max-width: 640px) { .org-level-5 .org-node { width: calc(50% - .4rem); } }
.org-duty { margin-top: .35rem; padding-top: .35rem; border-top: 1px dashed #d9ded9; font-size: .8125rem; line-height: 1.45; color: #4b5563; }
.org-level-1 .org-duty { border-top-color: rgba(255,255,255,.3); color: rgba(255,255,255,.85); }
