:root{
  --nw-serif:'Songti SC','STSong','SimSun',Georgia,'Times New Roman',serif;
  --nw-sans:Arial,'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;
  --nw-ink:#202020;
  --nw-soft:#6d6d6d;
  --nw-faint:#9b9b9b;
  --nw-line:#e7e7e7;
  --nw-paper:#faf9f7;
  --nw-note:#f5f4f1;
}
body.project-narrative{background:#fff;color:var(--nw-ink)}
body.project-narrative .page{max-width:1180px}
.nw-hero{padding:92px 0 88px;border-bottom:1px solid var(--nw-line)}
.nw-hero .back{margin-bottom:48px}
.nw-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:80px;align-items:end}
.nw-kicker{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#8a8a8a;margin-bottom:18px}
.nw-title{font-family:var(--nw-serif);font-size:clamp(54px,7vw,92px);line-height:.98;letter-spacing:-.035em;font-weight:400;margin:0}
.nw-hero-note{max-width:490px;color:#666;font-size:14px;line-height:1.8}
.nw-index{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:58px;border-top:1px solid var(--nw-line);border-bottom:1px solid var(--nw-line)}
.nw-index a{padding:18px 16px 20px;border-right:1px solid var(--nw-line);font-size:12px;line-height:1.5;color:#555;transition:background .2s ease,color .2s ease}
.nw-index a:last-child{border-right:0}.nw-index a:hover{background:#f7f7f7;color:#111}.nw-index b{display:block;font-family:var(--nw-serif);font-weight:400;font-size:21px;color:#222;margin-bottom:4px}
.nw-section{padding:104px 0;border-bottom:1px solid var(--nw-line)}
.nw-section-head{display:grid;grid-template-columns:150px minmax(0,1fr);gap:32px;align-items:start;margin-bottom:68px}
.nw-section-no{font-family:var(--nw-serif);font-size:56px;line-height:1;color:#d3d3d3}
.nw-section-head h2{font-family:var(--nw-serif);font-size:46px;font-weight:400;line-height:1.08;letter-spacing:-.025em;margin:0}
.nw-section-head p{max-width:660px;color:#717171;font-size:13px;margin:12px 0 0}
.nw-project,.nw-character{padding:64px 0;border-top:1px solid var(--nw-line)}
.nw-project:first-of-type,.nw-character:first-of-type{border-top:0;padding-top:0}
.nw-project-head,.nw-character-head{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:60px;align-items:start}
.nw-project-title,.nw-character-title{font-family:var(--nw-serif);font-size:38px;font-weight:400;line-height:1.15;margin:0 0 18px}
.nw-subtitle{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#969696;margin-bottom:10px}
.nw-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8c8c8c;margin:0 0 8px}
.nw-keywords{font-size:13px;color:#555;line-height:1.9;margin:0 0 30px}
.nw-copy{font-size:15px;line-height:1.9;color:#444;max-width:760px}
.nw-copy p{margin:0 0 18px}.nw-copy p:last-child{margin-bottom:0}
.nw-character-meta{display:grid;grid-template-columns:1fr;gap:28px}
.nw-inner-block{margin-top:42px;padding-top:30px;border-top:1px solid var(--nw-line)}
.nw-inner-block h4{font-size:12px;letter-spacing:.12em;color:#777;margin:0 0 14px;font-weight:500}
.nw-goals{margin:0;padding-left:21px;color:#464646;font-size:14px;line-height:1.9}.nw-goals li{margin:5px 0}.nw-mantra{font-family:var(--nw-serif);font-size:20px;margin:18px 0 0;color:#222}
.nw-details{margin-top:34px;border-top:1px solid var(--nw-line)}
.nw-details + .nw-details{margin-top:0}
.nw-details summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;cursor:pointer;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#555;user-select:none}
.nw-details summary::-webkit-details-marker{display:none}.nw-details summary::after{content:'+';font-size:19px;font-weight:300;line-height:1;color:#777}.nw-details[open] summary::after{content:'−'}
.nw-details-body{padding:18px 0 46px;max-width:820px}
.nw-prose{font-family:var(--nw-serif);font-size:16px;line-height:2;color:#333}
.nw-prose p{margin:0 0 1.35em}.nw-prose p:last-child{margin-bottom:0}
.nw-excerpts{font-family:var(--nw-serif);font-size:16px;line-height:2;color:#313131}
.nw-excerpt{padding:28px 0;border-top:1px solid #efefef}.nw-excerpt:first-child{border-top:0;padding-top:0}.nw-excerpt p{margin:0 0 1.25em}.nw-excerpt p:last-child{margin-bottom:0}
.nw-context{font-family:var(--nw-sans);font-size:12px!important;line-height:1.8!important;color:rgba(45,45,45,.45)!important;letter-spacing:.01em;margin-bottom:16px!important}
.nw-author-note{font-family:var(--nw-sans);font-size:13px;line-height:1.85;color:#666;background:var(--nw-note);border-left:2px solid #c8c8c8;padding:16px 20px;margin:32px 0 24px}
.nw-author-note p{margin:0 0 10px}.nw-author-note p:last-child{margin-bottom:0}
.nw-stage{font-family:var(--nw-serif);font-size:14px!important;font-style:italic;color:#777!important;line-height:1.85!important}
.nw-speaker{font-family:var(--nw-sans);font-weight:600;font-size:.88em;letter-spacing:.02em;margin-right:.45em}
.nw-highlight{font-weight:600;color:#171717}
.nw-version{padding:44px 0;border-top:1px solid var(--nw-line)}.nw-version:first-of-type{border-top:0;padding-top:0}.nw-version-title{font-family:var(--nw-serif);font-size:31px;font-weight:400;margin:0 0 26px}
.nw-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 38px;margin-top:34px}
.nw-copy-entry{padding:28px 0 30px;border-top:1px solid var(--nw-line)}.nw-copy-entry h4{font-family:var(--nw-serif);font-size:21px;font-weight:400;margin:0 0 5px}.nw-effect{font-size:11px;color:#8a8a8a;letter-spacing:.04em;margin-bottom:15px}.nw-copy-entry .nw-prose{font-size:14px;line-height:1.9}.nw-copy-entry .nw-prose p{margin-bottom:.85em}
.nw-preview{margin-top:38px;padding:40px 44px;background:var(--nw-paper);border:1px solid #eee}.nw-preview-line{font-family:var(--nw-serif);font-size:clamp(23px,3vw,34px);line-height:1.55;margin:0 0 26px}.nw-play-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #8e8e8e;padding-bottom:5px}.nw-play-link:hover{opacity:.58}
.nw-project-info{display:grid;grid-template-columns:1fr 1fr;gap:18px 34px;margin-top:28px}.nw-project-info div{border-top:1px solid var(--nw-line);padding-top:10px}.nw-project-info dt{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#999;margin-bottom:4px}.nw-project-info dd{margin:0;font-size:13px;color:#444}
.nw-more{margin-top:32px;border-top:1px solid var(--nw-line)}.nw-more summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;cursor:pointer;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:#555}.nw-more summary::-webkit-details-marker{display:none}.nw-more summary::after{content:'+';font-size:19px}.nw-more[open] summary::after{content:'−'}.nw-more-body{padding:24px 0 10px}
.nw-divider{height:1px;background:var(--nw-line);margin:34px 0}
.nw-project .nw-prose.source-text{max-width:820px}
.nw-compact-intro{max-width:820px}
.nw-footer-note{padding-top:28px;font-size:11px;color:#999}
/* homepage writing card */
.writing-media{display:flex;align-items:stretch;justify-content:stretch;background:#f6f5f2!important}.writing-cover{min-height:330px;width:100%;padding:42px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #ebe9e3}.writing-cover span{font-size:10px;letter-spacing:.28em;color:#999}.writing-cover strong{font-family:var(--nw-serif);font-size:clamp(36px,4vw,58px);font-weight:400;line-height:1.02}.writing-cover em{font-style:normal;font-size:12px;letter-spacing:.08em;color:#777}
@media(max-width:900px){.nw-hero-grid,.nw-project-head,.nw-character-head{grid-template-columns:1fr;gap:34px}.nw-index{grid-template-columns:1fr 1fr}.nw-index a:nth-child(2){border-right:0}.nw-index a:nth-child(-n+2){border-bottom:1px solid var(--nw-line)}.nw-section-head{grid-template-columns:80px 1fr}.nw-copy-grid{grid-template-columns:1fr}.nw-section{padding:78px 0}.nw-project,.nw-character{padding:52px 0}}
@media(max-width:600px){.nw-hero{padding:64px 0 62px}.nw-title{font-size:50px}.nw-section-head{grid-template-columns:1fr;gap:10px;margin-bottom:48px}.nw-section-no{font-size:34px}.nw-section-head h2{font-size:36px}.nw-index{grid-template-columns:1fr}.nw-index a{border-right:0!important;border-bottom:1px solid var(--nw-line)!important}.nw-index a:last-child{border-bottom:0!important}.nw-project-title,.nw-character-title{font-size:32px}.nw-preview{padding:30px 24px}.nw-project-info{grid-template-columns:1fr}.nw-prose,.nw-excerpts{font-size:15px}.writing-cover{min-height:250px;padding:28px}}
