/* Enrolled system child pages: retain authored sections and operational artifacts. */
.swage-system-child.nx.nx-sys {
  --body: var(--font-body);
  --display: var(--font-heading);
  --ink: var(--swage-ink);
  --ink-2: var(--swage-muted);
  --ink-3: var(--swage-muted);
  --line: var(--swage-line);
  --paper: var(--swage-canvas);
  --pc: var(--swage-accent-soft);
  --pi: var(--swage-ink);
  background: var(--swage-canvas);
  color: var(--swage-ink);
  font-family: var(--font-body);
}
.swage-system-child.nx .pad {
  width: min(calc(100% - var(--space-12)), 72rem);
  margin-inline: auto;
  padding-inline: 0;
}
.swage-system-child.nx .doc-head,
.swage-system-child.nx .ind-head .ind-card.doc-head {
  padding-block: var(--space-12) var(--space-8);
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
  margin-top: 0;
  max-width: none;
}
.swage-system-child.nx .doc-head h1 {
  max-width: 24ch;
  margin: var(--space-6) 0 var(--space-6);
  font: var(--swage-weight-bold) var(--swage-type-page)/var(--swage-leading-page)
    var(--font-heading);
  letter-spacing: var(--swage-tracking-display);
  text-wrap: balance;
}
.swage-system-child.nx .doc-head .doc-summary {
  max-width: var(--swage-measure-copy);
  margin: 0;
  font: var(--swage-weight-regular) var(--swage-type-lead)/var(--swage-leading-body)
    var(--font-body);
  color: var(--swage-muted);
}
.swage-system-child.nx .crumbs {
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 0 var(--space-3);
  font: var(--swage-weight-medium) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
  color: var(--swage-muted);
}
.swage-system-child.nx .ind-photo {
  display: none;
}
.swage-system-child.nx .ind-head {
  background: var(--swage-canvas);
}
.swage-system-child.nx.nx-sys section.pad:not(.doc-head) {
  padding-block: var(--swage-rhythm-child-section);
}
.swage-system-child.nx :is(.doc-row, .stage-sec) {
  gap: var(--space-8);
  padding-block: var(--swage-rhythm-child-section);
}
.swage-system-child.nx .doc-row h2,
.swage-system-child.nx section h2:not(.win h2, .mini h2) {
  margin: 0 0 var(--space-3);
  font: var(--swage-weight-heading) var(--swage-type-section)/var(--swage-leading-section)
    var(--font-heading);
  text-align: left;
}
.swage-system-child.nx .doc-row p {
  margin-top: var(--swage-rhythm-heading-copy);
}
.swage-system-child.nx .anchorbar {
  position: sticky;
  top: 76px;
  background: var(--swage-canvas);
}
.swage-system-child.nx .btn {
  border-radius: var(--swage-panel-radius);
  font-family: var(--font-body);
  box-shadow: none;
}
.swage-system-child.nx .btn.red {
  background: var(--swage-accent);
  color: var(--swage-on-accent);
  border-color: var(--swage-accent);
}
.swage-system-child.nx :is(.doc-aside-box, .doc-foot-cta, .kpi, .rule-card, .kind-card) {
  background: var(--swage-material-recessed);
  color: var(--swage-ink);
  border-color: var(--swage-glass-edge);
  border-radius: var(--swage-panel-radius);
  box-shadow: var(--swage-depth-inset);
}
.swage-system-child.nx :is(.doc-head .cta, .doc-cta .cta) {
  justify-content: flex-start;
}
@media (width < 60rem) {
  .swage-system-child.nx :is(.doc-row, .stage-sec, .doc) {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (width < 40rem) {
  .swage-system-child.nx .pad {
    width: calc(100% - var(--space-6));
  }
  .swage-system-child.nx .doc-head {
    padding-top: var(--space-8);
  }
  .swage-system-child.nx .anchorbar {
    position: static;
  }
}
.swage-system-child.nx .win {
  box-shadow: var(--swage-depth-info);
}
.swage-system-child.nx .ind-head .ind-card.doc-head {
  padding: 0;
}
.swage-system-child.nx section h3 {
  font: var(--swage-weight-heading) var(--swage-type-body)/var(--swage-leading-label)
    var(--font-body);
}
.swage-system-child.nx .anchorbar select {
  background: var(--swage-surface);
  color: var(--swage-ink);
  border-color: var(--swage-line);
  font-family: var(--font-body);
}

/* Adapt legacy document surfaces to the same material hierarchy as the landing.
   Keep their authored density and geometry; literal white is not a dark surface. */
.swage-system-child.nx :is(.spec-card, .plate, .inventory, .timeline > li, .calc) {
  background: var(--swage-material-info);
  color: var(--swage-ink);
  border-color: var(--swage-line);
}
.swage-system-child.nx
  :is(
    .spec-tables,
    .spec-table,
    .door-body,
    .cmini,
    .calc .preset,
    .refs .ref,
    .ind-head .fit-modes a
  ) {
  background: var(--swage-elevated);
  color: var(--swage-ink);
  border-color: var(--swage-line);
}
.swage-system-child.nx :is(.spec-table[open] > summary, .role-card .perms li) {
  background: var(--swage-surface);
}
.swage-system-child.nx .doc-next :is(a.prev, a.next) {
  background: var(--swage-material-action);
  color: var(--swage-ink);
  border-color: var(--swage-line);
  border-radius: var(--swage-panel-radius);
}
.swage-system-child.nx .doc-next :is(a.prev, a.next):is(:hover, :focus-visible) {
  background: var(--swage-accent-soft);
  border-color: var(--swage-accent);
}
/* The revision caption sits on the page, outside the single start-action card. */
.swage-system-child.nx .doc-foot-cta {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.swage-system-child.nx .swimlane .lane rect {
  fill: var(--swage-surface);
}
.swage-system-child.nx .swimlane :is(.lane.alt rect, .stage rect:not(.diamond)) {
  fill: var(--swage-elevated);
}
@media (width < 40rem) {
  .swage-system-child.nx .cmini .circuit-fade::after {
    background: linear-gradient(to right, transparent, var(--swage-elevated));
  }
}

/* Preserve the authored diagram's readable scale inside a keyboard-scrollable window. */
.swage-system-child.nx .win[data-kind='erd'] .win-body.scroll {
  max-height: min(70vh, 40rem);
  overflow: auto;
  mask-image: none;
  -webkit-mask-image: none;
}
.swage-system-child.nx .erd {
  width: auto;
  max-width: none;
  height: auto;
}
.swage-system-child.nx .win[data-kind='erd'] .win-body:focus-visible {
  outline: 2px solid var(--swage-accent);
  outline-offset: -2px;
}
.swage-system-child.nx .erd .ent rect {
  fill: var(--swage-preview-paper);
  stroke: var(--swage-line-strong);
}
.swage-system-child.nx .erd .ent.on rect {
  fill: var(--swage-accent-soft);
  stroke: var(--swage-accent);
}

/* Module collections share a compact, preview-first link surface. */
.swage-system-child.nx .spine-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-8) var(--space-6);
}
.swage-system-child.nx .spine-card {
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0;
  aspect-ratio: auto;
  background: transparent;
  color: var(--swage-ink);
  border: 0;
  border-radius: var(--swage-panel-radius);
  box-shadow: none;
  overflow: visible;
}
.swage-system-child.nx .spine-card > :is(a, div) {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  height: 100%;
  padding: 0;
  color: inherit;
  background: transparent;
  border-radius: inherit;
  text-align: left;
}
.swage-system-child.nx .spine-card .phead {
  position: relative;
  order: 2;
  padding: 0;
  min-height: 0;
  background: transparent;
}
.swage-system-child.nx .spine-card .pcat {
  display: none;
}
.swage-system-child.nx .spine-card .ptag {
  padding: 0;
  min-height: 0;
  display: block;
  -webkit-line-clamp: unset;
  margin: var(--space-2) 0 0;
  overflow: visible;
  color: var(--swage-muted);
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-card-copy)
    var(--font-body);
}
.swage-system-child.nx .spine-card .pphoto-wrap {
  order: 1;
  margin: 0;
  padding: var(--space-6) 0 0 var(--space-6);
  height: clamp(10rem, 16vw, 13rem);
  aspect-ratio: auto;
  overflow: hidden;
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius);
  background: color-mix(in srgb, var(--pc) 55%, var(--swage-canvas));
  transition:
    border-color 180ms ease-out,
    background-color 180ms ease-out;
}
.swage-system-child.nx .spine-card .mini {
  width: calc(100% + var(--space-6));
  min-width: 26rem;
  min-height: 100%;
  transform: none;
  transform-origin: top left;
  font-size: var(--swage-type-label);
}
.swage-system-child.nx .spine-card .mini-bar {
  padding: var(--space-3);
}
.swage-system-child.nx .spine-card .mini-bar b {
  font: var(--swage-weight-semibold) var(--swage-type-ui)/var(--swage-leading-ui) var(--font-body);
}
.swage-system-child.nx .spine-card :is(.mini-head, .mini-row) {
  padding: var(--space-2) var(--space-3);
}
.swage-system-child.nx .spine-card > a:is(:hover, :focus-visible) .pphoto-wrap {
  border-color: var(--swage-accent);
  background: color-mix(in srgb, var(--pc) 70%, var(--swage-canvas));
}
.swage-system-child.nx .spine-card > a:focus-visible {
  outline: 2px solid var(--swage-accent);
  outline-offset: var(--space-2);
}
.swage-system-child.nx .role-card .vh > b {
  font: var(--swage-weight-heading) var(--swage-type-body)/var(--swage-leading-label)
    var(--font-heading);
}
.swage-system-child.nx .role-card .role-views {
  gap: var(--space-3);
}
.swage-system-child.nx .role-card .role-views > a:not(.mini) {
  padding: var(--space-2) var(--space-3);
  color: var(--swage-accent);
  border-color: var(--swage-line);
  border-radius: var(--swage-panel-radius);
}
.swage-system-child.nx .role-card .role-views > a:not(.mini):is(:hover, :focus-visible) {
  background: var(--swage-accent-soft);
  border-color: var(--swage-accent);
}
.swage-system-child.nx :is(.doc-aside-box, .door-body) .btn {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 44px;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-6);
  justify-content: space-between;
}
.swage-system-child.nx .btn :is(svg, .swage-proto-symbol) {
  width: 1.1em;
  height: 1.1em;
  flex: none;
}
.swage-system-child.nx .role-card :is(b, h3) {
  font-family: var(--font-heading);
}
@media (width < 60rem) {
  .swage-system-child.nx .spine-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (width < 40rem) {
  .swage-system-child.nx .spine-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.swage-system-child.nx .spine-card h3 {
  min-height: 0;
  margin: 0;
  font: var(--swage-weight-heading) var(--swage-type-card)/var(--swage-leading-label)
    var(--font-body);
  color: var(--swage-ink);
  padding-right: var(--space-6);
}
.swage-system-child.nx .spine-card__arrow {
  position: absolute;
  right: 0;
  top: 0;
  width: 1.1em;
  height: 1.1em;
  color: var(--swage-accent);
}
.swage-system-child.nx .sys-start-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.swage-system-child.nx .doc-aside-box.cta {
  align-self: start;
}

/* Reports are links to real module previews. The preview is inert; the heading
   link covers its card, so the miniature UI never competes for focus or scroll. */
.swage-system-child.nx .report-bento {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-6);
}
.swage-system-child.nx .report-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: clip;
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius);
}
.swage-system-child.nx .report-bento > .report-card[hidden] {
  display: none;
}
.swage-system-child.nx .report-card__copy {
  padding: var(--space-6) var(--space-6) 0;
}
.swage-system-child.nx .report-card h3 {
  font: var(--swage-weight-heading) var(--swage-type-card-fluid)/var(--swage-leading-card)
    var(--font-heading);
}
.swage-system-child.nx .report-card__link {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  color: var(--swage-ink);
}
.swage-system-child.nx .report-card__link::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
}
.swage-system-child.nx .report-card__link svg {
  width: 1em;
  height: 1em;
  flex: none;
  color: var(--swage-accent);
}
.swage-system-child.nx .report-card__copy p {
  margin-top: var(--swage-rhythm-heading-copy);
  color: var(--swage-muted);
  font-size: var(--text-sm);
  line-height: var(--swage-leading-body-compact);
}
.swage-system-child.nx .report-card__preview {
  height: 10rem;
  margin: auto 0 0 var(--space-6);
  padding: 0;
  overflow: clip;
  pointer-events: none;
  border-radius: var(--swage-panel-radius) 0 0 0;
  background: transparent;
}
.swage-system-child.nx .report-card__preview .win {
  width: 100%;
  min-width: 44rem;
  max-width: none;
  margin: 0;
  border-radius: var(--swage-panel-radius) 0 0 0;
}
.swage-system-child.nx .report-card__destination {
  padding: var(--space-3) var(--space-6) var(--space-6);
  margin: 0;
  color: var(--swage-accent);
  font-size: var(--swage-type-label);
}
.swage-system-child.nx .report-card:is(:hover, :focus-within) {
  border-color: var(--swage-accent);
}
.swage-system-child.nx .report-card:focus-within {
  outline: 2px solid var(--swage-accent);
  outline-offset: 3px;
}
.swage-system-child.nx .report-card:nth-child(8n + 1) {
  grid-column: span 2;
}
.swage-system-child.nx :is(.report-explanations .doc-row, .swage-preview-row) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 0;
  padding: 0;
  border-top: 1px solid var(--swage-line);
}
.swage-system-child.nx :is(.report-explanations .doc-row, .swage-preview-row) .doc-row-text {
  padding: var(--space-12) var(--space-8) var(--space-12) 0;
}
.swage-system-child.nx :is(.report-explanations .doc-row, .swage-preview-row) h3 {
  font: var(--swage-weight-heading) var(--swage-type-section-compact)/var(--swage-leading-heading)
    var(--font-heading);
  text-wrap: balance;
}
.swage-system-child.nx :is(.report-explanations .doc-row, .swage-preview-row) .doc-row-plate {
  align-self: stretch;
  display: flex;
  align-items: center;
  overflow: clip;
  padding: var(--space-8) 0 0 var(--space-8);
  background: color-mix(
    in oklab,
    var(--capability-tint, var(--catalog-palette-sage-base)) 32%,
    var(--swage-canvas)
  );
  border-left: 1px solid var(--swage-line);
}
.swage-system-child.nx :is(.report-explanations .doc-row, .swage-preview-row) .doc-row-plate .win {
  width: 48rem;
  min-width: 48rem;
  max-width: none;
  margin: 0;
  border-radius: var(--swage-panel-radius) 0 0 0;
}
.swage-system-child.nx :is(.report-explanations .doc-row, .swage-preview-row).prose {
  grid-template-columns: 1fr;
}
.swage-system-child.nx .report-explanations .reads {
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
  font-family: var(--font-body);
}
.swage-system-child.nx .report-explanations .reads a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--swage-accent);
}
.swage-system-child.nx .report-explanations .reads svg {
  width: 1em;
  height: 1em;
}

/* The landing billboard is shared by every document kind, outside its text rail. */
.swage-system-child.nx #cta.swage-final-cta {
  width: 100%;
  max-width: none;
  margin: var(--space-12) 0 0;
  padding: var(--space-16) var(--space-6);
  background: var(--swage-accent-soft);
  border-radius: 0;
  border: 0;
}
.swage-system-child.nx #cta.swage-final-cta h2 {
  text-align: start;
  font-size: var(--swage-type-page-fluid);
}
.swage-system-child.nx .doc-next {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-6);
}
.swage-system-child.nx .doc-next .doc-foot-nav {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: var(--space-3);
}
.swage-system-child.nx .doc-next .doc-foot-nav :is(a.prev, a.next) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex: 0 1 20rem;
  min-width: 0;
  margin: 0;
  text-align: left;
  padding: var(--space-4);
  overflow-wrap: anywhere;
}
.swage-system-child.nx .doc-next .doc-foot-nav .k {
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
  font-family: var(--font-body);
}
@media (width < 60rem) {
  .swage-system-child.nx :is(.report-explanations .doc-row, .swage-preview-row) {
    grid-template-columns: 1fr;
  }
  .swage-system-child.nx :is(.report-explanations .doc-row, .swage-preview-row) .doc-row-text {
    padding: var(--space-8) 0;
  }
  .swage-system-child.nx :is(.report-explanations .doc-row, .swage-preview-row) .doc-row-plate {
    border-left: 0;
    max-height: 28rem;
  }
}
@media (width < 40rem) {
  .swage-system-child.nx .report-bento {
    grid-template-columns: 1fr;
  }
  .swage-system-child.nx .report-card:nth-child(8n + 1) {
    grid-column: auto;
  }
  .swage-system-child.nx .doc-next .doc-foot-nav :is(a.prev, a.next) {
    flex-basis: 50%;
    padding: var(--space-3);
  }
}

@media (40rem <= width < 60rem) {
  .swage-system-child.nx .report-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .swage-system-child.nx .report-card:nth-child(8n + 1) {
    grid-column: auto;
  }
}
html.dark
  .swage-system-child.nx
  :is(.report-explanations .doc-row, .swage-preview-row)
  .doc-row-plate {
  background: color-mix(
    in oklab,
    var(--capability-tint, var(--catalog-palette-sage-base)) 14%,
    var(--swage-canvas)
  );
}

/* Shared child hero: Tacet workflow gradient geometry with app accent tokens. */
.swage-system-child.nx .doc-head.pad,
.swage-system-child.nx .ind-head {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-block: clamp(4rem, 8vw, 7rem) clamp(3rem, 7vw, 6rem);
  padding-inline: max(var(--space-6), calc((100% - 72rem) / 2));
  background:
    radial-gradient(
      at 78% 22%,
      color-mix(in oklch, var(--swage-accent) 20%, transparent),
      transparent 34%
    ),
    radial-gradient(
      at 52% 56%,
      color-mix(in oklch, var(--catalog-palette-lilac-base) 24%, transparent),
      transparent 36%
    ),
    radial-gradient(
      at 92% 66%,
      color-mix(in oklch, var(--catalog-palette-blue-base) 20%, transparent),
      transparent 34%
    ),
    linear-gradient(
      104deg,
      transparent,
      color-mix(in oklch, var(--swage-accent) 8%, transparent) 40%,
      color-mix(in oklch, var(--catalog-palette-lilac-base) 12%, transparent) 58%,
      transparent 80%
    );
}
.swage-system-child.nx .ind-head > .pad {
  width: 100%;
}
.swage-system-child.nx .doc-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-1);
  color: var(--swage-muted);
  font: var(--swage-weight-medium) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
}
.doc-breadcrumb svg {
  width: 1em;
  height: 1em;
  flex: none;
}
.doc-breadcrumb__home {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: var(--space-2) var(--space-1);
  color: var(--swage-accent);
}
.doc-breadcrumb__home > svg {
  width: 1.25rem;
  height: 1.25rem;
}
.doc-breadcrumb__tooltip {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 5;
  width: max-content;
  max-width: 16rem;
  padding: var(--space-2) var(--space-3);
  background: var(--swage-ink);
  color: var(--swage-canvas);
  border-radius: var(--swage-panel-radius);
  visibility: hidden;
}
.doc-breadcrumb__home:is(:hover, :focus-visible) .doc-breadcrumb__tooltip {
  visibility: visible;
}
.doc-breadcrumb__pages {
  position: relative;
  min-width: 0;
  max-width: 100%;
}
.doc-breadcrumb__pages summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding-block: var(--space-2);
  cursor: pointer;
  list-style: none;
  color: var(--swage-ink);
}
.doc-breadcrumb__pages summary::-webkit-details-marker {
  display: none;
}
.doc-breadcrumb__count {
  color: var(--swage-muted);
  white-space: nowrap;
}
.doc-breadcrumb__pages ul {
  position: absolute;
  z-index: 20;
  top: 100%;
  left: 0;
  width: max-content;
  min-width: 100%;
  max-width: min(28rem, calc(100vw - var(--space-12)));
  max-height: 60vh;
  overflow-y: auto;
  margin: var(--space-2) 0 0;
  padding: var(--space-2);
  list-style: none;
  background: var(--swage-surface);
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius);
  box-shadow: var(--swage-depth-info);
}
.doc-breadcrumb__pages li a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-3);
  color: var(--swage-ink);
}
.doc-breadcrumb__pages li a span {
  white-space: nowrap;
  color: var(--swage-muted);
  font-size: var(--text-xs);
}
.doc-breadcrumb__pages li a:is(:hover, :focus-visible, [aria-current='page']) {
  background: var(--swage-accent-soft);
  color: var(--swage-accent);
}
.doc-breadcrumb :is(a, summary):focus-visible {
  outline: 2px solid var(--swage-accent);
  outline-offset: 3px;
}
@media (width < 40rem) {
  .swage-system-child.nx .doc-head.pad,
  .swage-system-child.nx .ind-head {
    padding-inline: var(--space-3);
  }
  .doc-breadcrumb__pages {
    flex-basis: 100%;
  }
  .doc-breadcrumb__pages ul {
    max-width: calc(100vw - var(--space-6));
  }
}

.swage-system-child.nx .doc-foot-nav__text {
  display: grid;
  gap: var(--space-2);
  min-width: 0;
}
.swage-system-child.nx .doc-foot-nav a.prev .doc-foot-nav__text {
  text-align: right;
}
.swage-system-child.nx .doc-foot-nav > a > svg {
  width: 1.25rem;
  height: 1.25rem;
  flex: none;
  color: var(--swage-accent);
}

/* Feedback stays on icons: no card movement or scroll-triggered animation. */
.doc-breadcrumb__pages[open] summary > svg {
  transform: rotate(180deg);
}
.swage-system-child.nx
  :is(.doc-foot-nav a, .report-card__link, .rolefilter button, .doc-breadcrumb summary) {
  touch-action: manipulation;
}
.swage-system-child.nx .report-filter-status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (prefers-reduced-motion: no-preference) {
  .swage-system-child.nx
    :is(.doc-foot-nav a > svg, .report-card__link > svg, .doc-breadcrumb summary > svg) {
    transition: transform var(--duration-fast) var(--ease-standard);
  }
  .swage-system-child.nx .doc-foot-nav a.prev:focus-visible > svg {
    transform: translateX(calc(-1 * var(--space-1)));
  }
  .swage-system-child.nx .doc-foot-nav a.next:focus-visible > svg {
    transform: translateX(var(--space-1));
  }
  .swage-system-child.nx .report-card:focus-within .report-card__link > svg {
    transform: translate(var(--space-1), calc(-1 * var(--space-1)));
  }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .swage-system-child.nx .doc-foot-nav a.prev:hover > svg {
    transform: translateX(calc(-1 * var(--space-1)));
  }
  .swage-system-child.nx .doc-foot-nav a.next:hover > svg {
    transform: translateX(var(--space-1));
  }
  .swage-system-child.nx .report-card:hover .report-card__link > svg {
    transform: translate(var(--space-1), calc(-1 * var(--space-1)));
  }
}

/* Feed the shared billboard its existing rail tokens, including layered rules. */
.swage-system-child.nx {
  --swage-max-content-rail: min(calc(100% - var(--space-12)), 72rem);
  --swage-child-content-rail: var(--swage-max-content-rail);
}
@media (width < 40rem) {
  .swage-system-child.nx {
    --swage-max-content-rail: calc(100% - var(--space-6));
  }
}

/* Matched Manufacturing preview rows keep copy left and the illustrative screen right. */
.swage-system-child.nx .swage-preview-row .doc-row-plate {
  order: 0;
}
.swage-system-child.nx .swage-preview-row .doc-row-text h2 {
  font-size: var(--swage-type-section-compact);
}

/* Process review: a persistent numbered spine with naturally sized content. */
.swage-system-child.nx .process-steps {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(0, 3fr);
  margin-top: var(--space-8);
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius) var(--swage-panel-radius) 0 0;
  padding: 0 var(--space-6);
}
.swage-system-child.nx .process-steps__nav {
  position: relative;
  border-inline-end: 1px solid var(--swage-line);
  padding-block: var(--space-6);
}
.swage-system-child.nx .process-steps__nav a {
  position: relative;
  min-height: 3.5rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-6) var(--space-4) 0;
  color: var(--swage-muted);
  text-decoration: none;
  border-inline-end: 1px solid transparent;
  margin-inline-end: -1px;
  font-weight: var(--swage-weight-medium);
}
.swage-system-child.nx .process-steps__number {
  font: var(--swage-weight-medium) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
  font-variant-numeric: tabular-nums;
  color: var(--swage-muted);
}
.swage-system-child.nx .process-steps__nav a[aria-selected='true'] {
  color: var(--swage-accent);
  border-color: var(--swage-accent);
  font-weight: var(--swage-weight-bold);
  background: transparent;
}
.swage-system-child.nx .process-steps__nav a:hover {
  color: var(--swage-ink);
}
.swage-system-child.nx .process-steps__panels {
  min-width: 0;
  padding-inline-start: var(--space-8);
}
.swage-system-child.nx .process-steps .stage-sec {
  display: block;
  border: 0;
  padding: var(--space-6) 0;
  margin: 0;
}
.swage-system-child.nx .process-steps .stage-sec[hidden] {
  display: none;
}
.swage-system-child.nx .process-steps .stage-copy {
  padding: 0;
}
.swage-system-child.nx .process-steps .stage-plate {
  margin-top: var(--space-6);
  margin-inline-end: calc(-1 * var(--space-6));
  margin-bottom: calc(-1 * var(--space-6));
  padding: var(--space-6) 0 0 var(--space-6);
  max-height: 20rem;
  overflow: clip;
  background: var(--swage-accent-soft);
  border-radius: var(--swage-panel-radius) 0 0;
}
.swage-system-child.nx .process-steps .stage-plate .win {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.swage-system-child.nx .process-steps a:focus-visible,
.swage-system-child.nx .process-steps [role='tabpanel']:focus-visible {
  outline: 2px solid var(--swage-accent);
  outline-offset: var(--space-1);
}
@media (width < 40rem) {
  .swage-system-child.nx .process-steps {
    grid-template-columns: minmax(0, 1fr);
  }
  .swage-system-child.nx .process-steps__nav {
    border-inline-end: 0;
    border-inline-start: 1px solid var(--swage-line);
    margin-bottom: var(--space-6);
  }
  .swage-system-child.nx .process-steps__nav a {
    padding: var(--space-2) var(--space-4);
    border-inline-end: 0;
    border-inline-start: var(--space-1) solid transparent;
    margin-inline: -1px 0;
  }
  .swage-system-child.nx .process-steps__panels {
    padding-inline-start: var(--space-4);
    border-inline-start: 1px solid var(--swage-line);
  }
}

.swage-system-child.nx .process-steps .stage-meta code {
  color: var(--swage-ink);
  background: var(--swage-material-recessed);
}

/* Step names lead; sequence and operational details support the explanation. */
.swage-system-child.nx .process-steps__intro {
  max-width: var(--swage-measure-intro);
  color: var(--swage-muted);
  margin: 0;
}
.swage-system-child.nx .process-steps__heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.swage-system-child.nx .process-steps__heading h3 {
  margin: 0;
  color: var(--swage-ink);
  font: var(--swage-weight-heading) var(--swage-type-section-step)/var(--swage-leading-section)
    var(--font-heading);
  letter-spacing: var(--swage-tracking-display);
}
.swage-system-child.nx .process-steps__approval {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--swage-accent);
  font: var(--swage-weight-medium) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
}
.swage-system-child.nx .process-steps__approval svg {
  width: 1.125rem;
  height: 1.125rem;
}
.swage-system-child.nx .process-steps .stage-copy > p {
  max-width: var(--swage-measure-copy);
  margin: 0;
  color: var(--swage-ink);
  font-size: var(--swage-type-lead-fixed);
  line-height: var(--swage-leading-reading);
}
.swage-system-child.nx .process-steps .stage-meta {
  margin-inline: calc(-1 * var(--space-8)) calc(-1 * var(--space-6));
  padding-inline: var(--space-8) var(--space-6);
  grid-template-columns: 7rem minmax(0, 1fr);
  gap: var(--space-3) var(--space-4);
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--swage-line);
  font: var(--swage-weight-regular) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
}
.swage-system-child.nx .process-steps .stage-meta dt {
  color: var(--swage-muted);
  font: inherit;
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
}
.swage-system-child.nx .process-steps .stage-meta dd {
  margin: 0;
}

.swage-system-child.nx .process-steps.is-enhanced .process-steps__nav::after {
  content: '';
  position: absolute;
  inset-inline-end: calc(-1 * var(--space-1));
  top: 0;
  width: var(--space-2);
  height: var(--space-6);
  border-radius: var(--space-2);
  background: var(--swage-accent);
  transform: translateY(calc(var(--step-marker-y, 0px) - 50%));
  pointer-events: none;
}

.swage-system-child.nx .process-steps__nav a[aria-selected='true'] .process-steps__number {
  color: var(--swage-accent);
}
@media (prefers-reduced-motion: no-preference) {
  .swage-system-child.nx .process-steps__nav a {
    transition: color var(--duration-fast) var(--ease-standard);
  }
}
@media (width < 40rem) {
  .swage-system-child.nx .process-steps__nav a {
    min-height: 2.75rem;
    border-inline-start-width: 1px;
  }
  .swage-system-child.nx .process-steps.is-enhanced .process-steps__nav::after {
    inset-inline-end: auto;
    inset-inline-start: calc(-1 * var(--space-1));
  }
  .swage-system-child.nx .process-steps .stage-meta {
    grid-template-columns: 5.5rem minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .swage-system-child.nx .process-steps__nav.has-marker::after {
    transition: transform var(--duration-slow) cubic-bezier(0.16, 1.24, 0.32, 1);
  }
}

.swage-system-child.nx .row-head.process-steps__header {
  display: block;
}

/* Authored records are reference data, not an illustrative application window. */
.swage-system-child.nx .process-records__table {
  margin: 0;
}
.swage-system-child.nx .process-records__scroll {
  overflow-x: auto;
}
.swage-system-child.nx .process-records__grid {
  width: 100%;
  border-collapse: collapse;
  color: var(--swage-ink);
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-body-compact)
    var(--font-body);
}
.swage-system-child.nx .process-records__grid :is(th, td) {
  padding: var(--space-4);
  text-align: start;
  vertical-align: top;
  border-bottom: 1px solid var(--swage-line);
}
.swage-system-child.nx .process-records__grid th {
  font-weight: var(--swage-weight-semibold);
  background: var(--swage-material-recessed);
}
.swage-system-child.nx .process-records__grid td:first-child {
  min-width: 10rem;
}
.swage-system-child.nx .process-records__grid :is(code, .k) {
  color: var(--swage-muted);
  background: transparent;
  font: inherit;
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
}
.swage-system-child.nx .process-records__note {
  display: flex;
  justify-content: flex-end;
  padding-block: var(--space-4);
}
.swage-system-child.nx .process-records .handoffs {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  margin-top: var(--space-8);
}
.swage-system-child.nx .process-records .chain-grid.two .chain-src .mini {
  max-width: none;
  width: 100%;
}
.swage-system-child.nx .process-records__scroll:focus-visible {
  outline: 2px solid var(--swage-accent);
  outline-offset: var(--space-1);
}

/* Approval checkpoints support the process sequence rather than competing with it. */
.swage-system-child.nx .process-approvals {
  margin-top: var(--space-8);
  padding-top: var(--space-6);
  border-top: 1px solid var(--swage-line);
}
.swage-system-child.nx .process-approvals h3 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
  color: var(--swage-accent);
  font: var(--swage-weight-semibold) var(--swage-type-lead-fixed)/var(--swage-leading-body-compact)
    var(--font-body);
}
.swage-system-child.nx .process-approvals svg {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
  color: var(--swage-accent);
}
.swage-system-child.nx .process-approvals .gates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.swage-system-child.nx .process-approvals .gates > li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-2) var(--space-3);
  align-items: start;
  padding: var(--space-4) 0;
  border: 0;
}
.swage-system-child.nx .process-approvals .gates > li > :is(small, code) {
  grid-column: 2;
  color: var(--swage-muted);
  font: var(--swage-weight-regular) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
  overflow-wrap: anywhere;
}
@media (width < 40rem) {
  .swage-system-child.nx .process-approvals .gates {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Collections share the landing bento palette and cropped screen treatment. */
.swage-system-child.nx .process-reports__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}
.swage-system-child.nx .process-reports__heading > a {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--swage-type-label);
}
.swage-system-child.nx .process-reports__heading svg,
.swage-system-child.nx .process-report h3 svg {
  width: 1em;
  height: 1em;
  vertical-align: middle;
}
.swage-system-child.nx .process-reports__list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - var(--space-8)) / 3);
  gap: var(--space-4);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  padding-bottom: var(--space-4);
}
.swage-system-child.nx :is(.process-report, .role-bento > .role-card) {
  --collection-tint: var(--catalog-palette-slate-base);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius);
  background: color-mix(in oklab, var(--collection-tint) 32%, var(--swage-canvas));
  overflow: clip;
  scroll-snap-align: start;
}
.dark .swage-system-child.nx :is(.process-report, .role-bento > .role-card) {
  background: color-mix(in oklab, var(--collection-tint) 14%, var(--swage-canvas));
}
.swage-system-child.nx .process-report__copy {
  padding: var(--space-6);
}
.swage-system-child.nx .process-report h3 {
  margin: 0 0 var(--space-3);
  font: var(--swage-weight-heading) var(--swage-type-card-strong)/var(--swage-leading-card-strong)
    var(--font-heading);
}
.swage-system-child.nx .process-report h3 a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
  color: var(--swage-ink);
}
.swage-system-child.nx .process-report p {
  margin: 0;
  color: var(--swage-muted);
}
.swage-system-child.nx .process-report__preview {
  margin-top: auto;
}
.swage-system-child.nx .process-report__roles {
  display: flex;
  gap: var(--space-2);
  list-style: none;
  padding: 0 var(--space-6);
  margin: 0 0 var(--space-3);
}
.swage-system-child.nx .process-report__roles a,
.swage-system-child.nx .process-report__roles span {
  display: grid;
  place-items: center;
  min-width: 2rem;
  min-height: 2rem;
  border-radius: 50%;
  background: var(--swage-canvas);
  color: var(--swage-accent);
  font-size: var(--swage-type-label);
}
.swage-system-child.nx .collection-preview {
  height: 14rem;
  overflow: clip;
  margin: var(--space-4) 0 0 var(--space-6);
}
.swage-system-child.nx .collection-preview .win {
  width: 36rem;
  min-width: 36rem;
  margin: 0;
}
.swage-system-child.nx .role-cards.role-bento {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}
.swage-system-child.nx .role-bento .role-card > :is(.vh, .scenario, .role-permissions) {
  margin: var(--space-6) var(--space-6) 0;
}
.swage-system-child.nx .role-bento .role-card > .collection-preview {
  margin-top: var(--space-6);
}
.swage-system-child.nx .role-permissions summary {
  cursor: pointer;
  color: var(--swage-accent);
}
.swage-system-child.nx .role-permissions .perms {
  overflow-wrap: anywhere;
}
.swage-system-child.nx .process-reports__list:focus-visible {
  outline: 2px solid var(--swage-accent);
  outline-offset: var(--space-1);
}
@media (width < 60rem) {
  .swage-system-child.nx .process-reports__list {
    grid-auto-columns: 75%;
  }
  .swage-system-child.nx .role-cards.role-bento {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (width < 40rem) {
  .swage-system-child.nx .process-reports__list {
    grid-auto-columns: 88%;
  }
  .swage-system-child.nx .role-cards.role-bento {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Process-wide explanations sit below the complete stepper, outside its spine. */
.swage-system-child.nx .process-addenda {
  margin-top: 0;
  border: 1px solid var(--swage-line);
  border-top: 0;
  border-radius: 0 0 var(--swage-panel-radius) var(--swage-panel-radius);
  background: var(--swage-material-recessed);
}
.swage-system-child.nx .process-addenda .process-approvals {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.swage-system-child.nx .process-exceptions {
  padding-top: var(--space-6);
  border-top: 1px solid var(--swage-line);
  margin-top: var(--space-4);
}
.swage-system-child.nx .process-exceptions h3 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
  color: var(--swage-accent);
  font: var(--swage-weight-semibold) var(--swage-type-lead-fixed)/var(--swage-leading-body-compact)
    var(--font-body);
}
.swage-system-child.nx .process-exceptions h3 svg {
  width: 1.125rem;
  height: 1.125rem;
  flex-shrink: 0;
}
.swage-system-child.nx .process-exceptions .exc {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.swage-system-child.nx .process-exceptions .exc ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  padding: 0;
}
.swage-system-child.nx .process-exceptions .exc li {
  display: block;
  padding: var(--space-4) 0;
  border: 0;
}
.swage-system-child.nx .process-exceptions .exc .tag {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
  padding: 0;
  background: transparent;
  color: var(--swage-muted);
  font: var(--swage-weight-regular) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
  text-transform: none;
}
.swage-system-child.nx .process-exceptions .exc b {
  display: block;
  font: var(--swage-weight-semibold) var(--swage-type-body-fixed)/var(--swage-leading-body-compact)
    var(--font-body);
}
.swage-system-child.nx .process-exceptions .exc p {
  margin: var(--space-2) 0 0;
  color: var(--swage-muted);
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-body)
    var(--font-body);
}
@media (width < 40rem) {
  .swage-system-child.nx .process-exceptions .exc ul {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Process-wide addenda stay visible beneath the stepper. */
.swage-system-child.nx .process-addenda__label {
  padding: var(--space-4) var(--space-6);
  color: var(--swage-accent);
  font-weight: var(--swage-weight-semibold);
}
.swage-system-child.nx .process-addenda__body {
  padding: var(--space-4) var(--space-6) var(--space-6);
}
@media (width < 40rem) {
  .swage-system-child.nx .process-steps {
    padding: 0 var(--space-4);
  }
  .swage-system-child.nx .process-addenda__label {
    padding-inline: var(--space-4);
  }
  .swage-system-child.nx .process-addenda__body {
    padding-inline: var(--space-4);
  }
}

/* Safari may focus fragment destinations after pointer navigation. Keep that
   focus for assistive technology, without outlining whole content sections.
   Keyboard input restores the existing focus-visible treatment immediately. */
html[data-swage-focus-input='pointer']
  .swage-system-child.nx.nx-sys
  :is(section[id], article[id], h1, h2, h3, h4, h5, h6):focus {
  outline: none;
}

/* Dividers meet the enclosing boundary; padding belongs to the content. */
@media (width < 40rem) {
  .swage-system-child.nx .process-steps .stage-plate {
    margin-inline-end: calc(-1 * var(--space-4));
  }
  .swage-system-child.nx .process-steps .stage-meta {
    margin-inline: calc(-1 * var(--space-4));
    padding-inline: var(--space-4);
  }
}

/* Agent support: clear reading column beside the configured example. */
.swage-system-child.nx .agent-row {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: start;
  gap: var(--space-12);
}
.swage-system-child.nx .agent-row > div:not(.term) {
  min-width: 0;
  padding-block: var(--space-4);
}
.swage-system-child.nx .agent-row .k {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--swage-accent);
  font: var(--swage-weight-medium) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
}
.swage-system-child.nx .agent-row h2 {
  margin: 0 0 var(--space-5);
  text-wrap: balance;
}
.swage-system-child.nx .agent-row p {
  margin: 0;
  color: var(--swage-muted);
  font: var(--swage-weight-regular) var(--swage-type-body)/var(--swage-leading-reading)
    var(--font-body);
  max-width: 60ch;
}
.swage-system-child.nx .agent-row .cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-8);
}
.swage-system-child.nx .agent-row > .term {
  min-width: 0;
  margin: 0;
  padding: var(--space-6);
  font-size: var(--swage-type-caption);
  line-height: var(--swage-leading-prose);
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  box-shadow: none;
  border-radius: var(--swage-panel-radius);
}
@media (width < 60rem) {
  .swage-system-child.nx .agent-row {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }
}

.swage-system-child.nx .process-siblings-count {
  font: var(--swage-weight-regular) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
  color: var(--swage-muted);
  text-transform: none;
}
.swage-system-child.nx .swage-role-card__copy .process-siblings-count {
  margin-top: var(--space-4);
}

.swage-system-child.nx .role-bento .acts-as {
  margin: var(--space-4) var(--space-6);
  font: var(--swage-weight-regular) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
}

/* Read surfaces: questions, policies, directories and implementation phases. */
.swage-system-child.nx :is(.faq, .faq.one, .faq-groups.one .faq) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 0 var(--space-10);
  columns: auto;
  max-width: none;
}
.swage-system-child.nx .faq > h3 {
  grid-column: 1 / -1;
  margin-bottom: var(--space-6);
  color: var(--swage-accent);
  font: var(--swage-weight-heading) var(--swage-type-card)/var(--swage-leading-support)
    var(--font-body);
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
}
.swage-system-child.nx .faq-item {
  min-width: 0;
  padding-block: var(--space-4);
}
.swage-system-child.nx .faq-item summary {
  min-height: var(--space-8);
  font: var(--swage-weight-heading) var(--swage-type-lead-fixed)/var(--swage-leading-body-compact)
    var(--font-body);
  gap: var(--space-4);
}
.swage-system-child.nx .faq-item summary::after {
  font: var(--swage-weight-regular) var(--swage-type-subsection)/var(--swage-leading-card)
    var(--font-body);
  color: var(--swage-accent);
}
.swage-system-child.nx .faq-body :is(p, ul, ol) {
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-prose)
    var(--font-body);
  margin-top: var(--swage-rhythm-heading-copy);
}
.swage-system-child.nx .faq-body .faq-src {
  font: var(--swage-weight-medium) var(--swage-type-label)/var(--swage-leading-body-compact)
    var(--font-body);
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
  margin-top: var(--space-4);
}
.swage-refined.nx :is(.k, .pcat, .badge, .timeline .ends) {
  font-family: var(--font-body);
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
}
.swage-refined.nx .faq-directory {
  display: flex;
  flex-direction: column-reverse;
  gap: var(--space-8);
}
.swage-refined.nx .faq-directory :is(.doc-body, .doc-aside, .faq-groups) {
  width: 100%;
  max-width: none;
  position: static;
}
.swage-refined.nx .faq-directory .doc-aside-box {
  background: transparent;
  border: 0;
  padding: 0;
}
.swage-refined.nx .faq-directory .doc-aside-box > b {
  display: none;
}
.swage-refined.nx .faq-directory .doc-aside-box ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  padding: 0;
  list-style: none;
}
.swage-refined.nx .faq-directory .doc-aside-box a {
  display: block;
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius);
  padding: var(--space-3) var(--space-4);
  color: var(--swage-accent);
}
.swage-refined.nx .explanation-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--space-10);
  margin-top: var(--space-8);
  background: transparent;
  border: 0;
  padding: 0;
  max-width: none;
}
.swage-refined.nx .explanation-list > :is(article, .explanation-item) {
  display: grid;
  grid-template-columns: var(--space-10) minmax(0, 1fr);
  gap: var(--space-4);
  align-content: start;
  border: 0;
  border-top: 1px solid var(--swage-line);
  border-radius: 0;
  background: transparent;
  padding: var(--space-6) 0;
  box-shadow: none;
}
.swage-refined.nx .explanation-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--space-10);
  height: var(--space-10);
  border-radius: var(--space-3);
  color: var(--swage-accent);
  background: var(--swage-accent-soft);
}
.swage-refined.nx .explanation-icon :is(svg, .icon) {
  width: var(--space-6);
  height: var(--space-6);
  margin: 0;
}
.swage-refined.nx .explanation-list h3 {
  margin: 0 0 var(--space-2);
  font: var(--swage-weight-heading) var(--swage-type-lead-fixed)/var(--swage-leading-support)
    var(--font-body);
}
.swage-refined.nx .explanation-list p {
  margin: 0;
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-prose)
    var(--font-body);
  color: var(--swage-muted);
}
.swage-refined.nx .industry-directory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  padding: 0;
  margin: 0;
  list-style: none;
  isolation: isolate;
}
.swage-refined.nx .industry-directory .ind-card-sib {
  padding: 0;
  transition:
    background-color 180ms ease-out,
    border-color 180ms ease-out;
  width: auto;
  min-width: 0;
  margin: 0;
  transform: none;
  background: color-mix(in srgb, var(--pc) 35%, var(--swage-canvas));
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius);
  overflow: hidden;
  box-shadow: none;
}
.swage-refined.nx .industry-directory .ind-card-sib > a {
  position: relative;
  height: 100%;
  padding: var(--space-8);
  display: block;
  border-radius: inherit;
  background: transparent;
}
.swage-refined.nx .industry-directory .phead {
  padding: 0;
  min-height: 0;
}
.swage-refined.nx .industry-directory .pcat {
  margin: 0 0 var(--space-3);
  padding: 0;
  background: none;
  color: var(--swage-muted);
  font-size: var(--swage-type-label);
}
.swage-refined.nx .industry-directory h3 {
  max-width: 28ch;
  padding-right: var(--space-8);
  margin: 0;
  min-height: 0;
  font: var(--swage-weight-heading) var(--swage-type-card-strong)/var(--swage-leading-label)
    var(--font-body);
}
.swage-refined.nx .industry-directory .ptag {
  display: block;
  -webkit-line-clamp: unset;
  white-space: normal;
  overflow: visible;
  margin: var(--space-4) 0 0;
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-body)
    var(--font-body);
  color: var(--swage-muted);
}
.swage-refined.nx .industry-directory__arrow {
  position: absolute;
  top: var(--space-8);
  right: var(--space-6);
  color: var(--swage-accent);
  transition: transform 180ms ease-out;
}
.swage-refined.nx .industry-directory .ind-card-sib:has(> a:is(:hover, :focus-visible)) {
  background: color-mix(in srgb, var(--pc) 50%, var(--swage-canvas));
  border-color: var(--pi);
}
.swage-refined.nx .industry-directory a:is(:hover, :focus-visible) {
  background: transparent;
  outline: none;
}
.swage-refined.nx .industry-directory .ind-card-sib:has(> a:focus-visible) {
  outline: 2px solid var(--pi);
  outline-offset: var(--space-1);
}
.swage-refined.nx .industry-directory a:is(:hover, :focus-visible) .industry-directory__arrow {
  transform: translate(2px, -2px);
}
.swage-refined.nx .industry-directory .on {
  border-color: var(--swage-accent);
}
.swage-refined.nx .industry-process {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius);
  overflow: hidden;
  padding: 0;
  margin: 0;
}
.swage-refined.nx .industry-process li {
  min-width: 0;
}
.swage-refined.nx .industry-process li > :is(a, div) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  height: 100%;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--swage-line);
  background: var(--swage-material-info);
  text-decoration: none;
  color: var(--swage-ink);
}
.swage-refined.nx .industry-process a:is(:hover, :focus-visible) {
  background: var(--swage-accent-soft);
}
.swage-refined.nx .industry-process h3 {
  margin: 0;
}
.swage-refined.nx .industry-process__number {
  font: var(--swage-weight-medium) var(--swage-type-subsection)/var(--swage-leading-solid)
    var(--font-heading);
  color: var(--swage-muted);
}
.swage-refined.nx .industry-process__gate {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--swage-accent);
  font-size: var(--swage-type-label);
}
.swage-refined.nx .industry-process p {
  margin: 0;
  font-size: var(--swage-type-label);
}
.swage-refined.nx .ind-screens {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}
.swage-refined.nx .ind-screens > .win {
  border: var(--space-6) solid var(--swage-accent-soft);
  border-right: 0;
  border-bottom: 0;
  max-height: 26rem;
  overflow: hidden;
  box-shadow: none;
  background: var(--swage-surface);
}
.swage-refined.nx .ind-screens > .win:nth-child(even) {
  border-color: color-mix(in srgb, var(--swage-accent) 12%, var(--swage-canvas));
}
.swage-refined.nx .ind-screens .win-body {
  min-width: 36rem;
}
.swage-refined.nx .timeline {
  grid-auto-flow: row;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 var(--space-8);
  padding: 0;
}
.swage-refined.nx .timeline::after {
  content: none;
}
.swage-refined.nx .timeline li {
  position: relative;
  grid-template-columns: var(--space-10) minmax(0, 1fr);
  gap: var(--space-3) var(--space-4);
  border: 0;
  border-top: 1px solid var(--swage-line);
  border-radius: 0;
  background: transparent;
  padding: var(--space-6) 0;
}
.swage-refined.nx .timeline .n {
  font: var(--swage-weight-medium) var(--swage-type-metric)/var(--swage-leading-solid)
    var(--font-heading);
  grid-row: 1 / span 3;
  color: var(--swage-muted);
}
.swage-refined.nx .timeline b {
  font: var(--swage-weight-heading) var(--swage-type-lead-fixed)/var(--swage-leading-support)
    var(--font-body);
}
.swage-refined.nx .timeline :is(p, .owner) {
  grid-column: 2;
  font-size: var(--swage-type-label);
}
.swage-refined.nx .timeline b a::after {
  content: '';
  position: absolute;
  inset: 0;
}
.swage-refined.nx .timeline li:has(a):hover {
  background: var(--swage-material-info);
}
.swage-refined.nx .implementation-phases {
  display: block;
}
.swage-refined.nx .implementation-phase {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--space-10);
  padding: var(--space-10) 0;
  border-top: 1px solid var(--swage-line);
  background: transparent;
}
.swage-refined.nx .implementation-phase.prose {
  grid-template-columns: minmax(0, 1fr);
}
.swage-refined.nx .implementation-phase .doc-row-text {
  max-width: var(--swage-measure-copy);
  padding: 0;
}
.swage-refined.nx .implementation-phase.flip .doc-row-text {
  order: 0;
}
.swage-refined.nx .implementation-phase h2 {
  font-size: var(--swage-type-subsection-fluid);
  margin: var(--space-3) 0 var(--space-4);
}
.swage-refined.nx .implementation-phase__eyebrow {
  color: var(--swage-accent);
  font-size: var(--swage-type-label);
}
.swage-refined.nx .implementation-phase .doc-row-plate {
  min-width: 0;
  padding: var(--space-6) 0 0 var(--space-6);
  background: var(--swage-accent-soft);
  border-radius: var(--swage-panel-radius) 0 0 0;
  overflow: hidden;
}
.swage-refined.nx .implementation-phase:nth-child(even) .doc-row-plate {
  background: var(--swage-material-info);
}
.swage-refined.nx .implementation-phase .doc-row-plate > :is(.win, .cmini) {
  margin: 0;
  box-shadow: none;
  width: 100%;
}
.swage-refined.nx .implementation-phase .doc-row-plate .win-body {
  max-height: none;
  overflow: visible;
}
.swage-refined.nx .implementation-phase .ends {
  border-top: 1px solid var(--swage-line);
  padding-top: var(--space-4);
  margin-top: var(--space-6);
  font-size: var(--swage-type-body-fixed);
}
.swage-refined.nx .implementation-phase .ends .k {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--swage-accent);
  margin-bottom: var(--space-2);
}
.swage-refined.nx .implementation-scope {
  gap: var(--space-10);
}
.swage-refined.nx .implementation-scope .spec-card {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--swage-line);
  border-radius: 0;
  padding: var(--space-6) 0;
}
.swage-refined.nx .implementation-scope .spec-card > b {
  font: var(--swage-weight-bold) var(--swage-type-subsection-strong)/var(--swage-leading-card)
    var(--font-heading);
  margin-bottom: var(--space-4);
}
.swage-refined.nx .steps3 {
  margin-top: var(--space-6);
}
.swage-refined.nx .steps3 > div {
  border-top: 1px solid var(--swage-line);
  padding-block: var(--space-4);
  gap: var(--space-4);
}
.swage-refined.nx .steps3 > div > b {
  font: var(--swage-weight-medium) var(--swage-type-subsection)/var(--swage-leading-card)
    var(--font-heading);
  color: var(--swage-muted);
}
.swage-refined.nx :is(.model-diagram, .swim) {
  background: var(--swage-material-info);
  border: 1px solid var(--swage-line);
  box-shadow: none;
  border-radius: var(--swage-panel-radius);
  overflow: hidden;
}
.swage-refined.nx .model-diagram .win-dots {
  display: none;
}
.swage-refined.nx .model-diagram .win-bar {
  padding: var(--space-4) var(--space-6);
}
.swage-refined.nx .model-diagram .scroll {
  max-height: 36rem;
  overflow: auto;
}
.swage-refined.nx .model-diagram .erd {
  min-width: 74rem;
}
.swage-refined.nx .kind-cards {
  gap: var(--space-6);
}
.swage-refined.nx .kind-cards .kind {
  padding: var(--space-6);
  border: 0;
  border-radius: var(--swage-panel-radius);
}
.swage-refined.nx .kind-cards .kind:nth-child(even) {
  background: var(--swage-accent-soft);
}
.swage-refined.nx .kind-cards h3 {
  font-size: var(--swage-type-card);
  margin: var(--space-4) 0 var(--space-3);
}
.swage-refined.nx .kind-cards p {
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-reading)
    var(--font-body);
}
.swage-refined.nx .kind-cards .recs {
  gap: var(--space-2);
  margin-top: var(--space-4);
}
.swage-refined.nx .kind-cards .recs a {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  padding: var(--space-2) var(--space-3);
}
.swage-refined.nx .table-directory-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3) var(--space-4);
  padding: var(--space-4) 0;
}
.swage-refined.nx .table-directory-tools label {
  font-weight: var(--swage-weight-semibold);
}
.swage-refined.nx .table-directory-tools input {
  flex: 1;
  min-width: 12rem;
  max-width: 32rem;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius);
  background: var(--swage-surface);
  color: var(--swage-ink);
  font: inherit;
}
.swage-refined.nx .table-directory-tools [role='status'] {
  color: var(--swage-muted);
  font-size: var(--swage-type-label);
}
.swage-refined.nx .spec-table[hidden] {
  display: none;
}
.swage-refined.nx .spec-table > summary {
  padding: var(--space-4) var(--space-6);
  font: var(--swage-weight-semibold) var(--swage-type-lead-fixed)/var(--swage-leading-support)
    var(--font-body);
  cursor: pointer;
  overflow-wrap: anywhere;
}
.swage-refined.nx .spec-table[open] {
  overflow-x: auto;
}
.swage-refined.nx .spec-table table {
  min-width: 42rem;
  font: var(--swage-weight-regular) var(--swage-type-ui)/var(--swage-leading-body) var(--font-body);
}
.swage-refined.nx .spec-table :is(th, td) {
  padding: var(--space-3) var(--space-4);
  border-color: var(--swage-line);
}
.swage-refined.nx .spec-table th {
  font-weight: var(--swage-weight-semibold);
  background: var(--swage-material-info);
  text-align: left;
}
.swage-refined.nx .swim-scroll {
  padding: var(--space-6);
  background: var(--swage-surface);
}
.swage-refined.nx .swim-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(17rem, 30%);
  gap: var(--space-4);
  overflow-x: auto;
  padding: var(--space-6);
  scroll-snap-type: x proximity;
}
.swage-refined.nx .swim-rail > li {
  min-width: 0;
  width: auto;
  border: 0;
  border-radius: var(--swage-panel-radius);
  padding: var(--space-4);
  background: var(--swage-accent-soft);
  scroll-snap-align: start;
  opacity: 1;
}
.swage-refined.nx .swim-evidence-label {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--swage-ink);
  margin-bottom: var(--space-4);
  text-decoration: none;
}
.swage-refined.nx .swim-evidence-label b {
  font: var(--swage-weight-semibold) var(--swage-type-body-fixed)/var(--swage-leading-support)
    var(--font-body);
  flex: 1;
}
.swage-refined.nx .swim-rail .mini {
  width: 100%;
}
.swage-refined.nx .swim > .lead {
  padding: 0 var(--space-6) var(--space-6);
  margin: 0;
  font-size: var(--swage-type-label);
}
.swage-refined.nx .governance-rules {
  border: 0;
  padding: 0;
  background: none;
  display: grid;
  gap: 0;
}
.swage-refined.nx .governance-rules .ctrl {
  display: grid;
  grid-template-columns: var(--space-10) 1fr;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--swage-line);
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-reading)
    var(--font-body);
}
.swage-refined.nx .agent-head {
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-10);
  align-items: start;
}
.swage-refined.nx .agent-head-text {
  padding: 0;
}
.swage-refined.nx .agent-head-text h2 {
  font-size: var(--swage-type-metric);
  margin: var(--space-6) 0 var(--space-4);
}
.swage-refined.nx .agent-head-text p {
  font: var(--swage-weight-regular) var(--swage-type-body-reading)/var(--swage-leading-prose)
    var(--font-body);
}
.swage-refined.nx :is(.agent-head, .governance-rules) .cta {
  gap: var(--space-3);
}
.swage-refined.nx .agent-head .term {
  padding: var(--space-6);
  font-size: var(--swage-type-ui);
  line-height: var(--swage-leading-prose);
  box-shadow: none;
  border-radius: var(--swage-panel-radius);
}
.swage-refined.nx .note-plate {
  max-width: none;
  padding: var(--space-6);
  border: 0;
}
.swage-refined.nx .note-plate.agent-limitations {
  padding: 0;
}
.swage-refined.nx .doors {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
}
.swage-refined.nx .doors-hero {
  max-width: none;
  padding: var(--space-6) var(--space-6) 0;
  background: var(--swage-accent-soft);
  border-radius: var(--swage-panel-radius);
  overflow: hidden;
  max-height: 28rem;
}
.swage-refined.nx .doors-hero .win {
  width: 100%;
  box-shadow: none;
}
.swage-refined.nx .doors-grid {
  grid-template-columns: 1fr;
  gap: 0;
  width: 100%;
  align-self: stretch;
}
.swage-refined.nx .door {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  border: 0;
  border-top: 1px solid var(--swage-line);
  border-radius: 0;
  padding: var(--space-8) 0;
  background: transparent;
  box-shadow: none;
  width: 100%;
  max-width: none;
}
.swage-refined.nx .door .phead {
  padding: 0 var(--space-8) 0 0;
}
.swage-refined.nx .door .pcat {
  background: none;
  padding: 0;
  color: var(--swage-muted);
  font: var(--swage-weight-medium) var(--swage-type-metric)/var(--swage-leading-solid)
    var(--font-heading);
}
.swage-refined.nx .door h3 {
  margin-top: var(--space-4);
  font: var(--swage-weight-bold)
    var(--swage-type-subsection-strong)/var(--swage-leading-card-strong) var(--font-heading);
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}
.swage-refined.nx .door-body {
  padding: 0;
  gap: var(--space-4);
  background: transparent;
}
.swage-refined.nx .door-body p {
  font: var(--swage-weight-regular) var(--swage-type-body-reading)/var(--swage-leading-prose)
    var(--font-body);
}
.swage-refined.nx .refs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}
.swage-refined.nx .refs .ref {
  padding: var(--space-6);
  border: 1px solid var(--swage-line);
  border-radius: var(--swage-panel-radius);
  min-width: 0;
}
.swage-refined.nx .refs .badge {
  display: inline-block;
  background: none;
  padding: 0;
  color: var(--swage-accent);
  margin-bottom: var(--space-4);
}
.swage-refined.nx .refs .ref b {
  display: block;
  font: var(--swage-weight-heading) var(--swage-type-lead-fixed)/var(--swage-leading-support)
    var(--font-body);
}
.swage-refined.nx .refs .ref p {
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-body)
    var(--font-body);
  margin-top: var(--swage-rhythm-heading-copy);
}
.swage-refined.nx .refs .ref:is(:hover, :focus-visible) {
  background: var(--swage-accent-soft);
}
.swage-refined.nx .included-rows {
  margin-top: var(--space-8);
}
.swage-refined.nx .included-row {
  display: grid;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: var(--space-6);
  padding-block: var(--space-4);
  border-top: 1px solid var(--swage-line);
}
.swage-refined.nx .included-row > .k {
  font: var(--swage-weight-heading) var(--swage-type-body-fixed)/var(--swage-leading-body-compact)
    var(--font-body);
}
.swage-refined.nx .included-row .recs {
  gap: var(--space-3);
}
.swage-refined.nx .included-row .chip {
  padding: var(--space-2) var(--space-3);
  font: var(--swage-weight-regular) var(--swage-type-ui)/var(--swage-leading-body-compact)
    var(--font-body);
  white-space: normal;
}
.swage-refined.nx .pricing-grid {
  gap: var(--space-8);
  align-items: start;
}
.swage-refined.nx .pricing-grid .win {
  box-shadow: none;
}
.swage-refined.nx .pricing-grid .win-dots {
  display: none;
}
.swage-refined.nx .pricing-grid .win-grid :is(th, td) {
  padding: var(--space-4);
  font-size: var(--swage-type-body-fixed);
}
.swage-refined.nx .pricing-grid .calc {
  padding: var(--space-6);
  border-radius: var(--swage-panel-radius);
}
.swage-refined.nx .calc .preset {
  padding: var(--space-4);
  min-height: var(--space-12);
  border-radius: var(--space-3);
}
.swage-refined.nx .calc input {
  accent-color: var(--swage-accent);
}
.swage-refined.nx .two-cards {
  gap: var(--space-8);
}
.swage-refined.nx .two-cards .spec-card {
  padding: var(--space-6);
}
.swage-refined.nx .two-cards .spec-card p {
  font: var(--swage-weight-regular) var(--swage-type-body-reading)/var(--swage-leading-prose)
    var(--font-body);
}
@media (max-width: 960px) {
  .swage-refined.nx :is(.timeline, .industry-process, .refs) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .swage-refined.nx :is(.implementation-phase, .agent-head) {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  /* The inherited three-column header reserves 220px for the record name.
     Give complete descriptions their own row before that squeezes out prose. */
  .swage-refined.nx .spec-table > summary {
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: var(--space-2) var(--space-4);
  }
  .swage-refined.nx .spec-table > summary > span {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .swage-refined.nx .spec-table > summary > i {
    grid-column: 2;
    grid-row: 1;
    white-space: nowrap;
  }
  .swage-system-child.nx :is(.faq, .faq.one, .faq-groups.one .faq) {
    grid-template-columns: 1fr;
  }
  .swage-refined.nx
    :is(
      .explanation-list,
      .industry-directory,
      .industry-process,
      .ind-screens,
      .timeline,
      .kind-cards,
      .door,
      .refs,
      .included-row,
      .two-cards
    ) {
    grid-template-columns: 1fr;
  }
  .swage-refined.nx .industry-directory .ind-card-sib > a {
    padding: var(--space-6);
  }
  .swage-refined.nx .industry-directory__arrow {
    top: var(--space-6);
  }
  .swage-refined.nx .implementation-phase {
    gap: var(--space-6);
    padding-block: var(--swage-rhythm-child-section);
  }
  .swage-refined.nx .door {
    gap: var(--space-4);
  }
  .swage-refined.nx .table-directory-tools {
    align-items: stretch;
    flex-direction: column;
  }
  .swage-refined.nx .table-directory-tools input {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .swage-refined.nx .industry-directory :is(a, .industry-directory__arrow) {
    transition: none;
  }
}

/* Neutralise inherited poster geometry inside these document components. */

.swage-refined.nx .implementation-phase.flip .doc-row-plate {
  order: 1;
}

.swage-refined.nx .implementation-phase .win[data-kind='roles'] .win-grid {
  table-layout: auto;
}
.swage-refined.nx .implementation-phase .win[data-kind='roles'] td {
  padding: var(--space-3);
}
.swage-refined.nx .implementation-report {
  padding: var(--space-6) var(--space-6) 0 0;
}
.swage-refined.nx .implementation-report h3 {
  margin: 0 0 var(--space-3);
}
.swage-refined.nx .implementation-report h3 a {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--swage-accent);
}
.swage-refined.nx .implementation-report p {
  font: var(--swage-weight-regular) var(--swage-type-body-fixed)/var(--swage-leading-reading)
    var(--font-body);
  margin-bottom: var(--space-6);
}
.swage-refined.nx .implementation-report__preview {
  max-height: 18rem;
  overflow: hidden;
}
.swage-refined.nx .implementation-report__preview .win {
  min-width: 32rem;
}
.swage-refined.nx .swim-evidence-label :is(.icon, svg) {
  width: var(--space-6);
  height: var(--space-6);
  min-width: 0;
  flex: none;
}
.swage-refined.nx .swim-evidence-label .k {
  white-space: nowrap;
}

.swage-refined.nx .swimlane .lane-lbl {
  text-transform: none;
  letter-spacing: var(--swage-tracking-normal);
  font: var(--swage-weight-medium) var(--swage-type-preview-caption) var(--font-body);
}
.swage-refined.nx .agent-limitations {
  box-shadow: none;
  background: transparent;
}
.swage-refined.nx .agent-limitations > :only-child {
  grid-column: 1 / -1;
  max-width: 75ch;
}
.swage-refined.nx .refs .rev {
  display: none;
}
.swage-refined.nx .faq-item {
  padding-block: var(--space-4);
}
.swage-refined.nx .model-keys .doc-row-text {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--space-10);
  max-width: none;
  padding: var(--space-8) 0;
  border-block: 1px solid var(--swage-line);
}
.swage-refined.nx .model-keys .doc-row-text :is(h2, p) {
  margin: 0;
}
.swage-refined.nx .model-keys .doc-row-text p {
  font: var(--swage-weight-regular)
    var(--swage-type-body-reading)/var(--swage-leading-prose-relaxed) var(--font-body);
}
@media (max-width: 640px) {
  .swage-refined.nx .model-keys .doc-row-text {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }
}

/* Included is supporting information, not a competing card header. */
.swage-system-child .module-card__included {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  margin-top: var(--swage-rhythm-heading-copy);
  color: var(--swage-accent);
  font: var(--swage-weight-medium) var(--swage-type-label)/var(--swage-leading-support)
    var(--font-body);
}
.swage-system-child .module-card__included svg {
  width: 1rem;
  height: 1rem;
}

/* Identity-based collection colors stay stable when a page filters or reorders items. */

/* Swage process shape vocabulary: geometry conveys kind; source text remains primary. */
.swage-system-child.nx svg.process-shape {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  color: currentColor;
  vertical-align: middle;
}
.swage-system-child .process-steps__name {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}
.swage-system-child .process-steps__name > span {
  min-width: 0;
}
.swage-system-child .process-approvals .ctrl > .process-shape {
  grid-column: 1;
  grid-row: 1 / span 3;
  margin-top: 0.15em;
  color: var(--swage-accent);
}

.swage-system-child.nx :is(.process-report, .role-bento > .role-card)[data-collection-pc] {
  --collection-tint: var(--collection-palette-base);
}
