@charset "UTF-8";
:root{color-scheme:dark;--bg:#151515;--surface:#1e1e1e;--ink:#f3f1ed;--muted:#a4a29e;--line:#343432;--accent:#fa8453;--font:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.75 var(--font);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}button{border:0}svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6}.wrap{width:calc(100% - 112px);max-width:1328px;margin-inline:auto}.orange{color:var(--accent)}.muted{color:var(--muted)}.skip-link{position:fixed;top:-70px;left:20px;padding:10px 20px;background:var(--accent);color:#151515;z-index:20}.skip-link:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;min-height:105px;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:20px}.monogram{font:800 30px/1 Arial,sans-serif;letter-spacing:-2px}.monogram>span:first-child{color:var(--accent)}.brand-dot{color:var(--accent)}.brand-name{font-size:15px;line-height:1.55;border-left:1px solid #41413e;padding-left:18px;font-weight:600}.brand-name small{display:block;color:var(--muted);font:10px/1.8 Arial;letter-spacing:1.5px}.header nav{display:flex;gap:38px;font-size:14px;color:#c7c5c0}.header nav a:hover,.text-button:hover,.footer a:hover{color:var(--accent)}.header-contact{font-size:14px;border:1px solid #686762;padding:9px 19px;border-radius:3px;white-space:nowrap}.header-contact span{margin-left:18px}.header-contact:hover{background:var(--accent);color:#151515;border-color:var(--accent)}.hero{display:grid;grid-template-columns:.93fr 1fr;gap:58px;padding-block:68px 64px;align-items:center}.eyebrow{font:12px/1.5 Arial,var(--font);letter-spacing:1.8px;font-weight:500;color:#bbb7b1;display:flex;gap:11px;align-items:center}.eyebrow-line{width:22px;height:1px;background:var(--accent)}h1{font-size:64px;line-height:1.18;letter-spacing:-2px;font-weight:650;margin-top:26px}h1>span{display:block;font-size:24px;line-height:1.6;letter-spacing:1px;margin-top:12px;font-weight:500}.hero-lead{font-size:35px;line-height:1.48;letter-spacing:-.7px;margin-top:29px;font-weight:550}.hero-description{color:var(--muted);font-size:15px;line-height:1.9;margin-top:19px}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:49px;padding:12px 22px;font-size:14px;border-radius:3px;transition:background .18s,transform .18s}.button:hover{transform:translateY(-2px)}.primary{background:var(--accent);color:#191510;font-weight:650}.primary:hover{background:#ffa578}.text-button{gap:12px;padding-inline:13px}.hero-meta{margin-top:24px;color:#9a9792;font-size:12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-meta>span{height:11px;width:1px;background:#625e58}.hero-art{position:relative;isolation:isolate;overflow:hidden;background:#262820;padding:0;align-self:stretch;min-height:510px;width:100%;text-align:left;border-radius:3px}.hero-art>img{width:100%;height:100%;position:absolute;inset:0;object-position:center;filter:saturate(.8);transition:transform .7s}.hero-art:hover>img{transform:scale(1.035)}.art-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 35%,rgba(0,0,0,.77))}.art-top{position:absolute;left:26px;right:26px;top:21px;display:flex;align-items:center;justify-content:space-between;font:11px/1.5 Arial;letter-spacing:2px;color:#fff}.frame-corner{font-size:27px;font-weight:200;opacity:.7}.art-caption{position:absolute;bottom:32px;left:30px;right:30px;display:flex;align-items:flex-end;justify-content:space-between}.art-title{font-size:33px;line-height:1.55;font-weight:550;color:#fff}.art-title small{display:block;font:12px/1.5 var(--font);letter-spacing:2px;margin-top:16px}.round-arrow{border:1px solid #ffffff70;border-radius:50%;height:48px;width:48px;display:grid;place-items:center;font:25px/1 Arial;background:#ffffff0d}.numbers{display:grid;grid-template-columns:1fr 1.15fr 1fr 1.15fr;align-items:center;border-block:1px solid var(--line);padding-block:30px}.numbers>div{padding-inline:28px;border-right:1px solid var(--line)}.numbers>div:first-child{padding-left:0}.numbers strong{font:400 48px/1.25 Arial,var(--font);letter-spacing:-1.8px}.numbers strong span{font-size:22px;color:var(--accent);letter-spacing:0;margin-left:4px}.numbers strong .approx{font-size:15px;color:#c0bcb6;margin:0 7px 0 0}.numbers p{color:var(--muted);font-size:13px;margin-top:4px}.numbers .numbers-note{padding-left:40px;line-height:1.95}.section{padding-block:82px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:35px}.section-heading h2{font-size:35px;line-height:1.4;letter-spacing:-1px;margin-top:12px;font-weight:550}.section-heading>p{font-size:14px;color:#b8b4ae;text-align:right;line-height:1.9}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 26px}.project{min-width:0}.project-button{background:transparent;text-align:left;display:block;width:100%;padding:0}.project-cover{position:relative;overflow:hidden;aspect-ratio:16/10;background:#252524;border-radius:3px;display:block}.project-cover img{width:100%;height:100%;transition:transform .5s,filter .5s;filter:saturate(.8)}.project-button:hover img{transform:scale(1.035);filter:saturate(1)}.project-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 65%,#0008)}.project-index,.project-format{position:absolute;top:16px;z-index:1;font:11px/1.5 Arial,var(--font);letter-spacing:1.3px;background:#171715a6;color:#fff;padding:5px 10px;backdrop-filter:blur(5px);border:1px solid #ffffff26;border-radius:2px}.project-index{left:16px}.project-format{right:16px}.project-bottom{position:absolute;bottom:20px;right:20px;z-index:1;background:#1b1b1b9e;border:1px solid #ffffff70;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:20px}.project-info{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:17px}.project h3{font-size:19px;font-weight:550;line-height:1.5}.project-type{font-size:12px;color:#c1bbb4;white-space:nowrap;padding-top:4px}.project-desc{font-size:14px;line-height:1.85;color:var(--muted);margin-top:6px;max-width:95%}.experience{padding-top:35px}.timeline{border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:195px 1fr;gap:40px;border-bottom:1px solid var(--line);padding-block:29px}.job-date{font:14px/1.8 Arial,var(--font);color:#a6a19a;padding-top:4px}.job-current{color:var(--accent);display:block;font:11px/1.8 Arial;letter-spacing:1.6px;margin-top:6px}.job h3{font-size:19px;font-weight:550;line-height:1.65}.job-role{color:#cec8c0;font-size:14px;margin-block:5px 11px}.job-description{font-size:14px;line-height:1.95;color:var(--muted);max-width:860px}.documentary{margin-top:34px;display:grid;grid-template-columns:195px 1fr;column-gap:40px;row-gap:9px}.documentary .eyebrow{grid-row:1/4;align-self:start;font-size:11px;padding-top:6px}.documentary h3{font-size:19px;font-weight:550}.documentary p:not(.eyebrow){font-size:14px;color:var(--muted)}.about{background:#1c1c1b;border-block:1px solid #313130}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about h2{font-size:32px;line-height:1.65;font-weight:550;margin-top:21px;letter-spacing:-.5px}.about-intro{font-size:14px;line-height:2.05;color:#b4afa8;max-width:510px;margin-top:22px}.education{margin-top:32px;border-left:2px solid var(--accent);padding-left:20px}.education>span{color:#a6a099;font-size:12px;display:block}.education strong{font-size:17px;font-weight:550;display:block;margin-top:7px}.education p{font-size:13px;color:#b4afa8;margin-top:3px}.skills{padding-top:4px}.skill{display:flex;gap:24px;padding-block:23px;border-bottom:1px solid #3c3b37}.skill:first-child{padding-top:0}.skill>span{color:var(--accent);font:12px/1.8 Arial;margin-top:4px}.skill h3{font-size:18px;font-weight:550;margin-bottom:8px}.skill p{font-size:14px;color:var(--muted);line-height:1.95}.contact{display:grid;grid-template-columns:1fr .8fr;gap:80px;padding-block:83px 66px}.contact h2{font-size:39px;line-height:1.6;font-weight:550;margin-top:17px}.contact>div>p:last-child{font-size:13px;color:var(--muted);margin-top:20px}.contact-links{padding-top:15px}.contact-links>a{display:block;padding:13px 0 17px;border-bottom:1px solid var(--line);margin-bottom:13px}.contact-links small{font-size:12px;color:var(--muted);display:block}.contact-links a>span{font:22px/1.8 Arial,var(--font);display:flex;justify-content:space-between;gap:20px;overflow-wrap:anywhere}.contact-links b{font-weight:400;color:var(--accent)}.copy-email{background:transparent;color:#bbb6ae;border:1px solid #58534d;font-size:12px;padding:8px 16px;border-radius:3px;margin-top:8px}.copy-email:hover{border-color:var(--accent);color:var(--accent)}#copy-status{min-height:20px;font-size:12px;color:var(--accent);margin-top:8px}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-block:24px 32px;color:#928d86;font-size:12px}.footer>a{color:#c2bcb3}dialog{background:#1b1b1a;color:var(--ink);border:1px solid #44403a;border-radius:5px;padding:0;width:min(1000px,calc(100% - 44px));max-height:90dvh}dialog::backdrop{background:#000c;backdrop-filter:blur(9px)}.dialog-inner{position:relative;padding:40px}.dialog-close{position:absolute;right:17px;top:13px;width:39px;height:39px;border:1px solid #55514a;border-radius:50%;background:#232320;font:27px/1 Arial;z-index:2}.dialog-close:hover{background:#4a3225}.dialog-head{padding-right:35px}.dialog-head h2{font-size:31px;line-height:1.45;font-weight:550;margin-block:14px 12px}.dialog-description{font-size:15px;line-height:1.9;color:#bab4ac}.dialog-video{display:block;width:100%;max-height:58vh;background:#070707;margin-top:24px;border:1px solid #36332d;object-fit:contain}.preview-label{font-size:12px;color:#a6a099;margin-top:10px}.dialog-section-title{font-size:15px;font-weight:500;margin-block:27px 13px}.still-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.still-button{padding:0;background:#111;overflow:hidden;border:1px solid #3d3832;aspect-ratio:16/10}.still-button img{height:100%;width:100%;object-fit:cover}.still-button:hover{border-color:var(--accent)}.still-full{display:block;max-height:67vh;width:100%;object-fit:contain;background:#0c0c0c;margin-top:20px}.back-gallery{color:var(--accent);background:none;padding:0;font-size:14px}.dialog-facts{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.dialog-facts span{font-size:12px;color:#bbb4aa;border:1px solid #49433b;border-radius:2px;padding:4px 11px}.empty-note{font-size:14px;color:var(--muted);padding:20px;background:#252420;margin-top:20px}
@media(min-width:1600px){.hero-art{min-height:560px}.hero{padding-top:80px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:32px;padding-block:50px}.hero-art{min-height:500px}h1{font-size:55px}h1>span{font-size:20px}.hero-lead{font-size:29px}.hero-description{font-size:14px}.hero-actions{gap:7px}.hero-meta{font-size:11px}.numbers strong{font-size:39px}.numbers strong span{font-size:19px}.numbers>div{padding-inline:19px}.numbers .numbers-note{padding-left:26px}.about-grid{gap:50px}.job,.documentary{grid-template-columns:165px 1fr;gap:25px}.section-heading h2{font-size:30px}.contact{gap:45px}.contact-links a>span{font-size:20px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:82px;gap:16px;flex-wrap:wrap}.brand{gap:12px}.brand-name{font-size:13px;padding-left:12px}.monogram{font-size:27px}.brand-name small{font-size:8px}.header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-block:11px;gap:20px;font-size:13px}.header-contact{padding:7px 12px;font-size:12px}.header-contact span{margin-left:8px}.brand{margin-top:15px;margin-bottom:12px}.header-contact{margin-top:6px}.hero{grid-template-columns:1fr;gap:30px;padding-block:34px}.eyebrow{font-size:10px;letter-spacing:1.4px}h1{font-size:50px;margin-top:19px;letter-spacing:-1px}h1>span{font-size:20px;margin-top:9px}.hero-lead{font-size:29px;margin-top:20px}.hero-description{font-size:14px;margin-top:13px}.hero-actions{margin-top:24px}.hero-meta{margin-top:18px;font-size:11px}.hero-art{min-height:0;aspect-ratio:5/4;max-height:520px}.art-top{left:20px;right:20px;top:15px;font-size:9px}.art-caption{left:22px;right:22px;bottom:23px}.art-title{font-size:28px}.art-title small{font-size:11px;margin-top:9px}.round-arrow{width:42px;height:42px}.numbers{grid-template-columns:repeat(3,minmax(0,1fr));padding-block:24px;gap:0}.numbers>div{padding-inline:12px}.numbers>div:nth-child(3){border-right:0}.numbers strong{font-size:32px;white-space:nowrap}.numbers strong span{font-size:15px;margin-left:2px}.numbers strong .approx{font-size:10px;margin-right:3px}.numbers p{font-size:10px;white-space:nowrap}.numbers .numbers-note{display:none}.section{padding-block:50px}.section-heading{display:block;margin-bottom:25px}.section-heading h2{font-size:29px;margin-top:9px}.section-heading>p{text-align:left;font-size:12px;margin-top:14px}.project-grid{grid-template-columns:1fr;gap:28px}.project-cover{aspect-ratio:16/10}.project-info{padding-top:12px}.project h3{font-size:18px}.project-desc{font-size:13px;max-width:100%}.project-type{font-size:10px}.experience{padding-top:17px}.job{grid-template-columns:1fr;gap:8px;padding-block:22px}.job-date{font-size:12px;display:flex;gap:12px;align-items:center}.job-current{margin-top:0;font-size:9px}.job h3{font-size:17px}.job-role{font-size:13px;margin-block:3px 8px}.job-description{font-size:13px}.documentary{grid-template-columns:1fr;gap:7px;margin-top:26px}.documentary .eyebrow{grid-row:auto;font-size:10px}.documentary h3{font-size:18px}.documentary p:not(.eyebrow){font-size:13px}.about-grid{grid-template-columns:1fr;gap:33px}.about h2{font-size:28px;margin-top:15px}.about-intro{font-size:13px;line-height:2;margin-top:17px}.skills{padding:0}.skill{gap:19px;padding-block:18px}.skill h3{font-size:17px}.skill p{font-size:13px}.contact{grid-template-columns:1fr;gap:20px}.contact h2{font-size:32px}.contact-links{padding-top:0}.contact-links a>span{font-size:21px}.footer{font-size:10px;padding-block:20px;gap:15px}.footer>span:nth-child(2){display:none}dialog{width:calc(100% - 20px);max-height:94dvh}.dialog-inner{padding:26px 17px}.dialog-close{right:12px;top:12px;width:33px;height:33px;font-size:23px}.dialog-head h2{font-size:24px}.dialog-description{font-size:13px}.dialog-head .eyebrow{font-size:9px}.dialog-video{max-height:62vh}.preview-label{font-size:11px}.still-grid{gap:6px}.still-button{aspect-ratio:1}.dialog-facts span{font-size:11px}}
.hero-description,.project-desc,.job-description,.about-intro,.skill p,.dialog-description{font-size:16px}.hero-meta,.project-type,.job-role,.education p,.contact>div>p:last-child{font-size:14px}.header nav{font-size:14px}.hero-art{min-height:550px}@media(max-width:760px){.hero-art{min-height:0}.hero-meta{font-size:12px}.project-type{font-size:12px}.project-info{gap:12px}}
.project-title{font-size:21px;font-weight:550;line-height:1.5}.project-desc{display:block}.project-open{display:inline-flex;align-items:center;gap:24px;font-size:13px;margin-top:15px;color:var(--accent)}.project-featured{grid-column:1/-1}.project-featured .project-cover{aspect-ratio:2.35}.project-featured .project-desc{max-width:840px}.project-cover img,.hero-art>img{filter:none}.project-cover{aspect-ratio:16/10}.cover-double{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#21201e}.cover-double>img{width:100%;height:100%;object-fit:cover;object-position:center top}.cover-double>img:nth-of-type(2){object-position:center center}.project-index,.project-format{font-size:12px;letter-spacing:.8px}.work-end{margin-top:35px;border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:14px}.work-end a{color:var(--ink)}.work-end a:hover{color:var(--accent)}.work-end a>span{margin-left:16px}.visual-focus{border-top:1px solid var(--line);margin-top:26px;padding-top:23px}.visual-focus h3{font-size:15px;font-weight:550;margin-bottom:10px}.visual-focus p{font-size:16px;color:#bbb5ac;line-height:1.9}.preview-info{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:9px}.preview-info .preview-label{margin:0}.external-work{font-size:13px;color:var(--accent);white-space:nowrap}.source-note{font-size:12px;color:#a49d94;margin-top:7px}.still-figure{margin:0;min-width:0}.still-button{width:100%;aspect-ratio:16/10;display:block}.still-button img{object-fit:contain}.still-figure figcaption{margin-top:11px}.still-figure figcaption>span{font:11px/1.6 Arial;color:var(--accent);letter-spacing:1px}.still-figure strong{display:block;font-size:14px;font-weight:500;margin-block:4px}.still-figure p{font-size:13px;color:var(--muted);line-height:1.8}.full-still-caption{margin-top:17px;font-size:14px;color:#bdb6ac;line-height:1.8}.full-still-caption>span{display:block;color:var(--accent);font:12px/1.7 Arial;margin-bottom:5px}
@media(max-width:760px){.project-featured .project-cover{aspect-ratio:16/10}.project-title{font-size:19px}.project-index,.project-format{font-size:10px;padding:4px 7px}.project-index{left:12px}.project-format{right:12px}.work-end{font-size:12px}.work-end a>span{margin-left:6px}.still-grid{grid-template-columns:1fr;gap:24px}.still-button{aspect-ratio:16/10}.still-figure figcaption{margin-top:10px}.still-figure p{font-size:14px}.visual-focus p{font-size:16px}.preview-info{flex-wrap:wrap;gap:8px}.cover-double{gap:3px}.project-open{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.personal-poster{margin:0;align-self:center;width:100%;overflow:hidden;border-radius:3px;background:#eee9df}.personal-poster img{display:block;width:100%;height:auto;object-fit:contain}


.personal-poster picture{display:block}.project-cover>picture{display:block;width:100%;height:100%;min-width:0}.cover-double>picture{width:100%;height:100%}.still-button picture{display:block;height:100%}.category-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.category-nav a{border:1px solid var(--line);padding:6px 12px;border-radius:3px;color:var(--muted);font-size:13px}.category-nav a[aria-current="page"]{border-color:var(--accent);color:var(--accent)}.empty-note a{color:var(--accent);text-decoration:underline}.empty-note{grid-column:1/-1}dialog:not(:modal)[open]{position:fixed;inset:5vh 0;z-index:100;overflow:auto;box-shadow:0 0 0 100vmax #000b}
@supports not (height:1dvh){dialog{max-height:90vh}}
