/* Shared Ember composition for the extension routes. */
.extension-main { background: var(--ink); }

.extension-hero {
  min-height: 78svh;
  padding-top: clamp(112px, 15vh, 178px);
  padding-bottom: clamp(80px, 10vh, 120px);
}

.extension-title {
  max-width: 12em;
  margin-top: clamp(28px, 4vw, 52px);
  color: var(--cream-bright);
  font-size: clamp(46px, 7.2vw, 96px);
  font-weight: 800;
  font-stretch: 66%;
  line-height: .95;
  letter-spacing: -.03em;
  text-transform: uppercase;
  text-wrap: balance;
}

.extension-hero .lede { margin-top: clamp(28px, 4vw, 44px); }
.extension-hero .lede a { color: inherit; }

.service-boundary {
  max-width: 66ch;
  margin-top: 22px;
  color: var(--cream-dim);
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.65;
}

.pending-line {
  max-width: 66ch;
  margin-top: 22px;
  color: var(--cream-dim);
  font-size: 15px;
}

.state-label,
.unavailable-action {
  display: inline-block;
  color: var(--cream-faint);
  font: 600 12px/1.4 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.state-label {
  margin-right: 8px;
  padding: 5px 7px;
  border: 2px solid var(--hair-dark);
}

.paper .state-label { border-color: var(--hair-paper); color: var(--paper-dim); }
.paper .state-build { color: var(--verm-paper); }
.band-brown .state-label,
.band-brown .state-build { border-color: var(--cream); color: var(--cream); }
.practice-main .band-brown .eyebrow { color: var(--cream); }

.extension-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 24px;
  margin-top: 34px;
}

.unavailable-action { padding: 12px 0; }

.boundary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: clamp(36px, 5vw, 60px);
  border: 2px solid var(--cream);
  background: var(--brown);
}

.boundary-grid p {
  min-width: 0;
  margin: 0;
  padding: clamp(24px, 3.5vw, 38px);
  background: var(--brown);
  color: var(--cream);
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.55;
}
.boundary-grid p:nth-child(even) { border-left: 1px solid var(--cream); }
.boundary-grid p:nth-child(n + 3) { border-top: 1px solid var(--cream); }

.practice-overview { padding-top: clamp(76px, 10vh, 118px); }
.practice-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  margin-top: clamp(34px, 5vw, 56px);
  border-block: 2px solid var(--hair-paper);
}
.practice-overview-grid article {
  min-width: 0;
  padding: clamp(22px, 3vw, 34px);
}
.practice-overview-grid article:first-child {
  grid-row: 1 / 3;
  padding: clamp(30px, 5vw, 60px);
  background: var(--paper-ink);
}
.practice-overview-grid article:not(:first-child) { border-left: 1px solid var(--hair-paper); }
.practice-overview-grid article + article + article { border-top: 1px solid var(--hair-paper); }
.practice-overview-grid span {
  color: var(--verm-paper);
  font: 650 12px/1.4 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.practice-overview-grid article:first-child span { color: var(--verm); }
.practice-overview-grid h3 {
  margin-top: 22px;
  color: var(--paper-ink);
  font-size: clamp(20px, 2.2vw, 29px);
  line-height: 1.15;
}
.practice-overview-grid article:first-child h3 { max-width: 12em; color: var(--cream); font-size: clamp(30px, 4vw, 52px); }
.practice-overview-grid p {
  margin-top: 14px;
  color: var(--paper-dim);
  font-size: 15px;
  line-height: 1.6;
}
.practice-overview-grid article:first-child p { max-width: 44ch; color: var(--cream-dim); font-size: 17px; }

.practice-path-figure,
.report-card-template {
  margin: clamp(36px, 6vw, 64px) 0 0;
  border: 2px solid var(--hair-paper);
  background: var(--paper-card);
}
.practice-path-figure figcaption,
.report-card-template figcaption {
  display: grid;
  gap: 10px;
  padding: clamp(22px, 3vw, 32px);
  border-bottom: 1px solid var(--hair-paper);
}
.practice-path-figure figcaption h3,
.report-card-template figcaption h3 {
  color: var(--paper-ink);
  font-size: clamp(22px, 2.8vw, 34px);
  line-height: 1.15;
}
.practice-path-figure figcaption p,
.report-card-template figcaption p {
  color: var(--paper-faint);
  font-size: 14px;
  line-height: 1.5;
}
.practice-path-figure ol {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.practice-path-figure li {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  padding: 22px 18px;
}
.practice-path-figure li + li { border-left: 1px solid var(--hair-paper); }
.practice-path-figure li span,
.practice-path-figure li small,
.practice-path-figure li em {
  color: var(--paper-faint);
  font: 600 13px/1.45 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.practice-path-figure li strong { color: var(--paper-ink); font-size: 17px; line-height: 1.25; }
.practice-path-figure li small { color: var(--verm-paper); }
.practice-path-figure li em { font-style: normal; text-transform: none; }

.report-card-template { border-color: var(--hair-dark); background: var(--ink-2); }
.report-card-template figcaption { border-color: var(--hair-dark); }
.report-card-template figcaption h3 { color: var(--cream); }
.report-card-template figcaption p { color: var(--cream-faint); }

.examination-grid { margin-top: clamp(38px, 6vw, 66px); border-block: 2px solid var(--hair-dark); }
.examination-grid article {
  display: grid;
  grid-template-columns: minmax(150px, .42fr) minmax(220px, .72fr) minmax(280px, 1.15fr);
  gap: clamp(18px, 3vw, 44px);
  align-items: baseline;
  min-width: 0;
  padding: clamp(20px, 2.6vw, 30px) 0;
}
.examination-grid article + article { border-top: 1px solid var(--rule-dark); }
.examination-grid article:nth-child(even) { background: var(--ink-2); box-shadow: 20px 0 0 var(--ink-2), -20px 0 0 var(--ink-2); }
.examination-grid span { color: var(--verm); font: 650 12px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.examination-grid h3 { color: var(--cream); font-size: clamp(19px, 2vw, 27px); line-height: 1.2; }
.examination-grid p { color: var(--cream-dim); font-size: 15px; line-height: 1.6; }

.protocol-section { padding-bottom: clamp(88px, 12vh, 150px); }
.protocol-rail {
  position: relative;
  display: grid;
  gap: 28px;
  max-width: 1120px;
  margin: clamp(42px, 7vw, 76px) auto 0;
  padding: 0;
  list-style: none;
}

.protocol-rail::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 22px;
  width: 2px;
  background: var(--verm);
  transform-origin: top;
}

.protocol-stage { position: relative; padding-left: 64px; }
.protocol-stage::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 27px;
  left: 17px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--verm);
  border-radius: 50%;
  background: var(--ink);
}

.protocol-stage article { border: 2px solid var(--hair-dark); background: var(--ink-2); }
.protocol-stage header { padding: clamp(22px, 3vw, 34px); border-bottom: 1px solid var(--hair-dark); }
.stage-number { color: var(--verm); font: 600 12px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.protocol-stage h3 { margin-top: 10px; color: var(--cream-bright); font-size: clamp(25px, 3vw, 38px); line-height: 1.12; }
.protocol-stage dl { margin: 0; }
.protocol-stage dl div { display: grid; grid-template-columns: minmax(88px, .2fr) 1fr; gap: 22px; padding: 18px clamp(22px, 3vw, 34px); border-top: 1px solid var(--rule-dark); }
.protocol-stage dl div:first-child { border-top: 0; }
.protocol-stage dt { color: var(--verm); font: 600 12px/1.5 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.protocol-stage dd { color: var(--cream-dim); font-size: 15px; line-height: 1.55; }
.protocol-stage strong { color: var(--cream); font-weight: 600; }
.method-term { white-space: nowrap; color: var(--cream); font-family: var(--mono); font-size: .86em; }

@media (prefers-reduced-motion: no-preference) {
  .protocol-rail.motion-ready::before { transform: scaleY(0); }
  .protocol-rail.motion-ready.is-running::before { animation: protocol-spine-draw 1.9s var(--ease) forwards; }
  .protocol-rail.motion-ready.is-running .protocol-stage::before {
    animation: protocol-node-light .48s var(--ease) both;
    animation-delay: calc(.28s + (var(--stage-index) * .34s));
  }
}

@keyframes protocol-spine-draw { to { transform: scaleY(1); } }
@keyframes protocol-node-light {
  0% { background: var(--ink); box-shadow: 0 0 0 0 transparent; transform: scale(.82); }
  100% { background: var(--hot); box-shadow: 0 0 0 5px var(--ghost); transform: scale(1); }
}

.report-card-fixture {
  max-width: 920px;
  margin: clamp(38px, 6vw, 66px) auto 0;
  border: 2px solid var(--hair-paper);
  background: var(--paper-card);
}

.report-card-fixture figcaption {
  padding: 14px 20px;
  border-bottom: 1px solid var(--hair-paper);
  color: var(--verm-paper);
  font: 600 12px/1.4 var(--mono);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.report-card-fixture ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.report-card-fixture li { padding: 24px; border-bottom: 1px solid var(--rule-paper); color: var(--paper-dim); font: 600 12px/1.4 var(--mono); letter-spacing: .04em; }
.report-card-fixture li:nth-child(odd) { border-right: 1px solid var(--rule-paper); }
.report-card-fixture li:nth-last-child(-n + 2) { border-bottom: 0; }

.report-card-template > header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 16px clamp(20px, 3vw, 30px);
  border-bottom: 1px solid var(--hair-dark);
  color: var(--cream-faint);
  font: 650 12px/1.4 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.report-card-template > header strong { color: var(--verm); font: inherit; }
.report-card-template dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}
.report-card-template dl div {
  min-width: 0;
  padding: clamp(20px, 3vw, 28px);
  border-bottom: 1px solid var(--rule-dark);
}
.report-card-template dl div:nth-child(odd) { border-right: 1px solid var(--rule-dark); }
.report-card-template dl div:nth-last-child(-n + 2) { border-bottom: 0; }
.report-card-template dt {
  color: var(--cream-faint);
  font: 650 12px/1.4 var(--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.report-card-template dd {
  margin-top: 20px;
  overflow: hidden;
  color: var(--cream-dim);
  font: 500 14px/1 var(--mono);
  letter-spacing: .08em;
  white-space: nowrap;
}

.scope-record { max-width: 920px; margin: clamp(38px, 6vw, 62px) auto 0; padding: clamp(24px, 4vw, 42px); border: 2px solid var(--hair-dark); background: var(--ink-2); }
.scope-record p { margin: 0; color: var(--cream-dim); font-size: clamp(16px, 1.7vw, 20px); line-height: 1.55; }
.scope-record p + p { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--rule-dark); }

.method-placeholder {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px 24px;
  max-width: 920px;
  margin-top: 36px;
  padding: 24px;
  border: 2px dashed var(--hair-dark);
  background: var(--ink-2);
  color: var(--cream-faint);
  font: 600 12px/1.4 var(--mono);
  letter-spacing: .11em;
  text-transform: uppercase;
}
.method-placeholder strong { color: var(--verm); font: inherit; }

.continued-reading { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 32px; }
.continued-reading a { color: var(--cream-dim); text-decoration-color: var(--verm); text-underline-offset: 4px; }

@media (max-width: 1040px) {
  .practice-path-figure ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .practice-path-figure li { border-bottom: 1px solid var(--hair-paper); }
  .practice-path-figure li:nth-child(odd) { border-left: 0; }
  .practice-path-figure li:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .examination-grid article { grid-template-columns: minmax(130px, .4fr) minmax(200px, .75fr) 1fr; }
}

@media (max-width: 760px) {
  .boundary-grid,
  .practice-overview-grid,
  .practice-path-figure ol,
  .report-card-fixture ul,
  .report-card-template dl { grid-template-columns: 1fr; }
  .boundary-grid p:nth-child(even) { border-left: 0; }
  .boundary-grid p + p { border-top: 1px solid var(--cream); }
  .practice-overview-grid article:first-child { grid-row: auto; }
  .practice-overview-grid article:not(:first-child) { border-top: 1px solid var(--hair-paper); border-left: 0; }
  .examination-grid article { grid-template-columns: 1fr; gap: 9px; }
  .practice-path-figure li + li { border-top: 1px solid var(--hair-paper); border-left: 0; }
  .practice-path-figure li { border-bottom: 0; }
  .practice-path-figure li:last-child { grid-column: auto; }
  .protocol-rail::before { left: 10px; }
  .protocol-stage { padding-left: 34px; }
  .protocol-stage::before { left: 5px; }
  .protocol-stage dl div { grid-template-columns: 1fr; gap: 7px; }
  .report-card-fixture li:nth-child(odd) { border-right: 0; }
  .report-card-fixture li:nth-last-child(2) { border-bottom: 1px solid var(--rule-paper); }
  .report-card-template > header { flex-direction: column; }
  .report-card-template dl div:nth-child(odd) { border-right: 0; }
  .report-card-template dl div:nth-last-child(2) { border-bottom: 1px solid var(--rule-dark); }
}

@media (max-width: 380px) {
  .extension-title { font-size: 40px; }
  .protocol-stage { padding-left: 26px; }
  .protocol-rail::before { left: 6px; }
  .protocol-stage::before { left: 1px; }
}

@media (prefers-reduced-motion: reduce) {
  .extension-main *, .extension-main *::before, .extension-main *::after { scroll-behavior: auto; }
  .protocol-rail::before { animation: none !important; transform: none !important; }
  .protocol-stage::before { animation: none !important; background: var(--verm); box-shadow: 0 0 0 4px var(--ghost); }
}

/* Ax0s Live: static receipt, product boundary, and state path. */
.live-main .extension-lede + .extension-lede { margin-top: 16px; }
.live-main .state-label { margin-left: 8px; margin-right: 0; border-color: var(--hot); color: var(--hot); vertical-align: .15em; }
.live-main .paper .state-label,
.live-main .state-label-paper { border-color: var(--verm-paper); color: var(--verm-paper); }
.live-main .section-support { max-width: 68ch; margin-top: 18px; color: var(--cream-dim); font-size: 16px; line-height: 1.65; }
.live-main .paper .section-support { color: var(--paper-dim); }
.live-main .section-support-dark { margin-bottom: 28px; color: var(--cream-dim); }

.integration-ledger-section { padding-top: clamp(82px, 11vh, 132px); }
.integration-ledger-figure { margin: 0; }
.integration-ledger-figure figcaption { display: grid; gap: 14px; max-width: 980px; padding: 0 0 24px; border-bottom: 0; }
.integration-ledger-figure figcaption .h2 { margin-top: 0; }
.integration-ledger-figure figcaption p { color: var(--cream-faint); font-size: 14px; line-height: 1.55; }
.figure-label { color: var(--verm); font: 650 12px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.paper .figure-label,
.band-yellow .figure-label { color: var(--verm-paper); }
.integration-table-wrap { position: relative; margin-top: clamp(34px, 5vw, 58px); overflow-x: auto; border: 2px solid var(--hair-dark); background: var(--ink-2); scrollbar-color: var(--verm) var(--ink); scrollbar-width: thin; }
.integration-table-wrap:focus-visible { outline: 2px solid var(--verm); outline-offset: 4px; }
.integration-ledger { width: 100%; min-width: 2180px; border-collapse: collapse; color: var(--cream-dim); font-size: 14px; line-height: 1.5; }
.integration-ledger th,
.integration-ledger td { min-width: 142px; padding: 18px 16px; border-right: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark); text-align: left; vertical-align: top; }
.integration-ledger thead th { position: sticky; top: 0; z-index: 2; background: var(--ink-3); color: var(--cream-faint); font: 650 12px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.integration-ledger tbody th { position: sticky; left: 0; z-index: 1; width: 190px; min-width: 190px; background: var(--ink-3); color: var(--cream); font-size: 16px; font-weight: 650; }
.integration-ledger td:nth-child(2),
.integration-ledger td:nth-child(3),
.integration-ledger td:nth-child(4),
.integration-ledger td:nth-child(5),
.integration-ledger td:nth-child(6),
.integration-ledger td:nth-child(7),
.integration-ledger td:nth-child(9) { font-family: var(--mono); font-size: 12px; }
.integration-ledger td:nth-child(8),
.integration-ledger td:nth-child(10) { min-width: 285px; }
.integration-ledger tr:last-child th,
.integration-ledger tr:last-child td { border-bottom: 0; }
.integration-ledger th:last-child,
.integration-ledger td:last-child { border-right: 0; }
.integration-ledger a { color: var(--verm); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.runtime { display: inline-block; padding: 5px 7px; border: 2px solid currentColor; font: 700 12px/1.2 var(--mono); letter-spacing: .08em; white-space: nowrap; }
.runtime-live { color: var(--ink); background: var(--hot); border-color: var(--hot); }
.runtime-build { color: var(--verm); }
.runtime-planned { border-style: dashed; color: var(--cream-faint); }
.artifact-pending { color: var(--cream-faint); }
.overflow-cue { margin-top: 12px; color: var(--cream-faint); font: 600 12px/1.45 var(--mono); letter-spacing: .04em; }

/* Shared site narrative: Live topology, Practice worked example, Vision arc. */
.source-topology-section { padding-top: clamp(76px, 10vh, 118px); }
.source-topology-map {
  max-width: 1200px;
  margin: clamp(38px, 6vw, 66px) 0 0;
  border-block: 2px solid var(--hair-dark);
}
.source-topology-map figcaption {
  display: grid;
  grid-template-columns: minmax(180px, .55fr) repeat(2, minmax(260px, 1fr));
  gap: var(--world-strata);
  align-items: start;
  padding: var(--world-strata) 0;
  color: var(--cream-faint);
}
.source-topology-map figcaption p { font-size: 14px; line-height: 1.55; }
.source-topology-map figcaption strong { color: var(--cream); font-weight: 620; }
.source-topology-map code,
.practice-scenario-thread code,
.stage-worked-example code,
.report-card-worked-example code,
.vision-scenario-arc code { font: inherit; overflow-wrap: anywhere; }
.source-topology-canvas {
  overflow-x: auto;
  border-block: 2px solid var(--hair-dark);
  scrollbar-color: var(--verm) var(--ink);
  scrollbar-width: thin;
}
.source-topology-svg { display: block; width: 100%; min-width: 900px; height: auto; background: var(--ink); }
.source-topology-svg marker path { fill: var(--hot); }
.topology-path { fill: none; stroke: var(--hot); stroke-width: var(--world-axis); }
.topology-source-path { stroke: var(--verm); }
.topology-node { fill: var(--verm); stroke: var(--hot); stroke-width: var(--world-axis); }
.topology-live-dot { fill: var(--hot); stroke: var(--ink); stroke-width: var(--world-axis); }
.topology-record-box { fill: var(--ink); stroke: var(--cream-faint); stroke-width: var(--world-axis); }
.topology-record-current .topology-record-box { stroke: var(--hot); }
.topology-receipt-box { fill: var(--hot); stroke: var(--cream); stroke-width: var(--world-axis); }
.topology-node-kicker,
.topology-node-title,
.topology-node-note,
.topology-record-copy,
.topology-receipt-copy { fill: var(--cream-faint); font-family: ui-monospace, "SF Mono", monospace; }
.topology-node-kicker { font-size: var(--mono-label); font-weight: 650; letter-spacing: .08em; }
.topology-node-title { fill: var(--cream); font-size: 24px; font-weight: 650; }
.topology-node-note { font-size: 13px; }
.topology-record-copy,
.topology-receipt-copy { fill: var(--cream); font-size: 18px; font-weight: 650; }
.topology-on-accent { fill: var(--ink); }
.source-topology-proof { padding: var(--world-strata) 0; color: var(--cream-faint); font-size: 14px; line-height: 1.55; }
.source-topology-proof a,
.practice-scenario-thread a,
.vision-scenario-arc a { color: var(--cream); text-underline-offset: 4px; }
.source-topology-proof code { color: inherit; }

.practice-scenario-intro { color: var(--verm); }
.practice-scenario-thread {
  display: grid;
  grid-template-columns: minmax(180px, .35fr) 1fr;
  gap: var(--world-strata);
  max-width: 1120px;
  margin: clamp(34px, 5vw, 56px) auto 0;
  padding-block: var(--world-strata);
  border-block: 2px solid var(--hair-dark);
}
.practice-scenario-thread > span { color: var(--hot); font-size: var(--mono-label); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.practice-scenario-thread p { max-width: 72ch; color: var(--cream-faint); line-height: 1.65; }
.practice-scenario-thread strong { color: var(--cream); }
.stage-worked-example { background: var(--ink); }
.protocol-stage .stage-worked-example dt { color: var(--hot); }
.protocol-stage .stage-worked-example dd { color: var(--cream); }
.report-card-worked-example {
  max-width: 1040px;
  margin: clamp(30px, 5vw, 52px) auto 0;
  border: 2px solid var(--hair-dark);
  background: var(--ink-2);
}
.report-card-worked-example > header { padding: clamp(22px, 3vw, 32px); border-bottom: 1px solid var(--hair-dark); }
.report-card-worked-example > header span { color: var(--verm); font-size: var(--mono-label); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.report-card-worked-example h3 { max-width: 24em; margin-top: 12px; color: var(--cream); font-size: clamp(22px, 2.8vw, 34px); line-height: 1.15; }
.report-card-worked-example dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.report-card-worked-example dl div { min-width: 0; padding: clamp(20px, 3vw, 28px); border-bottom: 1px solid var(--rule-dark); }
.report-card-worked-example dl div:nth-child(odd) { border-right: 1px solid var(--rule-dark); }
.report-card-worked-example dl div:nth-last-child(-n + 2) { border-bottom: 0; }
.report-card-worked-example dt { color: var(--verm); font-size: var(--mono-label); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.report-card-worked-example dd { margin-top: 12px; color: var(--cream-dim); font-size: 15px; line-height: 1.55; }

.vision-scenario-arc {
  max-width: 1120px;
  margin-top: clamp(34px, 5vw, 56px);
  padding-block: var(--world-strata);
  border-block: 2px solid var(--hair-dark);
}
.vision-scenario-arc > span { color: var(--hot); font-size: var(--mono-label); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.vision-scenario-arc ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: var(--world-strata); list-style: none; }
.vision-scenario-arc li { position: relative; display: grid; gap: 8px; min-width: 0; padding: 0 var(--world-strata); }
.vision-scenario-arc li:first-child { padding-left: 0; }
.vision-scenario-arc li + li { border-left: var(--world-axis) solid var(--verm); }
.vision-scenario-arc li:not(:last-child)::after { content: "→"; position: absolute; top: 50%; right: calc(var(--world-axis) * -5); color: var(--hot); }
.vision-scenario-arc small { color: var(--verm); font-size: var(--mono-label); font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.vision-scenario-arc strong { color: var(--cream); font-size: 16px; line-height: 1.45; }
.vision-scenario-arc code { color: var(--cream-faint); font-size: 13px; }
.vision-scenario-arc > p { max-width: 72ch; margin-top: var(--world-strata); color: var(--cream-faint); font-size: 14px; line-height: 1.6; }

@media (max-width: 760px) {
  .source-topology-map figcaption,
  .practice-scenario-thread,
  .report-card-worked-example dl,
  .vision-scenario-arc ol { grid-template-columns: 1fr; }
  .report-card-worked-example dl div:nth-child(odd) { border-right: 0; }
  .report-card-worked-example dl div:nth-last-child(2) { border-bottom: 1px solid var(--rule-dark); }
  .vision-scenario-arc li { padding: var(--world-strata) 0; }
  .vision-scenario-arc li + li { border-top: var(--world-axis) solid var(--verm); border-left: 0; }
  .vision-scenario-arc li:not(:last-child)::after { content: "↓"; top: auto; right: 50%; bottom: calc(var(--world-axis) * -5); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-live-ledger].motion-ready .integration-table-wrap::after {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: -68px;
    left: 0;
    pointer-events: none;
    background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--verm) 22%, transparent), transparent) bottom / 100% 68px no-repeat;
    transform: translateY(-100%);
  }
  [data-live-ledger].motion-ready.is-ledger-sweeping .integration-table-wrap::after { animation: ledger-sweep 1.75s var(--ease) forwards; }
  [data-live-ledger].motion-ready.is-ledger-sweeping tbody tr > * {
    animation: ledger-row-verify .64s var(--ease);
    animation-delay: calc(.12s + (var(--ledger-row) * .095s));
  }
  [data-live-ledger].motion-ready.is-ledger-sweeping .runtime-live { animation: live-badge-settle .58s var(--ease) 1.92s both; }
}

@keyframes ledger-sweep { to { transform: translateY(0); } }
@keyframes ledger-row-verify {
  0%, 100% { box-shadow: inset 0 0 0 0 transparent; }
  52% { box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--verm) 13%, transparent); }
}
@keyframes live-badge-settle {
  0% { transform: translateY(-7px) scale(.92); box-shadow: 0 0 0 0 transparent; }
  100% { transform: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--hot) 12%, transparent); }
}

.historical-receipt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; margin-top: clamp(38px, 6vw, 64px); border: 2px solid var(--hair-dark); background: var(--hair-dark); }
.historical-receipt-grid article { min-width: 0; padding: clamp(24px, 3.5vw, 38px); background: var(--ink-2); }
.historical-receipt-grid span { color: var(--verm); font: 650 12px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.historical-receipt-grid h3 { margin-top: 22px; color: var(--cream); font-size: clamp(20px, 2.2vw, 30px); line-height: 1.2; }
.historical-receipt-grid h3 a { color: inherit; text-decoration-color: var(--verm); text-underline-offset: 4px; }
.historical-receipt-grid article > a { display: inline-block; margin-top: 24px; color: var(--verm); font: 600 12px/1.4 var(--mono); letter-spacing: .04em; }
.historical-receipt-grid .receipt-ratio {
  display: flex;
  align-items: baseline;
  width: fit-content;
  margin: 0 0 24px;
  color: var(--hot);
  font-family: var(--mono);
  text-decoration: none;
}
.receipt-ratio span { color: var(--hot); font-size: clamp(42px, 5vw, 68px); font-weight: 650; letter-spacing: -.04em; line-height: .9; }
.receipt-ratio small { color: var(--cream-faint); font-size: 17px; }
.connector-family-dots {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  margin-top: 30px;
  color: var(--cream-faint);
  font: 600 12px/1.4 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.connector-dot-track { display: flex; gap: 10px; }
.connector-dot-track i { width: 9px; height: 9px; border: 2px solid var(--verm); border-radius: 50%; background: var(--verm); box-shadow: 0 0 0 3px var(--ghost); }

.role-grid-paper { border-color: var(--hair-paper); background: var(--hair-paper); }
.role-grid-paper .role-card { background: var(--paper-card); }
.role-grid-paper .role-card h3 { color: var(--paper-ink); }
.role-grid-paper .role-card p { color: var(--paper-dim); }
.role-grid-paper .role-card a { color: var(--verm-paper); }
.safety-band { border-top: 2px solid var(--hair-dark); }
.ingest-gate-diagram { max-width: 1080px; margin-top: clamp(38px, 6vw, 68px); border-block: 2px solid var(--hair-dark); }
.ingest-gate-diagram svg { display: block; width: 100%; height: auto; }
.ingest-node, .ingest-gate { fill: var(--ink-2); stroke: var(--hair-dark); }
.ingest-node-muted { fill: transparent; stroke-dasharray: 7 7; }
.ingest-gate { stroke: var(--verm); stroke-width: 1.5; }
.ingest-gate-bar { fill: none; stroke: var(--hot); stroke-width: 4; }
.ingest-path { fill: none; stroke: var(--verm); stroke-width: 2; marker-end: url(#ingest-arrow); }
.ingest-path-held { stroke-dasharray: 8 8; opacity: .52; }
.ingest-node-title, .ingest-gate-title { fill: var(--cream); font: 650 15px var(--mono); letter-spacing: .1em; }
.ingest-gate-title { fill: var(--hot); }
.ingest-node-note { fill: var(--cream-faint); font: 500 12px var(--mono); }
.ingest-gate-diagram marker path { fill: var(--verm); }
.ingest-gate-legend, .phase-diagram-legend { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding: 16px 0; border-top: 1px solid var(--hair-dark); color: var(--cream-faint); font: 600 12px/1.5 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.ingest-gate-legend span:last-child { text-align: right; }
.ingest-gate-legend strong { color: var(--hot); text-align: center; }

.live-receipt-object { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); margin-top: clamp(40px, 7vw, 72px); border: 2px solid var(--hair-paper); }
.discovery-record,
.fabric-record { min-width: 0; padding: clamp(24px, 4vw, 42px); }
.discovery-record { background: var(--paper-card); }
.discovery-record header { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--hair-paper); }
.discovery-record header span,
.discovery-record header strong { color: var(--paper-dim); font: 600 12px/1.5 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.discovery-record header strong { color: var(--verm-paper); text-align: right; }
.connector-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; padding: 0; list-style: none; }
.connector-list li { padding: 8px 11px; border: 2px solid var(--hair-paper); color: var(--paper-ink); font: 600 12px/1.3 var(--mono); }
.discovery-record > p { margin-top: 18px; }
.discovery-record a { color: var(--paper-dim); font: 500 12px/1.4 var(--mono); letter-spacing: .04em; text-underline-offset: 4px; }
.fabric-record { background: var(--ink-2); }
.fabric-record .state-label,
.role-card .state-label { margin-left: 0; }
.fabric-record h3 { margin-top: 26px; color: var(--cream); font-size: clamp(25px, 3vw, 38px); line-height: 1.05; }
.fabric-record p { margin-top: 20px; color: var(--cream-dim); line-height: 1.65; }
.fabric-record > a { display: inline-block; margin-top: 24px; color: var(--verm); font: 500 12px/1.4 var(--mono); letter-spacing: .04em; }
.direction-rail { grid-column: 1 / -1; display: grid; grid-template-columns: auto auto auto auto auto 1fr; align-items: center; gap: 14px; padding: 18px clamp(24px, 4vw, 42px); border-top: 1px solid var(--hair-paper); background: var(--paper); color: var(--paper-dim); font: 600 12px/1.5 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.direction-rail strong { justify-self: end; color: var(--verm-paper); }

.role-grid,
.state-path { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: clamp(38px, 6vw, 64px); list-style: none; }
.role-grid { border: 2px solid var(--hair-dark); background: var(--hair-dark); }
.role-card { min-width: 0; padding: clamp(24px, 3.5vw, 38px); background: var(--ink-2); }
.role-card h3 { margin-top: 24px; color: var(--cream); font-size: clamp(22px, 2.4vw, 32px); line-height: 1.12; }
.role-card p { margin-top: 18px; color: var(--cream-dim); line-height: 1.6; }
.role-card > a { display: inline-block; margin-top: 20px; color: var(--verm); }
.state-path { padding: 0; border: 2px solid var(--hair-paper); background: var(--hair-paper); }
.state-path li { min-width: 0; padding: clamp(24px, 3.5vw, 38px); background: var(--paper-card); }
.state-path .state-label { margin: 12px 0 0; }
.step-index { display: block; color: var(--paper-ink); font: 600 12px/1.4 var(--mono); letter-spacing: .09em; text-transform: uppercase; }
.state-path p { margin-top: 22px; color: var(--paper-dim); line-height: 1.6; }

.boundary-list { margin-top: clamp(38px, 6vw, 64px); border-block: 2px solid var(--hair-paper); }
.boundary-list a { display: grid; grid-template-columns: minmax(220px, .45fr) 1fr; gap: 24px; padding: 22px 0; color: var(--paper-ink); text-decoration: none; }
.boundary-list a + a { border-top: 1px solid var(--hair-paper); }
.boundary-list span { color: var(--verm-paper); font: 600 12px/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.boundary-list strong { font-size: clamp(17px, 2vw, 24px); font-weight: 560; }
.closing-links { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 32px; }
.closing-links a { color: var(--cream); font: 600 12px/1.4 var(--mono); letter-spacing: .04em; text-decoration-color: var(--verm); text-underline-offset: 4px; }
.paper .closing-links a,
.band-yellow .closing-links a { color: var(--paper-ink); text-decoration-color: var(--verm-paper); }

@media (max-width: 840px) {
  .live-receipt-object,
  .role-grid,
  .state-path { grid-template-columns: 1fr; }
  .historical-receipt-grid { grid-template-columns: 1fr; }
  .direction-rail { grid-column: 1; grid-template-columns: 1fr; }
  .direction-rail [aria-hidden="true"] { transform: rotate(90deg); transform-origin: left center; }
  .direction-rail strong { justify-self: start; }
}

@media (max-width: 560px) {
  .discovery-record header { flex-direction: column; }
  .discovery-record header strong { text-align: left; }
  .boundary-list a { grid-template-columns: 1fr; }
  .live-main .extension-title { overflow-wrap: anywhere; }
  .integration-ledger { min-width: 1980px; }
}

/* Vision: running first instance and business-wide direction remain visually distinct. */
.vision-main .extension-support,
.vision-main .section-boundary { max-width: 76ch; margin-top: 18px; color: var(--cream-dim); font-size: clamp(16px, 1.45vw, 20px); line-height: 1.65; }
.vision-main .paper .section-boundary,
.vision-main .band-yellow .section-boundary { color: var(--paper-dim); }
.vision-main .band-yellow .h2 em { color: var(--verm-paper); }
.claim-state { display: inline-block; margin: 0 8px 6px 0; padding: 5px 8px; border: 2px solid currentColor; color: var(--cream-faint); font: 600 12px/1.25 var(--mono); letter-spacing: .12em; text-transform: uppercase; vertical-align: .12em; }
.paper .claim-state,
.band-yellow .claim-state { color: var(--paper-dim); }
.claim-state.state-direction, .claim-state.state-build, .claim-state.state-method, .claim-state.state-dogfood { color: var(--verm); }
.paper .claim-state.state-direction, .paper .claim-state.state-build, .paper .claim-state.state-method, .paper .claim-state.state-dogfood,
.band-yellow .claim-state.state-direction, .band-yellow .claim-state.state-build, .band-yellow .claim-state.state-method, .band-yellow .claim-state.state-dogfood { color: var(--verm-paper); }
.state-direction, .state-build { border-style: dashed; }
.instance-object, .reconciliation-fixture { margin-top: clamp(38px, 6vw, 66px); }
.instance-object > figcaption { color: var(--cream-faint); }
.instance-object > .figure-caption { padding: 0 0 22px; border-bottom: 0; }
.instance-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; margin-top: 14px; border: 2px solid var(--hair-dark); background: var(--hair-dark); }
.instance-panel { min-width: 0; padding: clamp(24px, 4vw, 42px); background: var(--ink-2); }
.instance-panel h3 { margin-top: 14px; color: var(--cream); font-size: clamp(22px, 2.6vw, 34px); }
.instance-panel ol, .reconciliation-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 28px; border-block: 2px solid var(--hair-dark); list-style: none; }
.instance-panel li, .reconciliation-steps li { position: relative; min-width: 0; padding: 15px 10px; color: var(--cream-dim); font: 500 12px/1.4 var(--mono); letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.instance-panel li + li, .reconciliation-steps li + li { border-left: 1px solid var(--hair-dark); }
.instance-panel li:not(:last-child)::after, .reconciliation-steps li:not(:last-child)::after { content: "→"; position: absolute; top: 15px; right: -7px; z-index: 1; color: var(--verm); }
.instance-direction { background: var(--ink-3); }
.memory-band { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2px; border: 2px solid var(--hair-dark); border-top: 0; background: var(--hair-dark); }
.memory-band > * { padding: 14px 18px; background: var(--ink-2); color: var(--cream-dim); font: 500 12px/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.memory-band .direction-connection { border-top: 1px dashed var(--verm); color: var(--verm); }
.reconciliation-fixture { padding: clamp(24px, 4vw, 42px); border: 2px solid var(--hair-dark); background: var(--ink-2); }
.reconciliation-fixture > .figure-caption { margin-bottom: 24px; padding: 0 0 22px; }
.reconciliation-fixture .fixture-label { color: var(--verm); font: 600 12px/1.4 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.reconciliation-fixture h3 { margin-top: 8px; color: var(--cream); font-size: clamp(22px, 2.5vw, 34px); }
.fixture-fields, .observation-key, .statement-grid, .path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; margin-top: 28px; border: 2px solid var(--hair-dark); background: var(--hair-dark); }
.fixture-fields div, .observation-key div { padding: 18px; background: var(--ink); }
.fixture-fields dt, .observation-key dt { color: var(--cream-faint); font: 600 12px/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.fixture-fields dd, .observation-key dd { margin-top: 8px; color: var(--cream); font-size: 15px; line-height: 1.45; }
.fixture-deviation, .observation-deviation { box-shadow: inset 0 0 0 1px var(--verm); }
.observation-match { box-shadow: inset 0 0 0 1px var(--cream-faint); }
.observation-unknown { border: 2px dashed var(--cream-faint); background: transparent !important; }
.reconciliation-steps { border-color: var(--hair-dark); }
.reconciliation-steps li { color: var(--cream-dim); }
.reconciliation-steps li + li { border-color: var(--hair-dark); }
.reconciliation-fixture > .claim-state { margin-top: 22px; }
.disposition-stamp {
  display: inline-block;
  margin: 10px 0 0 8px;
  padding: 5px 7px;
  border: 2px solid var(--hot);
  color: var(--hot);
  font: 650 12px/1.2 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  transform: rotate(-2deg);
}

@media (prefers-reduced-motion: no-preference) {
  .reconciliation-fixture.motion-ready.is-reconciling .fixture-declared { animation: declared-drift .95s var(--ease) .2s both; }
  .reconciliation-fixture.motion-ready.is-reconciling .fixture-deviation { animation: observed-drift .95s var(--ease) .2s both; }
  .reconciliation-fixture.motion-ready.is-reconciling .disposition-stamp { animation: disposition-land .55s var(--ease) 1.22s both; }
  .reconciliation-fixture.motion-ready.is-reconciling .reconciliation-steps li:last-child { animation: supersession-land .55s var(--ease) 1.42s both; }
}

@keyframes declared-drift { from { transform: translateX(0); } to { transform: translateX(-12px); } }
@keyframes observed-drift { from { transform: translateX(0); } to { transform: translateX(12px); } }
@keyframes disposition-land { from { transform: rotate(-7deg) scale(.82); } to { transform: rotate(-2deg) scale(1); } }
@keyframes supersession-land { from { color: var(--cream-dim); box-shadow: inset 0 0 0 0 transparent; } to { color: var(--hot); box-shadow: inset 0 0 0 1px var(--hot); } }
.statement-grid { border-color: var(--hair-dark); background: var(--hair-dark); }
.statement-grid p { padding: clamp(22px, 3vw, 34px); background: var(--ink-2); color: var(--cream-dim); line-height: 1.6; }
.thread-links { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 32px; }
.thread-links a { color: var(--verm); font: 500 12px/1.4 var(--mono); letter-spacing: .09em; text-underline-offset: 4px; text-transform: uppercase; }
.phase-expansion-diagram { max-width: 1080px; margin-top: clamp(38px, 6vw, 68px); border-block: 2px solid var(--hair-dark); }
.phase-expansion-diagram svg { display: block; width: 100%; height: auto; }
.phase-boundary { fill: transparent; stroke: var(--hot); stroke-width: 1.5; stroke-dasharray: 9 7; }
.phase-core { fill: var(--verm); stroke: var(--cream); }
.phase-orbit { fill: none; stroke: var(--verm); stroke-dasharray: 6 7; opacity: .72; }
.phase-domain { fill: var(--ink-2); stroke: var(--verm); }
.phase-link, .phase-branch { fill: none; stroke: var(--verm); stroke-width: 1.5; }
.phase-title, .phase-boundary-label { fill: var(--cream); font: 650 13px var(--mono); letter-spacing: .08em; }
.phase-note { fill: var(--paper-ink); font: 550 12px var(--mono); }
.phase-boundary-label { fill: var(--hot); font-size: 12px; }
.phase-diagram-legend strong { color: var(--hot); text-align: right; }
.path-grid { border-color: var(--hair-paper); background: var(--hair-paper); }
.path-card { min-width: 0; padding: clamp(24px, 3.4vw, 38px); background: var(--paper-card); color: var(--paper-ink); text-decoration: none; }
.path-card h3 { margin-top: 12px; font-size: clamp(24px, 2.6vw, 34px); }
.path-card p { margin-top: 14px; color: var(--paper-dim); line-height: 1.55; }
.path-card .card-link { display: inline-block; margin-top: 22px; color: var(--verm-paper); font: 600 12px/1.4 var(--mono); letter-spacing: .04em; }
.footer-map-b2 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

@media (max-width: 980px) { .footer-map-b2 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .instance-panels, .fixture-fields, .observation-key, .statement-grid, .path-grid, .memory-band { grid-template-columns: 1fr; }
  .instance-panel ol, .reconciliation-steps { grid-template-columns: 1fr; }
  .instance-panel li + li, .reconciliation-steps li + li { border-top: 1px solid currentColor; border-left: 0; }
  .instance-panel li:not(:last-child)::after, .reconciliation-steps li:not(:last-child)::after { content: "↓"; top: auto; right: 50%; bottom: -9px; }
  .ingest-gate-diagram, .phase-expansion-diagram { overflow-x: auto; scrollbar-color: var(--verm) var(--ink); scrollbar-width: thin; }
  .ingest-gate-diagram svg, .phase-expansion-diagram svg { min-width: 680px; }
  .ingest-gate-legend, .phase-diagram-legend { grid-template-columns: 1fr; }
  .ingest-gate-legend span:last-child, .ingest-gate-legend strong, .phase-diagram-legend strong { text-align: left; }
}
@media (max-width: 560px) { .footer-map-b2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (prefers-reduced-motion: reduce) {
  [data-live-ledger] .integration-table-wrap::after { animation: none !important; content: none !important; }
  [data-live-ledger] tbody tr > *, [data-live-ledger] .runtime-live,
  .fixture-declared, .fixture-deviation, .reconciliation-steps li:last-child { animation: none !important; transform: none !important; }
  /* Keep the disposition stamp's static -2deg resting tilt — reduce removes
     motion, not the design. */
  .disposition-stamp { animation: none !important; }
}

/* World assignments for mid-page bands (vision #memory-substrate olive,
   live #ingest-boundary brown) — contrast law: on olive cream 7.6 /
   cream-bright 6.7; on brown cream 5.05 / cream-bright >=19px bold. */
.band-olive .claim-state,
.band-brown .claim-state { color: var(--cream); }
.band-olive .claim-state.state-direction, .band-olive .claim-state.state-build,
.band-olive .claim-state.state-method, .band-olive .claim-state.state-dogfood,
.band-brown .claim-state.state-direction, .band-brown .claim-state.state-build,
.band-brown .claim-state.state-method, .band-brown .claim-state.state-dogfood { color: var(--cream-bright); }
.band-olive .claim-link,
.band-brown .claim-link { text-decoration-color: var(--cream-bright); }
.vision-main .band-olive .section-boundary { color: var(--cream); }
.band-olive .statement-grid,
.band-olive .statement-grid p { border-color: rgba(13,9,4,0.55); background-color: rgba(13,9,4,0.55); }
.band-olive .statement-grid p { background: var(--ink-2); }

.safety-band.band-brown { border-top: 0; }
.live-main .band-brown .section-support,
.live-main .band-brown .section-support-dark { color: var(--cream); }
.band-brown .ingest-gate-diagram {
  padding: clamp(18px, 2.5vw, 30px) clamp(18px, 2.5vw, 30px) 0;
  border-color: rgba(13,9,4,0.4);
  background: var(--ink);
}
.band-brown .ingest-gate-legend { color: var(--cream); border-top-color: var(--hair-dark); }
