/* Project hierarchy layer — private HQ */
.project-stack{display:grid;gap:18px}
.project-parent,.project-root .project-leaf{background:#111923;border:1px solid #2a3950;border-radius:24px;overflow:hidden}
.project-parent{padding:24px;box-shadow:0 16px 42px rgba(0,0,0,.12)}
.project-parent.high,.project-leaf.high{border-color:#6c5c38}
.project-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}
.project-heading h3{font-family:"Libre Caslon Display",Georgia,serif;font-size:2rem;font-weight:400;line-height:1.05;margin:5px 0 0}
.project-heading h4{font-size:1rem;line-height:1.25;margin:4px 0 0}
.project-heading.compact{gap:14px}
.project-heading .area,.relation-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#8197b2}
.relation-label{margin-top:8px;color:#6f8198;letter-spacing:.08em}
.project-labels{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:46%}
.current-focus{max-width:900px;color:#b8c3d1;line-height:1.62;margin:18px 0 0;font-size:.9rem}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.summary-block{background:#0d1521;border:1px solid #26364a;border-radius:16px;padding:15px 16px}
.summary-block.next{background:#121d2b}
.summary-block label,.decision label{display:block;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:#7990ad;font-weight:800;margin-bottom:7px}
.summary-block p{margin:0;color:#d1d9e3;line-height:1.5;font-size:.84rem}
.decision{margin-top:14px;padding:14px 16px;border-radius:14px;border:1px solid #604f31;background:#1c1a17}
.decision strong{display:block;color:#ead6aa;font-size:.84rem;line-height:1.45}
.project-actions{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}
.project-actions a{font-size:.72rem;font-weight:850;text-decoration:none;background:#172334;border:1px solid #31445d;padding:9px 12px;border-radius:10px;color:#d8e3ee}
.project-actions a:hover{background:#213149}
.project-actions a.primary-link{background:#edf2f7;color:#101827;border-color:#edf2f7}
.project-actions a.primary-link:hover{background:white}
.project-children{position:relative;margin:24px 0 0 11px;padding:4px 0 0 29px;border-left:1px solid #33455d;display:grid;gap:13px}
.project-children.nested{margin-top:12px;margin-left:15px;padding-left:25px}
.project-node{position:relative;min-width:0}
.project-child>.node-connector{position:absolute;left:-29px;top:28px;width:29px;border-top:1px solid #33455d}
.project-children.nested>.project-child>.node-connector{left:-25px;width:25px}
.project-leaf{position:relative;background:#0d1520;border:1px solid #25354a;border-radius:18px;padding:18px}
.project-leaf .current-focus{margin-top:13px;font-size:.84rem}
.project-leaf .summary-grid{margin-top:13px}
.project-leaf .summary-block{padding:12px 13px;background:#111b29}
.project-leaf .project-labels{max-width:52%}
.project-root .project-leaf{padding:21px}
.project-root .project-heading h4{font-family:"Libre Caslon Display",Georgia,serif;font-size:1.55rem;font-weight:400}
.section-head.minor{margin-bottom:12px}
.section-head.minor h3{font-family:"Libre Caslon Display",Georgia,serif;font-size:1.55rem;font-weight:400;margin:0}

@media(max-width:900px){
  .project-heading{flex-direction:column}
  .project-labels{max-width:none;justify-content:flex-start}
  .summary-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .project-parent{padding:18px;border-radius:20px}
  .project-heading h3{font-size:1.65rem}
  .project-children{margin-left:5px;padding-left:20px}
  .project-child>.node-connector{left:-20px;width:20px}
  .project-children.nested{margin-left:7px;padding-left:17px}
  .project-children.nested>.project-child>.node-connector{left:-17px;width:17px}
  .project-leaf{padding:15px}
}

/* Public Project Studio hierarchy */
.studio-index{padding:18px 0 48px}
.studio-jump{display:flex;gap:9px;flex-wrap:wrap;margin:4px 0 34px}
.studio-jump a{text-decoration:none;border:1px solid var(--line);background:rgba(255,255,255,.55);padding:9px 12px;border-radius:999px;font-size:.76rem;font-weight:800;color:#4d4a44}
.studio-jump a:hover{background:var(--paper);color:var(--navy)}
.studio-category{display:grid;grid-template-columns:minmax(180px,.28fr) minmax(0,.72fr);gap:34px;padding:38px 0;border-top:1px solid var(--line)}
.studio-category-head{position:sticky;top:94px;align-self:start}
.studio-category-head>span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.15em;color:var(--blue);font-weight:800;margin-bottom:8px}
.studio-category-head h2{font-family:"Libre Caslon Display",Georgia,serif;font-weight:400;font-size:2.45rem;line-height:1;margin:0 0 12px}
.studio-category-head p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.55;max-width:230px}
.studio-category-body{display:grid;gap:18px}
.studio-parent{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:27px;box-shadow:0 12px 34px rgba(20,32,51,.05)}
.studio-parent>header,.studio-project>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.studio-parent h3{font-family:"Libre Caslon Display",Georgia,serif;font-size:2.35rem;font-weight:400;line-height:1.02;margin:5px 0 0}
.studio-project h4{font-family:"Libre Caslon Display",Georgia,serif;font-size:1.6rem;font-weight:400;line-height:1.06;margin:4px 0 0}
.studio-kicker{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.13em;color:var(--blue);font-weight:800}
.studio-description{color:#555047;font-size:.91rem;line-height:1.62;margin:17px 0 0;max-width:780px}
.public-detail{padding-top:14px;margin-top:14px;border-top:1px solid #e7e0d5}
.public-detail label{display:block;font-size:.63rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800;margin-bottom:5px}
.public-detail strong{font-size:.87rem;line-height:1.45}
.studio-children{position:relative;margin:24px 0 0 10px;padding:3px 0 0 31px;border-left:1px solid #c9c1b4;display:grid;gap:13px}
.studio-children.nested{margin-top:13px;margin-left:8px;padding-left:24px}
.studio-project{position:relative;background:#f7f3eb;border:1px solid #ddd5c9;border-radius:20px;padding:20px}
.studio-child>.studio-branch{position:absolute;left:-32px;top:29px;width:31px;border-top:1px solid #c9c1b4}
.studio-children.nested>.studio-child>.studio-branch{left:-25px;width:24px}
.studio-project:not(.studio-child){background:var(--paper);border-radius:24px;padding:24px;box-shadow:0 8px 28px rgba(20,32,51,.04)}
.studio-parent .progress,.studio-project .progress{margin-top:16px}
.studio-parent .phase,.studio-project .phase{white-space:nowrap}

@media(max-width:900px){
  .studio-category{grid-template-columns:1fr;gap:18px}
  .studio-category-head{position:static}
  .studio-category-head p{max-width:620px}
}
@media(max-width:620px){
  .studio-parent{padding:20px;border-radius:22px}
  .studio-parent>header,.studio-project>header{flex-direction:column}
  .studio-parent h3{font-size:1.9rem}
  .studio-project h4{font-size:1.45rem}
  .studio-children{margin-left:3px;padding-left:20px}
  .studio-child>.studio-branch{left:-21px;width:20px}
  .studio-children.nested{margin-left:4px;padding-left:17px}
  .studio-children.nested>.studio-child>.studio-branch{left:-18px;width:17px}
  .studio-project{padding:16px}
}
