:root{--bg:#10110f;--paper:#dedbd0;--ink:#171916;--muted:#73756d;--line:#b5b1a5;--green:#89c7aa;--rust:#a85f47;--warm:#d4a463;--max:1440px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;line-height:1.65}img{display:block;width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}.skip{position:fixed;left:1rem;top:-5rem;background:#fff;color:#000;padding:.7rem 1rem;z-index:100}.skip:focus{top:1rem}.topbar{position:sticky;top:0;z-index:50;min-height:58px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;gap:2rem;background:rgba(16,17,15,.9);backdrop-filter:blur(14px);color:#e9e6da;border-bottom:1px solid #343630}.brand{font:600 .78rem/1 Consolas,monospace;letter-spacing:.14em;color:inherit;text-decoration:none}.topbar nav{display:flex;gap:1.5rem;margin-left:auto}.topbar nav a{font-size:.84rem;color:#b9bbb3;text-decoration:none}.topbar nav a:hover,.topbar nav a:focus{color:#fff}.status{font:600 .72rem/1 Consolas,monospace;color:#adb0a9}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.45rem;background:var(--green);box-shadow:0 0 10px var(--green)}.section-pad{padding:clamp(72px,10vw,150px) clamp(20px,6vw,96px)}.file,.eyebrow{font:600 .74rem/1.4 Consolas,monospace;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}.cover{min-height:calc(100svh - 58px);position:relative;background:#0d0f0e;color:#edeade;overflow:hidden}.cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,8,.92) 0%,rgba(8,9,8,.45) 40%,rgba(8,9,8,.05) 72%),linear-gradient(0deg,rgba(8,9,8,.65),transparent 44%)}.cover-copy{position:relative;z-index:2;max-width:780px;padding:clamp(90px,15vh,180px) clamp(24px,7vw,110px)}.cover h1{font-size:clamp(4.4rem,11vw,10rem);line-height:.82;letter-spacing:-.08em;margin:1.4rem 0 2rem;font-weight:700}.cover .en{font:500 clamp(.8rem,1.5vw,1.15rem)/1.5 Consolas,monospace;letter-spacing:.18em}.cover-meta{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:4rem;color:#b7b9b1;font-size:.88rem}.coordinates{position:absolute;right:clamp(24px,5vw,80px);bottom:clamp(28px,5vw,70px);z-index:2;font:500 .8rem/1.7 Consolas,monospace;color:#a9ada6;text-align:right}.intro{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(30px,7vw,110px)}.intro h2,.section-heading h2,.story-copy h2,.final-log h2{font-size:clamp(2.3rem,5vw,5rem);line-height:1.08;letter-spacing:-.05em}.intro-copy>p{font-size:clamp(1.1rem,2vw,1.45rem);max-width:800px}.intro dl{margin:3rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.intro dl div{background:var(--paper);padding:1.2rem}.intro dt{font-size:.78rem;color:var(--muted)}.intro dd{margin:.35rem 0 0}.section-heading{max-width:950px;margin-bottom:3rem}.section-heading>p:last-child{font-size:1.05rem;color:var(--muted);max-width:720px}.view-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,28px);max-width:var(--max);margin:auto}.view-grid figure{background:#151714}.view-grid figcaption,.detail-grid figcaption,.process-grid figcaption{padding:.85rem 0;font:600 .72rem/1.4 Consolas,monospace;letter-spacing:.08em;color:var(--muted)}.scene{position:relative;background:#101210;color:#eeece2;min-height:90svh;display:flex;align-items:end;overflow:hidden}.scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,9,8,.88),rgba(8,9,8,.08) 66%)}.scene .section-heading,.scene-note{position:relative;z-index:2}.scene .section-heading{align-self:start}.scene-note{margin-left:auto;max-width:440px;color:#cbc9c0}.light h2{color:#edeade}.light .file{color:#aaaDA4}.signal{min-height:64svh;display:grid;place-content:center;text-align:center;position:relative;overflow:hidden;background:#070a08;color:var(--green);padding:4rem 1.5rem}.signal h2{font:600 clamp(2.5rem,8vw,7rem)/1 Consolas,monospace;letter-spacing:.08em;margin:1rem 0}.signal>p:last-child{font:500 .8rem/1.5 Consolas,monospace;letter-spacing:.18em}.morse{letter-spacing:.35em}.scanline{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(139,200,173,.035) 5px 6px);pointer-events:none}.dark-section{background:#111310;color:#ebe9df}.story-frame{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(30px,7vw,100px)}.story-frame.reverse{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)}.story-frame.reverse .story-copy{order:2}.story-copy>p:last-child{max-width:520px;color:var(--muted);font-size:1.05rem}.story-frame figure img{aspect-ratio:1/1;object-fit:cover}.story-frame figcaption{font:500 .72rem Consolas,monospace;color:var(--muted);padding-top:.75rem}.departure,.life{min-height:100svh;position:relative;color:#f0eee5;display:flex;align-items:end}.departure>img,.life>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.departure:after,.life:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,8,7,.88),transparent 60%)}.departure>div,.life>div{position:relative;z-index:2;padding:clamp(40px,7vw,110px);max-width:850px}.departure h2,.life h2{font-size:clamp(2.7rem,7vw,6.5rem);line-height:1.03;letter-spacing:-.05em;margin:.7rem 0}.departure p:last-child{font-size:1.1rem;color:#c5c6be}.quiet{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(30px,6vw,90px);align-items:center}.quiet h2{font-size:clamp(2.4rem,5vw,5rem);margin:.5rem 0}.life{min-height:95svh}.life>img{object-position:center}.life>div{margin-left:auto;text-align:right}.details{max-width:var(--max);margin:auto}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.5vw,22px)}.detail-grid figure{min-width:0}.detail-grid figure.wide{grid-column:span 2;grid-row:span 2}.detail-grid img{aspect-ratio:1/1;object-fit:cover}.process h3{font-size:1rem;font-weight:500;margin:3.5rem 0 1rem;color:#d8d6cc}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,2vw,26px)}.process-grid.texture-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.process-grid img{aspect-ratio:1/1;object-fit:cover;background:#080a08}.research{max-width:var(--max);margin:auto}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,26px)}.research-grid img{aspect-ratio:3/2;object-fit:cover;filter:saturate(.72) contrast(1.06)}.research-grid figcaption{display:flex;flex-direction:column;padding-top:1rem}.research-grid span{color:var(--muted);font-size:.9rem}.source-warning{margin-top:2rem;padding:1rem 1.2rem;border-left:3px solid var(--rust);background:rgba(168,95,71,.08);color:#6f4a3d}.final-log{background:#171915;color:#eeece2}.final-log header{max-width:900px}.log-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#42443e;margin-top:4rem}.log-grid article{background:#171915;padding:clamp(22px,3vw,42px)}.log-grid span{font:600 .8rem Consolas,monospace;color:var(--warm)}.log-grid h3{font-size:1.3rem;margin:1.5rem 0 .8rem}.log-grid p{color:#b9bbb3}.final-log footer{display:flex;justify-content:space-between;gap:1.5rem;border-top:1px solid #42443e;margin-top:5rem;padding-top:1.5rem;color:#969990;font:500 .76rem/1.5 Consolas,monospace}
@media(max-width:900px){.topbar nav{display:none}.status{margin-left:auto}.intro,.story-frame,.story-frame.reverse,.quiet{grid-template-columns:1fr}.story-frame.reverse .story-copy{order:0}.intro dl{grid-template-columns:1fr}.process-grid.texture-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(2,1fr)}.research-grid,.log-grid{grid-template-columns:1fr}.cover>img{object-position:62% center}.cover:after{background:linear-gradient(90deg,rgba(8,9,8,.88),rgba(8,9,8,.2)),linear-gradient(0deg,rgba(8,9,8,.72),transparent 45%)}}
@media(max-width:620px){.section-pad{padding:64px 18px}.cover h1{font-size:4.8rem}.cover-meta{margin-top:2rem}.view-grid,.process-grid,.process-grid.texture-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-grid figure.wide{grid-column:auto;grid-row:auto}.departure,.life{min-height:78svh}.final-log footer{flex-direction:column}.topbar{padding:0 16px}.scene{min-height:75svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.case-study{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:clamp(28px,6vw,88px);align-items:center;padding:clamp(48px,7vw,100px) 0;border-top:1px solid #393c36}.case-study.reverse-case{grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr)}.reverse-case .case-copy{order:2}.case-copy h3{font-size:clamp(2rem,4vw,3.8rem);line-height:1.08;letter-spacing:-.04em;margin:.7rem 0 1.2rem}.case-copy>p:not(.file),.case-copy li{color:#b7bab1}.case-copy ul{padding-left:1.1rem;margin:1.5rem 0 0}.case-media{display:grid;grid-template-columns:1fr 1fr;gap:10px}.case-media figure{min-width:0}.case-media figure.result{grid-column:span 2}.case-media img{aspect-ratio:1/1;object-fit:cover;background:#f1f0eb}.case-media .result img{aspect-ratio:16/10}.case-media figcaption{padding-top:.65rem;font:600 .7rem/1.4 Consolas,monospace;color:#858980;letter-spacing:.08em}.credit-note{display:grid;grid-template-columns:180px 1fr;gap:1.5rem;border-top:1px solid #555850;padding-top:1.5rem;color:#b7bab1}.credit-note strong{color:#edeade}.credit-note p{margin:0}.shot-list{list-style:none;padding:0;margin:3rem 0 0;counter-reset:shot}.shot-list li{counter-increment:shot;display:grid;grid-template-columns:64px minmax(180px,.35fr) minmax(0,1fr);gap:1.5rem;padding:1.5rem 0;border-top:1px solid var(--line);align-items:start}.shot-list li:before{content:"0" counter(shot);font:600 .8rem Consolas,monospace;color:var(--rust)}.shot-list b{font-weight:600}.shot-list span{color:var(--muted)}
.reference-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,28px);align-items:start}.reference-board figure{min-width:0}.reference-board img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#1c1e1b}.reference-board .reference-wide img{aspect-ratio:16/10}.reference-board figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0 1.4rem;border-top:1px solid var(--line);font-size:.82rem}.reference-board figcaption b{font:600 .72rem Consolas,monospace;letter-spacing:.08em}.reference-board figcaption span{color:var(--muted);text-align:right}.process-block{padding:clamp(52px,8vw,110px) 0;border-top:1px solid #393c36}.process-copy{display:grid;grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr);column-gap:clamp(30px,6vw,90px);align-items:start;margin-bottom:2.5rem}.process-copy .file{grid-row:1/3}.process-copy h3{font-size:clamp(2rem,4vw,3.8rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 1rem}.process-copy>p:last-child{color:#b7bab1;max-width:760px}.sp-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,24px)}.sp-stages img{aspect-ratio:2.65/1;object-fit:cover;object-position:left center;background:#20221f}.sp-stages figcaption,.lighting-stages figcaption{padding-top:.65rem;font:600 .7rem/1.4 Consolas,monospace;color:#858980;letter-spacing:.08em}.sp-stages figcaption b,.lighting-stages figcaption b{color:var(--warm);margin-right:.55rem}.lighting-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(8px,1.3vw,18px)}.lighting-stages img{aspect-ratio:1/1;object-fit:cover;background:#080a08}.screen-case{padding-bottom:clamp(52px,8vw,110px)}
@media(max-width:900px){.case-study,.case-study.reverse-case{grid-template-columns:1fr}.reverse-case .case-copy{order:0}.credit-note{grid-template-columns:1fr}.shot-list li{grid-template-columns:44px 1fr}.shot-list span{grid-column:2}}
@media(max-width:900px){.process-copy{grid-template-columns:1fr}.process-copy .file{grid-row:auto}.lighting-stages{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.case-media{grid-template-columns:1fr}.case-media figure.result{grid-column:auto}.case-media .result img{aspect-ratio:1/1}.reference-board,.sp-stages{grid-template-columns:1fr}.reference-board figcaption{display:block}.reference-board figcaption span{display:block;text-align:left;margin-top:.35rem}.lighting-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
.life:after{content:none}.life h2,.life .file{text-shadow:0 2px 12px rgba(0,0,0,.72),0 1px 2px rgba(0,0,0,.9)}.life .file{color:#f0eee5}
.intro h2,.section-heading h2,.story-copy h2,.departure h2,.quiet h2,.life h2,.process-copy h3,.case-copy h3,.final-log h2{font-family:"DengXian","Microsoft YaHei UI","PingFang SC",sans-serif;font-weight:700;letter-spacing:-.055em;text-wrap:balance}.section-heading h2,.process-copy h3,.case-copy h3{position:relative}.section-heading h2:after,.process-copy h3:after,.case-copy h3:after{content:"";display:block;width:42px;height:2px;margin-top:.65rem;background:var(--rust)}.dark-section .section-heading h2:after,.dark-section .process-copy h3:after,.dark-section .case-copy h3:after{background:var(--green)}.view-grid{align-items:stretch}.view-grid figure{overflow:hidden;border:1px solid #282a26}.view-grid figure:nth-child(2) img{filter:brightness(.62) contrast(1.06) saturate(.96)}.view-grid img{height:calc(100% - 42px);object-fit:cover}.view-grid figcaption{height:42px;padding:.7rem .8rem;background:#151714}
.dark-section .section-heading>p:last-child{color:#b7bab1}.view-grid figure:nth-child(2) img{filter:brightness(.66) contrast(1.04) saturate(.96)}

/* Final editorial pass: preserve the original render and use a cleaner Chinese display face. */
.view-grid figure:nth-child(2) img{filter:none}
.intro h2,.section-heading h2,.story-copy h2,.departure h2,.quiet h2,.life h2,.process-copy h3,.case-copy h3,.final-log h2{font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;font-weight:800;letter-spacing:-.04em}
.journey-intro{max-width:900px;margin:1.5rem 0 3rem;color:#b9bbb3;font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.9}
.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #b9b7ac;border-left:1px solid #b9b7ac}
.journey-grid article{min-height:250px;padding:2rem;border-right:1px solid #b9b7ac;border-bottom:1px solid #b9b7ac}
.journey-grid span{color:var(--rust);font-family:var(--mono);font-size:.76rem;letter-spacing:.12em}
.journey-grid h3{max-width:16em;margin:1.2rem 0 .8rem;font-size:clamp(1.35rem,2vw,2rem);line-height:1.25}
.journey-grid p{max-width:34em;color:#b9bbb3;line-height:1.8}
.final-log blockquote{margin:3rem 0 1rem;padding:1.25rem 0 1.25rem 1.5rem;border-left:3px solid var(--rust);font-size:clamp(1.35rem,2.4vw,2.25rem);font-weight:700;line-height:1.5}
@media(max-width:760px){.journey-grid{grid-template-columns:1fr}.journey-grid article{min-height:auto}.journey-intro{margin-bottom:2rem}}

/* Consistent editorial rhythm and uncropped portfolio imagery. */
:root{--content:1180px;--wide:1500px}
.section-pad{padding-block:clamp(72px,7vw,112px)}
.intro,.details,.research{max-width:var(--content)}
.prop-views>.section-heading,.view-grid,.process>.section-heading,.process-block,.final-log>header,.final-log>.journey-intro,.final-log>.journey-grid,.final-log>blockquote,.final-log>footer{width:min(100%,var(--content));margin-left:auto;margin-right:auto}
.view-grid img{height:auto;aspect-ratio:auto;object-fit:contain}
.detail-grid img,.reference-board img,.reference-board .reference-wide img,.sp-stages img,.lighting-stages img{object-fit:contain}
.cover>img{object-fit:contain;object-position:72% center;background:#0d0f0e}
.cover:after{background:linear-gradient(90deg,rgba(8,9,8,.96) 0%,rgba(8,9,8,.72) 32%,rgba(8,9,8,.08) 68%,rgba(8,9,8,.18) 100%);pointer-events:none}
.scene{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:clamp(28px,5vw,72px);align-items:center;background:#101210}
.scene>img{position:static;width:100%;height:auto;aspect-ratio:1;object-fit:contain;grid-column:1;grid-row:1/3}
.scene:after{content:none}
.scene .section-heading,.scene-note{position:static;margin:0;align-self:auto}
.scene .section-heading{grid-column:2;grid-row:1;align-self:end}
.scene-note{grid-column:2;grid-row:2;align-self:start}
.departure,.life{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.5fr);gap:clamp(30px,5vw,78px);align-items:center;padding:clamp(48px,5vw,78px) max(20px,calc((100vw - var(--wide))/2));background:#101210}
.departure>img,.life>img{position:static;width:100%;height:auto;aspect-ratio:1;object-fit:contain;grid-column:1;grid-row:1}
.departure:after,.life:after{content:none}
.departure>div,.life>div{position:static;z-index:auto;padding:0;max-width:520px;grid-column:2;grid-row:1}
.life>div{margin:0;text-align:left}
.process-block:last-of-type{padding-bottom:48px}
.final-log{padding-top:clamp(72px,7vw,110px)}
.details{scroll-margin-top:58px;padding-top:clamp(64px,6vw,92px)}
#story,#process,#log{scroll-margin-top:58px}
.journey-grid article{min-height:270px}
.zoomable{cursor:zoom-in;transition:opacity .18s ease}
.zoomable:hover{opacity:.94}
.zoomable:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:38px;background:rgba(5,6,5,.94);border:0;color:#eee;overflow:hidden}
.lightbox::backdrop{background:rgba(5,6,5,.94)}
.lightbox img{display:block;width:100%;height:calc(100vh - 92px);object-fit:contain;cursor:default}
.lightbox p{position:absolute;left:32px;bottom:16px;margin:0;color:#c8cbc3;font-size:.82rem}
.lightbox-close{position:absolute;z-index:2;right:22px;top:16px;width:46px;height:46px;border:1px solid #777;border-radius:50%;background:#121411;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
@media(max-width:900px){.scene,.departure,.life{grid-template-columns:1fr}.scene>img,.scene .section-heading,.scene-note,.departure>img,.departure>div,.life>img,.life>div{grid-column:1;grid-row:auto}.departure,.life{padding:64px 20px}.cover>img{object-position:center}.cover:after{background:linear-gradient(90deg,rgba(8,9,8,.88),rgba(8,9,8,.28)),linear-gradient(0deg,rgba(8,9,8,.7),transparent 45%)}}
@media(max-width:620px){.lightbox{padding:48px 10px 30px}.lightbox img{height:calc(100vh - 82px)}.journey-grid article{min-height:auto}}

/* Cover refinement: one continuous image field with a softer text-to-image transition. */
.cover>img{object-fit:cover;object-position:64% center;background:#0d0f0e}
.cover:after{background:linear-gradient(90deg,rgba(7,8,7,.97) 0%,rgba(7,8,7,.88) 23%,rgba(7,8,7,.58) 39%,rgba(7,8,7,.18) 56%,rgba(7,8,7,.04) 76%),linear-gradient(0deg,rgba(7,8,7,.5),transparent 42%)}
.cover-copy{max-width:min(620px,46vw);padding-left:clamp(32px,6vw,96px)}
.cover h1{font-size:clamp(4.2rem,9.2vw,8.6rem);line-height:.94;letter-spacing:-.065em;margin:1.25rem 0 1.6rem}
.cover .en{font-size:clamp(.72rem,1.15vw,1rem);letter-spacing:.16em}
.cover-meta{margin-top:3.2rem}
.final-log footer>div p{margin:0 0 .35rem}
.contact{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem 1.25rem;font-style:normal;text-align:right}
.contact strong{width:100%;color:#eeece2;font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:1rem}
.contact a{color:#b9bbb3;text-decoration:none}
.contact a:hover,.contact a:focus{color:#fff;text-decoration:underline}
@media(max-width:900px){.cover-copy{max-width:72vw}.cover>img{object-position:66% center}.cover h1{font-size:clamp(4.2rem,13vw,7.6rem)}.final-log footer{align-items:flex-start}.contact{justify-content:flex-start;text-align:left}}
@media(max-width:620px){.cover-copy{max-width:94vw;padding-left:24px}.cover>img{object-position:70% center}.cover h1{font-size:4.4rem;line-height:.96}.cover-meta{margin-top:2.2rem}.contact{display:grid;gap:.35rem}}

@font-face{font-family:"Rajdhani Portfolio";src:url("assets/fonts/Rajdhani-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Rajdhani Portfolio";src:url("assets/fonts/Rajdhani-SemiBold.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
.brand,.file,.eyebrow,.cover .en,.coordinates,.status,.view-grid figcaption,.detail-grid figcaption,.reference-board figcaption b,.sp-stages figcaption,.lighting-stages figcaption,.journey-grid span,.final-log footer{font-family:"Rajdhani Portfolio","Microsoft YaHei UI",sans-serif}
.intro h2,.section-heading h2,.story-copy h2,.departure h2,.quiet h2,.life h2,.process-copy h3,.case-copy h3,.final-log h2,.journey-grid h3{font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;font-weight:800;letter-spacing:-.04em}
.end-record{background:#0d0f0d;color:#eeece2}
.end-record>.file,.end-record>.end-line,.end-record>footer{width:min(100%,var(--content));margin-left:auto;margin-right:auto}
.end-record .end-line{max-width:16em;font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;font-size:clamp(2.2rem,5vw,5rem);font-weight:800;line-height:1.12;letter-spacing:-.04em}
.end-record footer{margin-top:clamp(60px,8vw,110px);padding-top:1.5rem;border-top:1px solid #343630;color:#969990;font:500 .76rem/1.5 "Rajdhani Portfolio","Microsoft YaHei UI",sans-serif}
.end-record footer p{margin:0 0 .35rem}
.cover-contact{display:grid;grid-template-columns:auto auto;justify-content:start;gap:.2rem 1.15rem;margin-top:clamp(3rem,7vh,5.5rem);font-style:normal;font-family:"Rajdhani Portfolio","Microsoft YaHei UI",sans-serif}
.cover-contact strong{grid-column:1/-1;color:#edeade;font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:1.18rem;font-weight:700;letter-spacing:.02em}
.cover-contact a{color:#c6c8c0;text-decoration:none;font-size:.92rem;letter-spacing:.045em}
.cover-contact a:hover,.cover-contact a:focus{color:#fff;text-decoration:underline}
@media(max-width:620px){.cover-contact{margin-top:2.4rem;grid-template-columns:1fr;gap:.15rem}.cover-contact strong{grid-column:auto;font-size:1.15rem}.cover-contact a{font-size:.82rem}}

/* V45: restore original full-bleed chapter-ending frames; keep all other sections untouched. */
.departure,.life{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:0;background:#101210;color:#f0eee5;overflow:hidden}
.departure>img,.life>img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;grid-column:auto;grid-row:auto}
.departure:after,.life:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,8,7,.85),transparent 62%);pointer-events:none}
.departure>div,.life>div{position:relative;z-index:2;padding:clamp(40px,7vw,110px);max-width:850px;grid-column:auto;grid-row:auto}
.life>div{margin-left:auto;text-align:right}
@media(max-width:900px){.departure,.life{min-height:80svh;display:flex;align-items:flex-end;padding:0}.departure>img,.life>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.departure>div,.life>div{padding:clamp(24px,6vw,70px)}}
