.page-pbai-update .wrap { max-width: calc(1120px + 2 * var(--gutter)); }
.update-body { max-width: 960px; padding-bottom: 64px; }
.update-intro { margin-top: 28px; max-width: 65ch; font-size: 22px; }
.update-links { display: flex; gap: 12px 24px; flex-wrap: wrap; margin-top: 24px; font: 500 14px/1.5 var(--font-sans); }
.update-controls { display: flex; align-items: center; gap: 12px 20px; flex-wrap: wrap; margin: 24px 0 14px; font: 500 14px/1.5 var(--font-sans); }
.update-controls select { max-width: 100%; min-width: 160px; padding: 9px 12px; border: 1px solid var(--rule-2); color: var(--ink); background: var(--bg); font: inherit; }
.update-price-table { min-width: 640px; }
.update-price-table td:nth-child(2) { text-align: left; max-width: 240px; }
.update-chart { margin: 16px 0 0; border: 1px solid var(--rule); padding: clamp(10px, 2vw, 24px); }
.update-chart svg { width: 100%; height: auto; display: block; }
.update-chart svg text { fill: var(--ink-2); font: 13px var(--font-sans); }
.update-price-line { fill: none; stroke: var(--s1); stroke-width: 3; }
.update-price-dot { fill: var(--s1); }
.update-baseline { stroke: var(--ink-3); stroke-dasharray: 4 4; }
.update-pipeline-row { margin-top: 24px; font: 400 15px/1.5 var(--font-sans); }
.update-pipeline-track { display: flex; height: 32px; margin: 8px 0; background: var(--tint); }
.update-construction { background: var(--s1); }
.update-planned { background: var(--s2); }
.update-projects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.update-project { min-width: 0; padding: 24px; border: 1px solid var(--rule); }
.update-project h3 { margin: 12px 0; font-size: 28px; }
.update-project-capacity { font: 500 40px/1.2 var(--font-sans); }
.update-project-capacity span { font-size: 18px; }
.update-project .tag { margin-top: 16px; white-space: normal; }
.update-project .chain-dl > div { grid-template-columns: 95px minmax(0, 1fr); }
.update-project .viz-note { margin-top: 8px; }
.update-project a, .sources a { overflow-wrap: anywhere; }
.update-callout { padding: 20px 24px; margin-top: 24px; border-left: 3px solid var(--gold); background: var(--tint); }
.update-callout p + p { margin-top: 12px; }
@media (max-width: 640px) {
  .update-chart svg text { font-size: 26px; }
  .update-projects { grid-template-columns: minmax(0, 1fr); }
  .update-project { padding: 20px; }
  .update-controls { display: grid; gap: 8px; }
}
