/* Assignment 02A: only the Emergence Method introduction. */
.philosophy-page .emergence-introduction {
  display: grid;
  grid-template-columns: minmax(200px, 300px) minmax(0, 660px);
  gap: clamp(32px, 4vw, 58px);
  align-items: center;
  max-width: 1060px;
  margin-inline: auto;
}
.emergence-introduction .methodology-symbol { display: block; width: 100%; height: auto; }
.method-section .emergence-narrative h2 {
  font-size: clamp(34px, 3vw, 43px);
  line-height: 1.12;
  margin: 0 0 18px;
  text-wrap: balance;
}
.method-section .emergence-narrative h3 { font-size: clamp(28px, 2.4vw, 35px); margin: 0 0 22px; }
.emergence-narrative p:last-child { margin-bottom: 0; }
@media (max-width: 760px) {
  .philosophy-page .emergence-introduction { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .emergence-introduction .methodology-symbol { width: 180px; max-width: 65%; }
  .method-section .emergence-narrative h2 { font-size: 34px; }
  .method-section .emergence-narrative h3 { font-size: 28px; margin-bottom: 20px; }
}

/* Consistent stage markers, fine connecting rules, and a continuing return path. */
.method-section .cycle { position: relative; }
.method-section .cycle ol { gap: 24px; margin-inline: 24px; padding: 0; border: 0; }
.method-section .cycle li::before { position: relative; margin: 0; box-sizing: border-box; }
.method-section .cycle li:not(:last-child)::after { content: ''; top: 18px; left: 36px; right: -24px; bottom: auto; height: 0; border-top: 1px solid var(--gold); background: none; opacity: .7; }
.method-section .cycle h4 { font-size: clamp(25px,2.3vw,30px); line-height: 1.15; margin: 20px 0 16px; }
.method-section .cycle-return path { vector-effect: non-scaling-stroke; }
.method-section svg.cycle-return { opacity: .7; height: 54px; margin-top: 20px; }
.cycle-return-mobile { display: none; }
@media(max-width:900px) {
 .method-section .cycle ol { display: grid; grid-template-columns: minmax(0,1fr); gap: 28px; margin: 0 0 0 22px; padding: 0; border: 0; }
 .method-section .cycle li { display: grid; grid-template-columns: 36px minmax(0,1fr); column-gap: 20px; padding: 0; }
 .method-section .cycle li::before { grid-column: 1; grid-row: 1 / 3; }
 .method-section .cycle h4 { grid-column: 2; font-size: 32px; margin: 0 0 14px; }
 .method-section .cycle li p { grid-column: 2; font-size: 18px; }
 .method-section .cycle li:not(:last-child)::after { left: 18px; top: 36px; right: auto; bottom: -28px; width: 0; height: auto; border-top: 0; border-left: 1px solid var(--gold); }
 .method-section svg.cycle-return { display: none; }
 .method-section .cycle-return-mobile { display: block; position: absolute; left: 0; top: 73px; width: 22px; height: calc(100% - 85px); color: var(--headline-gold); opacity: .65; overflow: visible; pointer-events: none; }
}

