body{--acc:var(--sky)}
  .constellation{width:100%;overflow:visible}
  .constellation .ax{stroke:var(--line)}
  .constellation text{font:500 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;fill:var(--dim)}
  .constellation .a{opacity:0;transition:opacity .8s var(--ease) var(--d)}
  .constellation.in .a{opacity:1}
  .constellation .trace{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease) 1.2s}
  .constellation.in .trace{stroke-dashoffset:0}
  .constellation .tv{opacity:0;transition:opacity .6s 2.2s}
  .constellation.in .tv{opacity:1}
  /* illustrative story: the illustrative portfolio ranked by risk-adjusted value */
  .pboard{margin:0}
  .pboard-h{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line);font:500 12px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
  .pboard-h .nc{text-transform:none;letter-spacing:.04em}
  .pboard-rows{list-style:none;margin:0;padding:0}
  .pboard-rows li{display:grid;grid-template-columns:64px 84px minmax(0,1fr) 64px 16px;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
  .pboard .pa{font-weight:600;color:var(--text);letter-spacing:.01em}
  .pboard .pp{color:var(--muted);font-size:13px;white-space:nowrap}
  .pboard .pb{height:8px;border-radius:4px;background:rgba(255,255,255,.05);overflow:hidden}
  .pboard .pb i{display:block;height:100%;width:var(--w);border-radius:4px;background:var(--f);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease) var(--d)}
  .story.in .pboard .pb i{transform:none}
  .pboard .pv{text-align:right;font-size:15px}
  .pboard .ps{display:grid;place-items:center;width:16px;height:16px}
  .pboard .ps svg,.pboard .k-ok svg{width:14px;height:14px;color:var(--success)}
  .pboard .ps.wip::before{content:"";width:9px;height:9px;border-radius:50%;border:1.5px solid var(--dim)}
  .pboard-key{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:12px;color:var(--muted)}
  .pboard-key span{display:inline-flex;align-items:center;gap:7px}
  .pboard-key span:not(.k-ok)::before{content:"";width:10px;height:4px;border-radius:2px;background:var(--f)}
  @media (max-width:440px){.pboard-rows li{grid-template-columns:58px minmax(0,1fr) 56px 16px;gap:10px}.pboard .pp{display:none}}
  @media (prefers-reduced-motion:reduce){.pboard .pb i{transform:none;transition:none}}
  .story-figs{display:flex;gap:56px;flex-wrap:wrap;margin-top:40px}
  /* illustrative portfolio: franchise colour, bar length (risk-adjusted value) and reveal delay per row */
  .pboard-rows li:nth-child(1){--f:var(--bubblegum);--w:100%;--d:0ms}
  .pboard-rows li:nth-child(2){--f:var(--sky);--w:69%;--d:90ms}
  .pboard-rows li:nth-child(3){--f:var(--coral);--w:60%;--d:180ms}
  .pboard-rows li:nth-child(4){--f:var(--lettuce);--w:40%;--d:270ms}
  .pboard-rows li:nth-child(5){--f:var(--coral);--w:16%;--d:360ms}
  .pboard-rows li:nth-child(6){--f:var(--bubblegum);--w:14%;--d:450ms}
  .pboard-rows li:nth-child(7){--f:var(--lettuce);--w:12%;--d:540ms}
  .pboard-rows li:nth-child(8){--f:var(--sky);--w:6%;--d:630ms}
  .pboard-rows li:nth-child(9){--f:var(--coral);--w:4%;--d:720ms}
  .pboard-key span:nth-child(1){--f:var(--bubblegum)}.pboard-key span:nth-child(2){--f:var(--sky)}
  .pboard-key span:nth-child(3){--f:var(--lettuce)}.pboard-key span:nth-child(4){--f:var(--coral)}
