:root {
  --paper: #f6f2ea;
  --paper-2: #eee9df;
  --white: #fffdfa;
  --ink: #17192f;
  --ink-2: #25283d;
  --text: #4f5361;
  --body: #6f7380;
  --muted: #92959f;
  --line: #d8d7d3;
  --line-2: #e6e2da;
  --purple: #7077ce;
  --purple-pale: #ececf8;
  --lake: #6aa8bb;
  --lake-pale: #e5f0f2;
  --gold: #b58b66;
  --gold-pale: #f1e8de;
  --green: #4f8b7b;
  --green-pale: #e4efeb;
  --rose: #b66f93;
  --rose-pale: #f2e6ec;
  --red: #a75656;
  --sidebar: 248px;
  --topbar: 72px;
  --radius: 8px;
  --font-ui: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; min-height: 100%; color: var(--ink); background: var(--paper); font-synthesis: none; line-break: strict; }
body { margin: 0; min-width: 320px; min-height: 100vh; overflow: hidden; color: var(--ink); background: var(--paper); font: 15px/1.68 var(--font-ui); text-rendering: geometricPrecision; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }
p, h1, h2, h3, h4, dl, dd, dt, figure { margin: 0; }
h1, h2, h3, h4 { line-height: 1.28; text-wrap: balance; }
p, li { text-wrap: pretty; }
button:focus-visible, input:focus-visible, [tabindex]:focus-visible, summary:focus-visible { outline: 2px solid var(--purple); outline-offset: 2px; }
* { scrollbar-width: thin; scrollbar-color: #aaaab1 transparent; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0,1fr); min-height: 100vh; }
.sidebar { position: relative; z-index: 40; height: 100vh; overflow: hidden; display: grid; grid-template-rows: auto minmax(0,1fr) auto; color: #f8f7f3; background: var(--ink); border-right: 1px solid #2d3049; }
.sidebar::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .14; background-image: linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom,rgba(0,0,0,.55),transparent 58%); }
.brand-lockup { position: relative; z-index: 1; display: grid; grid-template-columns: 7px 1fr; gap: 18px; padding: 34px 28px 28px; border-bottom: 1px solid rgba(255,255,255,.11); }
.brand-rule { width: 7px; height: 78px; background: #fff; }
.brand-eyebrow { margin-bottom: 8px; color: #aeb1c1; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.brand-lockup strong { display: block; font-size: 20px; line-height: 1.38; letter-spacing: -.01em; }
.module-nav { position: relative; z-index: 1; overflow: auto; padding: 18px 14px 22px; }
.nav-group-label { padding: 0 14px 9px; color: #85899e; font-size: 10px; font-weight: 700; letter-spacing: .11em; }
.nav-item { position: relative; width: 100%; min-height: 40px; display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; border: 0; border-radius: 5px; padding: 0 12px; color: #c6c8d4; background: transparent; text-align: left; cursor: pointer; transition: color .18s ease,background .18s ease,transform .18s ease; }
.nav-item > span { color: #6f748d; font: 10px/1 var(--font-ui); font-variant-numeric: tabular-nums; }
.nav-item > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 500; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.055); transform: translateX(2px); }
.nav-item.active { color: #fff; background: rgba(255,255,255,.1); }
.nav-item.active::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; background: var(--purple); }
.nav-item.active > span { color: #fff; }
.sidebar-status { position: relative; z-index: 1; margin: 0 14px 16px; padding: 17px 16px 15px; border-top: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.045); }
.status-row { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #6fb59f; box-shadow: 0 0 0 4px rgba(111,181,159,.12); }
.sidebar-status > p { margin: 4px 0 12px 15px; color: #9296aa; font-size: 10px; }
.sidebar-status dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sidebar-status dl div { border-top: 1px solid rgba(255,255,255,.08); padding-top: 8px; }
.sidebar-status dt { color: #7f8499; font-size: 9px; }
.sidebar-status dd { margin-top: 2px; color: #fff; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }

.workspace { min-width: 0; height: 100vh; display: grid; grid-template-rows: var(--topbar) minmax(0,1fr); }
.topbar { position: relative; z-index: 30; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 34px; background: color-mix(in oklch,var(--paper) 92%,white); border-bottom: 1px solid var(--line); }
.breadcrumb { min-width: 0; display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.breadcrumb span { color: var(--muted); font-size: 12px; }
.breadcrumb i { width: 22px; height: 1px; background: var(--line); }
.breadcrumb strong { overflow: hidden; text-overflow: ellipsis; font-size: 13px; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.command-button { min-height: 38px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 5px; padding: 0 12px; color: var(--body); background: var(--white); cursor: pointer; }
kbd { border: 1px solid var(--line); border-bottom-color: #b9bbc5; border-radius: 3px; padding: 0 5px; color: var(--muted); background: #f2f0eb; font: 10px/18px var(--font-ui); }
.source-badge { display: flex; align-items: center; gap: 8px; min-height: 38px; border-left: 1px solid var(--line); padding-left: 14px; color: var(--body); font-size: 11px; }
.source-badge > span { width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
.mobile-menu { display: none; }
.content { min-width: 0; overflow: auto; padding: 34px 38px 52px; }
.view { width: min(1540px,100%); margin: 0 auto; animation: view-in .28s cubic-bezier(.22,.8,.26,1) both; }
@keyframes view-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }

.page-header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px; align-items: end; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.page-kicker { margin-bottom: 7px; color: var(--purple); font-size: 11px; font-weight: 700; letter-spacing: .11em; }
.page-header h1 { max-width: 1060px; font-size: clamp(28px,2.55vw,42px); letter-spacing: -.025em; }
.page-desc { max-width: 980px; margin-top: 9px; color: var(--body); font-size: 15px; line-height: 1.72; }
.button { min-height: 40px; border: 1px solid var(--line); border-radius: 5px; padding: 0 14px; color: var(--text); background: var(--white); cursor: pointer; }
.button:hover { border-color: var(--purple); color: var(--purple); }
.button--ink { border-color: var(--ink); color: #fff; background: var(--ink); }
.button--ink:hover { color: #fff; background: var(--ink-2); }
.surface { border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.section-label { display: flex; align-items: center; gap: 12px; margin: 28px 0 15px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.section-label::after { content: ""; flex: 1; height: 1px; background: var(--line); }

/* Overview */
.overview-hero { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(280px,.72fr); gap: 18px; margin-top: 28px; }
.thesis-panel { position: relative; min-height: 350px; overflow: hidden; padding: 42px 44px 36px; color: #fff; background: var(--ink); border-radius: var(--radius); }
.thesis-panel::after { content: ""; position: absolute; width: 420px; height: 420px; right: -180px; bottom: -270px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018); }
.thesis-panel > small { color: #a9adbe; font: 11px/1 var(--font-ui); letter-spacing: .14em; }
.thesis-panel h2 { position: relative; z-index: 1; max-width: 820px; margin-top: 42px; font-size: clamp(30px,3vw,50px); line-height: 1.24; letter-spacing: -.035em; }
.thesis-panel h2 em { color: #d6b99c; font-style: normal; }
.thesis-panel > p { position: relative; z-index: 1; max-width: 850px; margin-top: 20px; color: #c7cad6; font-size: 16px; }
.thesis-foot { position: absolute; z-index: 1; left: 44px; right: 44px; bottom: 28px; display: flex; justify-content: space-between; gap: 20px; color: #9095aa; font-size: 10px; }
.system-rail { padding: 24px 24px 18px; }
.system-rail h3 { font-size: 16px; }
.rail-row { display: grid; grid-template-columns: 48px 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid var(--line-2); }
.rail-row:first-of-type { margin-top: 18px; }
.rail-row b { color: var(--purple); font: 700 11px/1.4 var(--font-ui); }
.rail-row strong { font-size: 14px; }
.rail-row p { margin-top: 3px; color: var(--body); font-size: 12px; }
.rail-note { margin-top: 14px; padding: 14px; color: var(--body); background: var(--paper); font-size: 11px; }
.metric-run { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.metric-run article { min-height: 112px; padding: 20px 22px; border-right: 1px solid var(--line); }
.metric-run article:last-child { border-right: 0; }
.metric-run strong { display: block; font: 700 31px/1.1 var(--font-ui); }
.metric-run span { display: block; margin-top: 7px; color: var(--body); font-size: 12px; }
.metric-run article:nth-child(3) strong { color: var(--purple); }
.process-trace { display: grid; grid-template-columns: repeat(7,1fr); background: var(--white); border: 1px solid var(--line); }
.process-trace article { position: relative; min-height: 128px; padding: 18px; border-right: 1px solid var(--line); }
.process-trace article:last-child { border-right: 0; }
.process-trace article:not(:last-child)::after { content: ""; position: absolute; z-index: 2; right: -6px; top: 46%; width: 10px; height: 10px; background: var(--white); border-top: 1px solid var(--purple); border-right: 1px solid var(--purple); transform: rotate(45deg); }
.process-trace b { color: var(--purple); font: 700 10px/1 var(--font-ui); }
.process-trace h3 { margin-top: 16px; font-size: 14px; }
.process-trace p { margin-top: 6px; color: var(--body); font-size: 11px; }

/* Continuum */
.continuum-opening { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); margin-top: 28px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.continuum-opening > div { min-height: 250px; padding: 34px 36px 34px 0; border-right: 1px solid var(--ink); }
.continuum-opening small { color: var(--green); font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.continuum-opening h2 { max-width: 850px; margin-top: 24px; font-family: var(--font-ui); font-size: clamp(34px,3.6vw,58px); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
.continuum-opening h2 em { color: var(--gold); font-style: normal; }
.continuum-opening > p { align-self: end; padding: 32px 0 34px 34px; color: var(--text); font-size: 15px; }
.continuum-row { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 28px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.continuum-stage { position: relative; min-height: 245px; border: 0; border-right: 1px solid var(--line); padding: 22px; overflow: hidden; background: transparent; text-align: left; cursor: pointer; }
.continuum-stage:last-child { border-right: 0; }
.continuum-stage::before { content: ""; position: absolute; left: 21px; top: -5px; width: 10px; height: 10px; border-radius: 50%; background: var(--stage); }
.continuum-stage:hover,.continuum-stage.active { background: color-mix(in oklch,var(--stage) 9%,var(--paper)); }
.continuum-stage small { color: var(--muted); font-size: 10px; }
.continuum-stage h3 { margin-top: 22px; font-family: var(--font-ui); font-size: 25px; }
.continuum-stage p { margin-top: 10px; color: var(--body); font-size: 12px; }
.continuum-stage > b { position: absolute; right: 14px; bottom: 4px; color: color-mix(in oklch,var(--stage) 38%,var(--paper)); font: 400 56px/1 var(--font-ui); }
.continuum-detail { display: grid; grid-template-columns: 230px minmax(0,1fr); margin-top: 18px; overflow: hidden; }
.continuum-detail > div:first-child { padding: 24px; color: #fff; background: var(--stage-color,var(--ink)); }
.continuum-detail > div:first-child small { color: rgba(255,255,255,.65); font-size: 9px; letter-spacing: .1em; }
.continuum-detail > div:first-child h3 { margin-top: 18px; font-family: var(--font-ui); font-size: 29px; }
.continuum-actions { display: grid; grid-template-columns: repeat(3,1fr); }
.continuum-actions article { min-height: 132px; padding: 22px; border-right: 1px solid var(--line); }
.continuum-actions article:last-child { border-right: 0; }
.continuum-actions b { color: var(--purple); font-size: 10px; }
.continuum-actions p { margin-top: 18px; color: var(--text); font-size: 13px; }
.continuity-rules { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 18px; }
.continuity-rules article { min-height: 170px; padding: 24px; border-top: 4px solid var(--green); background: var(--white); }
.continuity-rules article:nth-child(2) { border-color: var(--purple); }
.continuity-rules article:nth-child(3) { border-color: var(--gold); }
.continuity-rules small { color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.continuity-rules h3 { margin-top: 26px; font-size: 22px; }
.continuity-rules p { margin-top: 10px; color: var(--body); font-size: 13px; }

/* Architecture */
.architecture-system { margin-top: 28px; overflow: hidden; border: 1px solid var(--ink); background: var(--white); }
.arch-system-title { display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: 34px; align-items: end; min-height: 145px; padding: 28px 30px; color: #fff; background: var(--ink); }
.arch-system-title small { color: #a0a4b6; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.arch-system-title h2 { margin-top: 15px; font-size: clamp(25px,2.2vw,36px); }
.arch-system-title p { padding-left: 22px; color: #c7cad5; border-left: 2px solid var(--gold); font-size: 13px; }
.arch-layer { display: grid; grid-template-columns: 150px minmax(0,1fr); border-top: 1px solid var(--line); }
.arch-layer-label { padding: 22px 18px; color: var(--text); background: var(--paper-2); border-right: 1px solid var(--line); }
.arch-layer-label small { color: var(--muted); font-size: 8px; letter-spacing: .08em; }
.arch-layer-label strong { display: block; margin-top: 10px; font-size: 13px; }
.arch-terminal-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.arch-terminal-grid article { position: relative; min-height: 188px; padding: 22px; border-right: 1px solid var(--line); }
.arch-terminal-grid article:last-child { border-right: 0; }
.arch-terminal-grid article::before { content: ""; position: absolute; left: 21px; right: 21px; top: 0; height: 4px; background: var(--terminal); }
.arch-terminal-grid article::after { content: ""; position: absolute; left: 50%; bottom: -20px; width: 1px; height: 20px; background: var(--terminal); }
.arch-terminal-grid small { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.arch-terminal-grid h3 { margin-top: 22px; font-size: 19px; }
.arch-terminal-grid p { margin-top: 8px; color: var(--body); font-size: 11px; }
.arch-terminal-grid b { display: block; margin-top: 18px; color: var(--terminal); font-size: 10px; font-weight: 600; }
.arch-service-bus { position: relative; display: grid; grid-template-columns: minmax(50px,1fr) auto minmax(50px,1fr); gap: 16px; align-items: center; min-height: 48px; margin-left: 150px; padding: 0 28px; color: var(--body); background: var(--paper); border-top: 1px solid var(--line); }
.arch-service-bus span { height: 1px; background: var(--purple); }
.arch-service-bus p { font-size: 10px; font-weight: 600; letter-spacing: .03em; }
.arch-platform-body { display: grid; grid-template-columns: minmax(210px,.62fr) minmax(0,2.38fr); background: var(--paper); }
.arch-record-core { min-height: 390px; padding: 28px; color: #fff; background: var(--ink-2); }
.arch-record-core > small { color: #979caf; font-size: 8px; letter-spacing: .1em; }
.arch-record-core h3 { margin-top: 42px; font-family: var(--font-ui); font-size: 31px; font-weight: 600; }
.arch-record-core > p { margin-top: 17px; color: #c0c3cf; font-size: 12px; }
.arch-record-core dl { margin-top: 32px; }
.arch-record-core dl div { padding: 11px 0; border-top: 1px solid rgba(255,255,255,.12); }
.arch-record-core dt { color: #858a9e; font-size: 8px; }
.arch-record-core dd { margin-top: 3px; color: #eff0f3; font-size: 11px; }
.arch-business-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.arch-business-grid article { min-height: 130px; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.arch-business-grid small { color: var(--purple); font-size: 8px; }
.arch-business-grid h3 { margin-top: 14px; font-size: 15px; }
.arch-business-grid p { margin-top: 6px; color: var(--body); font-size: 10px; }
.arch-business-grid .arch-bank-capability { background: var(--gold-pale); }
.arch-business-grid .arch-bank-capability small { color: var(--gold); }
.arch-foundation-grid { display: grid; grid-template-columns: repeat(5,1fr); }
.arch-foundation-grid article { min-height: 145px; padding: 20px; border-right: 1px solid var(--line); background: #f8f7f3; }
.arch-foundation-grid article:last-child { border-right: 0; }
.arch-foundation-grid small { color: var(--green); font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.arch-foundation-grid h3 { margin-top: 18px; font-size: 15px; }
.arch-foundation-grid p { margin-top: 7px; color: var(--body); font-size: 10px; }
.arch-foundation-grid .arch-foundation-bank { background: var(--gold-pale); }
.arch-foundation-grid .arch-foundation-bank small { color: var(--gold); }
.arch-integration-grid { display: grid; grid-template-columns: repeat(6,1fr); }
.arch-integration-grid article { min-height: 88px; display: flex; flex-direction: column; justify-content: center; padding: 16px 19px; border-right: 1px solid var(--line); }
.arch-integration-grid article:last-child { border-right: 0; }
.arch-integration-grid small { color: var(--muted); font-size: 8px; letter-spacing: .08em; }
.arch-integration-grid strong { margin-top: 7px; font-size: 12px; }
.arch-integration-grid .arch-integration-bank { background: var(--gold-pale); }
.arch-integration-grid .arch-integration-bank small { color: var(--gold); }
.arch-governance { display: grid; grid-template-columns: 150px minmax(0,1fr); min-height: 82px; color: #fff; background: var(--ink); }
.arch-governance > div { padding: 17px 18px; border-right: 1px solid rgba(255,255,255,.14); }
.arch-governance small { color: #888da1; font-size: 8px; letter-spacing: .08em; }
.arch-governance strong { display: block; margin-top: 6px; font-size: 13px; }
.arch-governance p { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 16px 20px; }
.arch-governance span { border: 1px solid rgba(255,255,255,.16); padding: 6px 10px; color: #c9cbd5; font-size: 10px; }
.architecture-handoffs { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 18px; }
.architecture-handoffs article { min-height: 170px; padding: 24px; border-top: 4px solid var(--purple); background: var(--white); }
.architecture-handoffs article:nth-child(2) { border-color: var(--green); }
.architecture-handoffs article:nth-child(3) { border-color: var(--gold); }
.architecture-handoffs small { color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.architecture-handoffs h3 { margin-top: 20px; font-size: 20px; }
.architecture-handoffs p { margin-top: 9px; color: var(--body); font-size: 12px; }

/* Evidence */
.evidence-story { display: grid; gap: 16px; }
.evidence-figure { margin: 0; padding: 14px; background: var(--white); border: 1px solid var(--line); }
.evidence-button { width: 100%; display: block; border: 0; padding: 0; overflow: hidden; background: #f4f1eb; cursor: zoom-in; }
.evidence-button img { width: 100%; height: auto; }
.evidence-primary .evidence-button { max-height: 680px; }
.evidence-primary .evidence-button img { object-fit: contain; }
.evidence-figure figcaption { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; margin-top: 12px; color: var(--text); font-size: 12px; }
.evidence-figure figcaption b { color: var(--purple); font: 700 9px/1 var(--font-ui); letter-spacing: .08em; }
.evidence-figure figcaption small { color: var(--muted); font-size: 9px; }
.evidence-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }

/* Loop */
.loop-source-row { display: grid; grid-template-columns: 1fr 70px 1fr; align-items: center; gap: 14px; margin-top: 28px; }
.loop-source-row article { min-height: 125px; padding: 22px; border: 1px solid var(--line); background: var(--white); }
.loop-source-row small { color: var(--purple); font-size: 9px; letter-spacing: .1em; }
.loop-source-row h3 { margin-top: 14px; font-size: 18px; }
.loop-source-row p { margin-top: 7px; color: var(--body); font-size: 12px; }
.loop-source-row > span { position: relative; height: 1px; background: var(--lake); }
.loop-source-row > span::after { content: ""; position: absolute; left: 50%; top: -4px; width: 8px; height: 8px; border-radius: 50%; background: var(--lake); }
.loop-track { display: grid; grid-template-columns: repeat(7,1fr); margin-top: 16px; border: 1px solid var(--line); }
.loop-track article { min-height: 142px; padding: 18px; border-right: 1px solid var(--line); background: var(--white); }
.loop-track article:last-child { border-right: 0; }
.loop-track article.is-action { background: var(--purple-pale); }
.loop-track small { color: var(--purple); font-size: 9px; }
.loop-track h3 { margin-top: 18px; font-size: 14px; }
.loop-track p { margin-top: 6px; color: var(--body); font-size: 11px; }
.loop-exceptions { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 18px; }
.loop-exceptions article { min-height: 165px; padding: 24px; border-top: 4px solid var(--lake); background: var(--white); }
.loop-exceptions article:nth-child(2) { border-color: var(--gold); }
.loop-exceptions article:nth-child(3) { border-color: var(--green); }
.loop-exceptions small { color: var(--muted); font-size: 9px; letter-spacing: .08em; }
.loop-exceptions h3 { margin-top: 18px; font-size: 18px; }
.loop-exceptions p { margin-top: 9px; color: var(--body); font-size: 12px; }

/* Programmatic 1:1 business-loop replica */
.logic-replica { position: relative; }
.logic-replica-scroll { --logic-scale: .92; --logic-height: 996px; height: var(--logic-height); overflow: hidden; border: 1px solid var(--line); background: #fff; }
.logic-replica-canvas { position: relative; width: 1210px; height: 1080px; transform: scale(var(--logic-scale)); transform-origin: left top; color: #162033; background: #fff; font-family: var(--font-ui); }
.logic-replica-canvas > h2 { position: absolute; z-index: 4; top: 8px; left: 0; width: 100%; font-size: 22px; font-weight: 800; text-align: center; }
.logic-lane { position: absolute; z-index: 0; border: 1px solid var(--lane-border); background: var(--lane-bg); }
.logic-lane header { height: 36px; display: grid; place-items: center; color: #fff; background: var(--lane-head); font-size: 13px; font-weight: 700; }
.logic-lane--hospital { --lane-head:#2b75d0; --lane-bg:#edf4fd; --lane-border:#c8dbf5; left: 12px; top: 42px; width: 270px; height: 836px; }
.logic-lane--manager { --lane-head:#1194aa; --lane-bg:#eaf8f7; --lane-border:#c5e9e7; left: 298px; top: 42px; width: 498px; height: 836px; }
.logic-lane--patient { --lane-head:#17a44b; --lane-bg:#eefbf2; --lane-border:#cfefd8; left: 812px; top: 42px; width: 386px; height: 648px; }
.logic-lane--carer { --lane-head:#ba5900; --lane-bg:#fff6eb; --lane-border:#f3d2ad; left: 812px; top: 700px; width: 386px; height: 178px; }
.logic-connectors { position: absolute; z-index: 1; left: 0; top: 0; width: 1210px; height: 900px; pointer-events: none; }
.logic-node { position: absolute; z-index: 2; left: var(--x); top: var(--y); width: var(--w); min-height: 56px; display: grid; place-content: center; border: 2px solid var(--node); border-radius: 8px; padding: 8px 11px; background: #fff; text-align: center; }
.logic-node h3 { font-size: 12px; font-weight: 800; line-height: 1.28; }
.logic-node p { margin-top: 3px; color: #6a7484; font-size: 9px; line-height: 1.25; }
.logic-node--hospital { --node:#2b75d0; }
.logic-node--manager { --node:#1194aa; }
.logic-node--patient { --node:#17a44b; }
.logic-node--carer { --node:#ba5900; }
.logic-care-divider { position: absolute; z-index: 2; left: 402px; top: 686px; width: 286px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; color: #ba5900; }
.logic-care-divider span { height: 2px; background: #ba5900; }
.logic-care-divider strong { font-size: 13px; }
.logic-loop-label { position: absolute; z-index: 3; display: flex; align-items: center; gap: 7px; color: var(--loop); font-size: 10px; font-weight: 700; line-height: 1.35; writing-mode: vertical-rl; text-orientation: upright; pointer-events: none; }
.logic-loop-label b { flex: 0 0 auto; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--loop); font-size: 10px; }
.logic-loop-label span { padding: 3px 1px; background: rgba(255,255,255,.76); border-radius: 3px; }
.logic-loop-label--1 { --loop:#2b75d0; left:18px; top:318px; }
.logic-loop-label--2 { --loop:#17a44b; left:715px; top:374px; }
.logic-loop-label--3 { --loop:#ef8d2d; left:1154px; top:308px; }
.logic-loop-label--4 { --loop:#7d45ef; left:320px; top:318px; }
.logic-loop-label--5 { --loop:#ba5900; left:310px; top:692px; }
.logic-loop-label--5 span { height: 132px; max-width: 34px; white-space: normal; word-break: break-all; }
.logic-legend { position: absolute; z-index: 4; left: 18px; top: 900px; width: 1174px; min-height: 158px; border: 1px solid #cfd8e5; border-radius: 8px; padding: 15px 22px; background: #fff; }
.logic-legend > h3 { font-size: 12px; }
.logic-legend-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; row-gap: 7px; margin-top: 10px; }
.logic-legend-grid p { display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: start; color: #475367; font-size: 10px; line-height: 1.45; }
.logic-legend-grid b { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--badge); font-size: 9px; }
.logic-legend-wide { grid-column: 1 / -1; }
.logic-mobile-hint { display: none; margin-top: 8px; color: var(--muted); font-size: 11px; }

/* Responsibility */
.matrix-scroll-hint { display: none; margin-top: 18px; color: var(--muted); font-size: 11px; }
.responsibility-matrix { display: grid; grid-template-columns: 190px repeat(4,minmax(150px,1fr)); margin-top: 28px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.responsibility-matrix > * { min-height: 102px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 18px; }
.matrix-corner,.matrix-head { color: #fff; background: var(--ink); }
.matrix-corner small,.matrix-head small,.matrix-role small { color: #969aac; font-size: 9px; letter-spacing: .08em; }
.matrix-corner strong,.matrix-head strong,.matrix-role strong { display: block; margin-top: 10px; font-size: 14px; }
.matrix-role { background: var(--paper-2); }
.matrix-cell { border-top: 0; border-left: 0; background: var(--white); text-align: left; cursor: pointer; }
.matrix-cell:hover,.matrix-cell.active { background: var(--purple-pale); }
.matrix-cell strong { display: block; font-size: 13px; }
.matrix-cell span { display: block; margin-top: 7px; color: var(--body); font-size: 11px; }
.matrix-detail { display: grid; grid-template-columns: 340px minmax(0,1fr); align-items: center; margin-top: 18px; overflow: hidden; }
.matrix-detail > div { min-height: 112px; padding: 24px; color: #fff; background: var(--ink); }
.matrix-detail small { color: #999eb0; font-size: 9px; letter-spacing: .1em; }
.matrix-detail h3 { margin-top: 15px; font-size: 18px; }
.matrix-detail > p { padding: 24px; color: var(--text); }
.ai-boundary { display: grid; grid-template-columns: 1fr 1fr; margin-top: 18px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.ai-boundary > div { min-height: 160px; padding: 24px; border-right: 1px solid var(--ink); }
.ai-boundary > div:last-child { border-right: 0; }
.ai-boundary small { color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.ai-boundary h3 { margin-top: 24px; font-size: 23px; }
.ai-boundary p { margin-top: 9px; color: var(--body); }

/* PC */
.pc-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 18px; margin-top: 28px; align-items: start; }
.pc-layout > *,.domain-workspace { min-width: 0; }
.domain-nav { position: sticky; top: 0; overflow: hidden; }
.domain-nav > small { display: block; padding: 18px; color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.domain-button { width: 100%; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 3px 10px; border: 0; border-top: 1px solid var(--line); padding: 13px 15px; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.domain-button > span { grid-row: 1/3; color: var(--purple); font-size: 10px; }
.domain-button > strong { font-size: 12px; font-weight: 600; }
.domain-button > small { color: var(--muted); font-size: 9px; }
.domain-button:hover,.domain-button.active { color: #fff; background: var(--ink); }
.domain-button.active > span,.domain-button.active > small { color: #aeb2c3; }
.domain-panel { display: none; }
.domain-panel.active { display: block; animation: view-in .22s ease both; }
.domain-title { padding: 30px; color: #fff; background: var(--ink); border-bottom: 4px solid var(--purple); }
.domain-title small { color: #9ca0b2; font-size: 9px; letter-spacing: .1em; }
.domain-title h2 { margin-top: 16px; font-size: 30px; }
.domain-title p { max-width: 900px; margin-top: 10px; color: #c7cad5; }
.feature-list { margin: 0; padding: 0; list-style: none; border-left: 1px solid var(--line); border-right: 1px solid var(--line); background: var(--white); }
.feature-list li { min-height: 62px; display: grid; grid-template-columns: 58px 1fr; align-items: center; border-bottom: 1px solid var(--line); }
.feature-list span { align-self: stretch; display: grid; place-items: center; color: var(--purple); border-right: 1px solid var(--line); font-size: 10px; }
.feature-list strong { padding: 14px 18px; color: var(--text); font-size: 13px; font-weight: 500; }
.no-image-note { margin-top: 18px; padding: 28px; border: 1px dashed var(--line); background: var(--paper-2); }
.no-image-note small { color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.no-image-note h3 { margin-top: 14px; font-size: 20px; }
.no-image-note p { margin-top: 8px; color: var(--body); }
.all-evidence { margin-top: 18px; overflow: hidden; }
.all-evidence summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 20px; cursor: pointer; list-style: none; }
.all-evidence summary::-webkit-details-marker { display: none; }
.all-evidence summary b { color: var(--purple); font-size: 10px; }
.all-evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 16px; border-top: 1px solid var(--line); background: var(--paper-2); }
.program-replica-complete { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); gap: 24px; align-items: center; margin-top: 18px; padding: 22px 24px; border-top: 4px solid var(--green); }
.program-replica-complete small { color: var(--green); font-size: 9px; font-weight: 700; letter-spacing: .09em; }
.program-replica-complete h3 { margin-top: 8px; font-size: 18px; }
.program-replica-complete p { color: var(--body); font-size: 12px; }

/* Patient & Carer */
.terminal-intro { display: grid; grid-template-columns: minmax(0,1.4fr) 340px; gap: 20px; margin-top: 28px; }
.terminal-intro > div { min-height: 250px; padding: 34px; color: #fff; background: var(--ink); }
.terminal-intro > div small { color: #9b9fb2; font-size: 9px; letter-spacing: .1em; }
.terminal-intro > div h2 { max-width: 850px; margin-top: 34px; font-size: clamp(29px,2.6vw,42px); }
.terminal-intro aside { align-self: end; padding: 26px; border-top: 4px solid var(--lake); background: var(--lake-pale); }
.terminal-intro aside b { font-size: 18px; }
.terminal-intro aside p { margin-top: 9px; color: var(--text); font-size: 13px; }
.terminal-capabilities { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 18px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.terminal-capabilities article { min-height: 108px; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.terminal-capabilities small { color: var(--purple); font-size: 9px; }
.terminal-capabilities h3 { margin-top: 14px; color: var(--text); font-size: 13px; font-weight: 600; }
.patient-system-map { margin-top: 18px; border: 1px solid var(--line); background: var(--white); }
.patient-system-map-head { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); align-items: end; gap: 32px; padding: 28px 30px 24px; border-bottom: 1px solid var(--line); }
.patient-system-map-head small { color: var(--purple); font-size: 9px; font-weight: 700; letter-spacing: .11em; }
.patient-system-map-head h2 { max-width: 760px; margin-top: 12px; font-size: clamp(25px,2.2vw,36px); }
.patient-system-map-head > p { max-width: 520px; justify-self: end; color: var(--body); font-size: 13px; }
.patient-service-stages { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.patient-service-stage { position: relative; min-height: 310px; padding: 24px 22px; border-right: 1px solid var(--line); }
.patient-service-stage:last-child { border-right: 0; }
.patient-service-stage:not(:last-child)::after { content: ""; position: absolute; z-index: 2; top: 48px; right: -6px; width: 10px; height: 10px; border-top: 1px solid var(--stage-color,var(--purple)); border-right: 1px solid var(--stage-color,var(--purple)); background: var(--white); transform: rotate(45deg); }
.patient-service-stage:nth-child(1) { --stage-color:var(--purple); }
.patient-service-stage:nth-child(2) { --stage-color:var(--lake); }
.patient-service-stage:nth-child(3) { --stage-color:var(--green); }
.patient-service-stage:nth-child(4) { --stage-color:var(--gold); }
.patient-service-stage small { color: var(--stage-color); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.patient-service-stage h3 { margin-top: 16px; font-size: 21px; }
.patient-service-stage > p { min-height: 62px; margin-top: 8px; color: var(--body); font-size: 12px; }
.patient-service-stage ul { margin: 16px 0 0; padding: 0; list-style: none; }
.patient-service-stage li { position: relative; border-top: 1px solid var(--line-2); padding: 9px 0 9px 13px; color: var(--text); font-size: 11px; line-height: 1.45; }
.patient-service-stage li::before { content: ""; position: absolute; left: 0; top: 16px; width: 5px; height: 5px; border-radius: 50%; background: var(--stage-color); }
.patient-system-bridge { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border-top: 1px solid var(--ink); background: rgba(255,255,255,.14); }
.patient-system-bridge article { position: relative; min-height: 116px; padding: 22px 24px; color: #fff; background: var(--ink); }
.patient-system-bridge article:nth-child(2) { background: var(--ink-2); }
.patient-system-bridge article:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; top: 43px; right: -13px; width: 26px; height: 26px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; background: var(--ink); font-size: 12px; }
.patient-system-bridge small { color: #969bad; font-size: 9px; letter-spacing: .1em; }
.patient-system-bridge strong { display: block; margin-top: 10px; font-size: 15px; }
.patient-system-bridge p { margin-top: 5px; color: #bfc3d0; font-size: 11px; }
.carer-loop { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 28px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.carer-loop article { min-height: 180px; padding: 24px; border-right: 1px solid var(--line); }
.carer-loop article:last-child { border-right: 0; }
.carer-loop small { color: var(--green); font-size: 10px; }
.carer-loop h3 { margin-top: 22px; font-size: 20px; }
.carer-loop p { margin-top: 9px; color: var(--body); font-size: 12px; }
.carer-capability-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(300px,.7fr); gap: 18px; margin-top: 18px; }
.carer-thesis { padding: 30px; color: #fff; background: var(--ink); }
.carer-thesis small { color: #999db0; font-size: 9px; letter-spacing: .1em; }
.carer-thesis h2 { margin-top: 30px; font-size: 29px; }
.carer-thesis p { margin-top: 16px; color: #c6c9d4; }

/* Bank benefit & reconciliation */
.bank-thesis { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.55fr); margin-top: 28px; color: #fff; background: var(--ink); }
.bank-thesis > div { min-height: 310px; padding: 38px; }
.bank-thesis > div small,.bank-thesis aside > small { color: #a3a7b8; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.bank-thesis > div h2 { max-width: 900px; margin-top: 38px; font-size: clamp(30px,3vw,47px); }
.bank-thesis > div p { max-width: 880px; margin-top: 18px; color: #c8cad5; }
.bank-thesis aside { padding: 30px; border-left: 1px solid rgba(255,255,255,.17); background: #22263c; }
.bank-thesis aside h3 { margin-top: 32px; font-size: 24px; }
.bank-thesis aside dl { margin-top: 30px; }
.bank-thesis aside dl div { display: grid; grid-template-columns: 70px 1fr; gap: 14px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.14); }
.bank-thesis aside dt { color: #989daf; font-size: 10px; }
.bank-thesis aside dd { color: #ecedf1; font-size: 12px; }
.bank-chain { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 18px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.bank-chain article { position: relative; min-height: 190px; padding: 23px; border-right: 1px solid var(--line); }
.bank-chain article:last-child { border-right: 0; }
.bank-chain article:not(:last-child)::after { content: ""; position: absolute; z-index: 2; top: 49%; right: -6px; width: 10px; height: 10px; background: var(--paper); border-top: 1px solid var(--gold); border-right: 1px solid var(--gold); transform: rotate(45deg); }
.bank-chain small { color: var(--gold); font-size: 9px; letter-spacing: .08em; }
.bank-chain h3 { margin-top: 25px; font-size: 19px; }
.bank-chain p { margin-top: 9px; color: var(--body); font-size: 12px; }
.bank-delivery-map { border: 1px solid var(--line); background: var(--white); }
.bank-delivery-map-head { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); align-items: end; gap: 30px; padding: 26px 28px 22px; border-bottom: 1px solid var(--line); }
.bank-delivery-map-head small { color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.bank-delivery-map-head h2 { margin-top: 11px; font-size: clamp(24px,2.1vw,34px); }
.bank-delivery-map-head > p { max-width: 520px; justify-self: end; color: var(--body); font-size: 13px; }
.bank-flow-grid { display: grid; grid-template-columns: .9fr 1.08fr 1.28fr 1.05fr; }
.bank-flow-column { position: relative; min-width: 0; border-right: 1px solid var(--line); background: #fff; }
.bank-flow-column:last-child { border-right: 0; }
.bank-flow-column > header { min-height: 38px; display: grid; place-items: center; color: #fff; background: var(--flow-color); font-size: 12px; font-weight: 700; }
.bank-flow-column--bank { --flow-color:#b58b66; background: #faf5ef; }
.bank-flow-column--platform { --flow-color:#1194aa; background: #eef8f7; }
.bank-flow-column--route { --flow-color:#7077ce; background: #f1f0fa; }
.bank-flow-column--delivery { --flow-color:#4f8b7b; background: #eff7f3; }
.bank-flow-column:not(:last-child)::after { content: "→"; position: absolute; z-index: 3; top: 49%; right: -14px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: var(--white); font-size: 12px; }
.bank-flow-stack { display: grid; gap: 20px; padding: 24px 20px; }
.bank-flow-stack article { position: relative; min-height: 98px; display: grid; align-content: center; border: 1px solid color-mix(in oklch,var(--flow-color) 58%,white); border-radius: 7px; padding: 16px; background: rgba(255,255,255,.88); text-align: center; }
.bank-flow-stack article:not(:last-child)::after { content: "↓"; position: absolute; left: 50%; bottom: -21px; color: var(--flow-color); font-size: 13px; transform: translateX(-50%); }
.bank-flow-stack small,.bank-flow-branches small,.bank-flow-sync small { color: var(--flow-color); font-size: 8px; font-weight: 700; letter-spacing: .09em; }
.bank-flow-stack h3,.bank-flow-branches h3 { margin-top: 7px; font-size: 14px; }
.bank-flow-stack p,.bank-flow-branches p { margin-top: 4px; color: var(--body); font-size: 10px; line-height: 1.45; }
.bank-flow-branches { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 24px 18px 14px; }
.bank-flow-branches article { min-height: 210px; border: 1px solid color-mix(in oklch,var(--flow-color) 60%,white); border-radius: 7px; padding: 20px 16px; background: rgba(255,255,255,.9); }
.bank-flow-branches article:nth-child(2) { --flow-color:#b58b66; }
.bank-flow-branches b { display: block; margin-top: 24px; border-top: 1px solid var(--line-2); padding-top: 13px; color: var(--text); font-size: 10px; line-height: 1.55; }
.bank-flow-sync { margin: 0 18px 24px; border: 1px dashed var(--purple); border-radius: 7px; padding: 15px 17px; background: rgba(255,255,255,.68); }
.bank-flow-sync strong { display: block; margin-top: 5px; color: var(--text); font-size: 11px; line-height: 1.5; }
.bank-flow-return { display: grid; grid-template-columns: 1fr 34px 1fr 34px 1fr 34px 1fr 34px 1fr; align-items: center; border-top: 1px solid var(--line); padding: 16px 20px; background: var(--ink); }
.bank-flow-return article { min-width: 0; text-align: center; }
.bank-flow-return small { display: block; color: #aaaec0; font-size: 8px; }
.bank-flow-return strong { display: block; margin-top: 4px; color: #fff; font-size: 11px; }
.bank-flow-return > span { height: 1px; background: #6d7184; }
.bank-flow-return > span::after { content: ""; display: block; width: 6px; height: 6px; margin: -3px 0 0 auto; border-top: 1px solid #bfc2ce; border-right: 1px solid #bfc2ce; transform: rotate(45deg); }
.bank-capability-grid { display: grid; grid-template-columns: repeat(2,1fr); margin-top: 18px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.bank-capability-grid article { min-height: 132px; display: grid; grid-template-columns: 42px minmax(150px,.48fr) minmax(0,1fr); gap: 18px; align-items: center; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.bank-capability-grid small { color: var(--gold); font-size: 10px; }
.bank-capability-grid h3 { font-size: 17px; }
.bank-capability-grid p { color: var(--body); font-size: 12px; }
.reconciliation-model { display: grid; grid-template-columns: minmax(240px,1fr) minmax(310px,.8fr) minmax(240px,1fr); align-items: stretch; border: 1px solid var(--line); background: var(--white); }
.recon-ledger { min-height: 290px; padding: 30px; }
.recon-ledger:first-child { border-right: 1px solid var(--line); }
.recon-ledger:last-child { border-left: 1px solid var(--line); }
.recon-ledger small { color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.recon-ledger h3 { margin-top: 24px; font-size: 24px; }
.recon-ledger ul { margin: 28px 0 0; padding: 0; list-style: none; }
.recon-ledger li { padding: 11px 0; border-top: 1px solid var(--line-2); color: var(--text); font-size: 13px; }
.recon-engine { position: relative; display: grid; place-content: center; min-height: 290px; padding: 30px; overflow: hidden; color: #fff; background: var(--ink); text-align: center; }
.recon-engine > span { position: absolute; width: 160px; height: 160px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }
.recon-engine > span:first-child { top: -95px; left: -70px; }
.recon-engine > span:last-child { right: -75px; bottom: -105px; }
.recon-engine small { color: #a3a7b9; font-size: 9px; letter-spacing: .12em; }
.recon-engine h2 { margin-top: 18px; font-size: 34px; }
.recon-engine b { max-width: 250px; margin-top: 19px; color: #bfc2ce; font-size: 10px; font-weight: 500; }
.recon-status { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 18px; overflow: hidden; }
.recon-status article { min-height: 160px; padding: 22px; border-right: 1px solid var(--line); }
.recon-status article:last-child { border-right: 0; }
.recon-status small { color: var(--gold); font-size: 10px; }
.recon-status h3 { margin-top: 20px; font-size: 18px; }
.recon-status p { margin-top: 8px; color: var(--body); font-size: 12px; }

/* AI */
.ai-thesis { display: grid; grid-template-columns: 1fr 1fr; margin-top: 28px; border: 1px solid var(--ink); }
.ai-thesis > div { min-height: 230px; padding: 32px; color: #fff; background: var(--ink); }
.ai-thesis > div:last-child { color: var(--ink); background: var(--white); }
.ai-thesis small { color: #9ca0b3; font-size: 9px; letter-spacing: .12em; }
.ai-thesis > div:last-child small { color: var(--green); }
.ai-thesis h2 { margin-top: 48px; font-size: clamp(26px,2.5vw,39px); }
.ai-list { margin-top: 18px; border-top: 1px solid var(--line); }
.ai-list article { min-height: 96px; display: grid; grid-template-columns: 76px minmax(0,1fr); border-bottom: 1px solid var(--line); }
.ai-list > article > b { display: grid; place-items: center; color: var(--purple); border-right: 1px solid var(--line); font-size: 10px; }
.ai-list > article > div { display: grid; grid-template-columns: minmax(220px,.75fr) minmax(0,1.25fr); gap: 24px; align-items: center; padding: 18px 22px; }
.ai-list h3 { font-size: 16px; }
.ai-list p { color: var(--body); font-size: 13px; }
.traceability { margin-top: 18px; padding: 30px; color: #fff; background: var(--ink); }
.traceability > small { color: #9da1b4; font-size: 9px; letter-spacing: .12em; }
.traceability > h2 { max-width: 850px; margin-top: 17px; font-size: 30px; }
.traceability > div { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 28px; border-top: 1px solid rgba(255,255,255,.17); }
.traceability article { min-height: 115px; padding: 18px; border-right: 1px solid rgba(255,255,255,.15); }
.traceability article:last-child { border-right: 0; }
.traceability b { color: #9da2b5; font-size: 9px; }
.traceability span { display: block; margin-top: 16px; color: #e0e1e7; font-size: 13px; }

/* Ecosystem */
.ecosystem-flow { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 28px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.ecosystem-flow article { position: relative; min-height: 205px; padding: 24px; border-right: 1px solid var(--line); }
.ecosystem-flow article:last-child { border-right: 0; }
.ecosystem-flow article:not(:last-child)::after { content: ""; position: absolute; z-index: 2; top: 50%; right: -6px; width: 10px; height: 10px; background: var(--paper); border-top: 1px solid var(--gold); border-right: 1px solid var(--gold); transform: rotate(45deg); }
.ecosystem-flow small { color: var(--gold); font-size: 9px; letter-spacing: .1em; }
.ecosystem-flow h3 { margin-top: 24px; font-size: 20px; }
.ecosystem-flow p { margin-top: 10px; color: var(--body); font-size: 12px; }
.ecosystem-boundary { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.ecosystem-boundary article { min-height: 180px; padding: 26px; border-top: 4px solid var(--purple); background: var(--white); }
.ecosystem-boundary article:last-child { border-color: var(--gold); }
.ecosystem-boundary small { color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.ecosystem-boundary h3 { margin-top: 22px; font-size: 22px; }
.ecosystem-boundary p { margin-top: 9px; color: var(--body); }

/* Safety */
.security-thesis { display: grid; grid-template-columns: minmax(0,1.4fr) 300px; min-height: 280px; margin-top: 28px; overflow: hidden; color: #fff; background: var(--ink); }
.security-thesis > div:first-child { padding: 38px; }
.security-thesis small { color: #9ca1b3; font-size: 9px; letter-spacing: .1em; }
.security-thesis h2 { max-width: 850px; margin-top: 34px; font-size: clamp(31px,3vw,48px); }
.security-thesis p { max-width: 850px; margin-top: 16px; color: #c6c9d5; }
.security-ring { position: relative; display: grid; place-items: center; overflow: hidden; border-left: 1px solid rgba(255,255,255,.16); }
.security-ring::before { content: ""; position: absolute; width: 230px; height: 230px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 0 0 36px rgba(255,255,255,.035),0 0 0 72px rgba(255,255,255,.02); }
.security-ring b,.security-ring span { position: absolute; z-index: 1; }
.security-ring b { margin-top: -18px; font-size: 30px; }
.security-ring span { margin-top: 35px; color: #9ca1b3; font-size: 9px; letter-spacing: .18em; }
.security-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 18px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.security-grid article { min-height: 210px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.security-grid small { color: var(--purple); font-size: 9px; letter-spacing: .08em; }
.security-grid h3 { margin-top: 24px; font-size: 19px; }
.security-grid p { margin-top: 9px; color: var(--body); font-size: 12px; }
.integration-contract { display: grid; grid-template-columns: 1fr 60px 1fr 60px 1fr; align-items: center; margin-top: 18px; border: 1px solid var(--line); background: var(--white); }
.integration-contract > div { min-height: 130px; padding: 24px; }
.integration-contract > span { position: relative; height: 1px; background: var(--lake); }
.integration-contract > span::after { content: ""; position: absolute; right: 0; top: -4px; width: 8px; height: 8px; border-top: 1px solid var(--lake); border-right: 1px solid var(--lake); transform: rotate(45deg); }
.integration-contract small { color: var(--muted); font-size: 9px; letter-spacing: .08em; }
.integration-contract h3 { margin-top: 18px; font-size: 17px; }
.assurance-list { margin-top: 18px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.assurance-list article { min-height: 110px; display: grid; grid-template-columns: 90px 1fr; border-bottom: 1px solid var(--line); }
.assurance-list article:last-child { border-bottom: 0; }
.assurance-list > article > b { display: grid; place-items: center; color: var(--green); border-right: 1px solid var(--line); font-size: 10px; }
.assurance-list > article > div { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 28px; align-items: center; padding: 20px 24px; }
.assurance-list h3 { font-size: 18px; }
.assurance-list p { color: var(--body); font-size: 13px; }

/* Roadmap */
.roadmap-track { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 28px; }
.roadmap-track article { min-height: 320px; padding: 28px; border: 1px solid var(--line); background: var(--white); cursor: pointer; }
.roadmap-track article:hover,.roadmap-track article.active { color: #fff; background: var(--ink); border-color: var(--ink); }
.roadmap-track article > div { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.roadmap-track article.active > div,.roadmap-track article:hover > div { border-color: rgba(255,255,255,.2); }
.roadmap-track small { color: var(--purple); font-size: 9px; letter-spacing: .1em; }
.roadmap-track b { color: var(--muted); font-size: 11px; }
.roadmap-track h2 { margin-top: 52px; font-size: 27px; }
.roadmap-track p { margin-top: 17px; color: var(--body); font-size: 13px; }
.roadmap-track article:hover p,.roadmap-track article.active p { color: #c7cad5; }
.roadmap-detail { display: grid; grid-template-columns: 390px minmax(0,1fr); margin-top: 18px; overflow: hidden; }
.roadmap-detail > div { padding: 25px; background: var(--green-pale); }
.roadmap-detail small { color: var(--green); font-size: 9px; letter-spacing: .1em; }
.roadmap-detail h3 { margin-top: 15px; font-size: 20px; }
.roadmap-detail > p { padding: 26px; color: var(--text); }
.roadmap-bank-workstream { margin-top: 18px; border: 1px solid var(--ink); background: var(--white); }
.roadmap-bank-workstream > header { display: grid; grid-template-columns: minmax(330px,.9fr) minmax(0,1.1fr); gap: 28px; align-items: end; padding: 26px 28px; color: #fff; background: var(--ink); }
.roadmap-bank-workstream > header small { color: #aeb2c3; font-size: 9px; letter-spacing: .11em; }
.roadmap-bank-workstream > header h2 { max-width: 620px; margin-top: 10px; font-size: 25px; }
.roadmap-bank-workstream > header p { color: #c7cad5; font-size: 12px; }
.roadmap-bank-workstream > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.roadmap-bank-workstream article { min-height: 330px; padding: 26px 28px; border-right: 1px solid var(--line); }
.roadmap-bank-workstream article:last-child { border-right: 0; }
.roadmap-bank-workstream article > span { color: var(--purple); font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.roadmap-bank-workstream article:nth-child(2) > span { color: var(--green); }
.roadmap-bank-workstream article h3 { margin-top: 16px; font-size: 23px; }
.roadmap-bank-workstream article ul { display: grid; gap: 9px; margin: 20px 0 0; padding-left: 18px; color: var(--body); font-size: 12px; }
.roadmap-bank-workstream article b { display: block; margin-top: 22px; border-top: 1px solid var(--line); padding-top: 16px; color: var(--text); font-size: 11px; }
.roadmap-principles { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 18px; }
.roadmap-principles article { min-height: 170px; padding: 24px; border-top: 4px solid var(--purple); background: var(--white); }
.roadmap-principles article:nth-child(2) { border-color: var(--green); }
.roadmap-principles article:nth-child(3) { border-color: var(--gold); }
.roadmap-principles small { color: var(--muted); font-size: 9px; letter-spacing: .1em; }
.roadmap-principles h3 { margin-top: 22px; font-size: 20px; }
.roadmap-principles p { margin-top: 9px; color: var(--body); font-size: 12px; }
.closing-statement { margin-top: 18px; padding: 42px; color: #fff; background: var(--ink); }
.closing-statement small { color: #9da1b4; font-size: 9px; letter-spacing: .12em; }
.closing-statement h2 { max-width: 1000px; margin-top: 26px; font-size: clamp(30px,3vw,46px); }
.closing-statement p { max-width: 1000px; margin-top: 16px; color: #c7cad5; }

/* Palette, sidebar mobile, lightbox */
.command-palette { position: fixed; z-index: 100; inset: 0; display: grid; place-items: start center; padding-top: 12vh; }
.palette-backdrop { position: absolute; inset: 0; border: 0; background: rgba(15,17,31,.62); backdrop-filter: blur(4px); }
.palette-panel { position: relative; z-index: 1; width: min(620px,calc(100vw - 32px)); overflow: hidden; border: 1px solid #c8c9d1; border-radius: 9px; background: var(--white); box-shadow: 0 30px 90px rgba(15,17,31,.24); }
.palette-input-wrap { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 15px 17px; border-bottom: 1px solid var(--line); }
.palette-input-wrap input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 16px; }
.palette-results { max-height: 430px; overflow: auto; padding: 8px; }
.palette-result { width: 100%; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; border: 0; border-radius: 5px; padding: 12px; color: var(--text); background: transparent; text-align: left; cursor: pointer; }
.palette-result:hover,.palette-result.active { color: #fff; background: var(--ink); }
.palette-result span { color: var(--purple); font-size: 10px; }
.palette-result b { font-size: 13px; }
.palette-result small { color: var(--muted); font-size: 9px; }
.lightbox { width: min(96vw,1560px); max-width: none; max-height: 94vh; border: 0; padding: 0; background: transparent; }
.lightbox::backdrop { background: rgba(10,12,23,.86); backdrop-filter: blur(4px); }
.lightbox figure { position: relative; overflow: auto; max-height: 94vh; padding: 42px 18px 18px; color: #fff; background: #11131f; }
.lightbox img { width: auto; max-width: 100%; max-height: calc(94vh - 92px); margin: 0 auto; }
.lightbox figcaption { margin-top: 12px; color: #c9cbd5; text-align: center; font-size: 12px; }
.lightbox-close { position: fixed; z-index: 2; top: calc(3vh + 8px); right: calc(2vw + 8px); border: 1px solid rgba(255,255,255,.3); border-radius: 5px; padding: 8px 13px; color: #fff; background: rgba(0,0,0,.5); cursor: pointer; }
.sidebar-backdrop { display: none; }

@media (max-width: 1180px) {
  .process-trace,.loop-track { grid-template-columns: repeat(4,1fr); }
  .process-trace article,.loop-track article { border-bottom: 1px solid var(--line); }
  .process-trace article:nth-child(4n),.loop-track article:nth-child(4n) { border-right: 0; }
  .process-trace article::after { display: none; }
  .terminal-capabilities { grid-template-columns: repeat(3,1fr); }
  .responsibility-matrix { grid-template-columns: 170px repeat(4,minmax(130px,1fr)); }
  .continuum-stage { min-height: 270px; }
  .arch-terminal-grid article { padding: 19px; }
  .arch-platform-body { grid-template-columns: 210px minmax(0,1fr); }
  .bank-capability-grid article { grid-template-columns: 36px 1fr; }
  .bank-capability-grid article p { grid-column: 2; }
}

@media (max-width: 960px) {
  body { overflow: auto; }
  .app-shell { display: block; min-height: 100vh; }
  .sidebar { position: fixed; top: 0; bottom: 0; left: 0; width: min(82vw,300px); height: 100vh; transform: translateX(-102%); transition: transform .22s ease; box-shadow: 20px 0 60px rgba(10,12,22,.24); }
  .sidebar.open { transform: translateX(0); }
  .sidebar-backdrop { position: fixed; z-index: 35; inset: 0; display: block; border: 0; background: rgba(12,14,25,.55); }
  .workspace { height: auto; min-height: 100vh; display: block; }
  .topbar { position: sticky; top: 0; z-index: 30; height: 64px; padding: 0 18px; }
  .mobile-menu { width: 36px; height: 36px; display: grid; place-content: center; gap: 5px; border: 1px solid var(--line); border-radius: 5px; background: var(--white); }
  .mobile-menu span { width: 16px; height: 1px; background: var(--ink); }
  .breadcrumb span,.breadcrumb i { display: none; }
  .source-badge { display: none; }
  .command-button span { display: none; }
  .content { overflow: visible; padding: 24px 18px 46px; }
  .page-header { display: block; }
  .page-header .button { margin-top: 16px; }
  .page-header h1 { font-size: clamp(28px,8vw,40px); }
  .overview-hero,.continuum-opening,.terminal-intro,.carer-capability-layout,.bank-thesis,.security-thesis { grid-template-columns: 1fr; }
  .thesis-panel { min-height: 420px; padding: 30px; }
  .thesis-foot { left: 30px; right: 30px; }
  .metric-run { grid-template-columns: 1fr 1fr; }
  .metric-run article:nth-child(2) { border-right: 0; }
  .process-trace,.loop-track { grid-template-columns: 1fr 1fr; }
  .process-trace article:nth-child(2n),.loop-track article:nth-child(2n) { border-right: 0; }
  .continuum-opening > div { min-height: auto; padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--ink); }
  .continuum-opening > p { padding: 26px 0; }
  .continuum-row { grid-template-columns: 1fr; }
  .continuum-stage { min-height: 145px; border-right: 0; border-bottom: 1px solid var(--line); }
  .continuum-stage:last-child { border-bottom: 0; }
  .continuum-detail { grid-template-columns: 1fr; }
  .continuum-actions { grid-template-columns: 1fr; }
  .continuum-actions article { border-right: 0; border-bottom: 1px solid var(--line); }
  .continuity-rules,.loop-exceptions,.roadmap-track,.roadmap-principles,.roadmap-bank-workstream > header,.roadmap-bank-workstream > div,.architecture-handoffs { grid-template-columns: 1fr; }
  .roadmap-bank-workstream article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .roadmap-bank-workstream article:last-child { border-bottom: 0; }
  .arch-system-title { grid-template-columns: 1fr; align-items: start; }
  .arch-system-title p { padding: 0; border-left: 0; }
  .arch-layer { grid-template-columns: 1fr; }
  .arch-layer-label { border-right: 0; border-bottom: 1px solid var(--line); }
  .arch-layer-label strong { margin-top: 4px; }
  .arch-service-bus { margin-left: 0; }
  .arch-terminal-grid { grid-template-columns: 1fr 1fr; }
  .arch-terminal-grid article { border-bottom: 1px solid var(--line); }
  .arch-terminal-grid article:nth-child(2n) { border-right: 0; }
  .arch-terminal-grid article::after { display: none; }
  .arch-platform-body { grid-template-columns: 1fr; }
  .arch-record-core { min-height: 300px; }
  .arch-business-grid { grid-template-columns: 1fr 1fr; }
  .arch-foundation-grid { grid-template-columns: 1fr 1fr; }
  .arch-foundation-grid article { border-bottom: 1px solid var(--line); }
  .arch-foundation-grid article:nth-child(2n) { border-right: 0; }
  .arch-integration-grid { grid-template-columns: repeat(3,1fr); }
  .arch-integration-grid article { border-bottom: 1px solid var(--line); }
  .arch-integration-grid article:nth-child(3n) { border-right: 0; }
  .arch-governance { grid-template-columns: 1fr; }
  .arch-governance > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .evidence-detail-grid,.all-evidence-grid { grid-template-columns: 1fr; }
  .loop-source-row { grid-template-columns: 1fr; }
  .loop-source-row > span { display: none; }
  .responsibility-matrix { grid-template-columns: 128px repeat(4,minmax(150px,1fr)); overflow-x: auto; }
  .matrix-scroll-hint { display: block; }
  .matrix-scroll-hint + .responsibility-matrix { margin-top: 9px; }
  .matrix-detail,.roadmap-detail { grid-template-columns: 1fr; }
  .ai-boundary,.ai-thesis,.ecosystem-boundary { grid-template-columns: 1fr; }
  .ai-boundary > div,.ai-thesis > div { border-right: 0; border-bottom: 1px solid var(--ink); }
  .pc-layout { grid-template-columns: 1fr; }
  .domain-nav { position: static; display: flex; overflow-x: auto; border-radius: 0; }
  .domain-nav > small { display: none; }
  .domain-button { min-width: 180px; border-top: 0; border-right: 1px solid var(--line); }
  .terminal-capabilities { grid-template-columns: 1fr 1fr; }
  .patient-system-map-head { grid-template-columns: 1fr; align-items: start; }
  .patient-system-map-head > p { justify-self: start; }
  .patient-service-stages { grid-template-columns: 1fr 1fr; }
  .patient-service-stage { border-bottom: 1px solid var(--line); }
  .patient-service-stage:nth-child(2n) { border-right: 0; }
  .patient-service-stage:nth-last-child(-n+2) { border-bottom: 0; }
  .patient-service-stage::after { display: none; }
  .patient-system-bridge { grid-template-columns: 1fr; }
  .patient-system-bridge article:not(:last-child)::after { content: "↓"; top: auto; right: 24px; bottom: -13px; }
  .carer-loop,.ecosystem-flow,.security-grid { grid-template-columns: 1fr 1fr; }
  .carer-loop article:nth-child(2n),.ecosystem-flow article:nth-child(2n) { border-right: 0; }
  .ecosystem-flow article::after { display: none; }
  .ai-list > article > div,.assurance-list > article > div { grid-template-columns: 1fr; gap: 8px; }
  .traceability > div { grid-template-columns: 1fr 1fr; }
  .integration-contract { grid-template-columns: 1fr; }
  .integration-contract > span { height: 30px; width: 1px; justify-self: center; }
  .integration-contract > span::after { top: auto; right: -4px; bottom: 0; transform: rotate(135deg); }
  .security-ring { min-height: 260px; border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .logic-replica-scroll { overflow-x: auto; }
  .logic-mobile-hint { display: block; }
  .bank-thesis aside { border-left: 0; border-top: 1px solid rgba(255,255,255,.17); }
  .bank-chain { grid-template-columns: 1fr; }
  .bank-chain article { min-height: 145px; border-right: 0; border-bottom: 1px solid var(--line); }
  .bank-chain article:last-child { border-bottom: 0; }
  .bank-chain article::after { display: none; }
  .bank-delivery-map-head { grid-template-columns: 1fr; align-items: start; }
  .bank-delivery-map-head > p { justify-self: start; }
  .bank-flow-grid { grid-template-columns: 1fr 1fr; }
  .bank-flow-column { border-bottom: 1px solid var(--line); }
  .bank-flow-column:nth-child(2n) { border-right: 0; }
  .bank-flow-column::after { display: none !important; }
  .bank-flow-return { grid-template-columns: 1fr; gap: 0; }
  .bank-flow-return > span { width: 1px; height: 20px; justify-self: center; }
  .bank-flow-return > span::after { margin: auto auto 0 -3px; transform: rotate(135deg); }
  .bank-flow-return article { padding: 8px 0; }
  .bank-capability-grid { grid-template-columns: 1fr; }
  .reconciliation-model { grid-template-columns: 1fr; }
  .recon-ledger:first-child,.recon-ledger:last-child { border-left: 0; border-right: 0; }
  .recon-ledger:first-child { border-bottom: 1px solid var(--line); }
  .recon-ledger:last-child { border-top: 1px solid var(--line); }
  .recon-status { grid-template-columns: 1fr 1fr; }
  .recon-status article:nth-child(2) { border-right: 0; }
  .recon-status article { border-bottom: 1px solid var(--line); }
  .recon-status article:nth-last-child(-n+2) { border-bottom: 0; }
}

@media (max-width: 560px) {
  .topbar-actions { gap: 0; }
  .metric-run,.process-trace,.loop-track,.terminal-capabilities,.carer-loop,.ecosystem-flow,.security-grid,.recon-status { grid-template-columns: 1fr; }
  .metric-run article,.process-trace article,.loop-track article,.terminal-capabilities article,.carer-loop article,.ecosystem-flow article,.security-grid article,.recon-status article { border-right: 0; }
  .thesis-panel h2 { font-size: 31px; }
  .thesis-foot { display: block; }
  .thesis-foot span { display: block; margin-top: 4px; }
  .continuum-opening h2 { font-size: 37px; }
  .arch-system-title { padding: 24px 20px; }
  .arch-terminal-grid,.arch-business-grid,.arch-foundation-grid,.arch-integration-grid { grid-template-columns: 1fr; }
  .arch-terminal-grid article,.arch-business-grid article,.arch-foundation-grid article,.arch-integration-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .arch-service-bus { grid-template-columns: 1fr; padding: 12px 20px; text-align: center; }
  .arch-service-bus span { display: none; }
  .arch-record-core { padding: 25px 22px; }
  .arch-governance p { align-items: stretch; }
  .arch-governance span { width: 100%; }
  .responsibility-matrix { grid-template-columns: 120px repeat(4,150px); }
  .domain-title { padding: 25px 20px; }
  .terminal-intro > div { padding: 26px 22px; }
  .patient-system-map-head { padding: 24px 20px; }
  .patient-service-stages { grid-template-columns: 1fr; }
  .patient-service-stage { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); padding: 22px 20px; }
  .patient-service-stage:nth-last-child(-n+2) { border-bottom: 1px solid var(--line); }
  .patient-service-stage:last-child { border-bottom: 0; }
  .patient-service-stage > p { min-height: auto; }
  .bank-delivery-map-head { padding: 24px 20px; }
  .bank-flow-grid { grid-template-columns: 1fr; }
  .bank-flow-column { border-right: 0; }
  .bank-flow-branches { grid-template-columns: 1fr; }
  .bank-flow-branches article { min-height: auto; }
  .traceability > div { grid-template-columns: 1fr; }
  .traceability article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .security-thesis > div:first-child { padding: 28px 22px; }
  .roadmap-track article { min-height: 280px; }
  .assurance-list article { grid-template-columns: 58px 1fr; }
  .closing-statement { padding: 30px 22px; }
  .lightbox { width: 100vw; max-height: 100vh; }
  .lightbox figure { max-height: 100vh; }
  .bank-thesis > div { min-height: 360px; padding: 30px 22px; }
  .bank-capability-grid article { grid-template-columns: 34px 1fr; }
  .recon-status article { border-bottom: 1px solid var(--line) !important; }
  .recon-status article:last-child { border-bottom: 0 !important; }
}

@media print {
  body { overflow: visible; }
  .sidebar,.topbar,.command-palette,.lightbox { display: none !important; }
  .app-shell,.workspace { display: block; height: auto; }
  .content { overflow: visible; padding: 0; }
  .view { width: 100%; }
  .evidence-button { cursor: default; }
  .page-header,.evidence-figure,.architecture-summary,.continuum-row,.responsibility-matrix,.feature-list { break-inside: avoid; }
}
