@charset "UTF-8";

.article-page {
  background: var(--paper);
}

.article-hero {
  position: relative;
  display: grid;
  min-height: 660px;
  overflow: hidden;
  padding: 148px 0 80px;
  color: var(--white);
  isolation: isolate;
  align-items: end;
}

.article-hero-image {
  position: absolute;
  z-index: -3;
  inset: 0;
  background:
    url("/assets/rules-integrity-hero.png")
    center 54% / cover no-repeat;
  transform: scale(1.03);
}

.article-hero-overlay {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(24, 19, 18, 0.9) 0%, rgba(35, 25, 22, 0.69) 48%, rgba(28, 20, 18, 0.55) 100%),
    linear-gradient(180deg, rgba(20, 17, 16, 0.28), rgba(20, 17, 16, 0.7));
}

.article-hero-content {
  position: relative;
}

.breadcrumbs {
  display: flex;
  margin-bottom: 58px;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.breadcrumbs a {
  text-decoration: none;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus-visible {
  color: var(--white);
}

.article-series,
.article-section-label {
  margin-bottom: 18px;
  color: #e2c7a1;
  font-size: 0.71rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.article-hero h1 {
  max-width: 980px;
  margin-bottom: 24px;
  font-size: clamp(4.2rem, 10vw, 8.5rem);
  letter-spacing: -0.065em;
}

.article-deck {
  max-width: 900px;
  margin-bottom: 34px;
  color: rgba(255, 255, 255, 0.88);
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.48;
}

.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.73rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.article-meta span {
  position: relative;
}

.article-meta span:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -16px;
  width: 3px;
  height: 3px;
  content: "";
  border-radius: 50%;
  background: #e2c7a1;
  transform: translateY(-50%);
}

.article-layout {
  display: grid;
  padding-top: 86px;
  padding-bottom: 130px;
  grid-template-columns: 240px minmax(0, 820px);
  gap: clamp(58px, 8vw, 120px);
  justify-content: center;
  align-items: start;
}

.article-toc {
  position: sticky;
  top: 116px;
  padding: 26px 22px;
  border-top: 3px solid var(--burgundy);
  background: var(--ivory);
}

.article-toc-title {
  margin-bottom: 18px;
  color: var(--burgundy);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.article-toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: toc;
}

.article-toc li {
  counter-increment: toc;
}

.article-toc li.toc-unnumbered {
  counter-increment: none;
}

.article-toc a {
  display: grid;
  padding: 7px 0;
  grid-template-columns: 26px minmax(0, 1fr);
  color: var(--charcoal-soft);
  font-size: 0.78rem;
  line-height: 1.35;
  text-decoration: none;
}

.article-toc a::before {
  content: counter(toc, decimal-leading-zero);
  color: var(--burgundy);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.article-toc li.toc-unnumbered a::before {
  content: "";
}

.article-toc a:hover,
.article-toc a:focus-visible {
  color: var(--burgundy);
}

.article-body {
  min-width: 0;
}

.article-body > section {
  padding: 78px 0;
  border-bottom: 1px solid var(--line);
}

.article-body > section:first-child {
  padding-top: 0;
}

.article-body h2 {
  max-width: 780px;
  margin-bottom: 30px;
  font-size: clamp(2.45rem, 5vw, 4.4rem);
}

.article-body h3 {
  margin-top: 38px;
  margin-bottom: 15px;
  font-size: clamp(1.4rem, 2.4vw, 2rem);
}

.article-body p,
.article-body li {
  color: #34383a;
  font-size: 1.04rem;
  line-height: 1.82;
}

.article-body p {
  margin-bottom: 1.45em;
}

.article-body ul,
.article-body ol {
  padding-left: 1.35em;
}

.article-body li + li {
  margin-top: 0.52em;
}

.article-body sup {
  margin-left: 2px;
  font-size: 0.68em;
}

.article-body sup a {
  color: var(--burgundy);
  font-weight: 800;
  text-decoration: none;
}

.article-summary {
  padding: 0 0 72px !important;
}

.article-summary p:first-of-type:not(.article-section-label) {
  color: var(--charcoal);
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  line-height: 1.55;
}

.article-section-label {
  color: var(--burgundy);
}

.definition-callout {
  margin: 42px 0;
  padding: 32px 34px;
  border-left: 5px solid var(--burgundy);
  background: var(--ivory);
}

.definition-callout p {
  margin: 0;
  color: var(--burgundy-dark);
  font-family: var(--serif);
  font-size: clamp(1.3rem, 2.3vw, 1.75rem);
  line-height: 1.55;
}

.article-diagram {
  margin: 52px 0;
  padding: 34px;
  border: 1px solid var(--line);
  background: var(--ivory);
}

.article-diagram figcaption {
  margin-bottom: 30px;
  color: var(--burgundy);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.flow-diagram {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 12px;
  align-items: center;
}

.flow-node {
  min-height: 128px;
  padding: 20px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.flow-node-accent {
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
}

.flow-node span {
  display: block;
  margin-bottom: 20px;
  color: var(--burgundy);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.flow-node-accent span {
  color: #e2c7a1;
}

.flow-node strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.35;
}

.flow-arrow {
  color: var(--burgundy);
  font-size: 1.35rem;
}

.diagram-note {
  margin: 24px 0 0 !important;
  color: var(--charcoal-soft) !important;
  font-size: 0.88rem !important;
  font-style: italic;
}

.comparison-table-wrap {
  margin: 44px 0;
  overflow-x: auto;
  border: 1px solid var(--line);
}

.comparison-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  background: var(--paper);
}

.comparison-table th,
.comparison-table td {
  padding: 20px 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.comparison-table th:last-child,
.comparison-table td:last-child {
  border-right: 0;
}

.comparison-table tr:last-child th,
.comparison-table tr:last-child td {
  border-bottom: 0;
}

.comparison-table thead th {
  color: var(--white);
  background: var(--charcoal);
  font-size: 0.73rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.comparison-table tbody th {
  width: 14%;
  color: var(--burgundy);
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 400;
}

.comparison-table td {
  color: var(--charcoal-soft);
  font-size: 0.88rem;
  line-height: 1.55;
}

.anatomy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.anatomy-grid > div {
  min-height: 190px;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.anatomy-grid span {
  display: block;
  margin-bottom: 30px;
  color: var(--burgundy);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.anatomy-grid strong {
  display: block;
  margin-bottom: 10px;
  font-family: var(--serif);
  font-size: 1.25rem;
  font-weight: 400;
}

.anatomy-grid p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.86rem;
  line-height: 1.55;
}

.modality-grid,
.quality-grid {
  display: grid;
  margin: 46px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.modality-grid article,
.quality-grid article {
  min-height: 220px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.modality-word {
  margin-bottom: 34px !important;
  color: var(--burgundy) !important;
  font-size: 0.7rem !important;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.modality-grid h3,
.quality-grid h3 {
  margin-top: 0;
}

.modality-grid p:last-child,
.quality-grid p:last-child {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.system-map {
  position: relative;
  min-height: 520px;
}

.system-center,
.system-item {
  position: absolute;
  display: grid;
  min-height: 88px;
  padding: 16px;
  border: 1px solid var(--line);
  background: var(--paper);
  place-content: center;
  text-align: center;
}

.system-center {
  top: 50%;
  left: 50%;
  width: 230px;
  min-height: 150px;
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
  transform: translate(-50%, -50%);
}

.system-center span {
  margin-bottom: 12px;
  color: #e2c7a1;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.system-center strong {
  font-family: var(--serif);
  font-size: 1.35rem;
  font-weight: 400;
}

.system-item {
  width: 150px;
  color: var(--charcoal-soft);
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.system-item::after {
  position: absolute;
  z-index: -1;
  width: 88px;
  height: 1px;
  content: "";
  background: var(--stone-dark);
  transform-origin: left;
}

.system-item-1 { top: 0; left: 50%; transform: translateX(-50%); }
.system-item-2 { top: 68px; right: 34px; }
.system-item-3 { top: 218px; right: 0; }
.system-item-4 { right: 42px; bottom: 28px; }
.system-item-5 { bottom: 0; left: 50%; transform: translateX(-50%); }
.system-item-6 { bottom: 28px; left: 42px; }
.system-item-7 { top: 218px; left: 0; }
.system-item-8 { top: 68px; left: 34px; }

.system-item-1::after { top: 88px; left: 75px; transform: rotate(90deg); }
.system-item-2::after { top: 88px; left: 36px; transform: rotate(125deg); }
.system-item-3::after { top: 44px; left: -78px; }
.system-item-4::after { top: 0; left: 35px; transform: rotate(-125deg); }
.system-item-5::after { top: -1px; left: 75px; transform: rotate(-90deg); }
.system-item-6::after { top: 0; right: -35px; transform: rotate(-55deg); }
.system-item-7::after { top: 44px; right: -78px; }
.system-item-8::after { top: 88px; right: 36px; transform: rotate(55deg); }

.quality-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quality-grid article {
  min-height: 230px;
}

.failure-cases {
  display: grid;
  margin-top: 44px;
  gap: 18px;
}

.failure-cases article {
  padding: 34px 36px;
  border: 1px solid var(--line);
  background: var(--ivory);
}

.failure-cases h3 {
  margin-top: 0;
}

.failure-cases p:last-child {
  margin-bottom: 0;
}

.failure-number {
  margin-bottom: 18px !important;
  color: var(--burgundy) !important;
  font-size: 0.68rem !important;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.practical-test {
  display: grid;
  margin: 46px 0;
  padding: 0 !important;
  border-top: 1px solid var(--line);
  list-style: none;
}

.practical-test li {
  display: grid;
  padding: 26px 0;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 20px;
  border-bottom: 1px solid var(--line);
}

.practical-test li > span {
  color: var(--burgundy);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.practical-test h3 {
  margin: 0 0 7px;
  font-size: 1.25rem;
}

.practical-test p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.94rem;
  line-height: 1.65;
}

.worked-example {
  display: grid;
  margin: 46px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.worked-example > div {
  min-height: 310px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.worked-example-before {
  background: var(--ivory);
}

.worked-example-after {
  color: var(--white);
  background: var(--burgundy);
}

.worked-example-label {
  margin-bottom: 48px !important;
  color: var(--burgundy) !important;
  font-size: 0.67rem !important;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.worked-example-after .worked-example-label {
  color: #e2c7a1 !important;
}

.worked-example blockquote {
  margin: 0;
  font-family: var(--serif);
  font-size: 1.18rem;
  line-height: 1.55;
}

.worked-example-analysis h3 {
  margin-top: 0;
}

.worked-example-analysis li {
  font-size: 0.88rem;
  line-height: 1.55;
}

.worked-example-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.worked-example-compact > div {
  min-height: 240px;
}

.chapter-principle {
  margin-top: 44px;
  padding: 30px 34px;
  color: var(--white);
  background: var(--charcoal);
}

.chapter-principle p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-family: var(--serif);
  font-size: 1.2rem;
  line-height: 1.6;
}

.references ol {
  margin-top: 38px;
  padding-left: 1.4em;
}

.references li {
  padding: 12px 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.65;
}

.references a {
  color: var(--burgundy);
  text-underline-offset: 3px;
}

.references-note {
  margin-top: 36px;
  padding: 24px 26px;
  border-left: 3px solid var(--burgundy);
  color: var(--charcoal-soft) !important;
  background: var(--ivory);
  font-size: 0.9rem !important;
}

.chapter-navigation {
  display: grid;
  margin-top: 68px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.chapter-navigation > a,
.chapter-navigation > div {
  display: grid;
  min-height: 150px;
  padding: 26px;
  align-content: center;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.chapter-navigation > a {
  color: var(--white);
  background: var(--burgundy);
}

.chapter-navigation span,
.chapter-navigation small {
  margin-bottom: 10px;
  color: #e2c7a1;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.chapter-navigation strong {
  font-family: var(--serif);
  font-size: 1.4rem;
  font-weight: 400;
}

.chapter-navigation-next {
  color: var(--charcoal-soft);
  background: var(--ivory);
}

.chapter-navigation-next span,
.chapter-navigation-next small {
  color: var(--burgundy);
}

.chapter-navigation-next small {
  margin-top: 14px;
  margin-bottom: 0;
}

@media (max-width: 1080px) {
  .article-layout {
    grid-template-columns: 1fr;
  }

  .article-toc {
    position: static;
  }

  .article-toc ol {
    columns: 2;
    column-gap: 34px;
  }

  .flow-diagram {
    grid-template-columns: 1fr;
  }

  .flow-arrow {
    transform: rotate(90deg);
    justify-self: center;
  }
}

@media (max-width: 860px) {
  .quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .worked-example {
    grid-template-columns: 1fr;
  }

  .worked-example > div {
    min-height: 0;
  }

  .system-map {
    display: grid;
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .system-center,
  .system-item {
    position: static;
    width: auto;
    min-height: 110px;
    transform: none;
  }

  .system-center {
    grid-column: 1 / -1;
  }

  .system-item::after {
    display: none;
  }
}

@media (max-width: 620px) {
  .article-hero {
    min-height: 700px;
    padding-top: 128px;
  }

  .article-hero h1 {
    font-size: clamp(4.3rem, 22vw, 6.5rem);
  }

  .breadcrumbs {
    margin-bottom: 38px;
  }

  .article-meta {
    display: grid;
  }

  .article-meta span::after {
    display: none;
  }

  .article-layout {
    padding-top: 58px;
    padding-bottom: 90px;
  }

  .article-toc ol {
    columns: 1;
  }

  .article-body > section {
    padding: 58px 0;
  }

  .article-diagram {
    margin-right: -8px;
    margin-left: -8px;
    padding: 24px 18px;
  }

  .anatomy-grid,
  .modality-grid,
  .quality-grid,
  .worked-example-compact,
  .chapter-navigation {
    grid-template-columns: 1fr;
  }

  .anatomy-grid > div,
  .modality-grid article,
  .quality-grid article {
    min-height: 0;
  }

  .system-map {
    grid-template-columns: 1fr;
  }

  .system-center {
    grid-column: auto;
  }

  .failure-cases article {
    padding: 28px 24px;
  }

  .practical-test li {
    grid-template-columns: 42px minmax(0, 1fr);
  }
}

@media print {
  .site-header,
  .article-toc,
  .site-footer,
  .chapter-navigation {
    display: none !important;
  }

  .article-hero {
    min-height: auto;
    padding: 40px 0;
    color: #000;
  }

  .article-hero-image,
  .article-hero-overlay {
    display: none;
  }

  .article-deck,
  .article-meta,
  .breadcrumbs {
    color: #222;
  }

  .article-layout {
    display: block;
    padding: 30px 0;
  }

  .article-body > section {
    break-inside: avoid-page;
  }

  a {
    color: #000 !important;
  }
}

/* Chapter 2: Why Rules Exist */

.chapter-navigation-live {
  color: var(--charcoal-soft) !important;
  background: var(--ivory) !important;
}

.chapter-navigation-live span,
.chapter-navigation-live small {
  color: var(--burgundy) !important;
}

.purpose-chain {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 12px;
  align-items: center;
}

.purpose-chain > div {
  min-height: 150px;
  padding: 22px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.purpose-chain > div:nth-of-type(2) {
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
}

.purpose-chain span {
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.purpose-chain > div:nth-of-type(2) span {
  color: #e2c7a1;
}

.purpose-chain strong {
  display: block;
  margin-top: 24px;
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.4;
}

.purpose-chain > span {
  color: var(--burgundy);
  font-size: 1.3rem;
}

.commitment-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.commitment-grid article {
  min-height: 270px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.article-card-label {
  margin-bottom: 52px !important;
  color: var(--burgundy) !important;
  font-size: 0.67rem !important;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.commitment-grid h3 {
  margin-top: 0;
}

.commitment-grid p:last-child {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.91rem;
  line-height: 1.6;
}

.risk-loop {
  display: grid;
  gap: 12px;
}

.risk-loop > div {
  display: grid;
  min-height: 90px;
  padding: 20px 24px;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  border: 1px solid var(--line);
  background: var(--paper);
  align-items: center;
}

.risk-loop > div:nth-child(3) {
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
}

.risk-loop span {
  display: grid;
  width: 36px;
  height: 36px;
  border: 1px solid currentColor;
  color: var(--burgundy);
  font-size: 0.72rem;
  font-weight: 800;
  place-items: center;
}

.risk-loop > div:nth-child(3) span {
  color: #e2c7a1;
}

.risk-loop strong {
  font-family: var(--serif);
  font-size: 1.16rem;
  font-weight: 400;
}

.cost-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.cost-grid article {
  min-height: 215px;
  padding: 26px 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.cost-grid h3 {
  margin-top: 0;
  margin-bottom: 14px;
}

.cost-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.91rem;
  line-height: 1.6;
}

.necessity-path {
  display: grid;
  gap: 16px;
}

.necessity-question {
  padding: 26px 28px;
  color: var(--white);
  background: var(--charcoal);
}

.necessity-question span {
  display: block;
  margin-bottom: 18px;
  color: #e2c7a1;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.necessity-question strong {
  font-family: var(--serif);
  font-size: 1.28rem;
  font-weight: 400;
  line-height: 1.45;
}

.necessity-branches {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.necessity-branches > div {
  min-height: 155px;
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.necessity-branches span {
  display: block;
  margin-bottom: 20px;
  color: var(--burgundy);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.necessity-branches p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.91rem;
  line-height: 1.6;
}

@media (max-width: 1080px) {
  .purpose-chain {
    grid-template-columns: 1fr;
  }

  .purpose-chain > span {
    transform: rotate(90deg);
    justify-self: center;
  }
}

@media (max-width: 860px) {
  .commitment-grid {
    grid-template-columns: 1fr;
  }

  .commitment-grid article {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .cost-grid,
  .necessity-branches {
    grid-template-columns: 1fr;
  }

  .cost-grid article {
    min-height: 0;
  }
}

/* Chapter 3: Principles of Rule Design */

.design-sequence {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.design-sequence > div {
  min-height: 190px;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.design-sequence > div:nth-child(4),
.design-sequence > div:nth-child(5) {
  color: var(--white);
  background: var(--burgundy);
}

.design-sequence span {
  display: block;
  margin-bottom: 42px;
  color: var(--burgundy);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.design-sequence > div:nth-child(4) span,
.design-sequence > div:nth-child(5) span {
  color: #e2c7a1;
}

.design-sequence strong {
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 400;
  line-height: 1.42;
}

.balance-panel {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.balance-panel > div {
  min-height: 275px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.balance-panel > div:nth-child(2) {
  color: var(--white);
  background: var(--charcoal);
}

.balance-panel > div:nth-child(2) .article-card-label {
  color: #e2c7a1 !important;
}

.balance-panel h3 {
  margin-top: 0;
}

.balance-panel p:last-child {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.91rem;
  line-height: 1.62;
}

.balance-panel > div:nth-child(2) p:last-child {
  color: rgba(255, 255, 255, 0.76);
}

.scope-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.scope-grid article {
  min-height: 260px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.scope-grid span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.scope-grid h3 {
  margin-top: 0;
}

.scope-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.exception-model {
  display: grid;
  margin: 44px 0;
  gap: 10px;
}

.exception-model > div {
  display: grid;
  min-height: 94px;
  padding: 20px 24px;
  grid-template-columns: minmax(140px, 0.35fr) minmax(0, 1fr);
  gap: 24px;
  border: 1px solid var(--line);
  background: var(--paper);
  align-items: center;
}

.exception-model > div:nth-child(3) {
  color: var(--white);
  background: var(--burgundy);
}

.exception-model span {
  color: var(--burgundy);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.exception-model > div:nth-child(3) span {
  color: #e2c7a1;
}

.exception-model strong {
  font-family: var(--serif);
  font-size: 1.18rem;
  font-weight: 400;
}

.test-matrix {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.test-matrix > div {
  min-height: 185px;
  padding: 25px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.test-matrix span {
  display: block;
  margin-bottom: 28px;
  color: var(--burgundy);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.test-matrix p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .design-sequence,
  .scope-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .balance-panel {
    grid-template-columns: 1fr;
  }

  .balance-panel > div {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .design-sequence,
  .scope-grid,
  .test-matrix {
    grid-template-columns: 1fr;
  }

  .design-sequence > div,
  .scope-grid article,
  .test-matrix > div {
    min-height: 0;
  }

  .exception-model > div {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* Chapter 4: Rule Engineering */

.design-engineering-grid,
.vv-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.design-engineering-grid article,
.vv-grid article {
  min-height: 340px;
  padding: 30px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.design-engineering-grid article:nth-child(2),
.vv-grid article:nth-child(2) {
  color: var(--white);
  background: var(--burgundy);
}

.design-engineering-grid article:nth-child(2) .article-card-label,
.vv-grid article:nth-child(2) .article-card-label {
  color: #e2c7a1 !important;
}

.design-engineering-grid h3,
.vv-grid h3 {
  margin-top: 0;
}

.design-engineering-grid li,
.vv-grid li {
  font-size: 0.92rem;
  line-height: 1.62;
}

.design-engineering-grid article:nth-child(2) li,
.vv-grid article:nth-child(2) li {
  color: rgba(255, 255, 255, 0.78);
}

.decomposition-flow {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) auto minmax(0, 1.1fr) auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.decomposition-source,
.decomposition-process {
  min-height: 170px;
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.decomposition-process {
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
}

.decomposition-source span,
.decomposition-process span {
  display: block;
  margin-bottom: 36px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.decomposition-process span {
  color: #e2c7a1;
}

.decomposition-source strong,
.decomposition-process strong {
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.42;
}

.decomposition-arrow {
  color: var(--burgundy);
  font-size: 1.35rem;
}

.decomposition-units {
  display: grid;
  gap: 7px;
}

.decomposition-units div {
  padding: 13px 16px;
  border: 1px solid var(--line);
  color: var(--charcoal-soft);
  background: var(--paper);
  font-size: 0.79rem;
  font-weight: 700;
}

.canonical-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.canonical-grid article {
  min-height: 255px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.canonical-grid span,
.test-suite-grid span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.canonical-grid h3,
.test-suite-grid h3 {
  margin-top: 0;
}

.canonical-grid p,
.test-suite-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.architecture-stack {
  display: grid;
  margin: 44px 0;
  gap: 10px;
}

.architecture-stack > div {
  display: grid;
  min-height: 116px;
  padding: 22px 26px;
  grid-template-columns: 90px minmax(180px, 0.6fr) minmax(0, 1fr);
  gap: 24px;
  border: 1px solid var(--line);
  background: var(--paper);
  align-items: center;
}

.architecture-stack > div:first-child {
  color: var(--white);
  border-color: var(--charcoal);
  background: var(--charcoal);
}

.architecture-stack > div:nth-child(2) {
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
}

.architecture-stack span {
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.architecture-stack > div:first-child span,
.architecture-stack > div:nth-child(2) span {
  color: #e2c7a1;
}

.architecture-stack strong {
  font-family: var(--serif);
  font-size: 1.12rem;
  font-weight: 400;
}

.architecture-stack p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.88rem;
  line-height: 1.55;
}

.architecture-stack > div:first-child p,
.architecture-stack > div:nth-child(2) p {
  color: rgba(255, 255, 255, 0.75);
}

.trace-chain {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.trace-chain > div {
  min-height: 180px;
  padding: 22px 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.trace-chain > div:nth-child(2),
.trace-chain > div:nth-child(5) {
  color: var(--white);
  background: var(--burgundy);
}

.trace-chain span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.63rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.trace-chain > div:nth-child(2) span,
.trace-chain > div:nth-child(5) span {
  color: #e2c7a1;
}

.trace-chain strong {
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
}

.test-suite-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.test-suite-grid article {
  min-height: 240px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.engineering-workflow {
  display: grid;
  margin: 46px 0;
  padding: 0 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  list-style: none;
}

.engineering-workflow li {
  display: grid;
  min-height: 220px;
  padding: 28px;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.engineering-workflow li:nth-child(5),
.engineering-workflow li:nth-child(6) {
  color: var(--white);
  background: var(--burgundy);
}

.engineering-workflow li > span {
  color: var(--burgundy);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.engineering-workflow li:nth-child(5) > span,
.engineering-workflow li:nth-child(6) > span {
  color: #e2c7a1;
}

.engineering-workflow h3 {
  margin: 0 0 12px;
  font-size: 1.25rem;
}

.engineering-workflow p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.62;
}

.engineering-workflow li:nth-child(5) p,
.engineering-workflow li:nth-child(6) p {
  color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 1080px) {
  .trace-chain {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .decomposition-flow {
    grid-template-columns: 1fr;
  }

  .decomposition-arrow {
    transform: rotate(90deg);
    justify-self: center;
  }

  .canonical-grid,
  .test-suite-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .architecture-stack > div {
    grid-template-columns: 72px minmax(150px, 0.6fr) minmax(0, 1fr);
  }
}

@media (max-width: 700px) {
  .design-engineering-grid,
  .vv-grid,
  .engineering-workflow {
    grid-template-columns: 1fr;
  }

  .design-engineering-grid article,
  .vv-grid article,
  .engineering-workflow li {
    min-height: 0;
  }

  .architecture-stack > div {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width: 620px) {
  .canonical-grid,
  .test-suite-grid,
  .trace-chain {
    grid-template-columns: 1fr;
  }

  .canonical-grid article,
  .test-suite-grid article,
  .trace-chain > div {
    min-height: 0;
  }
}

/* Chapter 5: Rule Semantics */

.semantic-structure {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.semantic-structure > div {
  min-height: 155px;
  padding: 23px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.semantic-structure > div:nth-child(2),
.semantic-structure > div:nth-child(7) {
  color: var(--white);
  background: var(--burgundy);
}

.semantic-structure span {
  display: block;
  margin-bottom: 34px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.semantic-structure > div:nth-child(2) span,
.semantic-structure > div:nth-child(7) span {
  color: #e2c7a1;
}

.semantic-structure strong {
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 400;
}

.semantic-triple {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.semantic-triple > div {
  min-height: 180px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.semantic-triple > div:nth-child(2) {
  color: var(--white);
  background: var(--charcoal);
}

.semantic-triple span {
  display: block;
  margin-bottom: 42px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.semantic-triple > div:nth-child(2) span {
  color: #e2c7a1;
}

.semantic-triple strong {
  font-family: var(--serif);
  font-size: 1.16rem;
  font-weight: 400;
  line-height: 1.42;
}

.semantic-modality-grid,
.time-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.semantic-modality-grid article,
.time-grid article {
  min-height: 250px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.semantic-modality-grid article:nth-child(3),
.time-grid article:nth-child(3) {
  color: var(--white);
  background: var(--burgundy);
}

.semantic-modality-grid span,
.time-grid span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.semantic-modality-grid article:nth-child(3) span,
.time-grid article:nth-child(3) span {
  color: #e2c7a1;
}

.semantic-modality-grid h3,
.time-grid h3 {
  margin-top: 0;
}

.semantic-modality-grid p,
.time-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.semantic-modality-grid article:nth-child(3) p,
.time-grid article:nth-child(3) p {
  color: rgba(255, 255, 255, 0.76);
}

.priority-flow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.priority-flow > div {
  min-height: 205px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.priority-flow > div:nth-child(2),
.priority-flow > div:nth-child(4) {
  color: var(--white);
  background: var(--burgundy);
}

.priority-flow span {
  display: block;
  margin-bottom: 28px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.priority-flow > div:nth-child(2) span,
.priority-flow > div:nth-child(4) span {
  color: #e2c7a1;
}

.priority-flow strong {
  display: block;
  margin-bottom: 14px;
  font-family: var(--serif);
  font-size: 1.45rem;
  font-weight: 400;
}

.priority-flow p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.priority-flow > div:nth-child(2) p,
.priority-flow > div:nth-child(4) p {
  color: rgba(255, 255, 255, 0.76);
}

.representation-chain {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.representation-chain > div {
  min-height: 220px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.representation-chain > div:nth-child(2),
.representation-chain > div:nth-child(3) {
  color: var(--white);
  background: var(--charcoal);
}

.representation-chain span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.representation-chain > div:nth-child(2) span,
.representation-chain > div:nth-child(3) span {
  color: #e2c7a1;
}

.representation-chain p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.representation-chain > div:nth-child(2) p,
.representation-chain > div:nth-child(3) p {
  color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 960px) {
  .semantic-structure,
  .representation-chain {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .semantic-modality-grid,
  .time-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .semantic-triple {
    grid-template-columns: 1fr;
  }

  .semantic-triple > div {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .semantic-structure,
  .semantic-modality-grid,
  .time-grid,
  .priority-flow,
  .representation-chain {
    grid-template-columns: 1fr;
  }

  .semantic-structure > div,
  .semantic-modality-grid article,
  .time-grid article,
  .priority-flow > div,
  .representation-chain > div {
    min-height: 0;
  }
}

/* Chapter 6: Rule Context and Scope */

.applicability-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.applicability-flow > div {
  min-height: 220px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.applicability-flow > div:nth-child(3),
.applicability-flow > div:nth-child(6) {
  color: var(--white);
  background: var(--burgundy);
}

.applicability-flow span {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 34px;
  border: 1px solid currentColor;
  color: var(--burgundy);
  font-size: 0.68rem;
  font-weight: 800;
  place-items: center;
}

.applicability-flow > div:nth-child(3) span,
.applicability-flow > div:nth-child(6) span {
  color: #e2c7a1;
}

.applicability-flow strong {
  display: block;
  margin-bottom: 12px;
  font-family: var(--serif);
  font-size: 1.2rem;
  font-weight: 400;
}

.applicability-flow p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.applicability-flow > div:nth-child(3) p,
.applicability-flow > div:nth-child(6) p {
  color: rgba(255, 255, 255, 0.76);
}

.context-layer-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.context-layer-grid article {
  min-height: 255px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.context-layer-grid article:nth-child(1),
.context-layer-grid article:nth-child(6) {
  color: var(--white);
  background: var(--charcoal);
}

.context-layer-grid span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.context-layer-grid article:nth-child(1) span,
.context-layer-grid article:nth-child(6) span {
  color: #e2c7a1;
}

.context-layer-grid h3 {
  margin-top: 0;
}

.context-layer-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.context-layer-grid article:nth-child(1) p,
.context-layer-grid article:nth-child(6) p {
  color: rgba(255, 255, 255, 0.76);
}

.temporal-scope-line {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.temporal-scope-line > div {
  min-height: 190px;
  padding: 23px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.temporal-scope-line > div:nth-child(2),
.temporal-scope-line > div:nth-child(4) {
  color: var(--white);
  background: var(--burgundy);
}

.temporal-scope-line span {
  display: block;
  margin-bottom: 36px;
  color: var(--burgundy);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.temporal-scope-line > div:nth-child(2) span,
.temporal-scope-line > div:nth-child(4) span {
  color: #e2c7a1;
}

.temporal-scope-line strong {
  font-family: var(--serif);
  font-size: 1.04rem;
  font-weight: 400;
  line-height: 1.42;
}

.overlap-model {
  position: relative;
  min-height: 500px;
}

.overlap-center,
.overlap-item {
  position: absolute;
  display: grid;
  border: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.94);
  place-items: center;
  text-align: center;
}

.overlap-center {
  z-index: 5;
  top: 50%;
  left: 50%;
  width: 190px;
  height: 120px;
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
  font-family: var(--serif);
  font-size: 1.25rem;
  transform: translate(-50%, -50%);
}

.overlap-item {
  width: 220px;
  height: 150px;
  color: var(--charcoal-soft);
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.overlap-law {
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
}

.overlap-contract {
  top: 140px;
  right: 18px;
}

.overlap-policy {
  right: 105px;
  bottom: 15px;
}

.overlap-local {
  bottom: 15px;
  left: 105px;
}

.overlap-system {
  top: 140px;
  left: 18px;
}

.overlap-item::after {
  position: absolute;
  z-index: -1;
  width: 120px;
  height: 1px;
  content: "";
  background: var(--stone-dark);
}

.overlap-law::after {
  top: 150px;
  left: 50%;
  transform: rotate(90deg);
  transform-origin: left;
}

.overlap-contract::after {
  top: 75px;
  left: -95px;
  transform: rotate(-20deg);
}

.overlap-policy::after {
  top: -20px;
  left: 60px;
  transform: rotate(-50deg);
}

.overlap-local::after {
  top: -20px;
  right: 60px;
  transform: rotate(50deg);
}

.overlap-system::after {
  top: 75px;
  right: -95px;
  transform: rotate(20deg);
}

@media (max-width: 980px) {
  .applicability-flow,
  .context-layer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .temporal-scope-line {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .temporal-scope-line > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .overlap-model {
    display: grid;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .overlap-center,
  .overlap-item {
    position: static;
    width: auto;
    height: auto;
    min-height: 110px;
    transform: none;
  }

  .overlap-item::after {
    display: none;
  }
}

@media (max-width: 620px) {
  .applicability-flow,
  .context-layer-grid,
  .temporal-scope-line {
    grid-template-columns: 1fr;
  }

  .applicability-flow > div,
  .context-layer-grid article,
  .temporal-scope-line > div {
    min-height: 0;
  }

  .temporal-scope-line > div:last-child {
    grid-column: auto;
  }
}

/* Chapter 7: Rule Hierarchies and Authority */

.authority-source-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.authority-source-grid article {
  min-height: 255px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.authority-source-grid article:nth-child(1),
.authority-source-grid article:nth-child(4) {
  color: var(--white);
  background: var(--charcoal);
}

.authority-source-grid span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.authority-source-grid article:nth-child(1) span,
.authority-source-grid article:nth-child(4) span {
  color: #e2c7a1;
}

.authority-source-grid h3 {
  margin-top: 0;
}

.authority-source-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.authority-source-grid article:nth-child(1) p,
.authority-source-grid article:nth-child(4) p {
  color: rgba(255, 255, 255, 0.76);
}

.authority-pyramid {
  display: grid;
  gap: 10px;
  justify-items: center;
}

.authority-level {
  min-height: 105px;
  padding: 22px 26px;
  border: 1px solid var(--line);
  background: var(--paper);
  text-align: center;
}

.authority-level span {
  display: block;
  margin-bottom: 12px;
  color: var(--burgundy);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.authority-level strong {
  font-family: var(--serif);
  font-size: 1.12rem;
  font-weight: 400;
  line-height: 1.4;
}

.authority-level-1 {
  width: 48%;
  color: var(--white);
  border-color: var(--charcoal);
  background: var(--charcoal);
}

.authority-level-2 {
  width: 62%;
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
}

.authority-level-3 {
  width: 74%;
}

.authority-level-4 {
  width: 87%;
}

.authority-level-5 {
  width: 100%;
}

.authority-level-1 span,
.authority-level-2 span {
  color: #e2c7a1;
}

.conflict-analysis-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.conflict-analysis-flow > div {
  min-height: 230px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.conflict-analysis-flow > div:nth-child(3),
.conflict-analysis-flow > div:nth-child(6) {
  color: var(--white);
  background: var(--burgundy);
}

.conflict-analysis-flow span {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 34px;
  border: 1px solid currentColor;
  color: var(--burgundy);
  font-size: 0.68rem;
  font-weight: 800;
  place-items: center;
}

.conflict-analysis-flow > div:nth-child(3) span,
.conflict-analysis-flow > div:nth-child(6) span {
  color: #e2c7a1;
}

.conflict-analysis-flow strong {
  display: block;
  margin-bottom: 12px;
  font-family: var(--serif);
  font-size: 1.14rem;
  font-weight: 400;
}

.conflict-analysis-flow p {
  margin: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.conflict-analysis-flow > div:nth-child(3) p,
.conflict-analysis-flow > div:nth-child(6) p {
  color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 980px) {
  .authority-source-grid,
  .conflict-analysis-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .authority-source-grid,
  .conflict-analysis-flow {
    grid-template-columns: 1fr;
  }

  .authority-source-grid article,
  .conflict-analysis-flow > div {
    min-height: 0;
  }

  .authority-level-1,
  .authority-level-2,
  .authority-level-3,
  .authority-level-4,
  .authority-level-5 {
    width: 100%;
  }
}


/* Chapter 8: Rule Quality */

.rule-quality-distinction-grid,
.rule-quality-model,
.quality-tradeoff-grid {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.rule-quality-distinction-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rule-quality-distinction-grid article,
.rule-quality-model article,
.quality-tradeoff-grid article {
  min-height: 230px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.rule-quality-distinction-grid article:nth-child(1),
.rule-quality-distinction-grid article:nth-child(4) {
  color: var(--white);
  background: var(--charcoal);
}

.rule-quality-distinction-grid span,
.rule-quality-model span,
.quality-tradeoff-grid span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rule-quality-distinction-grid article:nth-child(1) span,
.rule-quality-distinction-grid article:nth-child(4) span {
  color: #e2c7a1;
}

.rule-quality-distinction-grid h3,
.rule-quality-model h3 {
  margin-top: 0;
}

.rule-quality-distinction-grid p,
.rule-quality-model p,
.quality-tradeoff-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.rule-quality-distinction-grid article:nth-child(1) p,
.rule-quality-distinction-grid article:nth-child(4) p {
  color: rgba(255, 255, 255, 0.76);
}

.rule-quality-model {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rule-quality-model article {
  min-height: 250px;
}

.rule-quality-model article:nth-child(1),
.rule-quality-model article:nth-child(6),
.rule-quality-model article:nth-child(11) {
  color: var(--white);
  background: var(--burgundy);
}

.rule-quality-model article:nth-child(1) span,
.rule-quality-model article:nth-child(6) span,
.rule-quality-model article:nth-child(11) span {
  color: #e2c7a1;
}

.rule-quality-model article:nth-child(1) p,
.rule-quality-model article:nth-child(6) p,
.rule-quality-model article:nth-child(11) p {
  color: rgba(255, 255, 255, 0.76);
}

.quality-evidence-chain,
.rule-quality-assurance-flow {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.quality-evidence-chain {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.quality-evidence-chain > div,
.rule-quality-assurance-flow > div {
  min-height: 205px;
  padding: 25px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.quality-evidence-chain > div:first-child,
.quality-evidence-chain > div:last-child {
  color: var(--white);
  background: var(--burgundy);
}

.quality-evidence-chain span,
.rule-quality-assurance-flow span,
.quality-gate-model span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.quality-evidence-chain > div:first-child span,
.quality-evidence-chain > div:last-child span {
  color: #e2c7a1;
}

.quality-evidence-chain strong,
.rule-quality-assurance-flow strong,
.quality-gate-model strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.42;
}

.quality-tradeoff-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quality-tradeoff-grid article {
  min-height: 205px;
}

.quality-tradeoff-grid article:nth-child(2),
.quality-tradeoff-grid article:nth-child(6) {
  color: var(--white);
  background: var(--charcoal);
}

.quality-tradeoff-grid article:nth-child(2) span,
.quality-tradeoff-grid article:nth-child(6) span {
  color: #e2c7a1;
}

.quality-tradeoff-grid article:nth-child(2) p,
.quality-tradeoff-grid article:nth-child(6) p {
  color: rgba(255, 255, 255, 0.76);
}

.rule-quality-assurance-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rule-quality-assurance-flow > div {
  min-height: 235px;
}

.rule-quality-assurance-flow > div:nth-child(4),
.rule-quality-assurance-flow > div:nth-child(7) {
  color: var(--white);
  background: var(--burgundy);
}

.rule-quality-assurance-flow > div:nth-child(4) span,
.rule-quality-assurance-flow > div:nth-child(7) span {
  color: #e2c7a1;
}

.rule-quality-assurance-flow p {
  margin: 16px 0 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.rule-quality-assurance-flow > div:nth-child(4) p,
.rule-quality-assurance-flow > div:nth-child(7) p {
  color: rgba(255, 255, 255, 0.76);
}

.quality-gate-model {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.quality-gate-model > div {
  min-height: 220px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.quality-gate-model .quality-gate-critical {
  color: var(--white);
  background: var(--burgundy);
}

.quality-gate-model .quality-gate-critical span {
  color: #e2c7a1;
}

.quality-gate-model p {
  margin: 16px 0 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.quality-gate-model .quality-gate-critical p {
  color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 1050px) {
  .rule-quality-model,
  .quality-evidence-chain,
  .rule-quality-assurance-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quality-evidence-chain > div:last-child,
  .rule-quality-assurance-flow > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .quality-tradeoff-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .rule-quality-distinction-grid,
  .rule-quality-model,
  .quality-evidence-chain,
  .quality-tradeoff-grid,
  .rule-quality-assurance-flow,
  .quality-gate-model {
    grid-template-columns: 1fr;
  }

  .rule-quality-distinction-grid article,
  .rule-quality-model article,
  .quality-evidence-chain > div,
  .quality-tradeoff-grid article,
  .rule-quality-assurance-flow > div,
  .quality-gate-model > div {
    min-height: 0;
  }

  .quality-evidence-chain > div:last-child,
  .rule-quality-assurance-flow > div:last-child {
    grid-column: auto;
  }
}

/* Chapter 11: Contradictions */

.contradiction-gate {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.contradiction-gate > div {
  min-height: 210px;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.contradiction-gate > div:nth-child(1),
.contradiction-gate > div:nth-child(5) {
  color: var(--white);
  background: var(--burgundy);
}

.contradiction-gate span {
  display: block;
  margin-bottom: 40px;
  color: var(--burgundy);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.contradiction-gate > div:nth-child(1) span,
.contradiction-gate > div:nth-child(5) span {
  color: #e2c7a1;
}

.contradiction-gate strong {
  font-family: var(--serif);
  font-size: 1.06rem;
  font-weight: 400;
  line-height: 1.42;
}

.condition-overlap {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.condition-overlap > div {
  min-height: 190px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.condition-overlap-result {
  grid-column: 1 / -1;
  color: var(--white);
  background: var(--burgundy) !important;
}

.condition-overlap span {
  display: block;
  margin-bottom: 36px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.condition-overlap-result span {
  color: #e2c7a1;
}

.condition-overlap strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.42;
}

.condition-overlap-result p {
  margin: 16px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.9rem;
  line-height: 1.6;
}

.contradiction-dimensions,
.materiality-grid {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.contradiction-dimensions article,
.materiality-grid article {
  min-height: 245px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.contradiction-dimensions article:nth-child(3),
.materiality-grid article:nth-child(1) {
  color: var(--white);
  background: var(--burgundy);
}

.contradiction-dimensions span,
.materiality-grid span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.contradiction-dimensions article:nth-child(3) span,
.materiality-grid article:nth-child(1) span {
  color: #e2c7a1;
}

.contradiction-dimensions h3,
.materiality-grid h3 {
  margin-top: 0;
}

.contradiction-dimensions p,
.materiality-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.contradiction-dimensions article:nth-child(3) p,
.materiality-grid article:nth-child(1) p {
  color: rgba(255, 255, 255, 0.76);
}

.materiality-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1050px) {
  .contradiction-gate {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contradiction-gate > div:last-child {
    grid-column: 1 / -1;
  }

  .materiality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 880px) {
  .contradiction-dimensions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .contradiction-gate,
  .condition-overlap,
  .contradiction-dimensions,
  .materiality-grid {
    grid-template-columns: 1fr;
  }

  .contradiction-gate > div,
  .condition-overlap > div,
  .contradiction-dimensions article,
  .materiality-grid article {
    min-height: 0;
  }

  .contradiction-gate > div:last-child,
  .condition-overlap-result {
    grid-column: auto;
  }
}

/* Chapter 9: Rule Lifecycle */

.lifecycle-distinction-grid,
.lifecycle-model,
.review-disposition-grid,
.transition-control-grid {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.lifecycle-distinction-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lifecycle-distinction-grid article,
.lifecycle-model article,
.review-disposition-grid article,
.transition-control-grid article {
  min-height: 230px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.lifecycle-distinction-grid article:nth-child(2),
.lifecycle-model article:nth-child(5),
.lifecycle-model article:nth-child(10),
.review-disposition-grid article:nth-child(3),
.transition-control-grid article:nth-child(4) {
  color: var(--white);
  background: var(--burgundy);
}

.lifecycle-distinction-grid span,
.lifecycle-model span,
.review-disposition-grid span,
.transition-control-grid span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.lifecycle-distinction-grid article:nth-child(2) span,
.lifecycle-model article:nth-child(5) span,
.lifecycle-model article:nth-child(10) span,
.review-disposition-grid article:nth-child(3) span,
.transition-control-grid article:nth-child(4) span {
  color: #e2c7a1;
}

.lifecycle-distinction-grid h3,
.lifecycle-model h3,
.review-disposition-grid h3,
.transition-control-grid h3 {
  margin-top: 0;
}

.lifecycle-distinction-grid p,
.lifecycle-model p,
.review-disposition-grid p,
.transition-control-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.lifecycle-distinction-grid article:nth-child(2) p,
.lifecycle-model article:nth-child(5) p,
.lifecycle-model article:nth-child(10) p,
.review-disposition-grid article:nth-child(3) p,
.transition-control-grid article:nth-child(4) p {
  color: rgba(255, 255, 255, 0.76);
}

.lifecycle-model {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.lifecycle-model article {
  min-height: 250px;
}

.lifecycle-transition-line,
.implementation-chain,
.change-propagation-map,
.temporal-register {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.lifecycle-transition-line {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.implementation-chain {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.change-propagation-map {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.temporal-register {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.lifecycle-transition-line > div,
.implementation-chain > div,
.change-propagation-map > div,
.temporal-register > div {
  min-height: 190px;
  padding: 25px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.lifecycle-transition-line > div:first-child,
.implementation-chain > div:first-child,
.change-propagation-map > div:first-child,
.temporal-register > div:nth-child(3) {
  color: var(--white);
  background: var(--burgundy);
}

.lifecycle-transition-line span,
.implementation-chain span,
.change-propagation-map span,
.temporal-register span,
.lifecycle-gate span,
.retirement-balance span {
  display: block;
  margin-bottom: 36px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.lifecycle-transition-line > div:first-child span,
.implementation-chain > div:first-child span,
.change-propagation-map > div:first-child span,
.temporal-register > div:nth-child(3) span,
.lifecycle-gate-dark span,
.retirement-balance > div:last-child span {
  color: #e2c7a1;
}

.lifecycle-transition-line strong,
.implementation-chain strong,
.change-propagation-map strong,
.temporal-register strong,
.lifecycle-gate strong,
.retirement-balance strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.12rem;
  font-weight: 400;
  line-height: 1.44;
}

.lifecycle-gate {
  margin: 42px 0 8px;
  padding: 30px;
  border-left: 4px solid var(--burgundy);
  background: var(--ivory);
}

.lifecycle-gate span {
  margin-bottom: 18px;
}

.lifecycle-gate-dark {
  color: var(--white);
  border-left-color: #e2c7a1;
  background: var(--burgundy);
}

.review-disposition-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.change-propagation-map > div {
  min-height: 210px;
}

.retirement-balance {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.retirement-balance > div {
  min-height: 230px;
  padding: 30px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.retirement-balance > div:last-child {
  color: var(--white);
  background: var(--burgundy);
}

.retirement-balance p {
  margin: 18px 0 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.retirement-balance > div:last-child p {
  color: rgba(255, 255, 255, 0.76);
}

.transition-control-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1120px) {
  .lifecycle-model,
  .change-propagation-map {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lifecycle-model article:last-child,
  .change-propagation-map > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .lifecycle-transition-line,
  .implementation-chain,
  .review-disposition-grid,
  .temporal-register,
  .transition-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .lifecycle-distinction-grid,
  .lifecycle-model,
  .lifecycle-transition-line,
  .implementation-chain,
  .review-disposition-grid,
  .change-propagation-map,
  .retirement-balance,
  .temporal-register,
  .transition-control-grid {
    grid-template-columns: 1fr;
  }

  .lifecycle-distinction-grid article,
  .lifecycle-model article,
  .lifecycle-transition-line > div,
  .implementation-chain > div,
  .review-disposition-grid article,
  .change-propagation-map > div,
  .retirement-balance > div,
  .temporal-register > div,
  .transition-control-grid article {
    min-height: 0;
  }

  .lifecycle-model article:last-child,
  .change-propagation-map > div:last-child {
    grid-column: auto;
  }
}


/* Chapter 10: Traceability */

.traceability-distinction-grid,
.traceability-chain,
.trace-link-quality-grid {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.traceability-distinction-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.traceability-distinction-grid article,
.traceability-chain article,
.trace-link-quality-grid article {
  min-height: 230px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.traceability-distinction-grid article:nth-child(2),
.traceability-distinction-grid article:nth-child(3),
.traceability-chain article:nth-child(1),
.traceability-chain article:nth-child(7),
.trace-link-quality-grid article:nth-child(3),
.trace-link-quality-grid article:nth-child(6) {
  color: var(--white);
  background: var(--burgundy);
}

.traceability-distinction-grid span,
.traceability-chain span,
.trace-link-quality-grid span {
  display: block;
  margin-bottom: 38px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.traceability-distinction-grid article:nth-child(2) span,
.traceability-distinction-grid article:nth-child(3) span,
.traceability-chain article:nth-child(1) span,
.traceability-chain article:nth-child(7) span,
.trace-link-quality-grid article:nth-child(3) span,
.trace-link-quality-grid article:nth-child(6) span {
  color: #e2c7a1;
}

.traceability-distinction-grid h3,
.traceability-chain h3,
.trace-link-quality-grid h3 {
  margin-top: 0;
}

.traceability-distinction-grid p,
.traceability-chain p,
.trace-link-quality-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.traceability-distinction-grid article:nth-child(2) p,
.traceability-distinction-grid article:nth-child(3) p,
.traceability-chain article:nth-child(1) p,
.traceability-chain article:nth-child(7) p,
.trace-link-quality-grid article:nth-child(3) p,
.trace-link-quality-grid article:nth-child(6) p {
  color: rgba(255, 255, 255, 0.76);
}

.traceability-chain {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.traceability-chain article {
  min-height: 255px;
}

.traceability-chain article:last-child {
  grid-column: 2 / 4;
}

.traceability-identity-grid,
.traceability-source-flow,
.semantic-trace-map,
.implementation-trace-map,
.decision-trace-line,
.temporal-trace-register,
.change-trace-flow,
.traceability-architecture-model {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.traceability-identity-grid,
.decision-trace-line,
.traceability-architecture-model {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.traceability-source-flow,
.semantic-trace-map,
.implementation-trace-map,
.temporal-trace-register,
.change-trace-flow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.traceability-identity-grid > div,
.traceability-source-flow > div,
.semantic-trace-map > div,
.implementation-trace-map > div,
.decision-trace-line > div,
.temporal-trace-register > div,
.change-trace-flow > div,
.traceability-architecture-model > div {
  min-height: 205px;
  padding: 25px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.traceability-identity-grid > div:first-child,
.traceability-source-flow > div:first-child,
.semantic-trace-map > div:nth-child(3),
.implementation-trace-map > div:last-child,
.decision-trace-line > div:nth-child(2),
.temporal-trace-register > div:nth-child(3),
.change-trace-flow > div:first-child,
.change-trace-flow > div:last-child,
.traceability-architecture-model > div:nth-child(2) {
  color: var(--white);
  background: var(--burgundy);
}

.traceability-identity-grid span,
.traceability-source-flow span,
.semantic-trace-map span,
.implementation-trace-map span,
.decision-trace-line span,
.temporal-trace-register span,
.change-trace-flow span,
.traceability-architecture-model span,
.traceability-note span,
.bidirectional-traceability span {
  display: block;
  margin-bottom: 36px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.traceability-identity-grid > div:first-child span,
.traceability-source-flow > div:first-child span,
.semantic-trace-map > div:nth-child(3) span,
.implementation-trace-map > div:last-child span,
.decision-trace-line > div:nth-child(2) span,
.temporal-trace-register > div:nth-child(3) span,
.change-trace-flow > div:first-child span,
.change-trace-flow > div:last-child span,
.traceability-architecture-model > div:nth-child(2) span,
.bidirectional-traceability > div:last-child span {
  color: #e2c7a1;
}

.traceability-identity-grid strong,
.traceability-source-flow strong,
.semantic-trace-map strong,
.implementation-trace-map strong,
.decision-trace-line strong,
.temporal-trace-register strong,
.change-trace-flow strong,
.traceability-architecture-model strong,
.traceability-note strong,
.bidirectional-traceability strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.44;
}

.traceability-note {
  margin: 42px 0;
  padding: 30px;
  border-left: 4px solid var(--burgundy);
  background: var(--ivory);
}

.traceability-note span {
  margin-bottom: 18px;
}

.bidirectional-traceability {
  display: grid;
  margin: 44px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.bidirectional-traceability > div {
  min-height: 250px;
  padding: 30px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.bidirectional-traceability > div:last-child {
  color: var(--white);
  background: var(--burgundy);
}

.bidirectional-traceability p {
  margin: 18px 0 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.bidirectional-traceability > div:last-child p {
  color: rgba(255, 255, 255, 0.76);
}

@media (max-width: 1120px) {
  .traceability-chain,
  .traceability-source-flow,
  .semantic-trace-map,
  .implementation-trace-map,
  .temporal-trace-register,
  .change-trace-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .traceability-chain article:last-child,
  .traceability-source-flow > div:last-child,
  .semantic-trace-map > div:last-child,
  .implementation-trace-map > div:last-child,
  .temporal-trace-register > div:last-child,
  .change-trace-flow > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .traceability-identity-grid,
  .decision-trace-line,
  .trace-link-quality-grid,
  .traceability-architecture-model {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .traceability-distinction-grid,
  .traceability-chain,
  .traceability-identity-grid,
  .traceability-source-flow,
  .semantic-trace-map,
  .implementation-trace-map,
  .decision-trace-line,
  .bidirectional-traceability,
  .temporal-trace-register,
  .trace-link-quality-grid,
  .change-trace-flow,
  .traceability-architecture-model {
    grid-template-columns: 1fr;
  }

  .traceability-distinction-grid article,
  .traceability-chain article,
  .traceability-identity-grid > div,
  .traceability-source-flow > div,
  .semantic-trace-map > div,
  .implementation-trace-map > div,
  .decision-trace-line > div,
  .bidirectional-traceability > div,
  .temporal-trace-register > div,
  .trace-link-quality-grid article,
  .change-trace-flow > div,
  .traceability-architecture-model > div {
    min-height: 0;
  }

  .traceability-chain article:last-child,
  .traceability-source-flow > div:last-child,
  .semantic-trace-map > div:last-child,
  .implementation-trace-map > div:last-child,
  .temporal-trace-register > div:last-child,
  .change-trace-flow > div:last-child {
    grid-column: auto;
  }
}

/* Chapter 12: Ambiguity and Vagueness */

.uncertainty-distinction-grid,
.ambiguity-type-grid,
.discretion-control-grid,
.uncertainty-detection-grid {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.uncertainty-distinction-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ambiguity-type-grid,
.discretion-control-grid,
.uncertainty-detection-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.uncertainty-distinction-grid article,
.ambiguity-type-grid article,
.discretion-control-grid article,
.uncertainty-detection-grid article {
  min-height: 225px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.uncertainty-distinction-grid article:nth-child(2),
.uncertainty-distinction-grid article:nth-child(3),
.ambiguity-type-grid article:nth-child(2),
.ambiguity-type-grid article:nth-child(6),
.discretion-control-grid article:nth-child(3),
.discretion-control-grid article:nth-child(6),
.uncertainty-detection-grid article:nth-child(1),
.uncertainty-detection-grid article:nth-child(5) {
  color: var(--white);
  background: var(--burgundy);
}

.uncertainty-distinction-grid span,
.ambiguity-type-grid span,
.discretion-control-grid span,
.uncertainty-detection-grid span,
.interpretation-fork span,
.vagueness-spectrum span,
.meaning-transmission-flow span,
.clarification-ladder span {
  display: block;
  margin-bottom: 34px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.uncertainty-distinction-grid article:nth-child(2) span,
.uncertainty-distinction-grid article:nth-child(3) span,
.ambiguity-type-grid article:nth-child(2) span,
.ambiguity-type-grid article:nth-child(6) span,
.discretion-control-grid article:nth-child(3) span,
.discretion-control-grid article:nth-child(6) span,
.uncertainty-detection-grid article:nth-child(1) span,
.uncertainty-detection-grid article:nth-child(5) span,
.interpretation-source span,
.vagueness-borderline span,
.meaning-transmission-flow > div:nth-child(3) span {
  color: #e2c7a1;
}

.uncertainty-distinction-grid h3,
.ambiguity-type-grid h3,
.discretion-control-grid h3,
.uncertainty-detection-grid h3 {
  margin-top: 0;
}

.uncertainty-distinction-grid p,
.ambiguity-type-grid p,
.discretion-control-grid p,
.uncertainty-detection-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.uncertainty-distinction-grid article:nth-child(2) p,
.uncertainty-distinction-grid article:nth-child(3) p,
.ambiguity-type-grid article:nth-child(2) p,
.ambiguity-type-grid article:nth-child(6) p,
.discretion-control-grid article:nth-child(3) p,
.discretion-control-grid article:nth-child(6) p,
.uncertainty-detection-grid article:nth-child(1) p,
.uncertainty-detection-grid article:nth-child(5) p {
  color: rgba(255, 255, 255, 0.76);
}

.interpretation-fork,
.vagueness-spectrum,
.meaning-transmission-flow,
.clarification-ladder {
  display: grid;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.interpretation-fork {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.interpretation-fork > div,
.vagueness-spectrum > div,
.meaning-transmission-flow > div,
.clarification-ladder > div {
  min-height: 205px;
  padding: 25px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.interpretation-fork .interpretation-source {
  grid-column: 1 / -1;
  min-height: 175px;
  color: var(--white);
  background: var(--burgundy);
}

.interpretation-fork strong,
.vagueness-spectrum strong,
.meaning-transmission-flow strong,
.clarification-ladder strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.45;
}

.vagueness-spectrum {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vagueness-spectrum .vagueness-borderline {
  color: var(--white);
  background: var(--burgundy);
}

.meaning-transmission-flow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.meaning-transmission-flow > div:nth-child(3) {
  color: var(--white);
  background: var(--burgundy);
}

.clarification-ladder {
  margin: 44px 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.clarification-ladder > div {
  min-height: 250px;
}

.clarification-ladder span {
  margin-bottom: 28px;
  font-family: var(--serif);
  font-size: 1.25rem;
  letter-spacing: 0;
}

.clarification-ladder p {
  margin: 18px 0 0;
  color: var(--charcoal-soft);
  font-size: 0.86rem;
  line-height: 1.58;
}

@media (max-width: 1120px) {
  .ambiguity-type-grid,
  .discretion-control-grid,
  .uncertainty-detection-grid,
  .meaning-transmission-flow,
  .clarification-ladder {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meaning-transmission-flow > div:last-child,
  .clarification-ladder > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .uncertainty-distinction-grid,
  .interpretation-fork,
  .vagueness-spectrum {
    grid-template-columns: 1fr;
  }

  .interpretation-fork .interpretation-source {
    grid-column: auto;
  }
}

@media (max-width: 620px) {
  .uncertainty-distinction-grid,
  .ambiguity-type-grid,
  .discretion-control-grid,
  .uncertainty-detection-grid,
  .interpretation-fork,
  .vagueness-spectrum,
  .meaning-transmission-flow,
  .clarification-ladder {
    grid-template-columns: 1fr;
  }

  .uncertainty-distinction-grid article,
  .ambiguity-type-grid article,
  .discretion-control-grid article,
  .uncertainty-detection-grid article,
  .interpretation-fork > div,
  .vagueness-spectrum > div,
  .meaning-transmission-flow > div,
  .clarification-ladder > div {
    min-height: 0;
  }

  .meaning-transmission-flow > div:last-child,
  .clarification-ladder > div:last-child {
    grid-column: auto;
  }
}


/* Chapter 13: Rule Drift */

.drift-alignment-model,
.drift-dimension-grid,
.drift-detection-grid,
.drift-assessment-matrix {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.drift-alignment-model,
.drift-assessment-matrix {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.drift-dimension-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.drift-detection-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.drift-alignment-model article,
.drift-dimension-grid article,
.drift-detection-grid article,
.drift-assessment-matrix > div {
  min-height: 220px;
  padding: 27px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.drift-alignment-model article:nth-child(2),
.drift-alignment-model article:nth-child(3),
.drift-dimension-grid article:nth-child(2),
.drift-dimension-grid article:nth-child(5),
.drift-detection-grid article:nth-child(2),
.drift-detection-grid article:nth-child(6),
.drift-assessment-matrix > div:nth-child(3),
.drift-assessment-matrix > div:nth-child(6) {
  color: var(--white);
  background: var(--burgundy);
}

.drift-alignment-model span,
.drift-dimension-grid span,
.drift-detection-grid span,
.drift-assessment-matrix span,
.drift-formation-flow span,
.implementation-drift-map span,
.drift-risk-equation span,
.drift-response-ladder span {
  display: block;
  margin-bottom: 32px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.drift-alignment-model article:nth-child(2) span,
.drift-alignment-model article:nth-child(3) span,
.drift-dimension-grid article:nth-child(2) span,
.drift-dimension-grid article:nth-child(5) span,
.drift-detection-grid article:nth-child(2) span,
.drift-detection-grid article:nth-child(6) span,
.drift-assessment-matrix > div:nth-child(3) span,
.drift-assessment-matrix > div:nth-child(6) span,
.drift-formation-flow > div:nth-child(3) span,
.implementation-drift-map > div:nth-child(3) span,
.drift-risk-equation > div:nth-child(3) span,
.drift-response-ladder > div:nth-child(3) span {
  color: #e2c7a1;
}

.drift-alignment-model h3,
.drift-dimension-grid h3,
.drift-detection-grid h3 {
  margin-top: 0;
}

.drift-alignment-model p,
.drift-dimension-grid p,
.drift-detection-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.6;
}

.drift-alignment-model article:nth-child(2) p,
.drift-alignment-model article:nth-child(3) p,
.drift-dimension-grid article:nth-child(2) p,
.drift-dimension-grid article:nth-child(5) p,
.drift-detection-grid article:nth-child(2) p,
.drift-detection-grid article:nth-child(6) p {
  color: rgba(255, 255, 255, 0.76);
}

.drift-formation-flow,
.implementation-drift-map,
.drift-risk-equation,
.drift-response-ladder {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.drift-formation-flow,
.drift-risk-equation,
.drift-response-ladder {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.implementation-drift-map {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.drift-formation-flow > div,
.implementation-drift-map > div,
.drift-risk-equation > div,
.drift-response-ladder > div {
  min-height: 225px;
  padding: 25px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.drift-formation-flow > div:nth-child(3),
.implementation-drift-map > div:nth-child(3),
.drift-risk-equation > div:nth-child(3),
.drift-response-ladder > div:nth-child(3) {
  color: var(--white);
  background: var(--burgundy);
}

.drift-formation-flow strong,
.implementation-drift-map strong,
.drift-risk-equation strong,
.drift-response-ladder strong,
.drift-assessment-matrix strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.45;
}

.drift-formation-flow p,
.implementation-drift-map p,
.drift-response-ladder p {
  margin: 18px 0 0;
  color: var(--charcoal-soft);
  font-size: 0.86rem;
  line-height: 1.58;
}

.drift-formation-flow > div:nth-child(3) p,
.implementation-drift-map > div:nth-child(3) p,
.drift-response-ladder > div:nth-child(3) p {
  color: rgba(255, 255, 255, 0.76);
}

.drift-risk-equation > div {
  min-height: 180px;
}

.drift-assessment-matrix > div {
  min-height: 180px;
}

@media (max-width: 1120px) {
  .drift-dimension-grid,
  .drift-formation-flow,
  .drift-risk-equation,
  .drift-response-ladder {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .drift-detection-grid,
  .implementation-drift-map {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .drift-dimension-grid article:last-child,
  .drift-formation-flow > div:last-child,
  .drift-risk-equation > div:last-child,
  .drift-response-ladder > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .drift-alignment-model,
  .drift-assessment-matrix {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .drift-alignment-model,
  .drift-dimension-grid,
  .drift-detection-grid,
  .drift-assessment-matrix,
  .drift-formation-flow,
  .implementation-drift-map,
  .drift-risk-equation,
  .drift-response-ladder {
    grid-template-columns: 1fr;
  }

  .drift-alignment-model article,
  .drift-dimension-grid article,
  .drift-detection-grid article,
  .drift-assessment-matrix > div,
  .drift-formation-flow > div,
  .implementation-drift-map > div,
  .drift-risk-equation > div,
  .drift-response-ladder > div {
    min-height: 0;
  }

  .drift-dimension-grid article:last-child,
  .drift-formation-flow > div:last-child,
  .drift-risk-equation > div:last-child,
  .drift-response-ladder > div:last-child {
    grid-column: auto;
  }
}


/* Chapter 14: Governance */

.governance-constitution-model,
.governance-distinction-grid,
.governance-principle-grid,
.decision-rights-grid,
.assurance-layer-grid,
.governance-architecture-map,
.governance-risk-flow,
.authority-test,
.classification-matrix,
.governance-gate-flow,
.change-governance-chain,
.exception-control-ladder,
.implementation-assurance-map,
.governance-evidence-chain,
.federated-governance-model {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.governance-constitution-model,
.classification-matrix,
.governance-architecture-map,
.implementation-assurance-map,
.federated-governance-model {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.governance-distinction-grid,
.decision-rights-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.governance-principle-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.assurance-layer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.governance-risk-flow,
.authority-test,
.governance-gate-flow,
.change-governance-chain,
.exception-control-ladder,
.governance-evidence-chain {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.governance-constitution-model article,
.governance-distinction-grid article,
.governance-principle-grid article,
.decision-rights-grid article,
.assurance-layer-grid article,
.governance-architecture-map > div,
.governance-risk-flow > div,
.authority-test > div,
.classification-matrix > div,
.governance-gate-flow > div,
.change-governance-chain > div,
.exception-control-ladder > div,
.implementation-assurance-map > div,
.governance-evidence-chain > div,
.federated-governance-model > div {
  min-height: 210px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.governance-constitution-model article:nth-child(2),
.governance-constitution-model article:nth-child(3),
.governance-distinction-grid article:nth-child(2),
.governance-distinction-grid article:nth-child(5),
.governance-principle-grid article:nth-child(2),
.governance-principle-grid article:nth-child(7),
.decision-rights-grid article:nth-child(2),
.decision-rights-grid article:nth-child(6),
.assurance-layer-grid article:nth-child(2),
.governance-architecture-map > div:nth-child(2),
.governance-architecture-map > div:nth-child(3),
.classification-matrix > div:nth-child(3),
.federated-governance-model > div:nth-child(2),
.federated-governance-model > div:nth-child(3),
.governance-risk-flow > div:nth-child(3),
.authority-test > div:nth-child(3),
.governance-gate-flow > div:nth-child(3),
.change-governance-chain > div:nth-child(3),
.exception-control-ladder > div:nth-child(3),
.implementation-assurance-map > div:nth-child(3),
.governance-evidence-chain > div:nth-child(3) {
  color: var(--white);
  background: var(--burgundy);
}

.governance-constitution-model span,
.governance-distinction-grid span,
.governance-principle-grid span,
.decision-rights-grid span,
.assurance-layer-grid span,
.governance-architecture-map span,
.governance-risk-flow span,
.authority-test span,
.classification-matrix span,
.governance-gate-flow span,
.change-governance-chain span,
.exception-control-ladder span,
.implementation-assurance-map span,
.governance-evidence-chain span,
.federated-governance-model span {
  display: block;
  margin-bottom: 31px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.governance-constitution-model article:nth-child(2) span,
.governance-constitution-model article:nth-child(3) span,
.governance-distinction-grid article:nth-child(2) span,
.governance-distinction-grid article:nth-child(5) span,
.governance-principle-grid article:nth-child(2) span,
.governance-principle-grid article:nth-child(7) span,
.decision-rights-grid article:nth-child(2) span,
.decision-rights-grid article:nth-child(6) span,
.assurance-layer-grid article:nth-child(2) span,
.governance-architecture-map > div:nth-child(2) span,
.governance-architecture-map > div:nth-child(3) span,
.classification-matrix > div:nth-child(3) span,
.federated-governance-model > div:nth-child(2) span,
.federated-governance-model > div:nth-child(3) span,
.governance-risk-flow > div:nth-child(3) span,
.authority-test > div:nth-child(3) span,
.governance-gate-flow > div:nth-child(3) span,
.change-governance-chain > div:nth-child(3) span,
.exception-control-ladder > div:nth-child(3) span,
.implementation-assurance-map > div:nth-child(3) span,
.governance-evidence-chain > div:nth-child(3) span {
  color: #e2c7a1;
}

.governance-constitution-model h3,
.governance-distinction-grid h3,
.governance-principle-grid h3,
.decision-rights-grid h3,
.assurance-layer-grid h3 {
  margin-top: 0;
}

.governance-constitution-model p,
.governance-distinction-grid p,
.governance-principle-grid p,
.decision-rights-grid p,
.assurance-layer-grid p,
.governance-architecture-map p,
.governance-risk-flow p,
.classification-matrix p,
.governance-gate-flow p,
.exception-control-ladder p,
.implementation-assurance-map p,
.federated-governance-model p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.88rem;
  line-height: 1.6;
}

.governance-constitution-model article:nth-child(2) p,
.governance-constitution-model article:nth-child(3) p,
.governance-distinction-grid article:nth-child(2) p,
.governance-distinction-grid article:nth-child(5) p,
.governance-principle-grid article:nth-child(2) p,
.governance-principle-grid article:nth-child(7) p,
.decision-rights-grid article:nth-child(2) p,
.decision-rights-grid article:nth-child(6) p,
.assurance-layer-grid article:nth-child(2) p,
.governance-architecture-map > div:nth-child(2) p,
.governance-architecture-map > div:nth-child(3) p,
.classification-matrix > div:nth-child(3) p,
.federated-governance-model > div:nth-child(2) p,
.federated-governance-model > div:nth-child(3) p,
.governance-risk-flow > div:nth-child(3) p,
.governance-gate-flow > div:nth-child(3) p,
.exception-control-ladder > div:nth-child(3) p,
.implementation-assurance-map > div:nth-child(3) p {
  color: rgba(255, 255, 255, 0.76);
}

.governance-architecture-map strong,
.governance-risk-flow strong,
.authority-test strong,
.classification-matrix strong,
.governance-gate-flow strong,
.change-governance-chain strong,
.exception-control-ladder strong,
.implementation-assurance-map strong,
.governance-evidence-chain strong,
.federated-governance-model strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.06rem;
  font-weight: 400;
  line-height: 1.45;
}

.authority-test > div,
.change-governance-chain > div,
.governance-evidence-chain > div {
  min-height: 175px;
}

.governance-risk-flow > div,
.governance-gate-flow > div,
.exception-control-ladder > div {
  min-height: 235px;
}

@media (max-width: 1120px) {
  .governance-principle-grid,
  .governance-distinction-grid,
  .decision-rights-grid,
  .assurance-layer-grid,
  .governance-risk-flow,
  .authority-test,
  .governance-gate-flow,
  .change-governance-chain,
  .exception-control-ladder,
  .governance-evidence-chain {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .governance-distinction-grid article:last-child,
  .decision-rights-grid article:last-child,
  .assurance-layer-grid article:last-child,
  .governance-risk-flow > div:last-child,
  .authority-test > div:last-child,
  .governance-gate-flow > div:last-child,
  .change-governance-chain > div:last-child,
  .exception-control-ladder > div:last-child,
  .governance-evidence-chain > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .governance-constitution-model,
  .classification-matrix,
  .governance-architecture-map,
  .implementation-assurance-map,
  .federated-governance-model {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .governance-constitution-model,
  .governance-distinction-grid,
  .governance-principle-grid,
  .decision-rights-grid,
  .assurance-layer-grid,
  .governance-architecture-map,
  .governance-risk-flow,
  .authority-test,
  .classification-matrix,
  .governance-gate-flow,
  .change-governance-chain,
  .exception-control-ladder,
  .implementation-assurance-map,
  .governance-evidence-chain,
  .federated-governance-model {
    grid-template-columns: 1fr;
  }

  .governance-constitution-model article,
  .governance-distinction-grid article,
  .governance-principle-grid article,
  .decision-rights-grid article,
  .assurance-layer-grid article,
  .governance-architecture-map > div,
  .governance-risk-flow > div,
  .authority-test > div,
  .classification-matrix > div,
  .governance-gate-flow > div,
  .change-governance-chain > div,
  .exception-control-ladder > div,
  .implementation-assurance-map > div,
  .governance-evidence-chain > div,
  .federated-governance-model > div {
    min-height: 0;
  }

  .governance-distinction-grid article:last-child,
  .decision-rights-grid article:last-child,
  .assurance-layer-grid article:last-child,
  .governance-risk-flow > div:last-child,
  .authority-test > div:last-child,
  .governance-gate-flow > div:last-child,
  .change-governance-chain > div:last-child,
  .exception-control-ladder > div:last-child,
  .governance-evidence-chain > div:last-child {
    grid-column: auto;
  }
}

/* Chapter 15: Metrics */

.metrics-purpose-model,
.metrics-distinction-grid,
.measurement-principle-grid,
.integrity-dimension-grid,
.measurement-level-grid,
.indicator-balance-grid,
.uncertainty-control-grid,
.dashboard-layer-grid,
.metric-governance-model,
.measurement-risk-flow,
.measurement-architecture-map,
.metric-specification-chain,
.denominator-test,
.baseline-threshold-model,
.composite-index-map,
.data-provenance-chain,
.measurement-cadence-ladder,
.gaming-control-flow {
  display: grid;
  margin: 44px 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.metrics-purpose-model,
.measurement-principle-grid,
.indicator-balance-grid,
.uncertainty-control-grid,
.metric-governance-model {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.metrics-distinction-grid,
.measurement-level-grid,
.dashboard-layer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.integrity-dimension-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.measurement-risk-flow,
.measurement-architecture-map,
.denominator-test,
.baseline-threshold-model,
.composite-index-map,
.data-provenance-chain,
.measurement-cadence-ladder,
.gaming-control-flow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.metric-specification-chain {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.metrics-purpose-model article,
.metrics-distinction-grid article,
.measurement-principle-grid article,
.integrity-dimension-grid article,
.measurement-level-grid article,
.indicator-balance-grid article,
.uncertainty-control-grid article,
.dashboard-layer-grid article,
.metric-governance-model article,
.measurement-risk-flow > div,
.measurement-architecture-map > div,
.metric-specification-chain > div,
.denominator-test > div,
.baseline-threshold-model > div,
.composite-index-map > div,
.data-provenance-chain > div,
.measurement-cadence-ladder > div,
.gaming-control-flow > div {
  min-height: 210px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.metrics-purpose-model article:nth-child(2),
.metrics-purpose-model article:nth-child(3),
.metrics-distinction-grid article:nth-child(2),
.metrics-distinction-grid article:nth-child(5),
.measurement-principle-grid article:nth-child(2),
.measurement-principle-grid article:nth-child(7),
.integrity-dimension-grid article:nth-child(2),
.integrity-dimension-grid article:nth-child(6),
.integrity-dimension-grid article:nth-child(9),
.measurement-level-grid article:nth-child(2),
.measurement-level-grid article:nth-child(6),
.indicator-balance-grid article:nth-child(2),
.indicator-balance-grid article:nth-child(3),
.uncertainty-control-grid article:nth-child(2),
.uncertainty-control-grid article:nth-child(3),
.dashboard-layer-grid article:nth-child(2),
.metric-governance-model article:nth-child(2),
.metric-governance-model article:nth-child(3),
.measurement-risk-flow > div:nth-child(3),
.measurement-architecture-map > div:nth-child(3),
.metric-specification-chain > div:nth-child(2),
.metric-specification-chain > div:nth-child(5),
.denominator-test > div:nth-child(3),
.baseline-threshold-model > div:nth-child(3),
.composite-index-map > div:nth-child(3),
.data-provenance-chain > div:nth-child(3),
.measurement-cadence-ladder > div:nth-child(3),
.gaming-control-flow > div:nth-child(3) {
  color: var(--white);
  background: var(--burgundy);
}

.metrics-purpose-model span,
.metrics-distinction-grid span,
.measurement-principle-grid span,
.integrity-dimension-grid span,
.measurement-level-grid span,
.indicator-balance-grid span,
.uncertainty-control-grid span,
.dashboard-layer-grid span,
.metric-governance-model span,
.measurement-risk-flow span,
.measurement-architecture-map span,
.metric-specification-chain span,
.denominator-test span,
.baseline-threshold-model span,
.composite-index-map span,
.data-provenance-chain span,
.measurement-cadence-ladder span,
.gaming-control-flow span {
  display: block;
  margin-bottom: 31px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.metrics-purpose-model article:nth-child(2) span,
.metrics-purpose-model article:nth-child(3) span,
.metrics-distinction-grid article:nth-child(2) span,
.metrics-distinction-grid article:nth-child(5) span,
.measurement-principle-grid article:nth-child(2) span,
.measurement-principle-grid article:nth-child(7) span,
.integrity-dimension-grid article:nth-child(2) span,
.integrity-dimension-grid article:nth-child(6) span,
.integrity-dimension-grid article:nth-child(9) span,
.measurement-level-grid article:nth-child(2) span,
.measurement-level-grid article:nth-child(6) span,
.indicator-balance-grid article:nth-child(2) span,
.indicator-balance-grid article:nth-child(3) span,
.uncertainty-control-grid article:nth-child(2) span,
.uncertainty-control-grid article:nth-child(3) span,
.dashboard-layer-grid article:nth-child(2) span,
.metric-governance-model article:nth-child(2) span,
.metric-governance-model article:nth-child(3) span,
.measurement-risk-flow > div:nth-child(3) span,
.measurement-architecture-map > div:nth-child(3) span,
.metric-specification-chain > div:nth-child(2) span,
.metric-specification-chain > div:nth-child(5) span,
.denominator-test > div:nth-child(3) span,
.baseline-threshold-model > div:nth-child(3) span,
.composite-index-map > div:nth-child(3) span,
.data-provenance-chain > div:nth-child(3) span,
.measurement-cadence-ladder > div:nth-child(3) span,
.gaming-control-flow > div:nth-child(3) span {
  color: #e2c7a1;
}

.metrics-purpose-model h3,
.metrics-distinction-grid h3,
.measurement-principle-grid h3,
.integrity-dimension-grid h3,
.measurement-level-grid h3,
.indicator-balance-grid h3,
.uncertainty-control-grid h3,
.dashboard-layer-grid h3,
.metric-governance-model h3 {
  margin-top: 0;
}

.metrics-purpose-model p,
.metrics-distinction-grid p,
.measurement-principle-grid p,
.integrity-dimension-grid p,
.measurement-level-grid p,
.indicator-balance-grid p,
.uncertainty-control-grid p,
.dashboard-layer-grid p,
.metric-governance-model p,
.measurement-risk-flow p,
.measurement-architecture-map p,
.metric-specification-chain p,
.denominator-test p,
.baseline-threshold-model p,
.composite-index-map p,
.data-provenance-chain p,
.measurement-cadence-ladder p,
.gaming-control-flow p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.88rem;
  line-height: 1.6;
}

.metrics-purpose-model article:nth-child(2) p,
.metrics-purpose-model article:nth-child(3) p,
.metrics-distinction-grid article:nth-child(2) p,
.metrics-distinction-grid article:nth-child(5) p,
.measurement-principle-grid article:nth-child(2) p,
.measurement-principle-grid article:nth-child(7) p,
.integrity-dimension-grid article:nth-child(2) p,
.integrity-dimension-grid article:nth-child(6) p,
.integrity-dimension-grid article:nth-child(9) p,
.measurement-level-grid article:nth-child(2) p,
.measurement-level-grid article:nth-child(6) p,
.indicator-balance-grid article:nth-child(2) p,
.indicator-balance-grid article:nth-child(3) p,
.uncertainty-control-grid article:nth-child(2) p,
.uncertainty-control-grid article:nth-child(3) p,
.dashboard-layer-grid article:nth-child(2) p,
.metric-governance-model article:nth-child(2) p,
.metric-governance-model article:nth-child(3) p,
.measurement-risk-flow > div:nth-child(3) p,
.measurement-architecture-map > div:nth-child(3) p,
.metric-specification-chain > div:nth-child(2) p,
.metric-specification-chain > div:nth-child(5) p,
.denominator-test > div:nth-child(3) p,
.baseline-threshold-model > div:nth-child(3) p,
.composite-index-map > div:nth-child(3) p,
.data-provenance-chain > div:nth-child(3) p,
.measurement-cadence-ladder > div:nth-child(3) p,
.gaming-control-flow > div:nth-child(3) p {
  color: rgba(255, 255, 255, 0.76);
}

.measurement-risk-flow strong,
.measurement-architecture-map strong,
.metric-specification-chain strong,
.denominator-test strong,
.baseline-threshold-model strong,
.composite-index-map strong,
.data-provenance-chain strong,
.measurement-cadence-ladder strong,
.gaming-control-flow strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.06rem;
  font-weight: 400;
  line-height: 1.45;
}

.measurement-risk-flow > div,
.measurement-architecture-map > div,
.denominator-test > div,
.baseline-threshold-model > div,
.composite-index-map > div,
.data-provenance-chain > div,
.measurement-cadence-ladder > div,
.gaming-control-flow > div {
  min-height: 230px;
}

@media (max-width: 1120px) {
  .metrics-purpose-model,
  .metrics-distinction-grid,
  .measurement-principle-grid,
  .integrity-dimension-grid,
  .measurement-level-grid,
  .indicator-balance-grid,
  .uncertainty-control-grid,
  .dashboard-layer-grid,
  .metric-governance-model,
  .measurement-risk-flow,
  .measurement-architecture-map,
  .metric-specification-chain,
  .denominator-test,
  .baseline-threshold-model,
  .composite-index-map,
  .data-provenance-chain,
  .measurement-cadence-ladder,
  .gaming-control-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .metrics-distinction-grid article:last-child,
  .measurement-level-grid article:last-child,
  .dashboard-layer-grid article:last-child,
  .measurement-risk-flow > div:last-child,
  .measurement-architecture-map > div:last-child,
  .denominator-test > div:last-child,
  .baseline-threshold-model > div:last-child,
  .composite-index-map > div:last-child,
  .data-provenance-chain > div:last-child,
  .measurement-cadence-ladder > div:last-child,
  .gaming-control-flow > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .metrics-purpose-model,
  .metrics-distinction-grid,
  .measurement-principle-grid,
  .integrity-dimension-grid,
  .measurement-level-grid,
  .indicator-balance-grid,
  .uncertainty-control-grid,
  .dashboard-layer-grid,
  .metric-governance-model,
  .measurement-risk-flow,
  .measurement-architecture-map,
  .metric-specification-chain,
  .denominator-test,
  .baseline-threshold-model,
  .composite-index-map,
  .data-provenance-chain,
  .measurement-cadence-ladder,
  .gaming-control-flow {
    grid-template-columns: 1fr;
  }

  .metrics-purpose-model article,
  .metrics-distinction-grid article,
  .measurement-principle-grid article,
  .integrity-dimension-grid article,
  .measurement-level-grid article,
  .indicator-balance-grid article,
  .uncertainty-control-grid article,
  .dashboard-layer-grid article,
  .metric-governance-model article,
  .measurement-risk-flow > div,
  .measurement-architecture-map > div,
  .metric-specification-chain > div,
  .denominator-test > div,
  .baseline-threshold-model > div,
  .composite-index-map > div,
  .data-provenance-chain > div,
  .measurement-cadence-ladder > div,
  .gaming-control-flow > div {
    min-height: 0;
  }

  .metrics-distinction-grid article:last-child,
  .measurement-level-grid article:last-child,
  .dashboard-layer-grid article:last-child,
  .measurement-risk-flow > div:last-child,
  .measurement-architecture-map > div:last-child,
  .denominator-test > div:last-child,
  .baseline-threshold-model > div:last-child,
  .composite-index-map > div:last-child,
  .data-provenance-chain > div:last-child,
  .measurement-cadence-ladder > div:last-child,
  .gaming-control-flow > div:last-child {
    grid-column: auto;
  }
}



/* Chapter 16: Maturity Models */
.maturity-purpose-model,
.maturity-distinction-grid,
.maturity-principle-grid,
.maturity-dimension-grid,
.maturity-profile-grid,
.maturity-scope-grid,
.maturity-assurance-grid,
.maturity-risk-flow,
.maturity-architecture-map,
.maturity-level-ladder,
.maturity-dependency-chain,
.maturity-evidence-chain,
.maturity-scoring-model,
.maturity-target-model,
.maturity-roadmap-flow {
  display: grid;
  margin: 42px 0;
  border: 1px solid rgba(55, 43, 38, 0.15);
  background: var(--white);
  box-shadow: 0 22px 55px rgba(54, 38, 31, 0.08);
}

.maturity-purpose-model,
.maturity-scope-grid,
.maturity-assurance-grid,
.maturity-target-model {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.maturity-distinction-grid,
.maturity-architecture-map {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.maturity-principle-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.maturity-dimension-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.maturity-profile-grid,
.maturity-risk-flow,
.maturity-level-ladder,
.maturity-dependency-chain,
.maturity-evidence-chain,
.maturity-scoring-model,
.maturity-roadmap-flow {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.maturity-purpose-model article,
.maturity-distinction-grid article,
.maturity-principle-grid article,
.maturity-dimension-grid article,
.maturity-profile-grid article,
.maturity-scope-grid article,
.maturity-assurance-grid article,
.maturity-risk-flow > div,
.maturity-architecture-map > div,
.maturity-level-ladder > div,
.maturity-dependency-chain > div,
.maturity-evidence-chain > div,
.maturity-scoring-model > div,
.maturity-target-model > div,
.maturity-roadmap-flow > div {
  min-width: 0;
  padding: 31px 28px 33px;
  border-right: 1px solid rgba(55, 43, 38, 0.12);
  border-bottom: 1px solid rgba(55, 43, 38, 0.12);
}

.maturity-purpose-model article:nth-child(2),
.maturity-purpose-model article:nth-child(4),
.maturity-distinction-grid article:nth-child(2),
.maturity-distinction-grid article:nth-child(5),
.maturity-principle-grid article:nth-child(2),
.maturity-principle-grid article:nth-child(7),
.maturity-dimension-grid article:nth-child(2),
.maturity-dimension-grid article:nth-child(6),
.maturity-dimension-grid article:nth-child(9),
.maturity-profile-grid article:nth-child(2),
.maturity-profile-grid article:nth-child(4),
.maturity-scope-grid article:nth-child(2),
.maturity-scope-grid article:nth-child(4),
.maturity-assurance-grid article:nth-child(2),
.maturity-assurance-grid article:nth-child(4),
.maturity-risk-flow > div:nth-child(3),
.maturity-architecture-map > div:nth-child(3),
.maturity-architecture-map > div:nth-child(5),
.maturity-level-ladder > div:nth-child(3),
.maturity-dependency-chain > div:nth-child(3),
.maturity-evidence-chain > div:nth-child(3),
.maturity-scoring-model > div:nth-child(3),
.maturity-target-model > div:nth-child(2),
.maturity-target-model > div:nth-child(4),
.maturity-roadmap-flow > div:nth-child(3) {
  color: var(--white);
  background: var(--burgundy);
}

.maturity-purpose-model span,
.maturity-distinction-grid span,
.maturity-principle-grid span,
.maturity-dimension-grid span,
.maturity-profile-grid span,
.maturity-scope-grid span,
.maturity-assurance-grid span,
.maturity-risk-flow span,
.maturity-architecture-map span,
.maturity-level-ladder span,
.maturity-dependency-chain span,
.maturity-evidence-chain span,
.maturity-scoring-model span,
.maturity-target-model span,
.maturity-roadmap-flow span {
  display: block;
  margin-bottom: 28px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.maturity-purpose-model article:nth-child(2) span,
.maturity-purpose-model article:nth-child(4) span,
.maturity-distinction-grid article:nth-child(2) span,
.maturity-distinction-grid article:nth-child(5) span,
.maturity-principle-grid article:nth-child(2) span,
.maturity-principle-grid article:nth-child(7) span,
.maturity-dimension-grid article:nth-child(2) span,
.maturity-dimension-grid article:nth-child(6) span,
.maturity-dimension-grid article:nth-child(9) span,
.maturity-profile-grid article:nth-child(2) span,
.maturity-profile-grid article:nth-child(4) span,
.maturity-scope-grid article:nth-child(2) span,
.maturity-scope-grid article:nth-child(4) span,
.maturity-assurance-grid article:nth-child(2) span,
.maturity-assurance-grid article:nth-child(4) span,
.maturity-risk-flow > div:nth-child(3) span,
.maturity-architecture-map > div:nth-child(3) span,
.maturity-architecture-map > div:nth-child(5) span,
.maturity-level-ladder > div:nth-child(3) span,
.maturity-dependency-chain > div:nth-child(3) span,
.maturity-evidence-chain > div:nth-child(3) span,
.maturity-scoring-model > div:nth-child(3) span,
.maturity-target-model > div:nth-child(2) span,
.maturity-target-model > div:nth-child(4) span,
.maturity-roadmap-flow > div:nth-child(3) span {
  color: #e2c7a1;
}

.maturity-purpose-model h3,
.maturity-distinction-grid h3,
.maturity-principle-grid h3,
.maturity-dimension-grid h3,
.maturity-profile-grid h3,
.maturity-scope-grid h3,
.maturity-assurance-grid h3 {
  margin-top: 0;
}

.maturity-purpose-model p,
.maturity-distinction-grid p,
.maturity-principle-grid p,
.maturity-dimension-grid p,
.maturity-profile-grid p,
.maturity-scope-grid p,
.maturity-assurance-grid p,
.maturity-risk-flow p,
.maturity-architecture-map p,
.maturity-level-ladder p,
.maturity-dependency-chain p,
.maturity-evidence-chain p,
.maturity-scoring-model p,
.maturity-target-model p,
.maturity-roadmap-flow p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.88rem;
  line-height: 1.6;
}

.maturity-purpose-model article:nth-child(2) p,
.maturity-purpose-model article:nth-child(4) p,
.maturity-distinction-grid article:nth-child(2) p,
.maturity-distinction-grid article:nth-child(5) p,
.maturity-principle-grid article:nth-child(2) p,
.maturity-principle-grid article:nth-child(7) p,
.maturity-dimension-grid article:nth-child(2) p,
.maturity-dimension-grid article:nth-child(6) p,
.maturity-dimension-grid article:nth-child(9) p,
.maturity-profile-grid article:nth-child(2) p,
.maturity-profile-grid article:nth-child(4) p,
.maturity-scope-grid article:nth-child(2) p,
.maturity-scope-grid article:nth-child(4) p,
.maturity-assurance-grid article:nth-child(2) p,
.maturity-assurance-grid article:nth-child(4) p,
.maturity-risk-flow > div:nth-child(3) p,
.maturity-architecture-map > div:nth-child(3) p,
.maturity-architecture-map > div:nth-child(5) p,
.maturity-level-ladder > div:nth-child(3) p,
.maturity-dependency-chain > div:nth-child(3) p,
.maturity-evidence-chain > div:nth-child(3) p,
.maturity-scoring-model > div:nth-child(3) p,
.maturity-target-model > div:nth-child(2) p,
.maturity-target-model > div:nth-child(4) p,
.maturity-roadmap-flow > div:nth-child(3) p {
  color: rgba(255, 255, 255, 0.76);
}

.maturity-risk-flow strong,
.maturity-architecture-map strong,
.maturity-level-ladder strong,
.maturity-dependency-chain strong,
.maturity-evidence-chain strong,
.maturity-scoring-model strong,
.maturity-target-model strong,
.maturity-roadmap-flow strong {
  display: block;
  margin-bottom: 13px;
  font-family: var(--serif);
  font-size: 1.06rem;
  font-weight: 400;
  line-height: 1.45;
}

.maturity-risk-flow > div,
.maturity-level-ladder > div,
.maturity-dependency-chain > div,
.maturity-evidence-chain > div,
.maturity-scoring-model > div,
.maturity-roadmap-flow > div {
  min-height: 270px;
}

.maturity-architecture-map > div,
.maturity-target-model > div {
  min-height: 230px;
}

@media (max-width: 1180px) {
  .maturity-purpose-model,
  .maturity-distinction-grid,
  .maturity-principle-grid,
  .maturity-dimension-grid,
  .maturity-profile-grid,
  .maturity-scope-grid,
  .maturity-assurance-grid,
  .maturity-risk-flow,
  .maturity-architecture-map,
  .maturity-level-ladder,
  .maturity-dependency-chain,
  .maturity-evidence-chain,
  .maturity-scoring-model,
  .maturity-target-model,
  .maturity-roadmap-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .maturity-profile-grid article:last-child,
  .maturity-dimension-grid article:last-child,
  .maturity-risk-flow > div:last-child,
  .maturity-level-ladder > div:last-child,
  .maturity-dependency-chain > div:last-child,
  .maturity-evidence-chain > div:last-child,
  .maturity-scoring-model > div:last-child,
  .maturity-roadmap-flow > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .maturity-purpose-model,
  .maturity-distinction-grid,
  .maturity-principle-grid,
  .maturity-dimension-grid,
  .maturity-profile-grid,
  .maturity-scope-grid,
  .maturity-assurance-grid,
  .maturity-risk-flow,
  .maturity-architecture-map,
  .maturity-level-ladder,
  .maturity-dependency-chain,
  .maturity-evidence-chain,
  .maturity-scoring-model,
  .maturity-target-model,
  .maturity-roadmap-flow {
    grid-template-columns: 1fr;
  }

  .maturity-purpose-model article,
  .maturity-distinction-grid article,
  .maturity-principle-grid article,
  .maturity-dimension-grid article,
  .maturity-profile-grid article,
  .maturity-scope-grid article,
  .maturity-assurance-grid article,
  .maturity-risk-flow > div,
  .maturity-architecture-map > div,
  .maturity-level-ladder > div,
  .maturity-dependency-chain > div,
  .maturity-evidence-chain > div,
  .maturity-scoring-model > div,
  .maturity-target-model > div,
  .maturity-roadmap-flow > div {
    min-height: 0;
  }

  .maturity-profile-grid article:last-child,
  .maturity-dimension-grid article:last-child,
  .maturity-risk-flow > div:last-child,
  .maturity-level-ladder > div:last-child,
  .maturity-dependency-chain > div:last-child,
  .maturity-evidence-chain > div:last-child,
  .maturity-scoring-model > div:last-child,
  .maturity-roadmap-flow > div:last-child {
    grid-column: auto;
  }
}

/* Chapter 17: Industry Applications */
.industry-distinction-grid,
.industry-universal-model,
.industry-translation-chain,
.industry-architecture-grid,
.industry-proportionality-model,
.industry-automation-grid,
.industry-implementation-flow,
.industry-measurement-grid {
  display: grid;
  margin: 42px 0;
  border: 1px solid rgba(55, 43, 38, 0.15);
  background: var(--white);
  box-shadow: 0 22px 55px rgba(54, 38, 31, 0.08);
}

.industry-distinction-grid,
.industry-universal-model,
.industry-automation-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.industry-translation-chain,
.industry-proportionality-model,
.industry-measurement-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.industry-architecture-grid,
.industry-implementation-flow {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.industry-distinction-grid article,
.industry-universal-model > div,
.industry-translation-chain > div,
.industry-architecture-grid article,
.industry-proportionality-model article,
.industry-automation-grid article,
.industry-implementation-flow > div,
.industry-measurement-grid article {
  min-width: 0;
  padding: 31px 28px 33px;
  border-right: 1px solid rgba(55, 43, 38, 0.12);
  border-bottom: 1px solid rgba(55, 43, 38, 0.12);
}

.industry-distinction-grid article:nth-child(2),
.industry-distinction-grid article:nth-child(4),
.industry-universal-model > div:nth-child(2),
.industry-universal-model > div:nth-child(4),
.industry-translation-chain > div:nth-child(3),
.industry-architecture-grid article:nth-child(2),
.industry-architecture-grid article:nth-child(5),
.industry-proportionality-model article:nth-child(3),
.industry-automation-grid article:nth-child(2),
.industry-automation-grid article:nth-child(4),
.industry-implementation-flow > div:nth-child(2),
.industry-implementation-flow > div:nth-child(5),
.industry-measurement-grid article:nth-child(3) {
  color: var(--white);
  background: var(--burgundy);
}

.industry-distinction-grid span,
.industry-universal-model span,
.industry-translation-chain span,
.industry-architecture-grid span,
.industry-proportionality-model span,
.industry-automation-grid span,
.industry-implementation-flow span,
.industry-measurement-grid span {
  display: block;
  margin-bottom: 28px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.industry-distinction-grid article:nth-child(2) span,
.industry-distinction-grid article:nth-child(4) span,
.industry-universal-model > div:nth-child(2) span,
.industry-universal-model > div:nth-child(4) span,
.industry-translation-chain > div:nth-child(3) span,
.industry-architecture-grid article:nth-child(2) span,
.industry-architecture-grid article:nth-child(5) span,
.industry-proportionality-model article:nth-child(3) span,
.industry-automation-grid article:nth-child(2) span,
.industry-automation-grid article:nth-child(4) span,
.industry-implementation-flow > div:nth-child(2) span,
.industry-implementation-flow > div:nth-child(5) span,
.industry-measurement-grid article:nth-child(3) span {
  color: #e2c7a1;
}

.industry-distinction-grid h3,
.industry-architecture-grid h3,
.industry-proportionality-model h3,
.industry-automation-grid h3,
.industry-measurement-grid h3 {
  margin-top: 0;
}

.industry-universal-model strong,
.industry-translation-chain strong,
.industry-implementation-flow strong {
  display: block;
  margin-bottom: 13px;
  font-family: var(--serif);
  font-size: 1.06rem;
  font-weight: 400;
  line-height: 1.45;
}

.industry-distinction-grid p,
.industry-universal-model p,
.industry-translation-chain p,
.industry-architecture-grid p,
.industry-proportionality-model p,
.industry-automation-grid p,
.industry-implementation-flow p,
.industry-measurement-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.88rem;
  line-height: 1.6;
}

.industry-distinction-grid article:nth-child(2) p,
.industry-distinction-grid article:nth-child(4) p,
.industry-universal-model > div:nth-child(2) p,
.industry-universal-model > div:nth-child(4) p,
.industry-translation-chain > div:nth-child(3) p,
.industry-architecture-grid article:nth-child(2) p,
.industry-architecture-grid article:nth-child(5) p,
.industry-proportionality-model article:nth-child(3) p,
.industry-automation-grid article:nth-child(2) p,
.industry-automation-grid article:nth-child(4) p,
.industry-implementation-flow > div:nth-child(2) p,
.industry-implementation-flow > div:nth-child(5) p,
.industry-measurement-grid article:nth-child(3) p {
  color: rgba(255, 255, 255, 0.76);
}

.industry-universal-model > div,
.industry-translation-chain > div,
.industry-proportionality-model article,
.industry-implementation-flow > div,
.industry-measurement-grid article {
  min-height: 265px;
}

.industry-architecture-grid article,
.industry-distinction-grid article,
.industry-automation-grid article {
  min-height: 235px;
}

@media (max-width: 1180px) {
  .industry-distinction-grid,
  .industry-universal-model,
  .industry-translation-chain,
  .industry-architecture-grid,
  .industry-proportionality-model,
  .industry-automation-grid,
  .industry-implementation-flow,
  .industry-measurement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .industry-translation-chain > div:last-child,
  .industry-proportionality-model article:last-child,
  .industry-measurement-grid article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .industry-distinction-grid,
  .industry-universal-model,
  .industry-translation-chain,
  .industry-architecture-grid,
  .industry-proportionality-model,
  .industry-automation-grid,
  .industry-implementation-flow,
  .industry-measurement-grid {
    grid-template-columns: 1fr;
  }

  .industry-distinction-grid article,
  .industry-universal-model > div,
  .industry-translation-chain > div,
  .industry-architecture-grid article,
  .industry-proportionality-model article,
  .industry-automation-grid article,
  .industry-implementation-flow > div,
  .industry-measurement-grid article {
    min-height: 0;
  }

  .industry-translation-chain > div:last-child,
  .industry-proportionality-model article:last-child,
  .industry-measurement-grid article:last-child {
    grid-column: auto;
  }
}


/* Chapter 18: Case Studies */
.case-purpose-grid,
.case-evidence-grid,
.case-findings-grid,
.case-transfer-matrix,
.case-method-flow,
.case-anatomy-model,
.case-study-snapshot {
  display: grid;
  margin: 42px 0;
  border: 1px solid rgba(55, 43, 38, 0.15);
  background: var(--white);
}

.case-purpose-grid,
.case-transfer-matrix {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.case-evidence-grid,
.case-findings-grid,
.case-anatomy-model {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.case-method-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.case-study-snapshot {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 28px;
}

.case-purpose-grid article,
.case-evidence-grid article,
.case-findings-grid article,
.case-transfer-matrix article,
.case-method-flow > div,
.case-anatomy-model > div,
.case-study-snapshot > div {
  min-width: 0;
  padding: 30px 27px 32px;
  border-right: 1px solid rgba(55, 43, 38, 0.12);
  border-bottom: 1px solid rgba(55, 43, 38, 0.12);
}

.case-purpose-grid article:nth-child(2),
.case-purpose-grid article:nth-child(4),
.case-evidence-grid article:nth-child(2),
.case-evidence-grid article:nth-child(5),
.case-findings-grid article:nth-child(2),
.case-findings-grid article:nth-child(5),
.case-transfer-matrix article:nth-child(2),
.case-method-flow > div:nth-child(2),
.case-method-flow > div:nth-child(5),
.case-method-flow > div:nth-child(8),
.case-anatomy-model > div:nth-child(2),
.case-anatomy-model > div:nth-child(5),
.case-study-snapshot > div:nth-child(2) {
  color: var(--white);
  background: var(--burgundy);
}

.case-purpose-grid span,
.case-evidence-grid span,
.case-findings-grid span,
.case-transfer-matrix span,
.case-method-flow span,
.case-anatomy-model span,
.case-study-snapshot span {
  display: block;
  margin-bottom: 24px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.case-purpose-grid article:nth-child(2) span,
.case-purpose-grid article:nth-child(4) span,
.case-evidence-grid article:nth-child(2) span,
.case-evidence-grid article:nth-child(5) span,
.case-findings-grid article:nth-child(2) span,
.case-findings-grid article:nth-child(5) span,
.case-transfer-matrix article:nth-child(2) span,
.case-method-flow > div:nth-child(2) span,
.case-method-flow > div:nth-child(5) span,
.case-method-flow > div:nth-child(8) span,
.case-anatomy-model > div:nth-child(2) span,
.case-anatomy-model > div:nth-child(5) span,
.case-study-snapshot > div:nth-child(2) span {
  color: #e2c7a1;
}

.case-purpose-grid h3,
.case-evidence-grid h3,
.case-findings-grid h3,
.case-transfer-matrix h3 {
  margin-top: 0;
}

.case-method-flow strong,
.case-anatomy-model strong {
  display: block;
  margin-bottom: 13px;
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.45;
}

.case-purpose-grid p,
.case-evidence-grid p,
.case-findings-grid p,
.case-transfer-matrix p,
.case-method-flow p,
.case-anatomy-model p,
.case-study-snapshot p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.88rem;
  line-height: 1.62;
}

.case-purpose-grid article:nth-child(2) p,
.case-purpose-grid article:nth-child(4) p,
.case-evidence-grid article:nth-child(2) p,
.case-evidence-grid article:nth-child(5) p,
.case-findings-grid article:nth-child(2) p,
.case-findings-grid article:nth-child(5) p,
.case-transfer-matrix article:nth-child(2) p,
.case-method-flow > div:nth-child(2) p,
.case-method-flow > div:nth-child(5) p,
.case-method-flow > div:nth-child(8) p,
.case-anatomy-model > div:nth-child(2) p,
.case-anatomy-model > div:nth-child(5) p,
.case-study-snapshot > div:nth-child(2) p {
  color: rgba(255, 255, 255, 0.76);
}

.case-purpose-grid article,
.case-evidence-grid article,
.case-findings-grid article,
.case-transfer-matrix article,
.case-method-flow > div,
.case-anatomy-model > div {
  min-height: 235px;
}

.case-study-record {
  margin: 74px 0;
  padding: 44px 44px 42px;
  border: 1px solid rgba(55, 43, 38, 0.17);
  border-top: 5px solid var(--burgundy);
  background: rgba(250, 247, 242, 0.66);
  box-shadow: 0 18px 46px rgba(55, 43, 38, 0.08);
}

.case-study-heading {
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(55, 43, 38, 0.14);
}

.case-study-heading h2 {
  margin-bottom: 0;
}

.case-study-record > h3 {
  margin-top: 36px;
}

.case-diagnosis-list {
  margin: 22px 0 34px;
  padding-left: 0;
  list-style: none;
  counter-reset: case-diagnosis;
}

.case-diagnosis-list li {
  position: relative;
  margin: 0;
  padding: 18px 18px 18px 58px;
  border-top: 1px solid rgba(55, 43, 38, 0.12);
  counter-increment: case-diagnosis;
}

.case-diagnosis-list li:last-child {
  border-bottom: 1px solid rgba(55, 43, 38, 0.12);
}

.case-diagnosis-list li::before {
  position: absolute;
  top: 18px;
  left: 14px;
  color: var(--burgundy);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  content: counter(case-diagnosis, decimal-leading-zero);
}

@media (max-width: 1180px) {
  .case-evidence-grid,
  .case-findings-grid,
  .case-method-flow,
  .case-anatomy-model,
  .case-study-snapshot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-study-snapshot > div:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .case-study-record {
    margin: 54px 0;
    padding: 32px 24px 30px;
  }
}

@media (max-width: 620px) {
  .case-purpose-grid,
  .case-evidence-grid,
  .case-findings-grid,
  .case-transfer-matrix,
  .case-method-flow,
  .case-anatomy-model,
  .case-study-snapshot {
    grid-template-columns: 1fr;
  }

  .case-purpose-grid article,
  .case-evidence-grid article,
  .case-findings-grid article,
  .case-transfer-matrix article,
  .case-method-flow > div,
  .case-anatomy-model > div,
  .case-study-snapshot > div {
    min-height: 0;
  }

  .case-study-snapshot > div:last-child {
    grid-column: auto;
  }
}

/* Chapter 19: Research Library */
.library-purpose-grid,
.library-collections-grid,
.library-question-map,
.library-appraisal-grid,
.library-record-model,
.library-synthesis-grid,
.library-access-grid,
.library-stewardship-grid,
.library-agenda-grid {
  display: grid;
  margin: 46px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.library-purpose-grid article,
.library-collections-grid article,
.library-question-map article,
.library-appraisal-grid article,
.library-record-model > div,
.library-synthesis-grid article,
.library-access-grid article,
.library-stewardship-grid article,
.library-agenda-grid article {
  min-height: 230px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.library-purpose-grid article:nth-child(2),
.library-purpose-grid article:nth-child(3),
.library-collections-grid article:nth-child(2),
.library-collections-grid article:nth-child(5),
.library-collections-grid article:nth-child(8),
.library-question-map article:nth-child(2),
.library-question-map article:nth-child(5),
.library-appraisal-grid article:nth-child(2),
.library-appraisal-grid article:nth-child(5),
.library-appraisal-grid article:nth-child(8),
.library-synthesis-grid article:nth-child(2),
.library-synthesis-grid article:nth-child(3),
.library-access-grid article:nth-child(2),
.library-access-grid article:nth-child(3),
.library-stewardship-grid article:nth-child(2),
.library-stewardship-grid article:nth-child(3),
.library-agenda-grid article:nth-child(2),
.library-agenda-grid article:nth-child(5),
.library-agenda-grid article:nth-child(8) {
  color: var(--white);
  background: var(--charcoal);
}

.library-purpose-grid span,
.library-collections-grid span,
.library-question-map span,
.library-appraisal-grid span,
.library-record-model span,
.library-synthesis-grid span,
.library-access-grid span,
.library-stewardship-grid span,
.library-agenda-grid span,
.library-discovery-flow span,
.library-review-flow span,
.library-boundary-model span,
.library-provenance-flow span {
  display: block;
  margin-bottom: 32px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.library-purpose-grid h3,
.library-collections-grid h3,
.library-question-map h3,
.library-appraisal-grid h3,
.library-synthesis-grid h3,
.library-access-grid h3,
.library-stewardship-grid h3,
.library-agenda-grid h3,
.library-discovery-flow h3,
.library-review-flow h3,
.library-boundary-model h3 {
  margin-top: 0;
}

.library-purpose-grid p,
.library-collections-grid p,
.library-question-map p,
.library-appraisal-grid p,
.library-record-model p,
.library-synthesis-grid p,
.library-access-grid p,
.library-stewardship-grid p,
.library-agenda-grid p,
.library-discovery-flow p,
.library-review-flow p,
.library-boundary-model p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.62;
}

.library-purpose-grid article:nth-child(2) span,
.library-purpose-grid article:nth-child(3) span,
.library-collections-grid article:nth-child(2) span,
.library-collections-grid article:nth-child(5) span,
.library-collections-grid article:nth-child(8) span,
.library-question-map article:nth-child(2) span,
.library-question-map article:nth-child(5) span,
.library-appraisal-grid article:nth-child(2) span,
.library-appraisal-grid article:nth-child(5) span,
.library-appraisal-grid article:nth-child(8) span,
.library-synthesis-grid article:nth-child(2) span,
.library-synthesis-grid article:nth-child(3) span,
.library-access-grid article:nth-child(2) span,
.library-access-grid article:nth-child(3) span,
.library-stewardship-grid article:nth-child(2) span,
.library-stewardship-grid article:nth-child(3) span,
.library-agenda-grid article:nth-child(2) span,
.library-agenda-grid article:nth-child(5) span,
.library-agenda-grid article:nth-child(8) span {
  color: #e2c7a1;
}

.library-purpose-grid article:nth-child(2) p,
.library-purpose-grid article:nth-child(3) p,
.library-collections-grid article:nth-child(2) p,
.library-collections-grid article:nth-child(5) p,
.library-collections-grid article:nth-child(8) p,
.library-question-map article:nth-child(2) p,
.library-question-map article:nth-child(5) p,
.library-appraisal-grid article:nth-child(2) p,
.library-appraisal-grid article:nth-child(5) p,
.library-appraisal-grid article:nth-child(8) p,
.library-synthesis-grid article:nth-child(2) p,
.library-synthesis-grid article:nth-child(3) p,
.library-access-grid article:nth-child(2) p,
.library-access-grid article:nth-child(3) p,
.library-stewardship-grid article:nth-child(2) p,
.library-stewardship-grid article:nth-child(3) p,
.library-agenda-grid article:nth-child(2) p,
.library-agenda-grid article:nth-child(5) p,
.library-agenda-grid article:nth-child(8) p {
  color: rgba(255, 255, 255, 0.76);
}

.library-boundary-model {
  display: grid;
  margin: 46px 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.library-boundary-model > div {
  min-height: 280px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--ivory);
}

.library-boundary-model > div:nth-child(1) {
  color: var(--white);
  background: var(--burgundy);
}

.library-boundary-model > div:nth-child(1) span {
  color: #e2c7a1;
}

.library-boundary-model > div:nth-child(1) p {
  color: rgba(255, 255, 255, 0.8);
}

.library-appraisal-grid,
.library-record-model,
.library-agenda-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.library-record-model > div {
  min-height: 205px;
}

.library-record-model > div:nth-child(2),
.library-record-model > div:nth-child(5),
.library-record-model > div:nth-child(8) {
  background: var(--ivory);
}

.library-discovery-flow,
.library-review-flow {
  display: grid;
  margin: 46px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.library-discovery-flow > div,
.library-review-flow > div {
  min-height: 230px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--ivory);
}

.library-discovery-flow > div:nth-child(2),
.library-discovery-flow > div:nth-child(5),
.library-review-flow > div:nth-child(2),
.library-review-flow > div:nth-child(5),
.library-review-flow > div:nth-child(7) {
  color: var(--white);
  background: var(--burgundy);
}

.library-discovery-flow > div:nth-child(2) span,
.library-discovery-flow > div:nth-child(5) span,
.library-review-flow > div:nth-child(2) span,
.library-review-flow > div:nth-child(5) span,
.library-review-flow > div:nth-child(7) span {
  color: #e2c7a1;
}

.library-discovery-flow > div:nth-child(2) p,
.library-discovery-flow > div:nth-child(5) p,
.library-review-flow > div:nth-child(2) p,
.library-review-flow > div:nth-child(5) p,
.library-review-flow > div:nth-child(7) p {
  color: rgba(255, 255, 255, 0.8);
}

.library-review-flow > div:last-child {
  grid-column: 2 / 3;
}

.library-provenance-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  gap: 10px;
  align-items: center;
}

.library-provenance-flow > div {
  min-height: 175px;
  padding: 20px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.library-provenance-flow > div:nth-of-type(3) {
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
}

.library-provenance-flow > div:nth-of-type(3) span {
  color: #e2c7a1;
}

.library-provenance-flow strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.42;
}

.library-provenance-flow i {
  color: var(--burgundy);
  font-size: 1.25rem;
  font-style: normal;
}

@media (max-width: 1180px) {
  .library-boundary-model,
  .library-appraisal-grid,
  .library-record-model,
  .library-agenda-grid,
  .library-discovery-flow,
  .library-review-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .library-review-flow > div:last-child {
    grid-column: 1 / -1;
  }

  .library-provenance-flow {
    grid-template-columns: 1fr;
  }

  .library-provenance-flow i {
    transform: rotate(90deg);
    justify-self: center;
  }
}

@media (max-width: 620px) {
  .library-purpose-grid,
  .library-collections-grid,
  .library-question-map,
  .library-appraisal-grid,
  .library-record-model,
  .library-synthesis-grid,
  .library-access-grid,
  .library-stewardship-grid,
  .library-agenda-grid,
  .library-boundary-model,
  .library-discovery-flow,
  .library-review-flow {
    grid-template-columns: 1fr;
  }

  .library-purpose-grid article,
  .library-collections-grid article,
  .library-question-map article,
  .library-appraisal-grid article,
  .library-record-model > div,
  .library-synthesis-grid article,
  .library-access-grid article,
  .library-stewardship-grid article,
  .library-agenda-grid article,
  .library-boundary-model > div,
  .library-discovery-flow > div,
  .library-review-flow > div,
  .library-provenance-flow > div {
    min-height: 0;
  }

  .library-review-flow > div:last-child {
    grid-column: auto;
  }
}

/* Chapter 20: Terminology */
.terminology-purpose-grid,
.terminology-relationship-grid,
.terminology-architecture-grid,
.terminology-definition-test,
.terminology-risk-grid,
.terminology-record-model,
.terminology-alignment-grid,
.terminology-glossary {
  display: grid;
  margin: 46px 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.terminology-purpose-grid article,
.terminology-relationship-grid article,
.terminology-architecture-grid article,
.terminology-definition-test > div,
.terminology-risk-grid article,
.terminology-record-model > div,
.terminology-alignment-grid article,
.terminology-glossary article {
  min-height: 220px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.terminology-purpose-grid span,
.terminology-relationship-grid span,
.terminology-architecture-grid span,
.terminology-definition-test span,
.terminology-risk-grid span,
.terminology-record-model span,
.terminology-alignment-grid span,
.terminology-concept-flow span,
.terminology-context-model span,
.terminology-lifecycle-flow span,
.terminology-machine-flow span {
  display: block;
  margin-bottom: 18px;
  color: var(--burgundy);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.terminology-purpose-grid h3,
.terminology-relationship-grid h3,
.terminology-architecture-grid h3,
.terminology-definition-test h3,
.terminology-risk-grid h3,
.terminology-record-model h3,
.terminology-alignment-grid h3,
.terminology-glossary h3,
.terminology-context-model h3,
.terminology-lifecycle-flow h3 {
  margin-top: 0;
}

.terminology-purpose-grid p,
.terminology-relationship-grid p,
.terminology-architecture-grid p,
.terminology-definition-test p,
.terminology-risk-grid p,
.terminology-record-model p,
.terminology-alignment-grid p,
.terminology-glossary p,
.terminology-context-model p,
.terminology-lifecycle-flow p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.62;
}

.terminology-purpose-grid article:nth-child(2),
.terminology-purpose-grid article:nth-child(3),
.terminology-relationship-grid article:nth-child(2),
.terminology-relationship-grid article:nth-child(5),
.terminology-architecture-grid article:nth-child(2),
.terminology-architecture-grid article:nth-child(5),
.terminology-definition-test > div:nth-child(2),
.terminology-definition-test > div:nth-child(5),
.terminology-risk-grid article:nth-child(2),
.terminology-risk-grid article:nth-child(5),
.terminology-record-model > div:nth-child(2),
.terminology-record-model > div:nth-child(5),
.terminology-record-model > div:nth-child(8),
.terminology-alignment-grid article:nth-child(2),
.terminology-alignment-grid article:nth-child(3),
.terminology-glossary article:nth-child(5n + 2),
.terminology-glossary article:nth-child(5n + 4) {
  color: var(--white);
  background: var(--burgundy);
}

.terminology-purpose-grid article:nth-child(2) span,
.terminology-purpose-grid article:nth-child(3) span,
.terminology-relationship-grid article:nth-child(2) span,
.terminology-relationship-grid article:nth-child(5) span,
.terminology-architecture-grid article:nth-child(2) span,
.terminology-architecture-grid article:nth-child(5) span,
.terminology-definition-test > div:nth-child(2) span,
.terminology-definition-test > div:nth-child(5) span,
.terminology-risk-grid article:nth-child(2) span,
.terminology-risk-grid article:nth-child(5) span,
.terminology-record-model > div:nth-child(2) span,
.terminology-record-model > div:nth-child(5) span,
.terminology-record-model > div:nth-child(8) span,
.terminology-alignment-grid article:nth-child(2) span,
.terminology-alignment-grid article:nth-child(3) span {
  color: #e2c7a1;
}

.terminology-purpose-grid article:nth-child(2) p,
.terminology-purpose-grid article:nth-child(3) p,
.terminology-relationship-grid article:nth-child(2) p,
.terminology-relationship-grid article:nth-child(5) p,
.terminology-architecture-grid article:nth-child(2) p,
.terminology-architecture-grid article:nth-child(5) p,
.terminology-definition-test > div:nth-child(2) p,
.terminology-definition-test > div:nth-child(5) p,
.terminology-risk-grid article:nth-child(2) p,
.terminology-risk-grid article:nth-child(5) p,
.terminology-record-model > div:nth-child(2) p,
.terminology-record-model > div:nth-child(5) p,
.terminology-record-model > div:nth-child(8) p,
.terminology-alignment-grid article:nth-child(2) p,
.terminology-alignment-grid article:nth-child(3) p,
.terminology-glossary article:nth-child(5n + 2) p,
.terminology-glossary article:nth-child(5n + 4) p {
  color: rgba(255, 255, 255, 0.78);
}

.terminology-glossary article:nth-child(5n + 2) h3,
.terminology-glossary article:nth-child(5n + 4) h3 {
  color: var(--white);
}

.terminology-concept-flow,
.terminology-machine-flow {
  display: grid;
  margin: 46px 0;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 10px;
  align-items: center;
}

.terminology-concept-flow > div,
.terminology-machine-flow > div {
  min-height: 190px;
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.terminology-concept-flow > div:nth-of-type(2),
.terminology-machine-flow > div:nth-of-type(3) {
  color: var(--white);
  border-color: var(--burgundy);
  background: var(--burgundy);
}

.terminology-concept-flow > div:nth-of-type(2) span,
.terminology-machine-flow > div:nth-of-type(3) span {
  color: #e2c7a1;
}

.terminology-concept-flow strong,
.terminology-machine-flow strong {
  display: block;
  font-family: var(--serif);
  font-size: 1.04rem;
  font-weight: 400;
  line-height: 1.46;
}

.terminology-concept-flow i,
.terminology-machine-flow i {
  color: var(--burgundy);
  font-size: 1.2rem;
  font-style: normal;
}

.terminology-context-model {
  display: grid;
  margin: 46px 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.terminology-context-model > div {
  min-height: 270px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--ivory);
}

.terminology-context-model > div:first-child {
  color: var(--white);
  background: var(--burgundy);
}

.terminology-context-model > div:first-child span {
  color: #e2c7a1;
}

.terminology-context-model > div:first-child p {
  color: rgba(255, 255, 255, 0.8);
}

.terminology-modality-table {
  margin: 46px 0;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: var(--paper);
}

.terminology-modality-table table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.terminology-modality-table th,
.terminology-modality-table td {
  padding: 20px 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.terminology-modality-table th {
  color: var(--white);
  background: var(--burgundy);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.terminology-modality-table td {
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.55;
}

.terminology-modality-table td:nth-child(1),
.terminology-modality-table td:nth-child(2) {
  color: var(--burgundy-dark);
  font-weight: 700;
}

.terminology-modality-table tr:last-child td {
  border-bottom: 0;
}

.terminology-modality-table th:last-child,
.terminology-modality-table td:last-child {
  border-right: 0;
}

.terminology-record-model,
.terminology-glossary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.terminology-record-model > div {
  min-height: 215px;
}

.terminology-glossary article {
  min-height: 235px;
}

.terminology-glossary h3 {
  margin-bottom: 16px;
  color: var(--burgundy-dark);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.terminology-lifecycle-flow {
  display: grid;
  margin: 46px 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.terminology-lifecycle-flow > div {
  min-height: 230px;
  padding: 26px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--ivory);
}

.terminology-lifecycle-flow > div:nth-child(2),
.terminology-lifecycle-flow > div:nth-child(5),
.terminology-lifecycle-flow > div:nth-child(8) {
  color: var(--white);
  background: var(--burgundy);
}

.terminology-lifecycle-flow > div:nth-child(2) span,
.terminology-lifecycle-flow > div:nth-child(5) span,
.terminology-lifecycle-flow > div:nth-child(8) span {
  color: #e2c7a1;
}

.terminology-lifecycle-flow > div:nth-child(2) p,
.terminology-lifecycle-flow > div:nth-child(5) p,
.terminology-lifecycle-flow > div:nth-child(8) p {
  color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 1180px) {
  .terminology-purpose-grid,
  .terminology-relationship-grid,
  .terminology-architecture-grid,
  .terminology-definition-test,
  .terminology-risk-grid,
  .terminology-record-model,
  .terminology-alignment-grid,
  .terminology-glossary,
  .terminology-context-model,
  .terminology-lifecycle-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .terminology-concept-flow,
  .terminology-machine-flow {
    grid-template-columns: 1fr;
  }

  .terminology-concept-flow i,
  .terminology-machine-flow i {
    transform: rotate(90deg);
    justify-self: center;
  }
}

@media (max-width: 620px) {
  .terminology-purpose-grid,
  .terminology-relationship-grid,
  .terminology-architecture-grid,
  .terminology-definition-test,
  .terminology-risk-grid,
  .terminology-record-model,
  .terminology-alignment-grid,
  .terminology-glossary,
  .terminology-context-model,
  .terminology-lifecycle-flow {
    grid-template-columns: 1fr;
  }

  .terminology-purpose-grid article,
  .terminology-relationship-grid article,
  .terminology-architecture-grid article,
  .terminology-definition-test > div,
  .terminology-risk-grid article,
  .terminology-record-model > div,
  .terminology-alignment-grid article,
  .terminology-glossary article,
  .terminology-context-model > div,
  .terminology-lifecycle-flow > div,
  .terminology-concept-flow > div,
  .terminology-machine-flow > div {
    min-height: 0;
  }
}
@media (max-width: 620px) {
  .terminology-page .article-hero h1 {
    font-size: clamp(3.65rem, 17vw, 4.2rem);
  }
}


/* Rules Integrity Version 0.28 lifecycle scope papers */
.scope-output-grid {
  display: grid;
  margin: 46px 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.scope-output-grid article {
  min-height: 230px;
  padding: 28px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}

.scope-output-grid span {
  display: block;
  margin-bottom: 34px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.scope-output-grid h3 {
  margin-top: 0;
}

.scope-output-grid p {
  margin-bottom: 0;
  color: var(--charcoal-soft);
  font-size: 0.9rem;
  line-height: 1.65;
}

.scope-related-links {
  display: grid;
  margin-top: 42px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.scope-related-links a {
  display: grid;
  min-height: 132px;
  padding: 24px 26px;
  align-content: center;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--charcoal);
  background: var(--paper);
  text-decoration: none;
}

.scope-related-links a:hover,
.scope-related-links a:focus-visible {
  color: var(--burgundy);
  background: var(--ivory);
}

.scope-related-links span {
  margin-bottom: 11px;
  color: var(--burgundy);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.scope-related-links strong {
  font-family: var(--serif);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
}

@media (max-width: 760px) {
  .scope-output-grid,
  .scope-related-links {
    grid-template-columns: 1fr;
  }

  .scope-output-grid article {
    min-height: 0;
  }

  .scope-related-links a {
    min-height: 112px;
  }
}

/* Rules Integrity Version 0.39 institutional constituency papers */
@media (max-width: 620px) {
  .audience-page .article-hero h1 {
    font-size: clamp(3.6rem, 17vw, 4.3rem);
    letter-spacing: -0.055em;
  }
}
