.pbs-hero { max-width: 940px; margin-bottom: 56px; }
.pbs-kicker { color: var(--kaki); font: 600 var(--text-2)/1.4 var(--font-mono); letter-spacing: .16em; text-transform: uppercase; }
.pbs-section { max-width: 960px; padding: clamp(34px, 6vw, 68px) 0; border-top: var(--edge) solid var(--line); }
.pbs-section h2 { max-width: 760px; margin: 0 0 var(--space-8); font: 500 clamp(28px, 4vw, 42px)/1.15 var(--font-ui); letter-spacing: -.025em; }
.pbs-section > p, .pbs-section li { max-width: var(--measure); color: var(--muted-2); }
.pbs-section a, .pbs-boundary a { color: var(--kaki); text-underline-offset: 3px; }
.pbs-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-7); margin: var(--space-10) 0; padding: 0; list-style: none; }
.pbs-points li { padding: var(--space-9); border: var(--edge) solid var(--line-2); border-radius: var(--radius-md); background: var(--panel); }
.pbs-points--four { grid-template-columns: repeat(2, 1fr); }
.pbs-points strong { display: block; margin-bottom: var(--space-4); color: var(--fg-strong); }
.pbs-boundary { max-width: 860px; margin: var(--space-10) 0; padding: var(--space-10); border-left: 3px solid var(--kaki); background: var(--raise); }
.pbs-boundary h2 { margin: 0 0 var(--space-5); font: 500 var(--text-10)/1.25 var(--font-ui); }
.pbs-boundary p { margin: 0; color: var(--muted-2); }
.pbs-related { display: grid; grid-template-columns: 1fr auto; gap: var(--space-10); align-items: center; margin-top: 64px; padding: var(--space-10); border-radius: var(--radius-md); background: var(--raise); }
.pbs-related h2, .pbs-related p { margin: 0; }
.pbs-related p { margin-top: var(--space-5); color: var(--muted-2); }
.pbs-actions { display: flex; flex-wrap: wrap; gap: var(--space-6); }
.visual-frame { margin: var(--space-10) 0; padding: clamp(14px, 2vw, 24px); border: var(--edge) solid var(--line-2); border-radius: var(--radius-lg); background: var(--bg-2); overflow: hidden; }
.visual-frame img { display: block; width: 100%; height: auto; }
.visual-frame figcaption { margin-top: var(--space-7); color: var(--muted-2); font-size: var(--text-5); }
.coord-flow { margin: var(--space-10) 0; }
.coord-start, .coord-return { max-width: 520px; margin: auto; padding: var(--space-8); border: var(--edge-2) solid var(--kaki); border-radius: var(--radius-md); background: var(--raise); text-align: center; }
.coord-branch { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.6fr); gap: var(--space-8); margin: var(--space-10) 0; }
.coord-path { padding: var(--space-9); border: var(--edge) solid var(--line-2); border-radius: var(--radius-md); background: var(--panel); }
.coord-path h3 { margin: 0 0 var(--space-5); font: 600 var(--text-8) var(--font-ui); }
.coord-path > p { color: var(--muted-2); }
.coord-steps { margin: var(--space-8) 0 0; padding: 0; list-style: none; counter-reset: coord; }
.coord-steps li { counter-increment: coord; position: relative; margin-top: var(--space-5); padding: var(--space-7) var(--space-7) var(--space-7) 42px; border-left: var(--edge-2) solid var(--line-3); color: var(--muted-2); }
.coord-steps li::before { content: counter(coord, decimal-leading-zero); position: absolute; left: var(--space-7); color: var(--kaki); font: 600 var(--text-2) var(--font-mono); }
.coord-note { display: block; margin-top: var(--space-4); color: var(--muted); font-size: var(--text-3); }
.map { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-7); margin: var(--space-10) 0; }
.map--four { grid-template-columns: repeat(2, 1fr); }
.map--one { grid-template-columns: minmax(0, 1fr); max-width: 620px; }
.map-card { padding: var(--space-9); border: var(--edge) solid var(--line-2); border-radius: var(--radius-md); background: var(--panel); }
.map-card--base { border-top: 3px solid var(--ok); }
.map-card--control { border-top: 3px solid var(--kaki); }
.map-card--services { border-top: 3px solid var(--accent-2); }
.map-card h3 { margin: 0 0 var(--space-5); font: 600 var(--text-8) var(--font-ui); }
.map-card .map-kind { color: var(--muted); font: var(--text-2) var(--font-mono); text-transform: uppercase; letter-spacing: .12em; }
.map-card ul { margin: var(--space-8) 0 0; padding-left: 1.2em; color: var(--muted-2); }
.ownership-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); margin: var(--space-10) 0; }
.shadow-flow { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.25fr); gap: var(--space-6); align-items: center; margin: var(--space-10) 0; }
.shadow-source, .shadow-result { min-height: 112px; padding: var(--space-8); border: var(--edge) solid var(--line-2); border-radius: var(--radius-md); background: var(--panel); }
.shadow-source--owner { border-top: 3px solid var(--kaki); }
.shadow-result { border-top: 3px solid var(--ok); }
.shadow-source strong, .shadow-source span, .shadow-result strong, .shadow-result span { display: block; }
.shadow-source span, .shadow-result span { margin-top: var(--space-4); color: var(--muted-2); }
.shadow-plus, .shadow-arrow { color: var(--kaki); font: 600 var(--text-8) var(--font-mono); }
@media (max-width: 760px) {
  .pbs-points, .map, .coord-branch, .ownership-map { grid-template-columns: 1fr; }
  .shadow-flow { grid-template-columns: 1fr; }
  .shadow-plus, .shadow-arrow { text-align: center; transform: rotate(90deg); }
  .pbs-related { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* A brief you hand over, not one you read: a few visible lines, scroll for the rest. */
.session-brief--compact pre { max-height: 128px; }
