/* The chapter narrative: quiet reading space around family voices and artwork. */
.hero-honorific{display:block;margin-bottom:18px;font:clamp(24px,2.5vw,34px)/1.3 var(--serif);letter-spacing:0}
.timeline-age-note{font:14px/1.65 var(--sans);color:var(--muted);margin:0 0 28px;max-width:65ch}
.era-period-group{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;column-gap:5px;text-align:right}
.era-age{font:14px/1.6 var(--sans);white-space:nowrap}
@media(max-width:700px){.era-period-group{display:block}.era-age{display:block;font-size:12px}.hero-honorific{margin-bottom:12px;font-size:24px}}
body.story-edition .chapter-body {
  width: 100%;
  max-width: 1100px;
  margin-inline: auto;
}

body.story-edition .era-opening {
  padding-top: 38vw;
  padding-bottom: 8vw;
  margin-bottom: clamp(40px, 6vw, 76px);
}

body.story-edition .story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: clamp(32px, 6vw, 80px);
  align-items: start;
}

body.story-edition .story-grid > *,
body.story-edition .story-endurance > * {
  min-width: 0;
}

body.story-edition .story-copy {
  max-width: 38rem;
}

body.story-edition .story-copy p {
  font: 21px/1.65 var(--serif);
  text-wrap: pretty;
}

body.story-edition p.story-lead,
body.story-edition .story-lead > p:first-child,
body.story-edition .story-lead > p.en,
body.story-edition .story-lead > p.zh {
  font: 26px/1.5 var(--serif);
}

body.story-edition .story-visual img,
body.story-edition .story-wide-art img,
body.story-edition .story-family-photo img,
body.story-edition .story-endurance img {
  width: 100%;
  height: auto;
  max-height: none;
}

body.story-edition .story-visual figcaption,
body.story-edition .story-wide-art figcaption,
body.story-edition .story-family-photo figcaption,
body.story-edition .story-endurance figcaption {
  margin-top: 12px;
  color: var(--muted);
  font: 15px/1.6 var(--sans);
  text-wrap: pretty;
}

body.story-edition .story-beat {
  margin-top: 34px;
  padding-top: 26px;
  border-top: 1px solid var(--rule);
}

body.story-edition .beat-date {
  margin-bottom: 9px;
  color: var(--red);
  font: 13px/1.5 var(--sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.story-edition .story-beat h3 {
  margin-bottom: 14px;
  font: 30px/1.25 var(--serif);
  letter-spacing: -.02em;
  text-wrap: balance;
}

body.story-edition .chapter-pullquote {
  margin: clamp(38px, 6vw, 68px) 0;
  padding-left: clamp(20px, 3vw, 38px);
  border-left: 2px solid var(--red);
}

body.story-edition .chapter-pullquote blockquote,
body.story-edition .chapter-pullquote blockquote p {
  max-width: 900px;
  margin: 0;
  font: clamp(32px, 3.3vw, 42px)/1.35 var(--serif);
  letter-spacing: -.02em;
  text-wrap: pretty;
}

body.story-edition .chapter-pullquote cite,
body.story-edition .chapter-pullquote figcaption {
  display: block;
  margin-top: 18px;
  color: var(--muted);
  font: 15px/1.65 var(--sans);
}

body.story-edition .history-thread {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 26px;
  margin: 44px 0;
  padding: 0;
  list-style: none;
}

body.story-edition .history-thread > li {
  min-width: 0;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
}

body.story-edition .history-thread time {
  display: block;
  margin-bottom: 12px;
  color: var(--red);
  font: 15px/1.5 var(--sans);
  font-variant-numeric: lining-nums tabular-nums;
}

body.story-edition .history-thread strong {
  display: block;
  margin-bottom: 8px;
  font: 22px/1.3 var(--serif);
}

body.story-edition .history-thread p {
  margin-top: 0;
  color: var(--muted);
  font: 17px/1.65 var(--serif);
  text-wrap: pretty;
}

body.story-edition .chapter-sources {
  margin-top: 30px;
  padding-top: 8px;
  border-top: 1px solid var(--rule);
  color: var(--muted);
  font: 16px/1.7 var(--sans);
  overflow-wrap: anywhere;
}

body.story-edition .chapter-sources summary {
  min-height: 44px;
  padding: 10px 0;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 5px;
}

body.story-edition .chapter-sources p,
body.story-edition .chapter-sources li {
  font: 16px/1.7 var(--sans);
}

body.story-edition .chapter-sources p,
body.story-edition .chapter-sources ul,
body.story-edition .chapter-sources ol {
  margin-top: 12px;
}

body.story-edition .chapter-sources ul,
body.story-edition .chapter-sources ol {
  padding-left: 22px;
}

body.story-edition .chapter-sources li + li {
  margin-top: 8px;
}

body.story-edition .story-wide-art,
body.story-edition .story-family-photo {
  margin-block: 40px;
}

body.story-edition .family-milestones {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  margin-block: 38px;
  padding: 0;
  list-style: none;
}

body.story-edition .family-milestones > * {
  min-width: 0;
  padding-top: 22px;
  border-top: 1px solid var(--rule);
}

body.story-edition .family-milestones time {
  display: block;
  color: var(--red);
  font: 22px/1.4 var(--serif);
  font-variant-numeric: lining-nums;
}

body.story-edition .family-milestones h3,
body.story-edition .family-milestones strong {
  display: block;
  margin-top: 12px;
  font: 36px/1.25 var(--serif);
}

body.story-edition .family-milestones p {
  margin-top: 10px;
  color: var(--muted);
  font: 18px/1.6 var(--serif);
}

body.story-edition .story-readings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-block: 32px;
}

body.story-edition .story-readings > * {
  min-width: 0;
  padding: 23px 0 10px;
  border-top: 1px solid var(--rule);
}

body.story-edition .story-readings h3 {
  margin-bottom: 12px;
  font: 22px/1.4 var(--serif);
}

body.story-edition .story-readings p {
  color: var(--muted);
  font: 16px/1.7 var(--serif);
}

body.story-edition .story-readings a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding-block: 7px;
  color: var(--red);
  font: 16px/1.5 var(--sans);
}

body.story-edition .archive-next {
  margin-top: 30px;
  padding: 22px 26px;
  border: 1px solid var(--rule);
  background: rgba(244, 239, 227, .6);
  color: var(--muted);
  font: 16px/1.7 var(--sans);
}

body.story-edition .archive-next p {
  font: inherit;
}

body.story-edition .story-endurance {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 80px);
  align-items: center;
  margin-block: 40px;
}

html[lang=zh-Hant] body.story-edition .story-copy p {
  line-height: 1.9;
}

html[lang=zh-Hant] body.story-edition .story-beat h3,
html[lang=zh-Hant] body.story-edition .story-readings h3,
html[lang=zh-Hant] body.story-edition .family-milestones h3 {
  font-family: var(--brush);
  line-height: 1.5;
  letter-spacing: .025em;
}

html[lang=zh-Hant] body.story-edition .chapter-pullquote blockquote,
html[lang=zh-Hant] body.story-edition .chapter-pullquote blockquote p {
  line-height: 1.65;
  letter-spacing: .025em;
}

@media (max-width: 1000px) {
  body.story-edition .story-grid,
  body.story-edition .story-endurance {
    gap: 32px;
  }

  body.story-edition .history-thread {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  body.story-edition .era-opening {
    padding-top: 59vw;
    padding-bottom: 12vw;
    margin-bottom: 36px;
  }

  body.story-edition .story-grid,
  body.story-edition .story-endurance {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  body.story-edition .story-copy {
    max-width: none;
  }

  body.story-edition .story-copy p {
    font-size: 20px;
  }

  body.story-edition p.story-lead,
  body.story-edition .story-lead > p:first-child,
  body.story-edition .story-lead > p.en,
  body.story-edition .story-lead > p.zh {
    font-size: 24px;
  }

  body.story-edition .story-beat h3 {
    font-size: 28px;
  }

  body.story-edition .chapter-pullquote {
    margin-block: 36px;
    padding-left: 20px;
  }

  body.story-edition .chapter-pullquote blockquote,
  body.story-edition .chapter-pullquote blockquote p {
    font-size: 30px;
  }

  body.story-edition .history-thread,
  body.story-edition .family-milestones,
  body.story-edition .story-readings {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  body.story-edition .history-thread {
    margin-block: 34px;
  }

  body.story-edition .history-thread > li {
    padding-top: 15px;
  }

  body.story-edition .history-thread time {
    margin-bottom: 7px;
  }

  body.story-edition .family-milestones h3,
  body.story-edition .family-milestones strong {
    font-size: 32px;
  }

  body.story-edition .story-wide-art,
  body.story-edition .story-family-photo,
  body.story-edition .story-endurance {
    margin-block: 30px;
  }

  body.story-edition .archive-next {
    padding: 18px;
  }
}

@media print {
  body.story-edition .era-opening {
    padding: 30px;
    margin-bottom: 30px;
  }

  body.story-edition .story-grid,
  body.story-edition .story-endurance,
  body.story-edition .story-readings {
    gap: 24px;
  }

  body.story-edition .chapter-pullquote,
  body.story-edition .story-visual,
  body.story-edition .story-wide-art,
  body.story-edition .story-family-photo {
    break-inside: avoid;
  }
}

body.story-edition .story-copy .beat-date{font:13px/1.5 var(--sans)}
body.story-edition .history-thread h4{margin:0 0 10px;font:22px/1.3 var(--serif);font-weight:400}
body.story-edition .story-readings>a{display:flex;flex-direction:column;align-items:flex-start;position:relative;min-height:190px;padding:26px 38px 30px 0;text-decoration:none}
body.story-edition .story-readings>a>span:last-child{position:absolute;bottom:24px;right:10px;font-size:24px}
body.story-edition .story-readings>a:hover h3{text-decoration:underline;text-underline-offset:5px}
body.story-edition .prologue .chapter-sources,
body.story-edition .prologue .chapter-pullquote figcaption,
body.story-edition .prologue .story-visual figcaption{color:#ddd7c9;border-color:#a49e90}
body.story-edition .story-copy aside p{font:21px/1.65 var(--serif)}
body.story-edition .prologue .chapter-pullquote{border-color:#d6b98b}
body.story-edition .prologue .beat-date{color:#d6b98b}
body.story-edition .prologue .horiz-pin{color:var(--ink)}
body.story-edition .prologue .horiz-pin .eyebrow{color:var(--red)}
body.story-edition .story-family-photo{margin-top:0}
/* Dated scenes read from top to bottom in the same order on every screen. */
body.story-edition .story-beat > p:not(.beat-date){max-width:74ch;font:21px/1.65 var(--serif);text-wrap:pretty}
body.story-edition .family-chronology{max-width:780px;margin:42px auto;padding-left:clamp(20px,4vw,52px);border-left:1px solid var(--rule)}
body.story-edition .family-chronology .family-milestones{grid-template-columns:minmax(0,1fr);margin-block:32px}
body.story-edition .family-chronology .family-milestones>article{border:0;padding-top:0}
body.story-edition .family-chronology .story-family-photo{margin-block:40px}
body.story-edition .horse-sign{display:grid;grid-template-columns:88px auto;gap:14px;max-width:230px;text-decoration:none}
body.story-edition .horse-sign img{width:88px;height:auto;aspect-ratio:1525/1600;object-fit:contain}
body.story-edition .horse-sign span{font:15px/1.4 var(--sans);writing-mode:horizontal-tb;letter-spacing:0;max-width:none}
body.story-edition .horse-art{min-width:0;scroll-margin-top:100px}
body.story-edition .horse-art img{width:100%;max-width:none;height:auto;object-fit:contain}
body.story-edition .horse-art figcaption{font:15px/1.7 var(--sans);text-wrap:pretty}
body.story-edition .bg-layer-a .bg-img{background-size:contain;filter:none}
body.story-edition .crossing-intro{max-width:850px}
body.story-edition .crossing-intro p{font:21px/1.7 var(--serif);text-wrap:pretty}
body.story-edition .crossing-intro p.story-lead{font:clamp(26px,3vw,36px)/1.5 var(--serif)}
body.story-edition #chapter-2 .story-wide-art{max-width:1100px;margin:48px auto}
body.story-edition .freedom-context{padding:clamp(24px,4vw,48px);margin:48px 0;background:#e1e6e0;border:1px solid #8f9c94}
body.story-edition .freedom-context h3{font:clamp(28px,3.5vw,42px)/1.3 var(--serif);margin:12px 0 22px}
body.story-edition .freedom-context p{max-width:76ch;font:20px/1.7 var(--serif)}
body.story-edition .freedom-context .eyebrow{font:13px/1.5 var(--sans);color:#3e5a4e}
body.story-edition .freedom-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:26px}
body.story-edition .freedom-context h4{margin:0 0 10px;font:24px/1.35 var(--serif);font-weight:400}
body.story-edition .freedom-context .context-scope{margin-top:30px;border-top:1px solid #9bab9f;padding-top:18px;font:15px/1.7 var(--sans);color:#3f4c43}
body.story-edition .crossing-resolution{max-width:850px;margin:64px auto}
body.story-edition .sunny-photo{margin-bottom:0}
body.story-edition #sunny-baby{max-width:600px;scroll-margin-top:110px}
body.story-edition .crossing-approach{max-width:850px;margin-top:48px}
body.story-edition .crossing-night{margin-block:48px;padding:clamp(24px,5vw,60px);background:#182d36;color:#f4efe3;border-top:1px solid #536671}
body.story-edition .crossing-night .eyebrow{font:13px/1.6 var(--sans);color:#d9c6a4}
body.story-edition .crossing-night h3{margin:24px 0 28px;font:clamp(32px,4vw,54px)/1.2 var(--serif);font-weight:400;letter-spacing:-.02em}
body.story-edition .crossing-night > p:not(.eyebrow){max-width:70ch;font:22px/1.75 var(--serif);text-wrap:pretty}
body.story-edition .crossing-night > p.crossing-memory-credit{margin-top:28px;padding-top:18px;border-top:1px solid #536671;font:15px/1.7 var(--sans);color:#d1d5d3}
body.story-edition #hidden-journey,
body.story-edition #swimming-by-stars{scroll-margin-top:110px}
body.story-edition .footer .music-credit{margin-top:28px;padding-top:22px;border-top:1px solid #536671;font:15px/1.8 var(--sans)}
body.story-edition .footer .music-credit a{display:inline;margin:0;min-height:0}
html[lang=zh-Hant] body.story-edition .crossing-night h3{font-family:var(--brush);line-height:1.55;letter-spacing:.02em}
html[lang=zh-Hant] body.story-edition .crossing-night > p:not(.eyebrow){line-height:1.9}
body.story-edition .famine-memory{margin-block:44px;padding:clamp(22px,4vw,40px);border:1px solid var(--rule);border-left:3px solid var(--red);background:#ede5d7}
body.story-edition .famine-memory > p.memory-credit{margin-top:24px;color:var(--muted);font:15px/1.65 var(--sans)}
body.story-edition .story-beat > p.memory-credit{margin-top:24px;color:var(--muted);font:15px/1.65 var(--sans)}
body.story-edition .school-sequence{max-width:850px}
body.story-edition #famine-years,
body.story-edition #school-conscience,
body.story-edition #work-and-conscience{scroll-margin-top:120px}
html[lang=zh-Hant] body.story-edition .freedom-context h3{font-family:var(--brush)}
html[lang=zh-Hant] body.story-edition .crossing-intro p,
html[lang=zh-Hant] body.story-edition .freedom-context p{line-height:1.9}
html[lang=zh-Hant] body.story-edition .story-beat > p:not(.beat-date){line-height:1.9}
@media(max-width:700px){body.story-edition .story-readings>a{min-height:160px}body.story-edition .horse-sign{grid-template-columns:58px auto;gap:8px;max-width:140px}body.story-edition .horse-sign img{width:58px}body.story-edition .horse-sign span{font-size:13px}body.story-edition .freedom-context-grid{grid-template-columns:1fr;gap:24px}body.story-edition .crossing-resolution{margin-block:42px}}
/* Short, chronological ministry scenes retain the chapter's editorial rhythm. */
.ministry-scene{margin-top:34px;max-width:850px}
.ministry-scene h4{font:500 clamp(23px,2.5vw,29px)/1.4 var(--serif);margin:0 0 12px;color:var(--ink)}
body.story-edition .ministry-scene p{font:21px/1.65 var(--serif);text-wrap:pretty}
html[lang=zh-Hant] body.story-edition .ministry-scene p{line-height:1.9}
#across-chinese-communities,#easter-1987{scroll-margin-top:110px}
#dementia-diagnosis,#austin-family,#parkinsons-diagnosis,#pdd-assessment{scroll-margin-top:110px}
