/* ============================================================
   ORG CHART ARCHETYPE — proj-org (added 2026-05-01)
   Used by §02 ORGANIZATIONAL CHART (p26)
   Two-column editorial: simplified org tree (left) + cream panel (right)
   ============================================================ */
.proj-org { position: relative; background: var(--paper); }
.proj-org .content {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 0; padding: 0; overflow: hidden;
}

/* LEFT: simplified org tree */
.proj-org .po-tree {
  background: var(--paper);
  padding: 6mm 6mm;
  display: flex; flex-direction: column; gap: 4mm;
  min-width: 0; overflow: hidden;
  border-inline-start: 0.7pt solid var(--gold);
}
.proj-org .po-tree-svg { width: 100%; height: 100%; min-height: 0; }

/* SVG node + edge styles for the org tree */
.proj-org .po-node-rect {
  fill: var(--paper); stroke: var(--navy); stroke-width: 1;
}
.proj-org .po-node-rect--hub {
  fill: var(--navy); stroke: var(--gold); stroke-width: 1.4;
}
.proj-org .po-node-rect--ext {
  fill: var(--cream); stroke: var(--ink-soft);
  stroke-width: 0.7; stroke-dasharray: 3 2;
}
.proj-org .po-node-rect--cluster {
  fill: var(--gold-pale); stroke: var(--gold); stroke-width: 1;
}
.proj-org .po-node-rect--workshop {
  fill: var(--paper); stroke: var(--gold); stroke-width: 0.7;
}
.proj-org .po-edge {
  fill: none; stroke: var(--navy); stroke-width: 0.8;
}
.proj-org .po-edge--ext {
  fill: none; stroke: var(--ink-soft); stroke-width: 0.6;
  stroke-dasharray: 3 2;
}
.proj-org .po-lbl-ar {
  font-family: 'Tajawal', sans-serif; font-weight: 700;
  font-size: 9.5px; fill: var(--ink);
}
.proj-org .po-lbl-ar--hub { fill: var(--gold); font-weight: 800; }
.proj-org .po-lbl-en {
  font-family: 'Inter', sans-serif; font-size: 7.8px;
  fill: var(--ink-soft); letter-spacing: 0.08em; font-weight: 600;
}
.proj-org .po-lbl-en--hub { fill: var(--paper); }
.proj-org .po-lbl-ext {
  font-family: 'Inter', sans-serif; font-size: 7.5px;
  fill: var(--muted); letter-spacing: 0.08em; font-weight: 500;
}
.proj-org .po-band {
  fill: var(--gold); opacity: 0.18;
}

/* RIGHT: cream editorial panel */
.proj-org .po-panel {
  background: var(--cream);
  padding: 8mm 8mm 6mm 10mm;
  display: flex; flex-direction: column; gap: 3.5mm;
  min-width: 0; overflow: hidden;
}
.proj-org .po-eyebrow {
  font-family: 'Inter', sans-serif; font-size: 10pt; font-weight: 700;
  letter-spacing: 0.32em; color: var(--gold); text-transform: uppercase;
}
.proj-org .po-title-ar {
  font-family: 'Tajawal', sans-serif; font-weight: 800;
  font-size: 22pt; color: var(--ink); line-height: 1.15;
  margin: 1mm 0 0; text-align: right;
}
.proj-org .po-title-en {
  font-family: var(--font-display); font-style: italic;
  font-size: 12pt; color: var(--ink-soft);
}
.proj-org .po-rule {
  height: 0.5pt; background: var(--gold); opacity: 0.55;
}
.proj-org .po-narrative {
  font-family: 'Tajawal', sans-serif; font-size: 8.5pt;
  line-height: 1.55; color: var(--ink-soft); text-align: right;
}
.proj-org .po-stats {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2mm 4mm;
  padding-top: 3mm; border-top: 0.4pt solid var(--hairline);
}
.proj-org .po-stat { display: flex; flex-direction: column; gap: 0.5mm; }
.proj-org .po-stat-num {
  font-family: var(--font-display); font-size: 22pt; font-weight: 500;
  color: var(--navy); line-height: 1; letter-spacing: -0.02em;
}
.proj-org .po-stat-unit {
  font-family: 'Inter', sans-serif; font-size: 6.5pt; color: var(--gold);
  letter-spacing: 0.12em; text-transform: uppercase;
}
.proj-org .po-stat-label {
  font-family: 'Tajawal', sans-serif; font-size: 7.5pt; color: var(--ink-soft);
}
.proj-org .po-authority {
  margin-top: auto;
  padding: 3mm 3mm 3mm 4mm;
  background: var(--paper);
  border-inline-start: 1.4pt solid var(--gold);
}
.proj-org .po-authority-eyebrow {
  font-family: 'Inter', sans-serif; font-size: 6.5pt; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold);
  display: block; margin-bottom: 1.5mm;
}
.proj-org .po-authority-line {
  font-family: 'Tajawal', sans-serif; font-size: 7.5pt;
  color: var(--ink); line-height: 1.45; display: block;
}
.proj-org .po-authority-line + .po-authority-line {
  margin-top: 1mm; padding-top: 1mm; border-top: 0.3pt dashed var(--hairline);
}

/* End org chart archetype */
