@charset "UTF-8";
:root{--ink:#18191c;--muted:#64656b;--paper:#fafaf8;--line:#dededb;--blue:#153dff;--blue-soft:#eaf0ff;--font:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.75}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.25;letter-spacing:-.035em}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.mono,.eyebrow,.header-date,.art-topline,.art-bottomline,.cover-label,.gallery-item>span{font-family:Arial,var(--font);font-variant-numeric:tabular-nums}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:600}.skip-link{position:fixed;top:-80px;left:16px;background:var(--blue);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:10px}
.site-header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 48px;background:rgba(250,250,248,.97);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-weight:700;line-height:1.3;letter-spacing:.04em}.brand-mark{background:var(--blue);color:#fff;border-radius:50%;width:42px;height:42px;font:bold 34px Georgia,serif;text-align:center;line-height:36px;letter-spacing:-4px;padding-right:4px}.brand-note{display:block;font-size:10px;font-weight:500;letter-spacing:.16em;margin-top:4px}.site-header nav{display:flex;gap:35px;font-size:14px}.site-header nav a{position:relative;padding:9px 0}.site-header nav a:after{content:"";height:2px;position:absolute;left:0;right:100%;bottom:0;background:var(--blue);transition:right .2s}.site-header nav a:hover:after{right:0}.header-date{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:72px;align-items:center;padding:68px 0 50px}.hero-copy>.eyebrow{display:flex;gap:11px;align-items:center;color:var(--muted)}.short-line{width:28px;height:2px;background:var(--blue)}h1{font-size:clamp(48px,5.9vw,79px);line-height:1.26;letter-spacing:-.065em;font-weight:750;margin:26px 0}h1>span{color:var(--blue)}.hero-description{max-width:460px;font-size:16px;color:#54555c;line-height:1.95}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:14px 22px;font-size:14px;font-weight:600;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--blue);color:white;margin-top:30px}.button.primary:hover{background:#092ac7}.button span{font-size:23px;line-height:1}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#30333d}.hero-foot{display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:21px;margin-top:49px}.hero-foot .mono{font-size:10px;letter-spacing:.04em;white-space:nowrap}.hero-art{background:#e9edee;position:relative;min-height:470px;padding:22px 24px;overflow:hidden}.art-topline,.art-bottomline{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;position:relative;z-index:2}.art-topline{border-bottom:1px solid #c8cece;padding-bottom:14px}.art-bottomline{border-top:1px solid #c8cece;padding-top:14px;margin-top:18px;font-size:11px;letter-spacing:.02em}.art-bottomline a{border-bottom:1px solid}.cover-stack{height:345px;position:relative;margin-top:22px}.cover-stack img{height:320px;width:214px;object-fit:cover;position:absolute;box-shadow:0 12px 25px #1b203329}.cover-back{left:6%;top:4px;transform:rotate(-11deg)}.cover-front{right:2%;top:20px;transform:rotate(9deg)}.art-stamp{position:absolute;left:9px;bottom:8px;width:81px;height:81px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-content:center;font:bold 12px/1.4 Arial,sans-serif;text-align:center;transform:rotate(-12deg);border:5px solid #e9edee;letter-spacing:.08em}
.results{display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:27px 0;margin-bottom:5px}.results>div{border-right:1px solid var(--line);padding-left:34px}.results>div:first-child{padding-left:0}.results strong{font-size:45px;letter-spacing:-.05em;line-height:1.1;font-weight:550;font-family:Arial,sans-serif}.results strong>span{font-size:24px;color:var(--blue);vertical-align:top}.results div p{font-size:12px;color:var(--muted);margin-top:10px}.results-note{align-self:center;padding-left:38px;font-size:14px;color:var(--muted)}
.section{padding-top:95px;padding-bottom:25px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-head .eyebrow{color:var(--blue);margin-bottom:16px}h2{font-size:clamp(30px,3.1vw,42px);line-height:1.4}.section-intro{font-size:14px;color:var(--muted);max-width:345px;line-height:1.9;padding-bottom:4px}.web-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.project-cover{display:block;position:relative;overflow:hidden;aspect-ratio:1.58;background:#111820}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.project-cover:hover img{transform:scale(1.035)}.project-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0006,transparent 40%);pointer-events:none}.cover-label{font-size:10px;letter-spacing:.09em;color:#fff;position:absolute;bottom:19px;left:21px;z-index:1}.cover-arrow{position:absolute;top:16px;right:17px;border-radius:50%;color:#fff;border:1px solid #ffffff88;width:37px;height:37px;text-align:center;line-height:33px;font-size:23px;z-index:1}.project-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.project-title-row h3{font-size:23px}.tag{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:3px 10px;white-space:nowrap}.project-card>p{font-size:14px;color:var(--muted);line-height:1.85;margin-top:13px;min-height:51px}.case-detail{border-top:1px solid var(--line);margin-top:21px}.case-detail summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:18px;padding:14px 0;font-size:13px;font-weight:550}.case-detail summary::-webkit-details-marker,.experience summary::-webkit-details-marker{display:none}.case-detail summary span{font-weight:400;font-size:20px;line-height:1}.case-detail[open] summary span{transform:rotate(45deg)}.detail-body{font-size:14px;padding:0 0 18px;color:#505159;line-height:1.9}.detail-body p+p{margin-top:12px}.detail-body p>b{display:block;color:var(--ink);margin-bottom:4px}.detail-body ol{padding-left:20px;margin-top:13px}.detail-body li{padding-left:3px;margin:10px 0}.case-result{border-left:2px solid var(--blue);padding-left:13px}.text-link{color:var(--blue);font-size:14px;display:inline-block;border:0;background:none;padding:0 0 4px;border-bottom:1px solid var(--blue);font-weight:550}.project-card>.text-link{margin-top:9px}
.writing-project{display:grid;grid-template-columns:1fr 1fr;background:#edf0f5;margin-top:62px}.writing-copy{padding:44px}.writing-copy .eyebrow{font-size:10px;color:#5f697b}.writing-copy h3{font-size:36px;margin:20px 0;line-height:1.35}.writing-copy>p:not(.eyebrow){font-size:14px;color:#565f6e;line-height:1.9}.mini-metrics{display:flex;gap:28px;margin:25px 0;font-size:12px;color:var(--muted)}.mini-metrics b{display:block;color:var(--ink);font-size:33px;font-weight:500;font-family:Arial,sans-serif;line-height:1.4}.writing-board{background:var(--blue);color:#fff;padding:31px 38px}.board-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.09em;border-bottom:1px solid #ffffff44;padding-bottom:18px}.workflow{margin:15px 0 21px;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px}.workflow li{padding:10px 0;display:flex;gap:13px}.workflow li>span{font-size:11px;opacity:.65;padding-top:4px}.workflow b{font-size:14px;font-weight:550}.workflow p{font-size:11px;opacity:.75;line-height:1.7;margin-top:5px;max-width:120px}.article-result{border-top:1px solid #ffffff44;padding-top:19px}.article-result>p{font-size:13px;line-height:1.7}.article-result strong{display:block;font:36px/1.8 Arial,sans-serif;letter-spacing:-.04em;margin-top:8px}.article-result strong span{font:12px var(--font);margin-left:6px;opacity:.8}.article-result i{font-size:21px;font-style:normal;opacity:.4;margin:0 9px}.article-result small{font-size:10px;opacity:.75;display:block}
.caption-project{display:grid;grid-template-columns:.9fr 1.3fr;gap:70px;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:39px 0;margin-top:60px}.caption-heading>.eyebrow{color:var(--muted);font-size:10px}.caption-heading h3{font-size:33px;margin:20px 0 13px;line-height:1.4}.caption-heading>p:not(.eyebrow){font-size:13px;color:var(--muted)}.caption-heading .button{margin-top:24px}.caption-heading small{display:block;font-size:10px;color:var(--muted);margin-top:12px}.caption-content{padding-top:35px}.caption-content>.lead{font-size:16px;line-height:1.95;color:#555762}.tool-flow{display:flex;flex-wrap:wrap;gap:11px;align-items:center;margin-top:26px;font-size:12px}.tool-flow span:nth-child(odd){background:var(--blue-soft);color:#153ac9;padding:10px 12px}.tool-flow span:nth-child(even){color:#9095a3}.caption-content .case-detail{margin-top:30px}
.visual-section{margin-top:78px;background:#17191d;color:#fff;padding:78px 0 61px}.visual-section .section-head .eyebrow{color:#8a9eff}.visual-section .section-intro{color:#b4b5bd}.visual-topline{display:flex;justify-content:space-between;border-top:1px solid #ffffff40;padding:17px 0 26px;color:#aaaeb9;font-size:12px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 20px}.gallery-item{display:block;border:none;padding:0;color:#fff;background:transparent;text-align:left;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:2/3;object-fit:cover;transition:filter .2s,transform .35s}.gallery-item:hover img{filter:brightness(1.07);transform:scale(1.015)}.gallery-item>span{display:block;font-size:10px;letter-spacing:.12em;margin-top:11px;color:#959aa7}.visual-note{font-size:11px;color:#8d929e;margin-top:30px}
.film-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:44px;align-items:start}.film-grid video{display:block;width:100%;background:#101114;border-radius:0}.film-landscape video{aspect-ratio:832/480}.film-vertical{display:grid;grid-template-columns:1fr;max-width:270px;justify-self:end}.film-vertical video{aspect-ratio:768/1344;max-height:445px;object-fit:contain}.film-info{display:flex;align-items:center;justify-content:space-between;padding-top:20px}.film-info .eyebrow{font-size:10px;color:var(--muted);margin-bottom:9px}.film-info h3{font-size:23px}.film-info>.mono{color:var(--muted);font-size:12px}.film-landscape>p{font-size:14px;color:var(--muted);margin-top:13px}
.book-section{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:85px;margin-top:80px;background:#eceeea;padding:38px 60px}.book-visual{position:relative;padding:18px 40px 18px 20px}.book-preview{background:none;border:0;padding:0;display:block;width:240px;max-width:100%;margin:auto;box-shadow:4px 8px 24px #262c3726;transition:transform .2s}.book-preview:hover{transform:translateY(-3px)}.book-preview img{width:100%;height:auto}.book-side-label{position:absolute;font:9px Arial,sans-serif;letter-spacing:.16em;writing-mode:vertical-rl;right:0;top:30px;color:#747a73}.book-copy .eyebrow{color:#596852;font-size:10px}.book-copy h2{font-size:34px;margin-top:19px}.book-subtitle{font-size:15px;margin:10px 0 21px}.book-copy>p:not(.eyebrow):not(.book-subtitle):not(.book-note){font-size:14px;color:#5f655c;line-height:1.9}.book-note{font-size:11px;color:#777d73;margin-top:19px}
.experience-list{border-top:1px solid var(--ink)}.experience{border-bottom:1px solid var(--line)}.experience summary{display:grid;grid-template-columns:150px 1fr 245px 25px;align-items:center;gap:25px;padding:27px 0;list-style:none;cursor:pointer}.experience-date{font:12px Arial,sans-serif;color:var(--muted)}.experience-title>b{font-size:18px;font-weight:550;display:block}.experience-title>span{font-size:12px;color:var(--muted);display:block;margin-top:7px}.experience-result{font-size:12px;text-align:right;color:#414851}.expand-mark{font-size:22px;text-align:right;color:var(--blue)}.experience[open] .expand-mark{transform:rotate(45deg)}.experience-body{max-width:760px;margin-left:175px;padding:0 20px 26px 0;font-size:14px;color:#5d6067;line-height:1.95}.experience-body p+p{margin-top:12px}
.site-footer{background:var(--blue);color:#fff;margin-top:80px;padding:50px 0}.footer-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.footer-name{font-size:38px;font-weight:600;letter-spacing:-.04em}.footer-name span{font-size:30px;margin-left:25px}.footer-inner p{font-size:12px;opacity:.75;margin-top:12px}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:22px}.footer-right a{font-size:13px;border-bottom:1px solid #ffffff77;padding-bottom:3px}.footer-right>span{font:10px Arial,sans-serif;letter-spacing:.13em;opacity:.7}
#lightbox{border:1px solid #ffffff33;padding:0;background:#181a1f;color:white;width:min(1000px,95vw);max-width:95vw;height:min(900px,94dvh);max-height:94dvh;overflow:hidden}#lightbox::backdrop{background:#05070bea;backdrop-filter:blur(7px)}.lightbox-top{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-bottom:1px solid #ffffff22;height:62px;gap:20px}.lightbox-top p{font-size:14px}.lightbox-top button{background:none;border:0;color:white;font-size:12px;white-space:nowrap}.lightbox-top button>span{font-size:26px;margin-left:12px}.lightbox-content{height:calc(100% - 102px);display:grid;grid-template-columns:52px 1fr 52px;align-items:center;padding:12px}.lightbox-content>img{width:100%;height:100%;min-height:0;object-fit:contain}.lightbox-content>button{background:#ffffff13;color:#fff;border:1px solid #ffffff30;width:38px;height:45px;font-size:22px}.lightbox-content>button[hidden]{visibility:hidden;display:block}.lightbox-help{font-size:10px;text-align:center;color:#a6acb8;height:40px;padding-top:7px}#lightbox button:focus-visible{outline-color:white}
@media(min-width:1500px){.site-header{padding-inline:max(48px,calc((100vw - 1320px)/2))}}
@media(max-width:1080px){.wrap{width:calc(100% - 64px)}.site-header{padding:0 32px}.header-date{display:none}.hero{gap:38px}.hero-art{min-height:425px;padding:19px}.cover-stack{height:309px}.cover-stack img{height:284px;width:190px}.cover-back{left:0}.cover-front{right:0}.hero-foot{display:block}.hero-foot .mono{display:none}.writing-copy{padding:32px}.writing-board{padding:28px}.workflow{gap:8px}.caption-project{gap:35px}.book-section{gap:30px;padding:35px}.experience summary{grid-template-columns:125px 1fr 180px 20px;gap:18px}.experience-body{margin-left:143px}}
@media(max-width:760px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 40px)}.site-header{height:76px;padding:0 20px}.brand{font-size:14px;gap:8px}.brand-mark{width:33px;height:33px;font-size:28px;line-height:27px}.brand-note{font-size:8px}.site-header nav{gap:18px;font-size:12px}.hero{grid-template-columns:1fr;padding:39px 0 31px;gap:32px}.hero-copy>.eyebrow{font-size:10px}h1{font-size:clamp(43px,9.8vw,64px);margin:22px 0 19px}.hero-description{font-size:14px;line-height:1.95;max-width:540px}.button.primary{margin-top:24px}.hero-foot{margin-top:27px;padding-top:15px;font-size:11px}.hero-art{min-height:420px;max-width:500px;width:100%;justify-self:center}.cover-stack{height:300px}.cover-stack img{height:286px;width:191px}.cover-back{left:12%}.cover-front{right:8%}.art-stamp{left:12%}.results{grid-template-columns:repeat(3,1fr);padding:24px 0}.results>div{padding-left:17px}.results>div:nth-child(3){border-right:0}.results strong{font-size:36px}.results strong>span{font-size:20px}.results div p{font-size:10px;max-width:88px}.results-note{display:none}.section{padding-top:60px;padding-bottom:0}.section-head{display:block;margin-bottom:27px}.section-head .eyebrow{font-size:10px;margin-bottom:14px}h2{font-size:30px;line-height:1.4}.section-intro{font-size:13px;margin-top:18px;max-width:none}.web-grid{grid-template-columns:1fr;gap:43px}.project-title-row h3{font-size:23px}.project-card>p{min-height:0;font-size:14px}.project-cover{aspect-ratio:1.6}.writing-project{grid-template-columns:1fr;margin-top:42px}.writing-copy{padding:30px 26px}.writing-copy h3{font-size:32px}.writing-board{padding:27px}.workflow{gap:14px}.workflow p{max-width:none}.caption-project{grid-template-columns:1fr;gap:0;margin-top:43px;padding:31px 0}.caption-heading h3{font-size:30px}.caption-content{padding-top:27px}.caption-content>.lead{font-size:14px}.tool-flow{gap:7px;font-size:10px}.tool-flow span:nth-child(odd){padding:9px}.visual-section{margin-top:60px;padding:52px 0 35px}.visual-topline{font-size:10px;gap:12px;align-items:center}.gallery{grid-template-columns:repeat(2,1fr);gap:24px 14px}.gallery-item>span{font-size:9px}.visual-note{font-size:10px}.film-grid{grid-template-columns:1fr;gap:35px}.film-vertical{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;width:100%}.film-vertical video{width:100%;max-height:none}.film-vertical .film-info{display:block;align-self:center}.film-vertical .film-info>.mono{display:block;margin-top:17px}.film-info h3{font-size:23px}.film-info .eyebrow{font-size:9px}.film-landscape>p{font-size:13px}.book-section{grid-template-columns:1fr;gap:28px;margin-top:55px;padding:28px}.book-visual{padding:0 35px 0 0}.book-preview{width:195px}.book-side-label{right:2px}.book-copy h2{font-size:30px}.book-copy .mini-metrics{margin:20px 0}.experience summary{grid-template-columns:1fr 22px;gap:8px;padding:23px 0}.experience-date{grid-column:1;font-size:11px}.experience-title{grid-column:1}.experience-title>b{font-size:18px}.experience-title>span{font-size:11px}.experience-result{grid-column:1;text-align:left;font-size:11px;color:var(--blue);margin-top:3px}.expand-mark{grid-column:2;grid-row:1 / 4;align-self:center}.experience-body{margin-left:0;font-size:14px;padding-right:0}.site-footer{margin-top:54px;padding:36px 0}.footer-name{font-size:31px}.footer-inner p{font-size:10px}.footer-right{gap:15px}.footer-right a{font-size:12px}.footer-right>span{font-size:8px}.lightbox-top{padding:10px 14px}.lightbox-top p{font-size:12px}.lightbox-content{grid-template-columns:30px 1fr 30px;padding:6px}.lightbox-content>button{width:28px;height:40px;font-size:18px}.lightbox-help{font-size:10px}}
@media(max-width:390px){.site-header nav{gap:12px}.brand-note{display:none}.hero-art{min-height:385px}.cover-stack{height:266px}.cover-stack img{height:253px;width:169px}.cover-back{left:6%}.cover-front{right:2%}.art-stamp{left:0;bottom:0}.project-title-row{align-items:flex-start;flex-wrap:wrap}.article-result strong{font-size:31px}.footer-inner{align-items:flex-start}.footer-name{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Reading and interaction refinements. */
.hero h1{font-size:clamp(54px,6vw,80px);line-height:1.35}.hero h1>span{font-size:clamp(31px,3.7vw,49px);letter-spacing:-.045em}.hero-portrait{margin:0;max-width:430px;width:100%;justify-self:end}.hero-portrait>img{width:100%;aspect-ratio:1122/1402;object-fit:cover}.hero-portrait figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:13px;color:var(--muted);font-size:11px}.hero-portrait figcaption>span:first-child{font:11px/1.8 Arial,sans-serif;letter-spacing:.12em}
@media(max-width:760px){.hero-portrait{max-width:400px;justify-self:center}.hero h1{margin:20px 0}.hero h1>span{font-size:clamp(31px,8vw,43px)}}
.workflow li>span,.workflow p,.article-result small,.footer-inner p,.footer-right>span{opacity:.87}
.book-note,.book-side-label{color:#62685f}
.visual-section button:focus-visible{outline-color:#fff}
.lightbox-bottom{height:40px;display:flex;justify-content:center;gap:24px;align-items:center}
.lightbox-bottom .lightbox-help{height:auto;padding:0}
#open-original{font-size:11px;border-bottom:1px solid #959ba7;white-space:nowrap}
#lightbox.book-mode .lightbox-content{grid-template-columns:1fr}
#lightbox.book-mode .lightbox-content>button{display:none}
@media(max-width:760px){.film-vertical{display:block;max-width:320px;justify-self:center}.film-vertical .film-info{display:flex}.film-vertical .film-info>.mono{margin-top:0}.lightbox-bottom{gap:15px}}
