/* Quiet editorial typography; system fonts keep Chinese text available offline. */
:root{--font-reading:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;--font-title:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",SimSun,serif;--muted:#596452}
body{font-family:var(--font-reading);line-height:1.85;text-rendering:optimizeLegibility}
h1,h2,.route-card h3,.original-card h2{font-family:var(--font-title);font-weight:600;font-synthesis:weight;letter-spacing:.015em;text-wrap:balance;line-height:1.5}
h1{white-space:normal}
.hero h1{font-size:clamp(36px,4.1vw,58px);line-height:1.38;margin:24px 0 20px;letter-spacing:.01em}
.hero .intro{font-size:clamp(23px,2.2vw,30px);line-height:1.65;font-weight:400}
.hero-description{font-size:17px;line-height:2;max-width:31em}
.hero-meta,.guide-meta{line-height:1.9;font-variant-numeric:tabular-nums}
.eyebrow{font-size:11px;letter-spacing:.12em;line-height:1.9;flex-wrap:wrap;row-gap:6px}
.section-heading{align-items:center;gap:32px;margin-bottom:38px}
.section-heading h2{font-size:clamp(27px,2.6vw,36px);margin-top:14px}
.section-heading>p{font-size:15px;line-height:1.95;max-width:25em}
.section{padding-top:76px;padding-bottom:76px}
.bio-copy>p,.concept-detail p,.scenario-detail p,.questions details p,.era p{line-height:2;margin-top:1em;margin-bottom:1em}
.bio-copy>p:first-child{font-size:20px;line-height:1.95}
.concept-title{font-family:var(--font-title);font-weight:600;font-size:28px;letter-spacing:.02em;line-height:1.6}
.english{font-size:11px;letter-spacing:.05em;line-height:1.8}
.card-description{font-size:16px;line-height:1.9}
.card-footer{line-height:1.85;font-size:12px}
.route-card h3{font-size:28px;line-height:1.55;margin:22px 0 14px}
.route-card p,.route-steps p,.related-grid p{font-size:16px;line-height:1.95}
.route-steps h3,.related-grid h3{line-height:1.65;text-wrap:balance}
.guide-layout{grid-template-columns:minmax(0,40rem) minmax(190px,230px);justify-content:space-between;gap:clamp(30px,5vw,80px)}
.guide-section{padding:38px 0 28px}
.guide-section h2,.case-step h2{font-size:clamp(25px,2.4vw,31px);line-height:1.6;margin-bottom:22px}
.guide-section p,.case-step p{font-size:17px;line-height:2.05;letter-spacing:.015em;margin:1.2em 0;line-break:strict;overflow-wrap:break-word}
.guide-section .term-note p{font-size:15px;line-height:1.95}
.guide-hero h1,.learning-heading h1,.case-heading h1{font-size:clamp(34px,3.8vw,48px);line-height:1.5;letter-spacing:.015em}
.guide-hero .lead,.learning-heading .lead,.case-heading .lead{font-size:18px;line-height:2;max-width:36em}
.guide-margin p{font-family:var(--font-title);font-size:21px;line-height:2.05}
.takeaway p{font-size:19px;line-height:1.95}
.original-card>p{max-width:40em;font-size:17px;line-height:2.05}
.source-list{max-width:58rem}
.source-list p,.source-policy{line-height:1.95}
.source-list strong{line-height:1.8}
.source-line,.art-credit,.guide-hero figcaption{font-size:12px;line-height:1.9}
.brand,.brand-en{letter-spacing:.04em}
.learning-heading,.case-heading,.route-entry>.section-heading,.closing,.reading-note{background-color:#f1eee3;background-repeat:no-repeat;background-size:cover;border:1px solid #dce0d2;border-radius:16px}
.route-entry>.section-heading{display:block;min-height:300px;padding:44px 48px;background-image:linear-gradient(90deg,rgba(248,246,237,.97),rgba(248,246,237,.84) 42%,rgba(248,246,237,.05) 75%),url('images/background-garden.webp');background-position:center 58%}
.route-entry>.section-heading h2{max-width:17em}
.route-entry>.section-heading>p{margin-top:18px;max-width:26em;color:#49553f}
.learning-heading{max-width:none;margin:38px 0 34px;padding:45px 48px;min-height:350px;background-image:linear-gradient(90deg,rgba(248,246,237,.97),rgba(248,246,237,.88) 48%,rgba(248,246,237,.12)),url('images/background-garden.webp');background-position:center 58%}
.learning-heading h1{max-width:16em}
body[data-page="originals"] .learning-heading,.case-heading{background-image:linear-gradient(90deg,rgba(248,246,237,.98),rgba(248,246,237,.91) 52%,rgba(248,246,237,.25)),url('images/background-archive.webp');background-position:center 58%}
.case-heading{max-width:none;margin:35px 0;padding:40px 44px}
.case-heading h1{max-width:18em}
.case-heading .case-disclaimer{max-width:48em;background:#f5f6eeec}
.timeline-section{background-image:linear-gradient(90deg,rgba(237,241,230,.97),rgba(237,241,230,.80)),url('images/background-archive.webp');background-size:cover;background-position:right center}
.closing{padding:52px 48px;min-height:310px;text-align:left;background-image:linear-gradient(90deg,rgba(248,246,237,.97),rgba(248,246,237,.89) 45%,rgba(248,246,237,.12)),url('images/background-writing.webp');background-position:center 62%}
.closing h2{font-size:clamp(28px,3vw,39px);max-width:19em;line-height:1.65}
.reading-note{background-image:linear-gradient(90deg,rgba(243,246,232,.98),rgba(243,246,232,.91) 60%,rgba(243,246,232,.62)),url('images/background-writing.webp');background-position:right bottom}
.background-credit{font-size:12px;line-height:1.9;color:var(--muted);margin-top:18px;max-width:40em}
.large-text .guide-section p,.large-text .case-step p,.large-text .original-card>p{font-size:20px;line-height:2.1}
@media(max-width:900px){.guide-layout{grid-template-columns:1fr}.guide-margin{position:static}.hero{gap:35px}.hero h1{font-size:clamp(34px,4.4vw,46px)}}
@media(max-width:700px){
 body{font-size:16px;line-height:1.9}
 .hero h1{font-size:clamp(30px,8.2vw,42px);line-height:1.48;letter-spacing:0}
 .hero-description{font-size:16px;line-height:1.95}
 .hero .intro{font-size:23px}
 .section{padding-top:46px;padding-bottom:46px}
 .section-heading{margin-bottom:26px}
 .section-heading h2,.biography h2{font-size:28px;line-height:1.6}
 .section-heading>p{font-size:14px}
 .eyebrow{letter-spacing:.07em;font-size:10px}
 .concept-title{font-size:23px;line-height:1.6}
 .concept{padding:20px 14px}
 .card-description{font-size:15px}
 .english{font-size:10px;letter-spacing:.015em}
 .route-card{padding:26px}
 .route-card h3{font-size:27px}
 .guide-hero h1,.learning-heading h1,.case-heading h1{font-size:32px;line-height:1.55;letter-spacing:0}
 .guide-hero .lead,.learning-heading .lead,.case-heading .lead{font-size:16px;line-height:1.95}
 .guide-section p,.case-step p{font-size:16px;line-height:2;letter-spacing:.01em;margin:1.15em 0}
 .guide-section{padding:28px 0 20px}
 .guide-section h2,.case-step h2{font-size:26px;line-height:1.6;text-wrap:pretty}
 .takeaway{padding:22px}
 .takeaway p{font-size:18px}
 .route-entry>.section-heading,.learning-heading,.case-heading,.closing{padding:28px 24px 130px;min-height:0;background-size:auto 100%;background-position:right bottom}
 .route-entry>.section-heading,.learning-heading{background-image:linear-gradient(180deg,#f8f6edf5 0%,#f8f6edf2 50%,#f8f6ed88 76%,#f8f6ed22),url('images/background-garden.webp')}
 body[data-page="originals"] .learning-heading,.case-heading{background-image:linear-gradient(180deg,#f8f6edf7 0%,#f8f6edf5 65%,#f8f6ed77 86%,#f8f6ed22),url('images/background-archive.webp')}
 .learning-heading{margin-top:26px}
 .learning-heading .eyebrow{margin-top:18px}
 .closing{background-image:linear-gradient(180deg,#f8f6edf7 0%,#f8f6edf2 56%,#f8f6ed88 80%,#f8f6ed22),url('images/background-writing.webp')}
 .closing h2{font-size:28px;line-height:1.65}
 .reading-note{padding:26px;background-image:linear-gradient(#f3f6e8ed,#f3f6e8ed),url('images/background-writing.webp')}
 .original-card{padding:26px 22px}
 .original-card>p{font-size:16px}
 .source-list strong{font-size:16px}
}
@media(max-width:360px){.brand-en{display:none}.concept-title{font-size:21px}.card-footer{font-size:11px}.guide-hero h1,.learning-heading h1,.case-heading h1{font-size:29px}.route-entry>.section-heading,.learning-heading,.case-heading,.closing{padding-left:20px;padding-right:20px}.section-heading h2{font-size:26px}}
