@font-face{font-family:Naomi Sans;src:url('assets/NaomiSans.otf') format('opentype');font-display:swap}@font-face{font-family:Naomi Serif;src:url('assets/NaomiSerifItalic.otf') format('opentype');font-display:swap;font-style:italic}
:root{--paper:#111;--ink:#f5f5f2;--muted:#aaa;--line:#343434;--orange:#fff;--pad:4vw;--sans:'Naomi Sans',Arial,sans-serif;--serif:'Naomi Serif',Georgia,serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button,a,input,textarea,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid white;outline-offset:5px}h1,h2,h3,h4,p{margin:0;font-weight:400}img{max-width:100%}em{font-family:var(--serif);font-weight:400}button:disabled{cursor:default}main:focus{outline:none}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:12px;left:12px;z-index:100;background:white;color:black;padding:10px 15px}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);height:94px;border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--paper)}.wordmark{display:flex;align-items:center;line-height:1}.wordmark img{display:block;width:auto;height:52px}.menu-toggle{display:none}nav{display:flex;gap:36px;align-items:center}nav a{font-size:15px;color:var(--muted);min-height:44px;display:flex;align-items:center;gap:5px}nav a:hover,nav a[aria-current=page]{color:white}nav sup{font-size:11px;margin-top:-10px}.site-footer{margin:0 var(--pad);border-top:1px solid var(--line);padding:28px 0;display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:12px}.footer-name{font-size:14px;color:white}.footer-name span{font-size:12px;margin-left:12px}.footer-dot{padding:0 6px}.work-page{padding:36px var(--pad) 70px;max-width:1900px;margin:auto}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:54px}.project-card{display:block;min-width:0}.project-art{width:100%;aspect-ratio:1.5;display:grid;place-items:center;background:#090909;overflow:hidden}.project-art img{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .2s}.project-card:hover .project-art img{opacity:.85}.card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:16px}.card-heading h2{font-size:24px;line-height:1.25;letter-spacing:-.45px}.card-heading>span{font-size:13px;color:var(--muted)}.project-card>p{font-size:13px;color:var(--muted);margin-top:6px}.project-toolbar{display:flex;justify-content:space-between;gap:30px;margin-bottom:30px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{padding:8px 13px;border:1px solid transparent;color:var(--muted);font-size:14px;min-height:44px}.filter.active{color:white;border-color:#666}.view-switch{display:flex;gap:15px}.view-switch button{color:var(--muted);font-size:14px;min-height:44px}.view-switch button[aria-pressed=true]{color:white;text-decoration:underline;text-underline-offset:7px}.media-footnote{font-size:12px;color:var(--muted);margin-top:35px}.list-view{display:block}.list-view .project-card{display:grid;grid-template-columns:160px 1fr;gap:0 30px;padding:24px 0;border-bottom:1px solid var(--line)}.list-view .project-art{grid-row:1/3;aspect-ratio:1.5}.list-view .card-heading{margin:8px 0 0}.list-view .project-card>p{margin-top:0;align-self:start}
.case-hero,.case-story,.next-project{max-width:1600px;margin:auto;padding-left:var(--pad);padding-right:var(--pad)}.case-hero{padding-top:28px}.back-link{font-size:14px;color:var(--muted);display:inline-flex;min-height:44px;align-items:center}.back-link:hover{color:white}.case-heading{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:end;margin:30px 0 44px}.eyebrow{font-size:12px;color:var(--muted);letter-spacing:.4px}.case-heading h1{font-size:clamp(40px,4.6vw,72px);line-height:1.1;letter-spacing:-1.6px;margin-top:10px}.case-heading>p{font-size:17px;color:#c5c5c5;line-height:1.65;max-width:560px}.project-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}.project-photo-grid figure{margin:0;min-width:0}.project-photo-grid button{display:block;width:100%;background:#090909}.project-photo-grid img{width:100%;height:auto;display:block}.project-photo-grid figcaption{font-size:12px;color:var(--muted);margin-top:10px}.project-film{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:40px;padding:0}.project-film summary{cursor:pointer;font-size:16px;padding:20px 0;min-height:60px}.film-stage{aspect-ratio:16/9;background:#070707;margin:0 0 16px;max-width:1000px}.film-play{width:100%;height:100%;font-size:24px;text-decoration:underline;text-underline-offset:8px}.film-stage iframe{display:block;width:100%;height:100%;border:0}.project-film>.text-link{display:inline-flex;margin-bottom:20px;font-size:14px}.text-link{min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:6px;display:inline-flex}.case-story{padding-top:56px;padding-bottom:50px}.chapter-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}.chapter-tabs button{flex:0 0 auto;color:var(--muted);font-size:14px;min-height:56px;border-bottom:2px solid transparent;padding:12px 0;white-space:nowrap}.chapter-tabs button[aria-selected=true]{color:white;border-color:white}.chapter-content{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:36px 0 22px;min-height:245px}.chapter-content h2{font-size:30px;line-height:1.3;letter-spacing:-.5px;max-width:480px}.chapter-prose p{font-size:16px;color:#c5c5c5;line-height:1.7;margin-bottom:18px}.chapter-pagination{display:flex;justify-content:space-between;align-items:center;gap:20px}.chapter-pagination>span{font-size:12px;color:var(--muted)}.chapter-pagination button{font-size:14px}.next-project{padding-top:30px;padding-bottom:65px}.project-navigation{border-top:1px solid var(--line);padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.project-navigation>a:last-child{text-align:right}.project-navigation span{font-size:12px;color:var(--muted)}.project-navigation h2{font-size:25px;margin-top:8px;letter-spacing:-.5px;line-height:1.25}.project-navigation a:hover h2{text-decoration:underline;text-underline-offset:7px}
.about-intro,.values-section,.about-practice{max-width:1400px;margin:auto;padding:55px var(--pad)}.about-title{margin:25px 0 0}.about-title h1{font-size:clamp(36px,4.5vw,64px);line-height:1.15;letter-spacing:-1.4px}.monogram-art{display:none}.about-bio{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;margin-top:55px}.about-bio h2{font-size:28px}.about-bio p{font-size:17px;line-height:1.7;color:#c5c5c5;margin-bottom:20px}.values-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.section-heading h2{font-size:35px;letter-spacing:-.5px;margin-top:12px;line-height:1.25}.small-note{font-size:13px;color:var(--muted)}.value-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}.value-buttons button{text-align:left;padding:22px;font-size:32px;line-height:1.25}.value-buttons button+button{border-left:1px solid var(--line)}.value-buttons button span{display:block;font-size:12px;color:var(--muted);margin-bottom:16px}.value-buttons button i{display:none}.value-buttons button.active{background:#eee;color:#111}.value-buttons button.active span{color:#555}.value-story{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;margin-top:30px;min-height:160px}.value-story h3{font-size:26px;line-height:1.35}.value-story p{font-size:16px;line-height:1.7;color:#c5c5c5}.about-practice{display:grid;grid-template-columns:1fr 2fr;gap:30px}.about-practice h2{font-size:30px;line-height:1.4}.about-practice p:not(.eyebrow){max-width:560px;margin:20px 0;font-size:16px;color:#c5c5c5;line-height:1.7}.pill-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #777;min-height:48px;padding:12px 24px;font-size:15px;color:white}.pill-button:hover{background:white;color:#111}.contact-page{max-width:1400px;margin:auto;padding:55px var(--pad) 80px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-copy h1{font-size:64px;line-height:1.08;letter-spacing:-2px;margin:28px 0 24px}.contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#c5c5c5}.contact-note{margin-top:34px;font-size:14px;line-height:1.7;max-width:400px}.contact-note strong{font-weight:400}.contact-note p{color:var(--muted);margin-top:10px}.contact-orbit,.tiny-dot{display:none}.brief-panel{padding:28px;background:#1a1a1a}.brief-panel form{margin-top:25px}.brief-panel label{display:block;font-size:14px;margin-bottom:20px}.brief-panel input,.brief-panel textarea,.brief-panel select{display:block;width:100%;border:0;border-bottom:1px solid #666;background:transparent;font-size:16px;padding:12px 0;margin-top:6px}.brief-panel textarea{resize:vertical;min-height:125px}.brief-panel input::placeholder,.brief-panel textarea::placeholder{color:#919191}.brief-panel select option{background:#1a1a1a}.brief-panel .pill-button{width:100%}.form-note{font-size:12px;line-height:1.6;color:var(--muted);margin-top:15px}#brief-result{margin-top:25px}#brief-preview{font:15px/1.7 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0;background:#111;padding:20px}.brief-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.brief-actions .pill-button{width:auto}.edit-brief{margin-top:15px}.contact-copy .eyebrow{max-width:350px}
dialog{border:1px solid #444;background:#111;color:white;padding:60px 25px 25px;width:min(1150px,96vw);max-height:95vh}dialog::backdrop{background:#000d}dialog>img{width:100%;max-height:70vh;object-fit:contain;display:block}dialog h2{font-size:20px;margin-top:20px}.dialog-caption{color:var(--muted);font-size:13px;margin-top:8px}.dialog-close{position:absolute;top:10px;right:25px;min-height:44px;font-size:14px}.original-image{font-size:14px;margin-top:15px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:15px 22px;background:#eee;color:#111;font-size:14px;z-index:100;max-width:90vw;opacity:0;pointer-events:none}#toast.visible{opacity:1}.noscript{padding:40px}
@media(min-width:1800px){:root{--pad:max(4vw,calc((100vw - 1800px)/2))}}
@media(max-width:760px){:root{--pad:5vw}.site-header{height:78px}.wordmark{font-size:24px}nav{gap:22px}nav a{font-size:14px}.work-page{padding-top:24px;padding-bottom:45px}.project-grid{grid-template-columns:1fr;gap:38px}.card-heading h2{font-size:23px}.card-heading{margin-top:12px}.project-toolbar{flex-direction:column;gap:15px}.filters{gap:4px}.filter{font-size:13px;padding:7px 10px}.view-switch{align-self:end}.list-view .project-card{grid-template-columns:100px 1fr;gap:0 18px;padding:20px 0}.list-view .card-heading{margin-top:0}.list-view .card-heading h2{font-size:20px}.list-view .project-card>p{font-size:12px;margin-top:8px}.case-heading{grid-template-columns:1fr;gap:22px;margin:20px 0 30px}.case-heading h1{font-size:43px;letter-spacing:-1px}.case-heading>p{font-size:16px}.project-photo-grid{grid-template-columns:1fr;gap:28px}.case-story{padding-top:35px;padding-bottom:30px}.chapter-tabs{gap:23px}.chapter-content{grid-template-columns:1fr;gap:24px;min-height:0;padding-top:30px}.chapter-content h2{font-size:27px}.project-navigation h2{font-size:23px}.next-project{padding-bottom:45px}.film-play{font-size:20px}.about-intro,.values-section,.about-practice{padding-top:35px;padding-bottom:35px}.about-title h1{font-size:40px;letter-spacing:-.8px}.about-bio,.value-story,.about-practice{grid-template-columns:1fr;gap:24px}.about-bio{margin-top:35px}.about-bio p{font-size:16px}.section-heading h2{font-size:30px}.small-note{max-width:110px}.value-buttons button{font-size:25px;padding:16px 10px}.value-buttons button span{font-size:12px}.value-story{min-height:190px}.contact-page{grid-template-columns:1fr;gap:35px;padding-top:35px;padding-bottom:45px}.contact-copy h1{font-size:52px;letter-spacing:-1.3px}.brief-panel{padding:22px}.site-footer{padding:22px 0;gap:20px}.footer-name span{display:none}.site-footer>span{font-size:12px;text-align:right}}
@media(max-width:480px){.menu-toggle{display:flex;gap:12px;align-items:center;min-height:44px;font-size:14px}.menu-toggle>span{font-size:22px}.menu-toggle[aria-expanded=true]>span{transform:rotate(45deg)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:#111;border-bottom:1px solid #444;padding:15px var(--pad) 20px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{font-size:20px;min-height:50px}nav sup{font-size:12px}.case-heading h1{font-size:40px}.value-buttons button{font-size:23px;padding:14px 8px}.section-heading{align-items:start}.chapter-pagination button{max-width:70%;text-align:right}.project-navigation h2{font-size:21px}.project-art{aspect-ratio:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Flat image-led flow: short introduction, works, direct project pages. */
:root{--paper:#080808;--pad:2vw}.site-header{height:80px;border-bottom:0;background:var(--paper)}.work-page{padding-top:8px}.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:12px 0 36px;align-items:start}.home-intro h1{font-size:22px;line-height:1.5;letter-spacing:-.4px}.home-intro p{font-size:16px;line-height:1.6;max-width:570px;color:#d0d0d0}.project-grid{gap:30px 16px}.project-grid>.project-card:first-child,.project-grid>.project-card:last-child{grid-column:1/-1}.project-art{aspect-ratio:auto;background:none}.project-art img{width:100%;height:auto;object-fit:contain}.card-heading{margin:10px 0 0;min-height:40px}.card-heading h2{font-size:21px}.project-card>p{display:none}.case-hero{padding-top:8px}.case-heading{margin:15px 0 32px}.case-heading h1{font-size:38px;letter-spacing:-.9px}.case-heading>p{font-size:16px}.project-photo-grid{gap:20px 16px}.project-photo-grid figure:first-child{grid-column:1/-1}.project-photo-grid figure:first-child img{max-height:85vh;object-fit:contain}.project-photo-grid figure:last-child{grid-column:1/-1}.project-photo-grid figure:last-child img{max-height:90vh;object-fit:contain}.continuous-story{display:grid;grid-template-columns:1fr 1fr;gap:24px 6%;max-width:1250px;margin:auto}.continuous-story>section{min-width:0}.continuous-story h2{font-size:14px;color:#aaa;margin:0 0 12px}.continuous-story p{font-size:16px;line-height:1.7;color:#d0d0d0;margin:0 0 16px}.continuous-story>section:last-child{grid-column:1/-1;max-width:900px}.project-film{display:flex;gap:28px;align-items:baseline;flex-wrap:wrap;border:0;margin-top:20px;padding:0}.film-stage{display:block;aspect-ratio:auto;max-width:none;margin:0;background:none}.film-play{font-size:15px;min-height:44px;text-align:left}.film-stage.is-playing{width:100%;aspect-ratio:16/9;background:black}.film-stage.is-playing iframe{width:100%;height:100%}.project-film>.text-link{margin:0;font-size:14px;color:var(--muted)}.next-project{padding-top:0}.case-story{padding-top:36px}.back-link{font-size:13px}.project-navigation h2{font-size:21px}.site-footer{margin-top:10px}
@media(max-width:760px){:root{--pad:4vw}.home-intro{grid-template-columns:1fr;gap:8px;padding:6px 0 25px}.home-intro h1{font-size:20px}.home-intro p{font-size:16px}.project-grid{gap:28px;grid-template-columns:1fr}.project-grid>.project-card{grid-column:auto!important}.card-heading h2{font-size:21px}.site-header{height:76px}.wordmark img{height:42px}.project-photo-grid{grid-template-columns:1fr;gap:24px}.project-photo-grid figure{grid-column:auto!important}.project-photo-grid figure:first-child img,.project-photo-grid figure:last-child img{max-height:none}.continuous-story{grid-template-columns:1fr;gap:12px}.continuous-story>section:last-child{grid-column:auto}.case-heading h1{font-size:34px}.case-heading{gap:18px}.case-story{padding-top:30px}.project-film{gap:20px}.film-play{font-size:15px}}
@media(max-width:480px){nav{top:76px;background:#080808}}
.home-intro{display:block}.home-intro p{max-width:780px;font-size:20px;line-height:1.5}.home-intro{padding-top:6px;padding-bottom:28px}@media(max-width:760px){.home-intro p{font-size:17px}.home-intro{padding-bottom:24px}}
.bilingual-about{display:flex;flex-direction:column;gap:48px;max-width:960px;margin-top:52px}.bilingual-about article{min-width:0}.bilingual-about article[lang="en"]{order:1}.bilingual-about article[lang="zh-CN"]{order:2;padding-top:48px;border-top:1px solid var(--line)}.bilingual-about h2{font-size:13px;color:var(--muted);margin-bottom:22px}.bilingual-about p{font-size:16px;line-height:1.8;color:#d0d0d0;margin-bottom:20px}.bilingual-about article[lang="zh-CN"] p{line-height:1.95}@media(max-width:760px){.bilingual-about{gap:34px;margin-top:36px}.bilingual-about article[lang="zh-CN"]{padding-top:34px}.bilingual-about p{font-size:15px}.bilingual-about article[lang="zh-CN"] p{line-height:1.9}}
.project-grid>.project-card:first-child,.project-grid>.project-card:last-child{grid-column:auto}.project-art{aspect-ratio:3/2;background:#090909}.project-art img{width:100%;height:100%;object-fit:cover;object-position:center}@media(max-width:760px){.project-art{aspect-ratio:3/2}}
.local-project-video{margin-top:36px}.local-project-video video{display:block;width:100%;max-height:85vh;background:#000}.local-project-video p{font-size:12px;color:var(--muted);margin-top:10px}

/* A consistent editorial grid: portrait works align with two landscape rows. */
@media(min-width:761px){.project-photo-grid{grid-auto-flow:dense;grid-auto-rows:clamp(300px,31vw,500px);align-items:stretch}.project-photo-grid figure,.project-photo-grid figure:first-child,.project-photo-grid figure:last-child{grid-column:auto;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%}.project-photo-grid figure.portrait{grid-row:span 2}.project-photo-grid button{height:100%;overflow:hidden}.project-photo-grid img,.project-photo-grid figure:first-child img,.project-photo-grid figure:last-child img{width:100%;height:100%;max-height:none;object-fit:cover}.project-photo-grid figcaption{min-height:18px}}
@media(max-width:760px){.project-photo-grid figure{display:block;height:auto}.project-photo-grid button{height:auto}.project-photo-grid img{width:100%;height:auto;object-fit:contain}}
.case-summary>p{font-size:16px;color:#c5c5c5;line-height:1.65;max-width:560px}.project-credits{max-width:1600px;margin:0 auto;padding:0 var(--pad) 44px}.project-credits>.eyebrow{border-top:1px solid var(--line);padding-top:18px;margin-bottom:10px}.project-credits>div>p{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:24px;font-size:12px;line-height:1.55;color:#e2e2df;padding:5px 0}.project-credits span{color:var(--muted)}@media(max-width:760px){.project-credits{padding-bottom:32px}.project-credits>div>p{grid-template-columns:1fr;gap:2px}}
.installation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.installation-grid figure,.polaroid-strip figure{margin:0;min-width:0}.installation-grid button,.polaroid-strip button{display:block;width:100%;background:#090909;overflow:hidden}.installation-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.polaroid-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.polaroid-strip img{display:block;width:100%;height:auto}.installation-grid figcaption,.polaroid-strip figcaption{font-size:12px;color:var(--muted);margin-top:10px}@media(max-width:760px){.installation-grid{grid-template-columns:1fr;gap:24px}.polaroid-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}}
.video-meta{display:flex;justify-content:space-between;align-items:center;gap:20px}.video-meta .text-link{font-size:12px;color:var(--muted)}.contact-links{border-top:1px solid var(--line);margin-top:38px;max-width:560px}.contact-links a{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}.contact-links a span{font-size:12px;color:var(--muted)}.contact-links a:hover{color:#aaa}@media(max-width:760px){.contact-links{margin-top:28px}.contact-links a{grid-template-columns:90px 1fr}}
