/* Carbon: source quality connects the research, scope decision and working table. */
body { text-rendering: optimizeLegibility; }
img { display: block; width: 100%; height: auto; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 5px; }
.cover :focus-visible { outline-color: var(--on-dark); }
.progress-bar { position: fixed; inset: 0 auto auto 0; height: 2px; width: 0; background: var(--signal); z-index: 100; }
.cover .inner { max-width: var(--content-wide); margin: auto; padding: var(--s-96) var(--gutter) var(--s-80); }
.cover h1 { --cover-title-size: clamp(44px, 6vw, 82px); max-width: none; }
.cover .lede { max-width: 860px; margin-top: var(--s-32); }
.case-tags { display: flex; flex-wrap: wrap; list-style: none; gap: var(--s-8) var(--s-24); margin-top: var(--s-24); font-size: 13px; font-weight: 600; color: var(--on-dark-soft); }
.shift { background: var(--bg); }
.interface { background: var(--sage); }
.takeaway { background: var(--frost); }
.eyebrow { margin-bottom: var(--s-16); }
.h-section { text-wrap: balance; margin-bottom: var(--s-32); }
.research-copy p, .prose-grid p { font-size: var(--body-large-size); line-height: 1.65; }
.prose-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-64); align-items: start; }
.workspace-viewer { margin-top: var(--s-48); }
.viewer-toolbar { display: flex; align-items: start; justify-content: space-between; gap: var(--s-24); margin-bottom: var(--s-20); }
.artifact-label { font-size: 13px; font-weight: 600; letter-spacing: .06em; padding-block: 12px; text-transform: uppercase; }
.viewer-toolbar button { border: 0; border-radius: var(--r-sm); background: var(--primary); color: var(--on-dark); font: 500 17px/1.4 var(--f-body); min-height: 44px; padding: 10px 18px; cursor: pointer; }
.viewer-toolbar button:hover { background: var(--depth); }
.table-viewport { overflow: auto; border-radius: var(--r-sm); background: var(--bg); box-shadow: var(--shadow-media); }
.table-viewport img { max-width: none; }
.table-viewport.is-inspecting { max-height: 680px; }
.table-viewport.is-inspecting img { width: 1680px; }
.workspace-viewer .figure-caption { margin-top: var(--s-24); }
.inspection-hint { margin-bottom: var(--s-16); font-size: 13px; color: var(--text-secondary); }
.journey-map { margin-top: var(--s-48); }
.journey-switch { display: flex; flex-wrap: wrap; gap: var(--s-8); }
.journey-toolbar button { background: var(--surface); color: var(--text-primary); }
.journey-toolbar button[aria-pressed="true"] { background: var(--depth); color: var(--on-dark); }
.journey-toolbar button:hover { box-shadow: inset 0 0 0 2px var(--depth); }
.journey-reading { padding: var(--s-32); background: var(--surface); }
.journey-overview-label, .journey-detail-label, .observation-label { font: 600 13px/1.6 var(--f-body); letter-spacing: .06em; text-transform: uppercase; }
.journey-overview-label { color: var(--text-secondary); margin-bottom: var(--s-24); }
.journey-scroll-hint { display: none; font-size: 13px; color: var(--text-secondary); margin-bottom: var(--s-12); }
.journey-flow { overflow-x: auto; }
.journey-stages { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-24); min-width: 820px; list-style: none; padding-bottom: var(--s-12); }
.journey-stages::before { content: ''; position: absolute; left: 4px; right: calc((100% - 72px) / 4 - 4px); bottom: 16px; height: 1px; background: var(--primary); }
.journey-stages li { position: relative; min-height: 82px; padding-bottom: var(--s-32); font: 700 22px/1.25 var(--f-display); letter-spacing: -.015em; }
.journey-stages li::after { content: ''; position: absolute; left: 0; bottom: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--primary); }
.journey-detail { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: var(--s-48); row-gap: var(--s-24); align-items: start; margin-top: var(--s-32); }
.journey-detail-label { grid-column: 1 / -1; color: var(--primary); }
.journey-detail > img { max-width: 400px; border-radius: var(--r-sm); box-shadow: var(--shadow-media); }
.journey-observations { display: grid; gap: var(--s-32); }
.journey-observation { padding-left: var(--s-20); border-left: 2px solid var(--indigo); }
.observation-label { color: var(--indigo); margin-bottom: var(--s-12); }
.journey-observation > p:not(.observation-label) { font-size: var(--body-large-size); line-height: 1.65; }
.journey-original img { border-radius: var(--r-sm); }
.journey-map > .figure-caption { margin-top: var(--s-24); }
@media (max-width: 1024px) {
  .prose-grid { gap: var(--s-32); }
  .journey-detail { column-gap: var(--s-32); }
}
@media (max-width: 640px) {
  .cover .inner { padding-bottom: var(--s-64); }
  .cover h1 { --cover-title-size: clamp(28px, 9.3vw, 42px); }
  .h-section br { display: none; }
  .cover .lede { margin-top: var(--s-24); }
  .prose-grid { grid-template-columns: 1fr; gap: var(--s-24); }
  .workspace-viewer { margin-top: var(--s-32); }
  .viewer-toolbar { flex-direction: column; gap: var(--s-12); margin-bottom: var(--s-16); }
  .artifact-label { padding-block: 0; }
  .table-viewport.is-inspecting { max-height: 540px; }
  .journey-map { margin-top: var(--s-32); }
  .journey-reading { padding: var(--s-24) var(--s-20); }
  .journey-scroll-hint { display: block; }
  .journey-detail { grid-template-columns: 1fr; margin-top: var(--s-24); }
  .journey-detail > img { max-width: none; }
  .journey-observations { gap: var(--s-24); }
  .journey-observation { padding-left: var(--s-16); }
  .journey-observation > p:not(.observation-label) { font-size: var(--body-size); }
}
@media (prefers-reduced-motion: reduce) { .page-end__arrow { transition: none; } }
