/* Whole-book typography and chapter-opener legibility pass. */
:root {
  --book-copy-size: clamp(1.125rem, calc(1.03rem + 0.28vw), 1.25rem);
  --book-support-size: clamp(1rem, calc(0.95rem + 0.2vw), 1.1rem);
  --book-copy-leading: 1.68;
  --diagram-label-size: clamp(calc(0.82rem + 1pt), calc(0.77rem + 0.16vw + 1pt), calc(0.92rem + 1pt));
  --diagram-heading-size: clamp(calc(1rem + 1pt), calc(0.94rem + 0.2vw + 1pt), calc(1.12rem + 1pt));
  --diagram-copy-size: clamp(calc(1rem + 1pt), calc(0.95rem + 0.2vw + 1pt), calc(1.125rem + 1pt));
}

/* Whole-book caution callouts: keep text comfortably clear of the vertical accent rule. */
.chapter-view .watch-out {
  box-sizing: border-box;
  padding-inline-start: clamp(24px, 2.5vw, 40px);
}

/* Whole-book evidence strips: enlarge compact section labels and outlined evidence chips by exactly 3pt. */
.chapter-enhancement aside:not([class]) > span:first-child {
  font-size: calc(0.56rem + 3pt) !important;
  line-height: 1.4;
  letter-spacing: 0.055em;
}

.chapter-enhancement aside:not([class]) > b {
  min-height: 54px;
  display: inline-flex;
  align-items: center;
  font-size: calc(0.6rem + 3pt) !important;
  line-height: 1.4;
}

/* Chapter 1 · Figure 1.1 supplied artwork */
.learner-ai-figure.learner-ai-image {
  overflow: hidden;
  background: #fdfbf8;
}

.learner-ai-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
  background: #fdfbf8;
}

/* Chapter 1 · What Is Thinking poster */
.thinking-poster {
  width: min(780px, 100%);
  margin: 44px auto 0;
  padding: 0;
  overflow: hidden;
  background: #fdfbf8;
  border: 1px solid rgba(17, 65, 126, 0.14);
  box-shadow: 0 20px 55px rgba(17, 46, 82, 0.16);
}

.thinking-poster > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1055 / 1491;
  object-fit: contain;
}

/* Chapter 1 · supplied Simple Thinking Journey artwork */
.simple-thinking-journey-image {
  width: min(820px, 100%);
  margin: 42px auto;
  overflow: hidden;
  background: #fdfbf8;
  border: 1px solid rgba(17, 65, 126, 0.12);
  box-shadow: 0 18px 48px rgba(17, 46, 82, 0.13);
}

.simple-thinking-journey-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1122 / 1402;
  object-fit: contain;
}

/* Chapter 1 · supplied Elements of Critical Thinking artwork */
.critical-thinking-image {
  width: 100%;
  margin: 0 auto 34px;
  overflow: hidden;
  background: #edf8fd;
  border: 1px solid rgba(17, 65, 126, 0.12);
  box-shadow: 0 18px 48px rgba(17, 46, 82, 0.13);
}

.critical-thinking-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter2-critical-thinking-image {
  margin-top: 30px;
}

/* Chapter 2 · supplied AI as Thinking Mirror artwork */
.chapter2-thinking-mirror-image {
  width: 100%;
  margin: 0 auto 34px;
  overflow: hidden;
  background: #061b3a;
  border: 1px solid rgba(25, 185, 197, 0.28);
  box-shadow: 0 18px 48px rgba(7, 28, 58, 0.22);
}

.chapter2-thinking-mirror-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1586 / 992;
  object-fit: contain;
}

/* Chapter 1 · supplied Cognitive Learning Experience Design artwork */
.cognitive-experience-design-image {
  width: min(820px, 100%);
  margin: 0 auto 42px;
  overflow: hidden;
  background: #fdfbf8;
  border: 1px solid rgba(17, 65, 126, 0.12);
  box-shadow: 0 18px 48px rgba(17, 46, 82, 0.13);
}

.cognitive-experience-design-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 941 / 1672;
  object-fit: contain;
}

/* Chapter 1 · supplied Teacher as Designer artwork */
.teacher-designer-image {
  width: 100%;
  margin: 0 auto 34px;
  overflow: hidden;
  background: #edf8fd;
  border: 1px solid rgba(17, 65, 126, 0.12);
  box-shadow: 0 18px 48px rgba(17, 46, 82, 0.13);
}

.teacher-designer-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.teacher-designer-image + .design-test {
  margin-top: 34px;
}

/* Chapter 2 · supplied Final Answer / Thinking Journey artwork */
.chapter-two-opener {
  --chapter-two-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-two-opener-gutter);
}

.chapter-two-opener .chapter-label,
.chapter-two-opener .chapter-title {
  grid-row: 1;
}

.chapter-two-opener .iceberg-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-two-opener-gutter) + var(--chapter-two-opener-gutter));
  margin: 30px calc(0px - var(--chapter-two-opener-gutter)) 0;
  overflow: hidden;
  background: #dff2fb;
  border-block: 1px solid rgba(17, 65, 126, 0.14);
  border-inline: 0;
  box-shadow: none;
}

.iceberg-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1448 / 1086;
  object-fit: contain;
}

.chapter-two .chapter2-page .iceberg-image.wide {
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #dff2fb;
  border: 1px solid rgba(17, 65, 126, 0.14);
  box-shadow: 0 18px 48px rgba(17, 46, 82, 0.13);
}

.chapter-two-opener .outcomes {
  grid-row: 3;
}

.chapter-two-opener .plutarch {
  grid-row: 4;
}

/* Chapter 3 · supplied Cognitive Learning Experience Framework artwork */
.chapter-three-opener {
  --chapter-three-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-three-opener-gutter);
}

.chapter-three-opener .chapter-label,
.chapter-three-opener .chapter-title {
  grid-row: 1;
}

.chapter-three-opener .chapter3-framework-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-three-opener-gutter) + var(--chapter-three-opener-gutter));
  margin: 30px calc(0px - var(--chapter-three-opener-gutter)) 0;
  overflow: hidden;
  background: #f7f9fa;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter3-framework-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter3-framework-sequence-image {
  width: 100%;
  margin: 30px auto 38px;
  overflow: hidden;
  background: #f7f9fb;
  border: 1px solid rgba(17, 65, 126, 0.12);
  box-shadow: 0 18px 48px rgba(17, 46, 82, 0.13);
}

.chapter3-framework-sequence-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1637 / 960;
  object-fit: contain;
}

.chapter3-design-thinking-image {
  width: 100%;
  margin: 34px auto 8px;
  overflow: hidden;
  background: #f7f9fb;
  border: 1px solid rgba(17, 65, 126, 0.12);
  box-shadow: 0 18px 48px rgba(17, 46, 82, 0.13);
}

.chapter3-design-thinking-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-three-opener .outcomes {
  grid-row: 3;
}

.chapter-three-opener .plutarch {
  grid-row: 4;
}

/* Chapter 4 · supplied Prediction → Reveal → Reflection artwork */
.chapter-four-opener {
  --chapter-four-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-four-opener-gutter);
}

.chapter-four-opener .chapter-label,
.chapter-four-opener .chapter-title {
  grid-row: 1;
}

.chapter-four-opener .chapter4-prediction-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-four-opener-gutter) + var(--chapter-four-opener-gutter));
  margin: 30px calc(0px - var(--chapter-four-opener-gutter)) 0;
  overflow: hidden;
  background: #fdfbf8;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter4-prediction-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter4-prediction-reading-image {
  width: 100%;
  margin: 28px auto 0;
  overflow: hidden;
  background: #fdfbf8;
  border: 1px solid rgba(17, 65, 126, 0.12);
  box-shadow: 0 18px 48px rgba(17, 46, 82, 0.13);
}

.chapter4-prediction-reading-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-four-opener .outcomes {
  grid-row: 3;
}

.chapter-four-opener .plutarch {
  grid-row: 4;
}

/* Chapter 5 · supplied Socratic questioning artwork */
.chapter-five-opener {
  --chapter-five-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-five-opener-gutter);
}

.chapter-five-opener .chapter-label,
.chapter-five-opener .chapter-title {
  grid-row: 1;
}

.chapter-five-opener .chapter5-socratic-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-five-opener-gutter) + var(--chapter-five-opener-gutter));
  margin: 30px calc(0px - var(--chapter-five-opener-gutter)) 0;
  overflow: hidden;
  background: #f7f4ec;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter5-socratic-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter5-socratic-reading-image {
  width: 100%;
  margin: 28px auto 0;
  overflow: hidden;
  background: #f7f4ec;
  border: 1px solid rgba(17, 65, 126, 0.12);
  box-shadow: 0 18px 48px rgba(17, 46, 82, 0.13);
}

.chapter5-socratic-reading-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-five-opener .outcomes {
  grid-row: 3;
}

.chapter-five-opener .plutarch {
  grid-row: 4;
}

/* Chapter 6 · supplied Devil's Advocate artwork */
.chapter-six-opener {
  --chapter-six-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-six-opener-gutter);
}

.chapter-six-opener .chapter-label,
.chapter-six-opener .chapter-title {
  grid-row: 1;
}

.chapter-six-opener .chapter6-devils-advocate-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-six-opener-gutter) + var(--chapter-six-opener-gutter));
  margin: 30px calc(0px - var(--chapter-six-opener-gutter)) 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter6-devils-advocate-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-six-opener .outcomes {
  grid-row: 3;
}

.chapter-six-opener .plutarch {
  grid-row: 4;
}

/* Chapter 7 · supplied Misconception Clinic artwork */
.chapter-seven-opener {
  --chapter-seven-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-seven-opener-gutter);
}

.chapter-seven-opener .chapter-label,
.chapter-seven-opener .chapter-title {
  grid-row: 1;
}

.chapter-seven-opener .chapter7-misconception-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-seven-opener-gutter) + var(--chapter-seven-opener-gutter));
  margin: 30px calc(0px - var(--chapter-seven-opener-gutter)) 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter7-misconception-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-seven-opener .outcomes {
  grid-row: 3;
}

.chapter-seven-opener .plutarch {
  grid-row: 4;
}

/* Chapter 8 · supplied Failure Laboratory artwork */
.chapter-eight-opener {
  --chapter-eight-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-eight-opener-gutter);
}

.chapter-eight-opener .chapter-label,
.chapter-eight-opener .chapter-title {
  grid-row: 1;
}

.chapter-eight-opener .chapter8-failure-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-eight-opener-gutter) + var(--chapter-eight-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-eight-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter8-failure-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-eight-opener .outcomes {
  grid-row: 3;
}

.chapter-eight-opener .plutarch {
  grid-row: 4;
}

/* Chapter 9 · supplied Evidence Detective artwork */
.chapter-nine-opener {
  --chapter-nine-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-nine-opener-gutter);
}

.chapter-nine-opener .chapter-label,
.chapter-nine-opener .chapter-title {
  grid-row: 1;
}

.chapter-nine-opener .chapter9-evidence-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-nine-opener-gutter) + var(--chapter-nine-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-nine-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter9-evidence-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-nine-opener .outcomes {
  grid-row: 3;
}

.chapter-nine-opener .plutarch {
  grid-row: 4;
}

/* Chapter 9 · page 17: balance the five evidence cards inside the page width. */
.chapter-nine .chapter-page-17 .university-case9 .sim-grid9 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 24px);
  align-items: stretch;
}

.chapter-nine .chapter-page-17 .university-case9 .sim-card9 {
  grid-column: span 2;
  min-width: 0;
  padding: clamp(20px, 2.5vw, 30px);
}

.chapter-nine .chapter-page-17 .university-case9 .sim-card9:nth-child(4),
.chapter-nine .chapter-page-17 .university-case9 .sim-card9:nth-child(5) {
  grid-column: span 3;
}

.chapter-nine .chapter-page-17 .university-case9 .sim-card9 :is(select, textarea) {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .chapter-nine .chapter-page-17 .university-case9 .sim-grid9 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .chapter-nine .chapter-page-17 .university-case9 .sim-card9,
  .chapter-nine .chapter-page-17 .university-case9 .sim-card9:nth-child(4) {
    grid-column: auto;
  }

  .chapter-nine .chapter-page-17 .university-case9 .sim-card9:nth-child(5) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .chapter-nine .chapter-page-17 .university-case9 .sim-grid9 {
    grid-template-columns: 1fr;
  }

  .chapter-nine .chapter-page-17 .university-case9 .sim-card9,
  .chapter-nine .chapter-page-17 .university-case9 .sim-card9:nth-child(5) {
    grid-column: auto;
  }
}

/* Chapter 10 · supplied Multiple-Perspective Simulator artwork */
.chapter-ten-opener {
  --chapter-ten-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-ten-opener-gutter);
}

.chapter-ten-opener .chapter-label,
.chapter-ten-opener .chapter-title {
  grid-row: 1;
}

.chapter-ten-opener .chapter10-perspective-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-ten-opener-gutter) + var(--chapter-ten-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-ten-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter10-perspective-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-ten-opener .outcomes {
  grid-row: 3;
}

.chapter-ten-opener .plutarch {
  grid-row: 4;
}

/* Chapter 11 · supplied Counterfactual Laboratory artwork */
.chapter-eleven-opener {
  --chapter-eleven-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-eleven-opener-gutter);
}

.chapter-eleven-opener .chapter-label,
.chapter-eleven-opener .chapter-title {
  grid-row: 1;
}

.chapter-eleven-opener .chapter11-counterfactual-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-eleven-opener-gutter) + var(--chapter-eleven-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-eleven-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter11-counterfactual-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-eleven-opener .outcomes {
  grid-row: 3;
}

.chapter-eleven-opener .plutarch {
  grid-row: 4;
}

/* Chapter 12 · supplied Constraint Challenge artwork */
.chapter-twelve-opener {
  --chapter-twelve-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-twelve-opener-gutter);
}

.chapter-twelve-opener .chapter-label,
.chapter-twelve-opener .chapter-title {
  grid-row: 1;
}

.chapter-twelve-opener .chapter12-constraint-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-twelve-opener-gutter) + var(--chapter-twelve-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-twelve-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter12-constraint-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-twelve-opener .outcomes {
  grid-row: 3;
}

.chapter-twelve-opener .plutarch {
  grid-row: 4;
}

/* Chapter 13 · supplied Concept Discovery Lab artwork */
.chapter-thirteen-opener {
  --chapter-thirteen-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-thirteen-opener-gutter);
}

.chapter-thirteen-opener .chapter-label,
.chapter-thirteen-opener .chapter-title {
  grid-row: 1;
}

.chapter-thirteen-opener .chapter13-concept-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-thirteen-opener-gutter) + var(--chapter-thirteen-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-thirteen-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter13-concept-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-thirteen-opener .outcomes {
  grid-row: 3;
}

.chapter-thirteen-opener .plutarch {
  grid-row: 4;
}

/* Chapter 14 · supplied Explanation Bridge artwork */
.chapter-fourteen-opener {
  --chapter-fourteen-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-fourteen-opener-gutter);
}

.chapter-fourteen-opener .chapter-label,
.chapter-fourteen-opener .chapter-title {
  grid-row: 1;
}

.chapter-fourteen-opener .chapter14-explanation-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-fourteen-opener-gutter) + var(--chapter-fourteen-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-fourteen-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter14-explanation-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-fourteen-opener .outcomes {
  grid-row: 3;
}

.chapter-fourteen-opener .plutarch {
  grid-row: 4;
}

/* Chapter 15 · supplied Decision Replay artwork */
.chapter-fifteen-opener {
  --chapter-fifteen-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-fifteen-opener-gutter);
}

.chapter-fifteen-opener .chapter-label,
.chapter-fifteen-opener .chapter-title {
  grid-row: 1;
}

.chapter-fifteen-opener .chapter15-replay-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-fifteen-opener-gutter) + var(--chapter-fifteen-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-fifteen-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter15-replay-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-fifteen-opener .outcomes {
  grid-row: 3;
}

.chapter-fifteen-opener .plutarch {
  grid-row: 4;
}

/* Chapter 16 · supplied Cognitive Apprenticeship artwork */
.chapter-sixteen-opener {
  --chapter-sixteen-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-sixteen-opener-gutter);
}

.chapter-sixteen-opener .chapter-label,
.chapter-sixteen-opener .chapter-title {
  grid-row: 1;
}

.chapter-sixteen-opener .chapter16-apprenticeship-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-sixteen-opener-gutter) + var(--chapter-sixteen-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-sixteen-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(17, 65, 126, 0.12);
  border-inline: 0;
}

.chapter16-apprenticeship-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-sixteen-opener .outcomes {
  grid-row: 3;
}

.chapter-sixteen-opener .plutarch {
  grid-row: 4;
}

/* Chapter 17 · supplied Thinking Mirror artwork */
.chapter-seventeen-opener {
  --chapter-seventeen-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-seventeen-opener-gutter);
}

.chapter-seventeen-opener .chapter-label,
.chapter-seventeen-opener .chapter-title {
  grid-row: 1;
}

.chapter-seventeen-opener .chapter17-mirror-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-seventeen-opener-gutter) + var(--chapter-seventeen-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-seventeen-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(10, 61, 112, 0.12);
  border-inline: 0;
}

.chapter17-mirror-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-seventeen-opener .outcomes {
  grid-row: 3;
}

.chapter-seventeen-opener .plutarch {
  grid-row: 4;
}

/* Chapter 18 · supplied Outcome-to-Experience artwork */
.chapter-eighteen-opener {
  --chapter-eighteen-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto auto;
  padding-inline: var(--chapter-eighteen-opener-gutter);
}

.chapter-eighteen-opener .chapter-label,
.chapter-eighteen-opener .chapter-title {
  grid-row: 1;
}

.chapter-eighteen-opener .chapter18-outcome-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-eighteen-opener-gutter) + var(--chapter-eighteen-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-eighteen-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(10, 61, 112, 0.12);
  border-inline: 0;
}

.chapter18-outcome-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-eighteen-opener .outcomes {
  grid-row: 3;
}

.chapter-eighteen-opener .plutarch {
  grid-row: 4;
}

/* Chapter 19 · supplied Canvas-to-App artwork */
.chapter-nineteen-opener {
  --chapter-nineteen-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto;
  padding-inline: var(--chapter-nineteen-opener-gutter);
}

.chapter-nineteen-opener .chapter-label,
.chapter-nineteen-opener .chapter-title {
  grid-row: 1;
}

.chapter-nineteen-opener .chapter19-canvas-app-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-nineteen-opener-gutter) + var(--chapter-nineteen-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-nineteen-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(10, 61, 112, 0.12);
  border-inline: 0;
}

.chapter19-canvas-app-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-nineteen-opener .outcomes {
  grid-row: 3;
}

/* Chapter 20 · supplied Support Dial artwork */
.chapter-twenty-opener {
  --chapter-twenty-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto;
  padding-inline: var(--chapter-twenty-opener-gutter);
}

.chapter-twenty-opener .chapter-label,
.chapter-twenty-opener .chapter-title {
  grid-row: 1;
}

.chapter-twenty-opener .chapter20-support-dial-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-twenty-opener-gutter) + var(--chapter-twenty-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-twenty-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(10, 61, 112, 0.12);
  border-inline: 0;
}

.chapter20-support-dial-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-twenty-opener .outcomes {
  grid-row: 3;
}

/* Chapter 21 · supplied Thinking Journey artwork */
.chapter-twenty-one-opener {
  --chapter-twenty-one-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto;
  padding-inline: var(--chapter-twenty-one-opener-gutter);
}

.chapter-twenty-one-opener .chapter-label,
.chapter-twenty-one-opener .chapter-title {
  grid-row: 1;
}

.chapter-twenty-one-opener .chapter21-thinking-journey-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-twenty-one-opener-gutter) + var(--chapter-twenty-one-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-twenty-one-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(10, 61, 112, 0.12);
  border-inline: 0;
}

.chapter21-thinking-journey-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-twenty-one-opener .outcomes {
  grid-row: 3;
}

/* Chapter 22 · supplied Experience to Insight artwork */
.chapter-twenty-two-opener {
  --chapter-twenty-two-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto;
  padding-inline: var(--chapter-twenty-two-opener-gutter);
}

.chapter-twenty-two-opener .chapter-label,
.chapter-twenty-two-opener .chapter-title {
  grid-row: 1;
}

.chapter-twenty-two-opener .chapter22-experience-insight-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-twenty-two-opener-gutter) + var(--chapter-twenty-two-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-twenty-two-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(10, 61, 112, 0.12);
  border-inline: 0;
}

.chapter22-experience-insight-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-twenty-two-opener .outcomes {
  grid-row: 3;
}

/* Chapter 23 · supplied Five Evidence Windows artwork */
.chapter-twenty-three-opener {
  --chapter-twenty-three-opener-gutter: clamp(40px, 7vw, 85px);
  grid-template-rows: auto auto auto;
  padding-inline: var(--chapter-twenty-three-opener-gutter);
}

.chapter-twenty-three-opener .chapter-label,
.chapter-twenty-three-opener .chapter-title {
  grid-row: 1;
}

.chapter-twenty-three-opener .chapter23-five-windows-opener-image {
  grid-column: 1 / -1;
  grid-row: 2;
  width: calc(100% + var(--chapter-twenty-three-opener-gutter) + var(--chapter-twenty-three-opener-gutter));
  min-height: 0;
  margin: 30px calc(0px - var(--chapter-twenty-three-opener-gutter)) 0;
  padding: 0;
  overflow: hidden;
  background: #f7f5ef;
  border-block: 1px solid rgba(10, 61, 112, 0.12);
  border-inline: 0;
}

.chapter23-five-windows-opener-image > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: contain;
}

.chapter-twenty-three-opener .outcomes {
  grid-row: 3;
}

/* Chapter 10 · page 18: keep the two long perspective-map labels intact. */
.chapter-ten .chapter-page-18 .systems-map10 > b:nth-of-type(1),
.chapter-ten .chapter-page-18 .systems-map10 > b:nth-of-type(4) {
  width: clamp(172px, 15vw, 210px);
  box-sizing: border-box;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  text-wrap: nowrap;
}

@media (max-width: 650px) {
  .chapter-ten .chapter-page-18 .systems-map10 > b:nth-of-type(1),
  .chapter-ten .chapter-page-18 .systems-map10 > b:nth-of-type(4) {
    width: 100%;
  }
}

/* Chapter 6 · page 2: increase the comparison boxes and labels by exactly 3pt. */
.chapter-six .chapter-page-2 .agreeable-art span {
  font-size: calc(0.55rem + 3pt) !important;
  line-height: 1.4;
  letter-spacing: 0.055em;
}

.chapter-six .chapter-page-2 .agreeable-art :is(b, strong) {
  font-size: calc(0.58rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-six .chapter-page-2 .agreeable-art i {
  font-size: calc(1em + 3pt);
  line-height: 1;
}

/* Chapter 6 · page 8: increase the Stage 5 evidence labels and boxes by exactly 3pt. */
.chapter-six .chapter-page-8 .evidence6 > .activity-kicker {
  font-size: calc(0.62rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-six .chapter-page-8 .evidence6 legend {
  font-size: calc(0.56rem + 3pt) !important;
  line-height: 1.4;
  letter-spacing: 0.055em;
}

.chapter-six .chapter-page-8 .evidence6 fieldset span {
  min-height: 54px;
  display: flex;
  align-items: center;
  font-size: calc(0.58rem + 3pt) !important;
  line-height: 1.4;
}

/* Chapter 6 · page 10: increase the Stage 7 revision-path labels and boxes by exactly 3pt. */
.chapter-six .chapter-page-10 .revise-choice6 > .activity-kicker {
  font-size: calc(0.62rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-six .chapter-page-10 .revise-choice6 label > span {
  min-height: 108px;
  align-content: center;
  font-size: calc(0.78rem + 3pt) !important;
  line-height: 1.5;
}

.chapter-six .chapter-page-10 .revise-choice6 label b {
  font-size: calc(0.58rem + 3pt) !important;
  line-height: 1.4;
}

/* Chapter 6 · page 13: increase the school-case evidence and Stage 7 boxes by exactly 3pt. */
.chapter-six .chapter-page-13 .plastic6 > section > span {
  font-size: calc(0.56rem + 3pt) !important;
  line-height: 1.4;
  letter-spacing: 0.055em;
}

.chapter-six .chapter-page-13 .plastic6 > section > b {
  min-height: 54px;
  display: flex;
  align-items: center;
  font-size: calc(0.57rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-six .chapter-page-13 .revise-choice6 > .activity-kicker {
  font-size: calc(0.62rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-six .chapter-page-13 .revise-choice6 label > span {
  min-height: 108px;
  align-content: center;
  font-size: calc(0.78rem + 3pt) !important;
  line-height: 1.5;
}

.chapter-six .chapter-page-13 .revise-choice6 label b {
  font-size: calc(0.58rem + 3pt) !important;
  line-height: 1.4;
}

/* Chapter 6 · Build Productive Opposition worksheet: enlarge all box type and its section label by 3pt. */
.chapter-six .chapter-page-20 .devil-builder > header > .activity-kicker {
  font-size: calc(var(--diagram-label-size) + 3pt) !important;
  line-height: 1.4;
}

.chapter-six .chapter-page-20 .devil-builder > label {
  grid-template-columns: 42px minmax(0, 1fr);
}

.chapter-six .chapter-page-20 .devil-builder > label > span {
  font-size: calc(var(--diagram-heading-size) + 3pt) !important;
  line-height: 1.3;
}

.chapter-six .chapter-page-20 .devil-builder > label > b {
  font-size: calc(0.58rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-six .chapter-page-20 .devil-builder > label > textarea {
  font-size: calc(1.05rem + 3pt) !important;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .chapter-two-opener {
    --chapter-two-opener-gutter: 25px;
  }

  .chapter-three-opener {
    --chapter-three-opener-gutter: 25px;
  }

  .chapter-four-opener {
    --chapter-four-opener-gutter: 25px;
  }

  .chapter-five-opener {
    --chapter-five-opener-gutter: 25px;
  }

  .chapter-six-opener {
    --chapter-six-opener-gutter: 25px;
  }

  .chapter-seven-opener {
    --chapter-seven-opener-gutter: 25px;
  }

  .chapter-eight-opener {
    --chapter-eight-opener-gutter: 25px;
  }

  .chapter-three-opener .chapter3-framework-opener-image,
  .chapter-four-opener .chapter4-prediction-opener-image,
  .chapter-five-opener .chapter5-socratic-opener-image,
  .chapter-six-opener .chapter6-devils-advocate-opener-image,
  .chapter-seven-opener .chapter7-misconception-opener-image,
  .chapter-eight-opener .chapter8-failure-opener-image {
    margin-top: 28px;
    margin-bottom: 28px;
  }

  .thinking-poster,
  .simple-thinking-journey-image,
  .critical-thinking-image,
  .cognitive-experience-design-image,
  .teacher-designer-image,
  .chapter2-thinking-mirror-image,
  .chapter3-framework-sequence-image,
  .chapter3-design-thinking-image,
  .chapter4-prediction-reading-image,
  .chapter5-socratic-reading-image,
  .chapter-two-opener .iceberg-image,
  .chapter-two .chapter2-page .iceberg-image.wide {
    margin-top: 28px;
    margin-bottom: 28px;
  }

  .teacher-designer-image + .design-test {
    margin-top: 25px;
  }
}

/* Give the chapter number its own space instead of letting it collide with the title. */
.chapter-opener {
  grid-template-columns: minmax(210px, 14vw) minmax(0, 1fr) minmax(320px, 1.15fr);
  column-gap: clamp(42px, 4vw, 68px);
}

.chapter-twenty-one-opener,
.chapter-twenty-two-opener,
.chapter-twenty-three-opener {
  grid-template-columns: minmax(210px, 14vw) minmax(0, 1fr);
}

.chapter-label {
  min-width: 0;
}

.chapter-label span {
  font-size: 0.75rem;
  letter-spacing: 0.13em;
  line-height: 1.35;
}

.chapter-label b {
  max-width: 100%;
  font-size: clamp(7rem, 10vw, 9rem);
  line-height: 0.86;
  letter-spacing: -0.025em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* Keep the strong display voice, but remove compressed letters and overlapping lines. */
.chapter-title {
  min-width: 0;
  max-width: 100%;
  padding-inline-end: clamp(18px, 2.2vw, 42px);
  container-type: inline-size;
}

.chapter-title p {
  font-size: 0.75rem;
  line-height: 1.45;
  letter-spacing: 0.12em;
}

.chapter-title h1,
.chapter-one-opener .chapter-title h1,
.chapter-two-opener .chapter-title h1,
.chapter-three-opener .chapter-title h1,
.chapter-four-opener .chapter-title h1,
.chapter-five-opener .chapter-title h1,
.chapter-six-opener .chapter-title h1,
.chapter-seven-opener .chapter-title h1,
.chapter-eight-opener .chapter-title h1,
.chapter-nine-opener .chapter-title h1,
.chapter-ten-opener .chapter-title h1,
.chapter-eleven-opener .chapter-title h1,
.chapter-twelve-opener .chapter-title h1,
.chapter-thirteen-opener .chapter-title h1,
.chapter-fourteen-opener .chapter-title h1,
.chapter-fifteen-opener .chapter-title h1,
.chapter-sixteen-opener .chapter-title h1,
.chapter-seventeen-opener .chapter-title h1,
.chapter-eighteen-opener .chapter-title h1,
.chapter-nineteen-opener .chapter-title h1,
.chapter-twenty-opener .chapter-title h1,
.chapter-twenty-one-opener .chapter-title h1,
.chapter-twenty-two-opener .chapter-title h1,
.chapter-twenty-three-opener .chapter-title h1 {
  max-inline-size: 100%;
  font-size: clamp(2.4rem, 4.8vw, 6rem);
  font-size: clamp(2.4rem, 8.5cqi, 6rem);
  line-height: 1;
  letter-spacing: -0.012em;
  text-wrap: balance;
}

.chapter-title h2 {
  line-height: 1.3;
  letter-spacing: 0.005em;
  text-wrap: balance;
}

/* Establish Carlito at a comfortable long-form reading size. */
.chapter-view {
  font-family: var(--reading);
  font-size: var(--book-copy-size);
}

.chapter-view .book-prose {
  max-width: 860px;
  font-family: var(--reading);
  font-size: var(--book-copy-size);
  line-height: var(--book-copy-leading);
  letter-spacing: 0.006em;
}

.chapter-view .book-prose > p,
.chapter-view .book-prose > ul,
.chapter-view .book-prose > ol,
.chapter-view .book-prose > dl {
  font-size: inherit;
  line-height: inherit;
}

/* Editorial reading-flow pass: fuller paragraphs, less unused page height. */
.chapter-view .chapter-source-page {
  min-height: 0;
  padding-top: clamp(56px, 6vw, 76px);
  padding-bottom: clamp(64px, 7vw, 88px);
}

.chapter-view .chapter-page-meta {
  margin-bottom: clamp(36px, 4vw, 48px);
}

.chapter-view .book-prose > p {
  max-width: 800px;
  margin-bottom: 1.25em;
  text-wrap: pretty;
}

.chapter-view .book-prose > h2 {
  margin-bottom: clamp(30px, 4vw, 40px);
}

.chapter-view .book-prose > h3 {
  margin-top: clamp(42px, 5vw, 56px);
}

.chapter-view .chapter-enhancement {
  margin-top: clamp(46px, 5vw, 62px);
}

.chapter-view .book-prose li,
.chapter-view .book-prose dd {
  font-size: inherit;
  line-height: 1.65;
}

.chapter-view .reading-page > p,
.chapter-view .source-activity p {
  font-family: var(--reading);
  font-size: var(--book-copy-size);
  line-height: var(--book-copy-leading);
  letter-spacing: 0.006em;
}

.chapter-view .reading-page .lead {
  font-size: clamp(1.3rem, calc(1.15rem + 0.35vw), 1.5rem);
  line-height: 1.65;
}

/* Outcomes are reading content, not microcopy. */
.chapter-opener .outcomes {
  row-gap: 18px;
}

.chapter-opener .outcomes > span {
  font-size: 0.82rem;
  line-height: 1.4;
  letter-spacing: 0.085em;
}

.chapter-opener .outcomes li {
  color: #586773;
  font: 400 var(--book-support-size) / 1.58 var(--reading);
  letter-spacing: 0.004em;
}

.chapter-opener .outcomes li::before {
  font-size: 0.72rem;
}

/* Increase instructional text inside illustrations without enlarging the artwork itself. */
.chapter-view figure figcaption,
.chapter-view [class*="major-illustration"] figcaption {
  font-family: var(--reading);
  font-size: var(--book-support-size);
  line-height: 1.55;
  letter-spacing: 0.004em;
}

.chapter-view figure article :is(p, span, small) {
  font-size: var(--book-support-size) !important;
  line-height: 1.5;
  letter-spacing: 0.004em;
}

.chapter-view figure article b {
  font-size: clamp(0.95rem, calc(0.9rem + 0.18vw), 1.05rem) !important;
  line-height: 1.3 !important;
  letter-spacing: 0.015em;
}

.windows-art23 article {
  min-height: 230px;
  padding: 24px 18px;
}

.windows-art23 article b {
  margin: 28px 0 12px;
  font-size: clamp(0.95rem, calc(0.88rem + 0.22vw), 1.08rem) !important;
  line-height: 1.25 !important;
  letter-spacing: 0.015em;
}

.windows-art23 article span {
  font-size: var(--book-support-size) !important;
  line-height: 1.55;
}

/* Make prompts and learner input comfortable to read and write. */
.chapter-view .book-field > span,
.chapter-view .book-field span {
  font-size: 0.88rem;
  line-height: 1.45;
  letter-spacing: 0.045em;
}

.chapter-view :is(input, textarea, select) {
  font-family: var(--reading);
  font-size: 1.05rem;
  line-height: 1.55;
}

.chapter-view .button {
  font-size: 0.82rem;
  line-height: 1.35;
  letter-spacing: 0.045em;
}

/* Loosen internal headings so words and lines remain distinct. */
.chapter-view .book-prose > h2,
.chapter-view .section-title {
  line-height: 1.02;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.chapter-view .book-prose > h3 {
  line-height: 1.14;
  letter-spacing: -0.012em;
  text-wrap: balance;
}

/* Diagram typography: preserve hierarchy while removing sub-readable microtype. */
.chapter-enhancement :is(header, article, section, form, fieldset) > span,
.chapter-enhancement article > small,
.chapter-enhancement :is(legend, dt, th),
.chapter-enhancement [class*="journey"] > span,
.chapter-enhancement [class*="ladder"] > span,
.chapter-enhancement [class*="engine"] header > span,
.chapter-enhancement [class*="flow"] header > span {
  font-family: var(--sans);
  font-size: var(--diagram-label-size) !important;
  line-height: 1.4;
  letter-spacing: 0.055em;
}

.chapter-enhancement :is(button, article) > i,
.chapter-enhancement :is(button, article) > span:first-child:not(:last-child) {
  font-size: var(--diagram-label-size) !important;
  line-height: 1.3;
}

.chapter-enhancement :is(button, article) > :is(b, strong),
.chapter-enhancement :is(summary, dt, th),
.chapter-enhancement :is(
  [class*="engine"],
  [class*="flow"],
  [class*="path"],
  [class*="loop"],
  [class*="ladder"],
  [class*="timeline"],
  [class*="architecture"],
  [class*="framework"],
  [class*="journey"],
  [class*="sequence"],
  [class*="matrix"],
  [class*="map"],
  [class*="stack"],
  [class*="windows"]
) > b {
  font-family: var(--sans);
  font-size: var(--diagram-heading-size) !important;
  line-height: 1.3 !important;
  letter-spacing: 0.012em;
}

.chapter-enhancement button > span,
.chapter-enhancement article > p,
.chapter-enhancement :is(td, dd),
.chapter-enhancement :is(section, div) > p:not(.activity-kicker) {
  font-family: var(--reading);
  font-size: var(--diagram-copy-size) !important;
  line-height: 1.55 !important;
  letter-spacing: 0.003em;
}

.chapter-enhancement :is(button, summary) {
  font-size: var(--diagram-heading-size);
  line-height: 1.4;
}

.chapter-enhancement small {
  font-size: var(--diagram-label-size);
  line-height: 1.45;
}

/* Whole-book box audit: legacy bordered choices and diagram cards use the moderated +1pt scale. */
.chapter-enhancement :is(
  [class] > b,
  [class] > strong,
  [class] > button:not(.button),
  [class] > label > span,
  [class] > article > b,
  [class] > article > strong,
  [class] > article > button:not(.button),
  [class] > section > b,
  [class] > section > strong,
  [class] > div > b,
  [class] > div > strong,
  [class] fieldset > label > span
) {
  font-family: var(--sans);
  font-size: var(--diagram-heading-size) !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.chapter-enhancement :is(
  [class] > span:first-child,
  [class] > header > span,
  [class] > p.activity-kicker,
  fieldset > legend
) {
  font-family: var(--sans);
  font-size: var(--diagram-label-size) !important;
  line-height: 1.4;
  letter-spacing: 0.055em;
}

.chapter-enhancement :is(
  [class] > b,
  [class] > strong,
  [class] > button:not(.button),
  [class] > label > span,
  [class] > article > b,
  [class] > article > strong,
  [class] > article > button:not(.button),
  [class] > section > b,
  [class] > section > strong,
  [class] > div > b,
  [class] > div > strong,
  [class] fieldset > label > span
) {
  min-height: 54px;
}

/* Catch legacy comparison and flow diagrams whose box text bypasses the shared scale. */
.chapter-enhancement :is(
  [class*="compare"],
  [class*="flow"],
  [class*="path"],
  [class*="ladder"],
  [class*="loop"],
  [class*="sequence"],
  [class*="stages"],
  [class*="matrix"],
  [class*="architecture"],
  [class*="framework"],
  [class*="journey"]
) > span:first-child,
.chapter-enhancement :is(
  [class*="compare"],
  [class*="flow"],
  [class*="path"],
  [class*="ladder"],
  [class*="loop"],
  [class*="sequence"],
  [class*="stages"],
  [class*="matrix"],
  [class*="architecture"],
  [class*="framework"],
  [class*="journey"]
) > header > span {
  font-size: var(--diagram-label-size) !important;
  line-height: 1.4;
  letter-spacing: 0.055em;
}

.chapter-enhancement :is(
  [class*="compare"],
  [class*="flow"],
  [class*="path"],
  [class*="ladder"],
  [class*="loop"],
  [class*="sequence"],
  [class*="stages"],
  [class*="matrix"],
  [class*="architecture"],
  [class*="framework"],
  [class*="journey"]
) > :is(b, strong),
.chapter-enhancement :is(
  [class*="compare"],
  [class*="flow"],
  [class*="path"],
  [class*="ladder"],
  [class*="loop"],
  [class*="sequence"],
  [class*="stages"],
  [class*="matrix"],
  [class*="architecture"],
  [class*="framework"],
  [class*="journey"]
) > :is(div, article) > :is(b, strong) {
  font-size: var(--diagram-heading-size) !important;
  line-height: 1.35 !important;
}

/* Whole-book concept-map and canvas nodes: reduce compact node labels by exactly 2pt. */
.chapter-enhancement :is([class*="canvas"], [class*="map"]) > :is(button:not(.button), b),
.chapter-enhancement button[draggable="true"] {
  font-size: calc(var(--diagram-heading-size) - 2pt) !important;
  line-height: 1.3 !important;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

/* Dense Cognitive Engine sequences need card width as well as larger type. */
.chapter-enhancement :is(
  .clef-path,
  .prediction-engine,
  .socratic-engine,
  .devil-engine,
  .clinic-engine,
  .failure-engine8,
  .evidence-engine9,
  .perspective-engine10,
  .counter-engine11,
  .constraint-engine12,
  .discovery-engine13,
  .explain-engine14,
  .replay-engine15,
  .apprentice-engine16,
  .mirror-engine17,
  .design-flow18,
  .build-flow19,
  .coach-loop20
) > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  align-items: stretch;
}

.chapter-enhancement :is(
  .clef-path,
  .prediction-engine,
  .socratic-engine,
  .devil-engine,
  .clinic-engine,
  .failure-engine8,
  .evidence-engine9,
  .perspective-engine10,
  .counter-engine11,
  .constraint-engine12,
  .discovery-engine13,
  .explain-engine14,
  .replay-engine15,
  .apprentice-engine16,
  .mirror-engine17,
  .design-flow18,
  .build-flow19,
  .coach-loop20
) button {
  min-height: 175px;
  padding: 20px 16px;
}

.chapter-enhancement :is(
  .clef-path,
  .prediction-engine,
  .socratic-engine,
  .devil-engine,
  .clinic-engine,
  .failure-engine8,
  .evidence-engine9,
  .perspective-engine10,
  .counter-engine11,
  .constraint-engine12,
  .discovery-engine13,
  .explain-engine14,
  .replay-engine15,
  .apprentice-engine16,
  .mirror-engine17,
  .design-flow18,
  .build-flow19,
  .coach-loop20
) button > b {
  display: block;
  margin: 12px 0 9px;
  font-size: var(--diagram-heading-size) !important;
}

.chapter-enhancement :is(
  .clef-path,
  .prediction-engine,
  .socratic-engine,
  .devil-engine,
  .clinic-engine,
  .failure-engine8,
  .evidence-engine9,
  .perspective-engine10,
  .counter-engine11,
  .constraint-engine12,
  .discovery-engine13,
  .explain-engine14,
  .replay-engine15,
  .apprentice-engine16,
  .mirror-engine17,
  .design-flow18,
  .build-flow19,
  .coach-loop20
) button > span {
  display: block;
  font-size: var(--diagram-copy-size) !important;
  line-height: 1.5 !important;
}

.chapter-enhancement :is(
  .clef-path,
  .prediction-engine,
  .socratic-engine,
  .devil-engine,
  .clinic-engine,
  .failure-engine8,
  .evidence-engine9,
  .perspective-engine10,
  .counter-engine11
) button:not(.active) > span {
  display: none;
}

.chapter-enhancement :is(
  .clef-path,
  .prediction-engine,
  .socratic-engine,
  .devil-engine,
  .clinic-engine,
  .failure-engine8,
  .evidence-engine9,
  .perspective-engine10,
  .counter-engine11,
  .constraint-engine12,
  .discovery-engine13,
  .explain-engine14,
  .replay-engine15,
  .apprentice-engine16,
  .mirror-engine17,
  .design-flow18,
  .build-flow19,
  .coach-loop20
) > div > em {
  display: none;
}

/* Earlier framework and visible-thinking sequences use the same readable card grammar. */
.chapter-enhancement :is(.engine-track, .experience-path, .journey-line),
.chapter-enhancement :is(.visible-engine, .final-engine) > div,
.chapter-enhancement .journey2,
.chapter-enhancement .design-flow > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
  align-items: stretch;
}

.chapter-enhancement :is(.engine-track, .experience-path, .journey-line) > em,
.chapter-enhancement :is(.visible-engine, .final-engine) > div > em,
.chapter-enhancement .journey2 > em,
.chapter-enhancement .design-flow > div > i {
  display: none;
}

.chapter-enhancement :is(
  .engine-track,
  .experience-path,
  .journey-line,
  .visible-engine,
  .final-engine,
  .journey2
) button {
  min-height: 145px;
  padding: 18px 15px;
}

.chapter-enhancement :is(
  .engine-track,
  .experience-path,
  .journey-line,
  .visible-engine,
  .final-engine,
  .journey2
) button > b {
  font-size: var(--diagram-heading-size) !important;
  line-height: 1.3;
}

.chapter-enhancement :is(
  .engine-track,
  .experience-path,
  .journey-line,
  .visible-engine,
  .final-engine,
  .journey2
) button > span {
  font-size: var(--diagram-copy-size) !important;
  line-height: 1.5;
}

.chapter-enhancement .design-flow > div > b {
  min-height: 76px;
  display: grid;
  place-items: center;
  padding: 16px 14px;
  font-size: var(--diagram-heading-size) !important;
  line-height: 1.3;
}

/* Chapter 23 examples and their equivalents. */
.five-windows23 > div {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
}

.five-windows23 button {
  min-height: 235px;
  padding: 20px 18px;
}

.five-windows23 button b {
  margin: 24px 0 12px;
  font-size: var(--diagram-heading-size) !important;
  line-height: 1.3;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  text-wrap: balance;
}

/* Keep the longest window name on two intentional lines: Final / Understanding. */
.five-windows23 button:first-child b {
  font-size: clamp(calc(0.9rem + 1pt), calc(0.86rem + 0.16vw + 1pt), calc(1.03rem + 1pt)) !important;
  letter-spacing: -0.012em;
}

.five-windows23 button span {
  font-size: var(--diagram-copy-size) !important;
  line-height: 1.55;
}

.assessment-architecture23 {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.assessment-architecture23 > b {
  min-width: 0;
  min-height: 160px;
  align-content: start;
  padding: 20px 8px;
  font-size: var(--diagram-heading-size) !important;
  line-height: 1.3;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  white-space: nowrap;
  text-align: center;
}

.assessment-architecture23 b small {
  font-family: var(--reading);
  font-size: var(--diagram-label-size) !important;
  line-height: 1.45;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  white-space: normal;
}

.assessment-architecture23 > em {
  display: none;
}

.rubric23 {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.rubric23 header {
  grid-column: 1 / -1;
  padding: 20px;
}

.rubric23 header span {
  font-size: var(--diagram-label-size) !important;
  letter-spacing: 0.055em;
}

.rubric23 article {
  min-height: 190px;
  padding: 24px 22px;
}

.rubric23 article b {
  font-size: var(--diagram-heading-size) !important;
  line-height: 1.3;
}

.rubric23 article p {
  font-size: var(--diagram-copy-size) !important;
  line-height: 1.6;
}

.journey-record21 button,
.debrief-ladder22 button {
  min-height: 78px;
  padding: 17px 18px;
}

.journey-record21 button b,
.debrief-ladder22 button b {
  font-size: var(--diagram-heading-size) !important;
  line-height: 1.3;
}

.journey-record21 button span,
.debrief-ladder22 button span {
  font-size: var(--diagram-copy-size) !important;
  line-height: 1.5;
}

/* Chapter 5 · page 17: keep the AI decision-rule flowchart readable. */
.chapter-five .chapter-page-17 .decision5 {
  gap: clamp(12px, 1.8vw, 18px);
  padding: clamp(30px, 5vw, 52px);
}

.chapter-five .chapter-page-17 .decision5 > span {
  margin-bottom: 10px;
  font-size: clamp(1rem, calc(0.95rem + 0.35vw), 1.25rem) !important;
  line-height: 1.35;
  letter-spacing: 0.055em;
}

.chapter-five .chapter-page-17 .decision5 > b {
  width: min(640px, 100%);
  min-width: 0;
  padding: clamp(16px, 2.2vw, 22px) clamp(18px, 3vw, 28px);
  font-family: var(--sans);
  font-size: clamp(1.125rem, calc(1.05rem + 0.35vw), 1.375rem) !important;
  font-weight: 650;
  line-height: 1.4;
  letter-spacing: 0.006em;
}

.chapter-five .chapter-page-17 .decision5 > i {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  line-height: 1;
}

/* Chapter 5 · page 20: increase the AI job-description type by exactly 2pt. */
.chapter-five .chapter-page-20 .ai-job5 > span {
  font-size: calc(0.56rem + 2pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-20 .ai-job5 > b {
  font-size: calc(0.58rem + 2pt) !important;
  line-height: 1.4;
}

/* Chapter 5 · page 20: increase the complete Formal Debrief panel by 3pt. */
.chapter-five .chapter-page-20 .debrief5 > span {
  font-size: calc(0.56rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-20 .debrief5 > b {
  font-size: calc(0.57rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-20 .debrief5 > blockquote {
  font-size: calc(1em + 3pt);
  line-height: 1.4;
}

/* Chapter 5 · page 2: increase the answer-machine / thinking-coach artwork by 3pt. */
.chapter-five .chapter-page-2 .answer-coach-art span {
  font-size: calc(0.56rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-2 .answer-coach-art :is(b, strong) {
  font-size: calc(0.61rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-2 .answer-coach-art i {
  font-size: calc(1em + 3pt);
  line-height: 1;
}

.chapter-five .chapter-page-2 .answer-coach-art figcaption {
  font-size: calc(0.78rem + 3pt);
  line-height: 1.4;
}

/* Chapter 5 · page 3: increase the Conversation sequence by exactly 4pt. */
.chapter-five .chapter-page-3 .one-question .good > span {
  font-size: calc(0.56rem + 4pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-3 .one-question .good > b {
  font-size: calc(0.6rem + 4pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-3 .one-question .good > i {
  font-size: calc(1em + 4pt);
  line-height: 1;
}

.chapter-five .chapter-page-3 .one-question > blockquote {
  font-size: calc(1.6rem + 4pt);
  line-height: 1.35;
}

/* Chapter 5 · page 11: increase the Learner Response flow by exactly 4pt. */
.chapter-five .chapter-page-11 .listen-first > span {
  font-size: calc(0.57rem + 4pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-11 .listen-first > b {
  min-width: min(600px, 100%);
  font-size: calc(0.6rem + 4pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-11 .listen-first > i {
  font-size: calc(1em + 4pt);
  line-height: 1;
}

/* Chapter 5 · page 15: increase both Socratic-question visuals by exactly 4pt. */
.chapter-five .chapter-page-15 .writing5 > blockquote {
  font-size: calc(1.4rem + 4pt);
  line-height: 1.4;
}

.chapter-five .chapter-page-15 .writing5 > b {
  font-size: calc(0.6rem + 4pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-15 .writing5 > i {
  font-size: calc(1em + 4pt);
  line-height: 1;
}

.chapter-five .chapter-page-15 .professional5 > span {
  font-size: calc(0.55rem + 4pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-15 .professional5 > b {
  font-size: calc(0.58rem + 4pt) !important;
  line-height: 1.4;
}

/* Chapter 5 · page 16: increase the Counterexample Component by exactly 3pt. */
.chapter-five .chapter-page-16 .counterexample5 > span {
  font-size: calc(0.56rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-16 .counterexample5 > b {
  font-size: calc(0.61rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-16 .counterexample5 > i {
  font-size: calc(1em + 3pt);
  line-height: 1;
}

.chapter-five .chapter-page-16 .counterexample5 > blockquote {
  font-size: calc(1em + 3pt);
  line-height: 1.45;
}

/* Chapter 5 · page 17: increase the Question Budget flowchart by exactly 3pt. */
.chapter-five .chapter-page-17 .question-budget > .activity-kicker {
  font-size: calc(0.62rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-17 .question-budget > div > b {
  font-size: calc(0.59rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-17 .question-budget > div > i {
  font-size: calc(1em + 3pt);
  line-height: 1;
}

/* Chapter 5 · page 19: increase the Socratic Engine box type by exactly 3pt. */
.chapter-five .chapter-page-19 .socratic-builder .activity-kicker {
  font-size: calc(0.62rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-19 .socratic-builder > label > span {
  font-size: calc(0.55rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-19 .socratic-builder > label > b {
  font-size: calc(0.58rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-five .chapter-page-19 .socratic-builder > label > textarea {
  font-size: calc(1.05rem + 3pt);
  line-height: 1.5;
}

/* Chapter 7 · Misconception Clinic builder: increase box labels and entry text by exactly 3pt. */
.chapter-seven .clinic-builder7 > label > span {
  font-size: calc(0.55rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-seven .clinic-builder7 > label > b {
  font-size: calc(0.58rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-seven .clinic-builder7 > label > textarea {
  font-size: calc(1.05rem + 3pt) !important;
  line-height: 1.5;
}

/* Chapter 8 · page 6: increase the attempt panel, option boxes and field label by exactly 3pt. */
.chapter-eight .chapter-page-6 .attempt-select8 > .activity-kicker {
  font-size: calc(0.62rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-eight .chapter-page-6 .attempt-select8 > div label > span {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(0.58rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-eight .chapter-page-6 .attempt-select8 > .book-field > span {
  font-size: calc(0.62rem + 3pt) !important;
  line-height: 1.4;
}

.chapter-eight .chapter-page-6 .attempt-select8 > .book-field > textarea {
  font-size: calc(1.05rem + 3pt) !important;
  line-height: 1.5;
}

/* Chapter 8 · systems-thinking causal web: reserve a clear centre and prevent label collisions. */
.chapter-eight .causal-web8 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: auto auto auto auto;
  gap: clamp(18px, 2.2vw, 30px);
  align-items: stretch;
  min-height: 0;
  padding: clamp(28px, 4vw, 48px);
}

.chapter-eight .causal-web8 > b,
.chapter-eight .causal-web8 > span,
.chapter-eight .causal-web8 > strong {
  position: static !important;
  inset: auto !important;
  display: grid;
  place-items: center;
  width: auto;
  min-width: 0;
  min-height: 72px;
  margin: 0;
  padding: 16px;
  box-sizing: border-box;
  transform: none;
  line-height: 1.28;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

.chapter-eight .causal-web8 > b:nth-of-type(1) { grid-area: 1 / 1; }
.chapter-eight .causal-web8 > b:nth-of-type(2) { grid-area: 1 / 2; }
.chapter-eight .causal-web8 > b:nth-of-type(3) { grid-area: 1 / 3; }
.chapter-eight .causal-web8 > b:nth-of-type(4) { grid-area: 1 / 4; }
.chapter-eight .causal-web8 > b:nth-of-type(5) { grid-area: 3 / 1; }
.chapter-eight .causal-web8 > b:nth-of-type(6) { grid-area: 3 / 2; }
.chapter-eight .causal-web8 > b:nth-of-type(7) { grid-area: 3 / 4; }

.chapter-eight .causal-web8 > span {
  grid-area: 2 / 2 / 3 / 4;
  min-height: 78px;
  font-size: var(--diagram-label-size) !important;
}

.chapter-eight .causal-web8 > strong {
  grid-area: 3 / 3 / 5 / 4;
  min-height: 100%;
  font-size: var(--diagram-heading-size) !important;
}

@media (max-width: 760px) {
  .chapter-eight .causal-web8 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
    gap: 12px;
    padding: 24px;
  }

  .chapter-eight .causal-web8 > b,
  .chapter-eight .causal-web8 > span,
  .chapter-eight .causal-web8 > strong {
    grid-area: auto !important;
    min-height: 64px;
  }

  .chapter-eight .causal-web8 > span,
  .chapter-eight .causal-web8 > strong {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 480px) {
  .chapter-eight .causal-web8 {
    grid-template-columns: 1fr;
  }

  .chapter-eight .causal-web8 > span,
  .chapter-eight .causal-web8 > strong {
    grid-column: auto !important;
  }
}

/* Tables and comparison matrices should not fall back to caption-sized type. */
.chapter-enhancement table {
  font-size: var(--diagram-copy-size);
  line-height: 1.5;
}

.chapter-enhancement th {
  font-size: var(--diagram-label-size) !important;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.chapter-enhancement td {
  font-size: var(--diagram-copy-size) !important;
  line-height: 1.5;
}

@media (max-width: 1100px) and (min-width: 761px) {
  .chapter-opener,
  .chapter-twenty-one-opener,
  .chapter-twenty-two-opener,
  .chapter-twenty-three-opener {
    grid-template-columns: minmax(150px, 18vw) minmax(0, 1fr);
    column-gap: 36px;
  }

  .chapter-opener .chapter-title,
  .chapter-twenty-one-opener .chapter-title,
  .chapter-twenty-two-opener .chapter-title,
  .chapter-twenty-three-opener .chapter-title {
    grid-column: 2;
  }

  .chapter-opener > figure {
    grid-column: 2;
  }

  .chapter-opener .outcomes,
  .chapter-opener > .plutarch {
    grid-column: 1 / 3;
  }

  .chapter-label b {
    font-size: clamp(6rem, 13vw, 8rem);
  }
}

@media (max-width: 760px) {
  .chapter-opener {
    display: block;
  }

  .chapter-label {
    width: 100%;
    max-width: 150px;
    margin-bottom: 38px;
  }

  .chapter-label b {
    font-size: clamp(5.5rem, 25vw, 7rem);
    line-height: 0.9;
  }

  .chapter-title h1,
  .chapter-one-opener .chapter-title h1,
  .chapter-two-opener .chapter-title h1,
  .chapter-three-opener .chapter-title h1,
  .chapter-four-opener .chapter-title h1,
  .chapter-five-opener .chapter-title h1,
  .chapter-six-opener .chapter-title h1,
  .chapter-seven-opener .chapter-title h1,
  .chapter-eight-opener .chapter-title h1,
  .chapter-nine-opener .chapter-title h1,
  .chapter-ten-opener .chapter-title h1,
  .chapter-eleven-opener .chapter-title h1,
  .chapter-twelve-opener .chapter-title h1,
  .chapter-thirteen-opener .chapter-title h1,
  .chapter-fourteen-opener .chapter-title h1,
  .chapter-fifteen-opener .chapter-title h1,
  .chapter-sixteen-opener .chapter-title h1,
  .chapter-seventeen-opener .chapter-title h1,
  .chapter-eighteen-opener .chapter-title h1,
  .chapter-nineteen-opener .chapter-title h1,
  .chapter-twenty-opener .chapter-title h1,
  .chapter-twenty-one-opener .chapter-title h1,
  .chapter-twenty-two-opener .chapter-title h1,
  .chapter-twenty-three-opener .chapter-title h1 {
    font-size: clamp(2rem, 9.5vw, 3.1rem);
    font-size: clamp(2rem, 9.5cqi, 3.1rem);
    line-height: 1.06;
    letter-spacing: -0.006em;
  }

  .chapter-title {
    padding-inline-end: 0;
  }

  .chapter-title h2 {
    font-size: clamp(1.25rem, 5.5vw, 1.65rem);
    line-height: 1.35;
  }

  .chapter-opener .outcomes ul {
    gap: 14px;
  }

  .chapter-opener .outcomes li {
    font-size: 1.08rem;
  }

  .chapter-source-page,
  .reading-page,
  .component-page {
    padding-inline: clamp(24px, 6vw, 34px);
  }

  .chapter-view .book-prose {
    font-size: 1.125rem;
    line-height: 1.68;
  }

  .chapter-view .chapter-source-page {
    padding-top: 52px;
    padding-bottom: 72px;
  }

  .windows-art23 > div {
    grid-template-columns: 1fr;
  }

  .windows-art23 article {
    min-height: 0;
  }

  .chapter-enhancement :is(
    .clef-path,
    .prediction-engine,
    .socratic-engine,
    .devil-engine,
    .clinic-engine,
    .failure-engine8,
    .evidence-engine9,
    .perspective-engine10,
    .counter-engine11,
    .constraint-engine12,
    .discovery-engine13,
    .explain-engine14,
    .replay-engine15,
    .apprentice-engine16,
    .mirror-engine17,
    .design-flow18,
    .build-flow19,
    .coach-loop20
  ) > div,
  .five-windows23 > div,
  .assessment-architecture23,
  .rubric23 {
    grid-template-columns: 1fr;
  }

  .chapter-enhancement :is(.engine-track, .experience-path, .journey-line),
  .chapter-enhancement :is(.visible-engine, .final-engine) > div,
  .chapter-enhancement .journey2,
  .chapter-enhancement .design-flow > div {
    grid-template-columns: 1fr;
  }

  .chapter-enhancement :is(
    .clef-path,
    .prediction-engine,
    .socratic-engine,
    .devil-engine,
    .clinic-engine,
    .failure-engine8,
    .evidence-engine9,
    .perspective-engine10,
    .counter-engine11,
    .constraint-engine12,
    .discovery-engine13,
    .explain-engine14,
    .replay-engine15,
    .apprentice-engine16,
    .mirror-engine17,
    .design-flow18,
    .build-flow19,
    .coach-loop20
  ) button,
  .five-windows23 button,
  .assessment-architecture23 > b,
  .rubric23 article {
    min-height: 0;
  }

  .journey-record21 button,
  .debrief-ladder22 button {
    grid-template-columns: 34px 1fr;
  }

  .journey-record21 button span,
  .debrief-ladder22 button span {
    grid-column: 2;
  }
}

/* --------------------------------------------------------------------------
   Shared process-flow system

   Applied at render time to recurring engine sequences and arrow-linked step
   lists. It replaces widely separated labels and floating arrows with a compact,
   readable visual path while retaining each chapter's original interaction.
   -------------------------------------------------------------------------- */

.chapter-enhancement .book-flow-cards {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  counter-reset: book-flow-stage;
}

.chapter-enhancement .book-flow-cards > em {
  display: none !important;
}

.chapter-enhancement .book-flow-cards > button {
  position: relative;
  isolation: isolate;
  min-width: 0;
  min-height: 154px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  align-content: start;
  row-gap: 8px;
  padding: 62px 16px 18px !important;
  overflow: visible;
  border: 1px solid rgba(145, 200, 207, 0.48) !important;
  border-top: 4px solid var(--cyan) !important;
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.035)) !important;
  box-shadow: 0 12px 24px rgba(3, 22, 48, 0.18);
  color: #fff !important;
  text-align: left;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
  counter-increment: book-flow-stage;
}

.chapter-enhancement .book-flow-cards > button:hover,
.chapter-enhancement .book-flow-cards > button:focus-visible {
  z-index: 2;
  transform: translateY(-3px);
  border-color: var(--cyan) !important;
  box-shadow: 0 16px 30px rgba(3, 22, 48, 0.28);
}

.chapter-enhancement .book-flow-cards > button > i {
  position: absolute;
  top: 14px;
  left: 16px;
  width: 36px;
  height: 36px;
  display: grid !important;
  place-items: center;
  margin: 0 !important;
  border: 1px solid rgba(70, 208, 220, 0.5);
  border-radius: 50%;
  background: rgba(0, 185, 199, 0.14);
  color: #9ce7eb !important;
  font-family: var(--sans) !important;
  font-size: 0.76rem !important;
  font-style: normal;
  font-weight: 800 !important;
  line-height: 1;
  letter-spacing: 0.05em;
}

.chapter-enhancement .book-flow-cards > button > b {
  align-self: center;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  color: inherit;
  font-family: var(--sans) !important;
  font-size: clamp(0.8rem, 0.95vw, 1rem) !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.025em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-transform: uppercase;
}

.chapter-enhancement .book-flow-cards > button > span {
  grid-column: 1 / -1;
  margin-top: 4px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: #dce8ee;
  font-size: 1rem !important;
  line-height: 1.48 !important;
}

.chapter-enhancement .book-flow-cards > button > span small {
  display: block;
  margin: 11px 0 2px;
  color: #84dce2;
  font-family: var(--sans);
  font-size: 0.75rem !important;
  font-weight: 760;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.chapter-enhancement .book-flow-cards > button.active {
  border-color: #f0bd50 !important;
  border-top-color: #f0bd50 !important;
  background: linear-gradient(145deg, #ffd475, #efb43d) !important;
  box-shadow: 0 16px 30px rgba(151, 96, 12, 0.3);
  color: var(--blue-dark) !important;
}

.chapter-enhancement .book-flow-cards > button.active > i {
  border-color: rgba(18, 61, 120, 0.3);
  background: var(--blue);
  color: #fff !important;
}

.chapter-enhancement .book-flow-cards > button.active > span {
  border-top-color: rgba(18, 61, 120, 0.2);
  color: #17365d;
}

.chapter-enhancement .book-flow-cards > button.active > span small {
  color: #895317;
}

/* Direction is communicated at a glance without inserting wide arrow columns. */
.chapter-enhancement .book-flow-cards > button:not(:nth-of-type(4n)):not(:last-of-type)::after {
  content: "→";
  position: absolute;
  z-index: 3;
  top: 50%;
  right: -23px;
  width: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--page, #f7f4ee);
  color: var(--cyan);
  font: 800 1.18rem/1 var(--sans);
  transform: translateY(-50%);
}

.chapter-enhancement .book-linear-flow {
  width: 100%;
  display: grid !important;
  grid-template-columns: minmax(0, 720px) !important;
  justify-content: center;
  align-items: stretch !important;
  gap: 0 !important;
  padding: clamp(28px, 4vw, 48px) !important;
  background:
    radial-gradient(circle at 12% 8%, rgba(0, 185, 199, 0.1), transparent 26%),
    linear-gradient(145deg, #edf6f6, #f8f4ec) !important;
  counter-reset: book-linear-stage;
}

.chapter-enhancement .book-linear-flow > span {
  margin-bottom: 18px;
  color: var(--orange);
  font-family: var(--sans);
  font-size: 0.86rem !important;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.chapter-enhancement .book-linear-flow > b {
  position: relative;
  width: 100% !important;
  min-height: 70px;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
  margin: 0 !important;
  padding: 14px 20px !important;
  border: 1px solid #aec8cb !important;
  border-left: 5px solid var(--cyan) !important;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 9px 22px rgba(18, 61, 120, 0.09);
  color: var(--blue) !important;
  font-family: var(--sans) !important;
  font-size: clamp(1rem, 1.35vw, 1.2rem) !important;
  font-weight: 760 !important;
  line-height: 1.28 !important;
  letter-spacing: 0.025em;
  text-align: left !important;
  text-transform: uppercase;
  counter-increment: book-linear-stage;
}

.chapter-enhancement .book-linear-flow > b::before {
  content: counter(book-linear-stage, decimal-leading-zero);
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}

/* Chapter 5 page 01 inherits a legacy 280px cap from `.socratic-hook > div`.
   Give the enhanced flow enough usable width for every short stage label to
   remain intact while still allowing the component to shrink responsively. */
.chapter-five .socratic-hook > .book-linear-flow {
  max-width: 760px !important;
}

.chapter-five .socratic-hook > .book-linear-flow > b {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
}

/* The assistance ladder already includes an inline stage number. The shared
   flow style supplies its own badge, so the legacy number must not consume a
   second grid cell and squeeze the step label into a narrow column. */
.chapter-enhancement .assistance-ladder.book-linear-flow > b > i:first-child {
  display: none !important;
}

.chapter-enhancement .book-linear-flow > :is(i, em) {
  position: relative;
  width: 34px;
  height: 38px;
  display: grid !important;
  place-items: center;
  justify-self: center;
  margin: 0 !important;
  color: transparent !important;
  font-size: 0 !important;
  font-style: normal;
}

.chapter-enhancement .book-linear-flow > :is(i, em)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: #9bcfd2;
  transform: translateX(-50%);
}

.chapter-enhancement .book-linear-flow > :is(i, em)::after {
  content: "↓";
  position: relative;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid #9bcfd2;
  border-radius: 50%;
  background: #fff;
  color: var(--cyan);
  font: 800 1rem/1 var(--sans);
}

.chapter-enhancement .book-linear-flow > blockquote {
  margin: 20px 0 0 !important;
  padding: 18px 22px !important;
  border: 0 !important;
  border-radius: 8px;
  background: var(--blue) !important;
  color: #fff !important;
  font-size: 1.12rem !important;
  line-height: 1.5 !important;
  text-align: center;
}

@media (max-width: 980px) {
  .chapter-enhancement .book-flow-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .chapter-enhancement .book-flow-cards > button:not(:nth-of-type(4n)):not(:last-of-type)::after {
    content: none;
  }

  .chapter-enhancement .book-flow-cards > button:nth-of-type(odd):not(:last-of-type)::after {
    content: "→";
    position: absolute;
    z-index: 3;
    top: 50%;
    right: -23px;
    width: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--page, #f7f4ee);
    color: var(--cyan);
    font: 800 1.18rem/1 var(--sans);
    transform: translateY(-50%);
  }
}

@media (max-width: 620px) {
  .chapter-enhancement .book-flow-cards {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .chapter-enhancement .book-flow-cards > button {
    min-height: 0 !important;
  }

  .chapter-enhancement .book-flow-cards > button:nth-of-type(odd):not(:last-of-type)::after,
  .chapter-enhancement .book-flow-cards > button:not(:last-of-type)::after {
    content: "↓";
    top: auto;
    right: 50%;
    bottom: -28px;
    transform: translateX(50%);
  }

  .chapter-enhancement .book-linear-flow {
    padding: 24px 18px !important;
  }

  .chapter-enhancement .book-linear-flow > b {
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    padding: 13px 14px !important;
  }

  .chapter-enhancement .book-linear-flow > b::before {
    width: 36px;
    height: 36px;
  }
}

@media print {
  .chapter-enhancement .book-flow-cards > button,
  .chapter-enhancement .book-linear-flow > b {
    break-inside: avoid;
    box-shadow: none;
  }

  .chapter-enhancement .book-flow-cards > button::after {
    background: #fff;
  }
}
