/* Growth Strategy · 09 measurement — KPI tree (north star → drivers → leading) + definition reader */
.cgs-kpi{background:var(--paper)}
.cgs-kp{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(20px,2.4vw,32px);align-items:start}
.cgs-kp__tree{position:relative;min-width:0;padding:clamp(20px,2.4vw,32px);border:1px solid var(--line-3);border-radius:var(--r);background-color:var(--paper-2);background-image:var(--cgs-grid);background-size:24px 24px}
.cgs-kp__wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.cgs-kp__wires path{fill:none;stroke:var(--line-3);stroke-width:1.5}
.cgs-kp__wires path.is-on{stroke:var(--blue);stroke-width:2}
.cgs-kp__row{position:relative;display:flex;justify-content:center}
.cgs-kp__row--drivers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);margin-top:56px}
.cgs-kp__branch{min-width:0;display:flex;flex-direction:column;align-items:stretch}
.cgs-kp__leaves{display:flex;flex-direction:column;gap:10px;margin-top:44px;padding-left:18px}

.cgs-kp__node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;min-width:0;padding:14px 16px;text-align:left;border:1px solid var(--line-3);border-radius:var(--r-sm);background:var(--paper);cursor:pointer;transition:border-color var(--d2),box-shadow var(--d2),transform var(--d2) var(--e)}
.cgs-kp__node:hover{border-color:var(--ink);transform:translateY(-2px)}
.cgs-kp__node[aria-pressed="true"]{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-wash-2)}
.cgs-kp__node.is-path{border-color:var(--blue-line)}
.cgs-kp__node--star{width:min(100%,420px);padding:18px 22px;background:var(--ink);border-color:var(--ink)}
.cgs-kp__node--star .cgs-kp__lv{color:var(--on-ink-3)}
.cgs-kp__node--star .cgs-kp__nm{color:var(--on-ink);font-size:clamp(1.12rem,1.5vw,1.35rem)}
.cgs-kp__node--star .cgs-kp__tg{color:var(--on-ink-2);border-color:var(--on-ink-line)}
.cgs-kp__node--star[aria-pressed="true"]{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-line)}
.cgs-kp__node--lead{padding:11px 13px;background:var(--paper)}
.cgs-kp__lv{font-family:var(--f);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-d);line-height:1.2}
.cgs-kp__node--lead .cgs-kp__lv{color:var(--faint)}
.cgs-kp__nm{font-family:var(--f-h);font-weight:500;font-size:1.02rem;letter-spacing:-.012em;line-height:1.25;color:var(--ink)}
.cgs-kp__node--lead .cgs-kp__nm{font-size:.92rem}
.cgs-kp__tg{margin-top:2px;padding-top:6px;border-top:1px dashed var(--line-3);align-self:stretch;font-family:var(--f);font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.35}

/* reader */
.cgs-kp__read{position:sticky;top:var(--cgs-sticky);min-width:0;padding:clamp(22px,2.4vw,32px);border-top:3px solid var(--blue);background:var(--paper);box-shadow:var(--sh-1);border-radius:0 0 var(--r) var(--r)}
.cgs-kp__rk{margin:0;font-family:var(--f);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-d)}
.cgs-kp__rt{margin:10px 0 0;font-family:var(--f-h);font-weight:500;font-size:clamp(1.3rem,1.8vw,1.6rem);letter-spacing:-.02em;line-height:1.15;color:var(--ink)}
.cgs-kp__rd{margin:12px 0 0;font-size:var(--t-body);line-height:1.65;color:var(--txt)}
.cgs-kp__read.is-swap :is(.cgs-kp__rt,.cgs-kp__rd,.cgs-kp__spec){animation:cgs-kp-in .5s var(--e)}
@keyframes cgs-kp-in{from{opacity:0;transform:translateY(6px)}}
.cgs-kp__spec{margin:20px 0 0;border-top:1px solid var(--line)}
.cgs-kp__spec div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.cgs-kp__spec dt{font-family:var(--f);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);line-height:1.5}
.cgs-kp__spec dd{margin:0;font-size:var(--t-sm);color:var(--ink);text-align:right;line-height:1.5}
.cgs-kp__spec div:last-child dd{font-family:var(--f);font-size:var(--t-xs)}
.cgs-kp__who{margin:18px 0 0;font-size:var(--t-sm);line-height:1.6;color:var(--muted)}
.cgs-kp__who b{font-weight:600;color:var(--ink)}

@media (max-width:1100px){
  .cgs-kp{grid-template-columns:minmax(0,1fr)}
  .cgs-kp__read{position:static}
}
@media (max-width:760px){
  .cgs-kp__wires{display:none}
  .cgs-kp__row--drivers{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:28px}
  .cgs-kp__leaves{margin-top:10px;padding-left:18px;border-left:1.5px solid var(--line-3)}
  .cgs-kp__branch{padding-top:0}
  .cgs-kp__tree{padding:16px}
}
