/* An editorial field journal: warm paper, forest ink, and real research materials. */
:root{--paper:#f7f5ef;--ink:#243e34;--body:#424c45;--muted:#60695f;--line:#d8dccf;--sage:#e8ecdf;--ochre:#8a562f;--white:#fffef9;--serif:Georgia,'Times New Roman',serif;--sans:'Avenir Next',Avenir,'Trebuchet MS',sans-serif;--width:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--body);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{color:var(--ochre)}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{color:var(--ink);font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.045em;line-height:1.09}h1{font-size:clamp(46px,5.6vw,80px)}h2{font-size:clamp(34px,3.7vw,52px)}h3{font-size:24px;line-height:1.3}p+p{margin-top:18px}em{font-weight:400}::selection{background:#d6dfc5;color:#20372f}:focus-visible{outline:3px solid #9a5b2e;outline-offset:5px}[hidden]{display:none!important}.wrap{max-width:var(--width);width:calc(100% - 112px);margin-inline:auto}.skip{position:fixed;left:20px;top:-80px;background:var(--ink);color:white;padding:12px 20px;z-index:100}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:20;background:rgba(247,245,239,.97);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:17px;font-weight:600;letter-spacing:-.02em}.brand-mark{width:39px;height:39px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:19px;letter-spacing:-.1em;padding-right:3px}.brand .chinese{font-weight:400;color:var(--muted);font-size:13px;letter-spacing:.1em;margin-left:6px}.nav{display:flex;gap:30px;align-items:center}.nav a{font-size:13px;text-decoration:none;padding:12px 0;position:relative}.nav a[aria-current=page]:after{content:'';height:2px;background:var(--ink);position:absolute;left:0;right:0;bottom:6px}.nav .contact-link{border:1px solid var(--line);padding:9px 15px}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:9px 14px;min-height:44px;font-size:13px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:20px}.eyebrow .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#748052;margin-right:9px}.hero{display:grid;grid-template-columns:1fr 1.02fr;gap:68px;align-items:center;padding:76px 0 70px}.hero h1{max-width:650px;font-size:clamp(45px,5.3vw,76px)}.hero h1 em{color:#6d7754}.hero .intro{max-width:460px;margin-top:25px;font-size:15px;line-height:1.8}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:var(--ink);color:var(--paper);min-height:48px;padding:12px 22px;text-decoration:none;font-size:13px;border:1px solid var(--ink)}.button:hover{background:#354e40;color:white}.text-link{display:inline-flex;gap:24px;align-items:center;font-size:13px;text-decoration:none;border-bottom:1px solid var(--ink);padding:10px 0}.arrow{font-family:var(--sans);transition:transform .2s}.text-link:hover .arrow,.project-link:hover .arrow{transform:translate(3px,-3px)}.hero-art{position:relative;padding:12px 8px 35px 0}.hero-art .main-photo{width:100%;aspect-ratio:1.16;object-fit:cover;object-position:50% 60%;border-radius:1px}.hero-art:before{content:'';position:absolute;inset:0 20px 45px -12px;background:#e2e5d6;z-index:-1;transform:rotate(-3deg)}.hero-caption{margin-top:14px;font-size:11px;display:flex;justify-content:space-between;gap:10px;color:var(--muted)}.hero-stamp{position:absolute;bottom:4px;right:-18px;background:var(--paper);border:1px solid var(--line);width:148px;height:148px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(8deg)}.hero-stamp svg{width:44px;height:44px;stroke:var(--ink);fill:none;stroke-width:1.4}.hero-stamp span{font-size:9px;letter-spacing:.13em;text-transform:uppercase}.discipline-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;border-block:1px solid var(--line);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.discipline-bar .small-flower{font-size:20px;color:var(--ochre)}.section{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.section-head h2{max-width:690px}.section-head .text-link{flex-shrink:0}.section-head .eyebrow{margin-bottom:12px}.phd-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:46px}.phd-intro>p{max-width:530px;font-size:17px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project-link{text-decoration:none;display:block}.project-link .image-wrap{overflow:hidden;background:#ebece4}.project-link img{width:100%;aspect-ratio:1.45;object-fit:cover;transition:transform .5s}.project-link:hover img{transform:scale(1.025)}.project-link .contain{object-fit:contain;padding:15px;background:#fdfcf6}.project-number{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:19px 0 7px;display:flex;justify-content:space-between;gap:10px}.project-link h3{font-family:var(--serif);font-size:29px;letter-spacing:-.035em;display:flex;justify-content:space-between;gap:15px}.project-link p{font-size:13px;line-height:1.7;margin-top:11px;color:var(--body)}.feature-band{background:var(--sage);padding:65px 0}.feature{display:grid;grid-template-columns:1.12fr 1fr;gap:65px;align-items:center}.feature-photos{position:relative;padding:0 45px 40px 0}.feature-photos>img{width:100%;aspect-ratio:1.3;object-fit:cover}.feature-photos .inset{position:absolute;right:0;bottom:0;width:29%;max-height:78%;object-fit:cover;border:7px solid var(--paper);box-shadow:0 3px 15px #243e3410;transform:rotate(5deg)}.feature h2{font-size:clamp(37px,4vw,59px)}.feature p{margin-top:22px;max-width:460px;font-size:15px}.mini-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:10px;letter-spacing:.09em;text-transform:uppercase;margin-top:26px;color:var(--muted)}.selected-list{border-top:1px solid var(--line)}.selected-paper{display:grid;grid-template-columns:125px 1fr 38px;gap:30px;padding:26px 0;border-bottom:1px solid var(--line);text-decoration:none}.selected-paper .year{font-size:12px;color:var(--muted);padding-top:6px}.selected-paper h3{font:400 23px/1.4 var(--serif);letter-spacing:-.018em;max-width:850px}.selected-paper p{font-size:12px;margin-top:7px;color:var(--muted)}.selected-paper .arrow{font-size:24px}.practice-teaser{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center;padding:55px;background:#edeee4}.practice-teaser img{width:100%;max-height:330px;object-fit:contain;mix-blend-mode:multiply}.practice-teaser p{margin-top:22px;font-size:14px}.updates{display:grid;grid-template-columns:1fr 2fr;gap:50px}.update-row{display:grid;grid-template-columns:90px 1fr;gap:25px;border-top:1px solid var(--line);padding:18px 0;font-size:14px}.update-row time{font-size:11px;color:var(--muted)}.site-footer{margin-top:35px;border-top:1px solid var(--line);padding:55px 0 23px}.footer-main{display:flex;align-items:end;justify-content:space-between;gap:30px}.footer-main h2{font-size:42px}.footer-main p{font-size:13px;margin-top:15px}.footer-links{display:flex;gap:25px;align-items:center;font-size:13px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;margin-top:38px;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted)}.page-head{padding:65px 0 42px}.page-head h1{max-width:970px}.page-head .lead{max-width:725px;font-size:19px;line-height:1.7;margin-top:27px}.page-head .actions{margin-top:22px}.bread{display:inline-block;font-size:12px;margin-bottom:30px;text-decoration:none;color:var(--muted)}.research-question{background:var(--ink);color:var(--paper);padding:55px 60px;display:grid;grid-template-columns:1fr 2fr;gap:50px}.research-question .eyebrow{color:#c3cdba;margin:5px 0}.research-question p{font:34px/1.35 var(--serif);letter-spacing:-.025em}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:40px 0}.timeline a{display:block;text-decoration:none;border-top:1px solid var(--ink);padding-top:18px}.timeline span{font-size:12px;color:var(--ochre)}.timeline h3{font:26px var(--serif);margin:12px 0}.timeline p{font-size:13px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.method{border-top:1px solid var(--line);padding-top:22px}.method .number{font:italic 27px var(--serif);color:var(--ochre)}.method h3{font:27px var(--serif);margin:18px 0 12px}.method p{font-size:14px}.note{font-size:12px;color:var(--muted);margin-top:28px;max-width:850px}.research-other{display:grid;grid-template-columns:1fr 1fr;gap:75px;border-top:1px solid var(--line);padding-top:40px}.research-other p{font-size:15px;margin-top:15px}.project-meta{display:grid;grid-template-columns:1fr 1fr 2fr;border-block:1px solid var(--line);gap:35px;padding:22px 0;margin:38px 0}.project-meta dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.project-meta dd{margin:0;font-size:14px}.project-cover img{width:100%;max-height:670px;object-fit:cover;aspect-ratio:1.85}.project-cover.material img{object-fit:contain;background:#f0efe5;padding:30px}.caption{font-size:11px;line-height:1.6;color:var(--muted);margin-top:11px}.article-layout{display:grid;grid-template-columns:230px 1fr;gap:70px;padding-top:65px}.toc{position:sticky;top:116px;align-self:start}.toc a{display:block;font-size:12px;padding:8px 0;text-decoration:none;color:var(--muted)}.toc .eyebrow{margin-bottom:10px}.prose{max-width:860px;min-width:0}.prose section{margin-bottom:65px;scroll-margin-top:118px}.prose h2{font-size:36px;margin-bottom:23px}.prose h3{font:25px var(--serif);margin:28px 0 14px}.prose p{font-size:16px;line-height:1.85}.prose figure{margin-top:28px}.prose figure img{width:100%;max-height:620px;object-fit:contain;background:#eeeee4}.prose .photo-wide img{object-fit:cover;max-height:530px}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.image-pair img{height:380px!important;object-fit:cover!important}.image-pair .contain-image{object-fit:contain!important}.learning{padding:28px 32px;background:var(--sage);border-left:2px solid #6d7754;margin-top:28px}.learning .eyebrow{margin-bottom:10px}.learning p{font-size:16px}.next-project{display:flex;justify-content:space-between;align-items:center;text-decoration:none;padding:35px 0;border-block:1px solid var(--line);margin-top:35px}.next-project .eyebrow{margin-bottom:5px}.next-project h2{font-size:34px}.next-project>.arrow{font-size:34px}.filters{display:grid;grid-template-columns:1fr 180px 180px auto;gap:16px;padding:24px 0;border-block:1px solid var(--line);margin:15px 0 20px}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.field input,.field select{width:100%;height:46px;border:1px solid #bec7b9;background:var(--white);padding:10px 13px;border-radius:0;font-size:13px}.reset{border:0;border-bottom:1px solid var(--ink);background:none;font-size:12px;align-self:end;height:46px;padding:0 4px}.result-count{font-size:12px;color:var(--muted);min-height:22px}.pub-year{display:grid;grid-template-columns:115px 1fr;gap:38px;margin:45px 0}.pub-year>h2{font:italic 34px var(--serif);padding-top:19px;border-top:1px solid var(--line)}.publication{padding:24px 0;border-top:1px solid var(--line)}.pub-type{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--ochre);margin-bottom:9px}.publication h3{font:25px/1.37 var(--serif);letter-spacing:-.02em;max-width:920px}.publication h3 a{text-decoration:none}.pub-authors{font-size:12px;line-height:1.75;margin-top:12px!important;color:var(--muted)}.pub-authors strong{color:var(--ink);font-weight:600}.pub-venue{font-size:12px;margin-top:5px!important}.pub-actions{display:flex;gap:20px;margin-top:15px}.pub-actions a{font-size:11px}.empty-state{padding:50px;background:var(--sage);margin:35px 0}.empty-state h2{font-size:30px}.empty-state p{margin-top:12px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 45px;margin-top:15px}.practice-item:nth-child(even){padding-top:80px}.practice-item img{width:100%;height:370px;object-fit:contain;background:#eeeee4;padding:25px}.practice-item h2{font-size:32px;margin-top:23px}.practice-item p{font-size:14px;margin-top:13px;max-width:470px}.practice-item .eyebrow{margin-top:20px;margin-bottom:12px}.about-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:start;padding:64px 0}.about-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 35%}.about-copy h1{font-size:70px}.about-copy .lead{font:29px/1.45 var(--serif);color:var(--ink);margin:24px 0}.about-copy p{font-size:15px}.education{margin-top:40px}.education-row{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--line);gap:25px;padding:22px 0;font-size:14px}.education-row span{font-size:11px;color:var(--muted)}.contact-panel{padding:45px;background:var(--sage);margin-top:30px}.contact-panel h2{font-size:36px}.contact-panel p{margin-top:17px}.contact-panel .email{font-size:clamp(17px,2.2vw,28px);display:inline-block;margin-top:22px;overflow-wrap:anywhere}.lightbox{border:0;background:var(--paper);padding:20px;max-width:min(1100px,94vw);max-height:93vh;color:var(--body)}.lightbox::backdrop{background:#17271fe8}.lightbox img{max-height:74vh;max-width:100%;object-fit:contain;margin:auto}.lightbox p{font-size:12px;margin-top:14px;padding-right:40px}.lightbox button{float:right;display:block;border:1px solid var(--line);background:var(--paper);min-width:44px;min-height:44px;margin-bottom:12px}.zoom-link{display:block;cursor:zoom-in}.privacy-text{max-width:760px;margin:20px auto 80px}.privacy-text h2{font-size:30px;margin:35px 0 18px}.fade-in{animation:arrive .7s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero{padding-block:95px}.hero-art .main-photo{aspect-ratio:1.1}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:40px}.hero h1{font-size:57px}.hero-stamp{width:115px;height:115px;right:-8px}.nav{gap:19px}.brand .chinese{display:none}.feature{gap:40px}.article-layout{grid-template-columns:170px 1fr;gap:40px}.practice-teaser{gap:35px;padding:35px}.about-layout{gap:45px}.hero .intro{font-size:14px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{height:73px}.brand{font-size:16px}.brand-mark{width:34px;height:34px;font-size:17px}.menu-toggle{display:block}.nav{position:absolute;top:73px;left:0;right:0;background:var(--paper);padding:18px 24px 25px;display:none;flex-direction:column;align-items:stretch;gap:3px;border-bottom:1px solid var(--line)}.nav.is-open{display:flex}.nav a{padding:11px 5px}.nav a[aria-current=page]:after{left:5px;right:auto;width:25px}.nav .contact-link{margin-top:8px;padding:10px}.hero{grid-template-columns:1fr;gap:40px;padding:45px 0 35px}.hero h1{font-size:clamp(47px,11.7vw,68px);max-width:620px}.hero .intro{font-size:15px;max-width:550px}.hero-art{padding:5px 0 30px;max-width:560px;width:100%;margin:auto}.hero-art .main-photo{aspect-ratio:1.38}.hero-caption{padding-right:95px;font-size:10px;display:block}.hero-caption span{display:block}.hero-stamp{right:5px;bottom:0;width:106px;height:106px}.hero-stamp span{font-size:8px}.hero-stamp svg{width:35px;height:35px}.discipline-bar{display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:9px;padding:19px 0}.discipline-bar .small-flower{display:none}.section{padding:50px 0}.section-head{align-items:start;gap:22px;flex-direction:column;margin-bottom:25px}.phd-intro{grid-template-columns:1fr;gap:23px;padding-bottom:32px}.phd-intro>p{font-size:16px}.project-grid{grid-template-columns:1fr;gap:35px}.project-link img{aspect-ratio:1.6}.project-link p{max-width:520px}.project-number{margin-top:16px}.feature-band{padding:40px 0}.feature{grid-template-columns:1fr;gap:33px}.feature-photos{max-width:560px}.feature h2{font-size:43px}.feature p{font-size:15px}.selected-paper{grid-template-columns:45px 1fr 18px;gap:15px;padding:23px 0}.selected-paper h3{font-size:20px}.selected-paper .arrow{font-size:19px}.selected-paper .year{font-size:10px}.practice-teaser{grid-template-columns:1fr;padding:28px;gap:35px}.practice-teaser img{max-height:280px}.updates{grid-template-columns:1fr;gap:25px}.update-row{grid-template-columns:75px 1fr;gap:15px}.footer-main{align-items:start;flex-direction:column;gap:25px}.footer-main h2{font-size:37px}.footer-links{flex-wrap:wrap;font-size:12px;gap:21px}.footer-bottom{flex-direction:column;gap:10px}.site-footer{padding-top:40px}.page-head{padding-top:42px}.page-head h1{font-size:48px}.page-head .lead{font-size:17px;margin-top:22px}.research-question{padding:30px;grid-template-columns:1fr;gap:17px}.research-question p{font-size:28px}.timeline{grid-template-columns:1fr 1fr;gap:25px}.timeline h3{font-size:24px}.method-grid{grid-template-columns:1fr;gap:26px}.research-other{grid-template-columns:1fr;gap:30px}.project-meta{grid-template-columns:1fr 1fr;gap:18px;margin-block:28px}.project-meta>div:last-child{grid-column:1/-1}.project-cover img{aspect-ratio:1.35}.project-cover.material img{padding:15px;aspect-ratio:auto;min-height:220px}.article-layout{display:block;padding-top:35px}.toc{position:static;display:flex;flex-wrap:wrap;gap:7px 22px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:36px}.toc .eyebrow{width:100%}.toc a{padding-block:5px}.prose section{margin-bottom:45px}.prose h2{font-size:33px}.prose p{font-size:15px}.image-pair{gap:16px}.image-pair img{height:270px!important}.learning{padding:23px}.filters{grid-template-columns:1fr 1fr;gap:15px}.filters .field:first-child{grid-column:1/-1}.reset{grid-column:1/-1;justify-self:start;height:34px}.pub-year{grid-template-columns:1fr;gap:10px;margin-top:35px}.pub-year>h2{border-top:0;font-size:35px}.publication h3{font-size:23px}.practice-grid{grid-template-columns:1fr;gap:38px}.practice-item:nth-child(even){padding-top:0}.practice-item img{height:auto;max-height:480px;padding:18px}.about-layout{grid-template-columns:1fr;gap:35px;padding-top:38px}.about-portrait{max-width:400px}.about-portrait img{aspect-ratio:1.1}.about-copy h1{font-size:55px}.education-row{grid-template-columns:85px 1fr;gap:18px}.contact-panel{padding:27px}.next-project h2{font-size:29px}.bread{margin-bottom:25px}.lightbox{padding:15px}.empty-state{padding:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.filters,.toc,.actions,.lightbox,.pub-actions{display:none!important}body{background:white;color:black;font:11pt/1.5 Georgia,serif}.wrap{width:100%;max-width:none}.page-head{padding-top:0}.publication,.project-link{break-inside:avoid}.publication[hidden],.pub-year[hidden]{display:block!important}.pub-year{grid-template-columns:60px 1fr}.section{padding:20px 0}.hero,.feature,.article-layout{display:block}a{text-decoration:none}h1{font-size:32pt}img{max-height:300px;object-fit:contain}}

/* Personal introduction: a portrait and readable academic biography. */
.profile-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:84px;align-items:center;padding:65px 0 68px;border-bottom:1px solid var(--line)}
.profile-photo{max-width:415px;position:relative}
.profile-photo:before{content:'';position:absolute;inset:16px 16px 30px -16px;background:var(--sage);z-index:-1}
.profile-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 35%}
.profile-photo figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 14px;margin-top:16px;font-size:10px;letter-spacing:.025em;color:var(--muted)}
.profile-intro{min-width:0}
.profile-intro .eyebrow{margin-bottom:13px}
.profile-intro h1{font-size:clamp(48px,5.5vw,76px);line-height:1.08;letter-spacing:-.055em}
.profile-name-zh{font:400 20px/1.5 var(--sans);letter-spacing:.18em;display:inline-block;margin-left:24px;white-space:nowrap}
.profile-role{font:27px/1.35 var(--serif);color:var(--ink);margin-top:20px}
.profile-affiliation{font-size:12px;margin-top:5px;line-height:1.7;color:var(--muted)}
.profile-bio{margin-top:27px;max-width:600px;font-size:15px;line-height:1.8}
.profile-bio p+p{margin-top:13px}
.profile-links{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:29px}
.home-projects{padding-bottom:54px}
.home-projects .phd-intro>div:last-child{font-size:16px;max-width:510px}
.home-projects .phd-intro .actions{margin-top:9px}
.home-publications{border-top:1px solid var(--line);padding-top:59px}
.home-practice{margin-top:80px}
.project-link img.specimen{object-fit:contain;background:#d3e1e1}
.prose .portrait-figure{max-width:540px;margin-inline:auto}
.prose .portrait-figure img{max-height:660px;object-fit:contain;background:#d3e1e1}
.project-cover:has(img[src*="nativity-finished"]) img{aspect-ratio:4/3;max-height:none}
.project-cover:has(img[src*="garden-together"]) img{aspect-ratio:1.6;object-position:50% 40%}
@media(max-width:1050px){.profile-hero{gap:48px;grid-template-columns:.85fr 1.15fr}.profile-name-zh{display:block;margin:10px 0 0;font-size:18px}.profile-role{font-size:24px;margin-top:16px}.profile-bio{font-size:14px}.profile-links{gap:18px}.profile-links .button{padding-inline:17px;gap:16px}}
@media(max-width:760px){.profile-hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:35px 0 43px}.profile-photo{width:100%;max-width:420px;align-self:center}.profile-photo img{aspect-ratio:1.25;object-position:50% 15%}.profile-photo:before{inset:12px 12px 25px -9px}.profile-photo figcaption{font-size:9px}.profile-intro h1{font-size:clamp(45px,11vw,66px)}.profile-name-zh{display:inline-block;margin-left:15px;font-size:17px}.profile-role{font-size:24px}.profile-bio{font-size:15px}.profile-links{gap:20px;margin-top:23px}.profile-links .button{padding-inline:18px}.home-projects{padding-top:43px;padding-bottom:43px}.home-publications{padding-block:43px}.home-practice{margin-top:45px}.project-link img.specimen{aspect-ratio:1.25}.project-cover:has(img[src*="garden-together"]) img{aspect-ratio:4/3}}
@media(max-width:380px){.profile-name-zh{display:block;margin:9px 0 0}.profile-links{gap:15px}.profile-links .button{padding-inline:13px;gap:13px}}
@media print{.profile-hero{display:block}.profile-photo{max-width:230px}.profile-links{display:none}.profile-intro h1{font-size:32pt}}

/* The workshop journal pairs the person making with the decisions in the materials. */
.home-practice{grid-template-columns:.8fr 1.2fr;gap:48px;scroll-margin-top:112px}
.home-practice img{max-height:440px}
.home-practice .caption{font-size:11px;margin-top:13px}
.making-portraits{display:grid;grid-template-columns:1.5fr .85fr;gap:28px;align-items:start;margin-top:5px}
.making-portraits img{width:100%;height:435px;object-fit:cover}
.making-lab img{object-position:55% 50%}
.making-paper img{object-position:50% 0%}
.making-portraits .caption{max-width:550px}
.making-process{scroll-margin-top:112px}
.process-context{font-size:13px;max-width:250px;color:var(--muted)}
.making-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.making-steps li{min-width:0}
.making-steps img{width:100%;aspect-ratio:1.5;object-fit:cover;background:var(--white)}
.making-steps .technical-drawing img{object-fit:contain;padding:12px}
.making-steps figcaption{min-height:42px;font-size:11px}
.making-steps .eyebrow{margin-top:24px;margin-bottom:12px}
.making-steps h3{font:29px/1.25 var(--serif);letter-spacing:-.025em;margin-bottom:15px}
.making-steps p{font-size:14px;line-height:1.85}
.making-reflection{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;background:var(--sage);padding:36px 40px;margin-top:46px}
.making-reflection h3{font:31px/1.25 var(--serif);letter-spacing:-.025em}
.making-reflection p{font-size:14px;line-height:1.85}
.making-reflection .actions{margin-top:12px}
.material-library{border-top:1px solid var(--line);padding-top:58px}
@media(max-width:1050px){.making-portraits img{height:360px}.making-steps{gap:21px}.making-steps h3{font-size:25px}.making-reflection{gap:32px;padding:30px}.home-practice{gap:30px}}
@media(max-width:760px){.home-practice{grid-template-columns:1fr;gap:28px}.home-practice img{max-height:none}.making-portraits{grid-template-columns:1fr;gap:25px}.making-portraits img{height:auto;aspect-ratio:1.55;object-fit:cover}.making-paper{width:76%;margin-left:auto}.making-paper img{aspect-ratio:4/5;object-position:50% 35%}.making-process .section-head{gap:16px}.process-context{max-width:none}.making-steps{grid-template-columns:1fr;gap:35px}.making-steps img{aspect-ratio:1.6}.making-steps figcaption{min-height:0}.making-steps .eyebrow{margin-top:20px}.making-steps h3{font-size:29px}.making-reflection{grid-template-columns:1fr;gap:20px;padding:26px;margin-top:34px}.material-library{padding-top:42px}}
@media print{.making-portraits img{height:220px}.making-steps li{break-inside:avoid}.making-reflection{padding:20px}}

/* A route through the garden, and back to the story wall. */
.map-feature{padding-block:68px 44px}
.map-feature-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:end;margin-bottom:38px}
.map-feature-heading h2{font-size:clamp(38px,4.1vw,58px)}
.map-feature-heading p{font-size:15px;line-height:1.85;max-width:470px}
.map-feature-heading .text-link{margin-top:14px}
.map-feature-content{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,.8fr);gap:44px;align-items:center}
.concept-sheet{background:var(--white);padding:15px 15px 17px;box-shadow:0 10px 30px #243e3409;transform:rotate(-1deg)}
.concept-label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;display:block;margin:1px 3px 13px;color:var(--muted)}
.concept-sheet img{width:100%;height:auto}
.concept-sheet .caption{font-size:10px;margin-inline:3px;max-width:570px}
.plant-journey{list-style:none;padding:0;margin:0;display:grid;gap:22px}
.plant-journey li{display:grid;grid-template-columns:32px 1fr;gap:14px;position:relative}
.journey-number{display:grid;place-items:center;width:32px;height:32px;border:1px solid #9aa58b;border-radius:50%;font:italic 14px var(--serif);color:var(--ink);background:var(--sage);position:relative;z-index:1}
.plant-journey li:not(:last-child):before{content:'';position:absolute;border-left:1px dashed #a6af98;left:15px;top:33px;bottom:-22px}
.plant-journey h3{font:25px/1.3 var(--serif);letter-spacing:-.025em;margin:0 0 7px}
.plant-journey p{font-size:12px;line-height:1.8;margin:0;max-width:255px}
.map-feature-note{font-size:11px;line-height:1.8;color:var(--muted);max-width:760px;margin-top:30px}
.prose .plant-journey{background:var(--sage);padding:30px 32px;margin-block:30px;gap:24px}
.prose .plant-journey h3{margin:0 0 5px}
.prose .plant-journey p{font-size:14px;max-width:none}
.prose .map-concept-figure img{max-height:none;background:var(--white)}
.prose figure+p{margin-top:24px}
.fieldwork-note{border-block:1px solid var(--line);padding-block:25px;margin-block:32px}
.fieldwork-note .eyebrow{margin-bottom:10px}
.prose .fieldwork-note h3{margin:0 0 13px}
.prose .plant-prompt-figure{max-width:465px;margin-inline:auto}
.prose .plant-prompt-figure img{max-height:550px}
.research-interests{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.research-interests li{font-size:11px;line-height:1.5;border:1px solid var(--line);border-radius:2px;padding:6px 10px;color:var(--ink)}
.about-copy .interest-source{font-size:11px;color:var(--muted);margin-top:12px}
@media(max-width:1050px){.map-feature-heading{gap:36px}.map-feature-content{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:30px}.plant-journey h3{font-size:23px}.plant-journey{gap:18px}}
@media(max-width:760px){.map-feature{padding-block:43px 30px}.map-feature-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.map-feature-heading h2{font-size:42px}.map-feature-content{grid-template-columns:1fr;gap:33px}.concept-sheet{padding:11px 11px 14px;transform:none}.concept-label{font-size:8px}.plant-journey{gap:21px}.plant-journey p{font-size:13px;max-width:none}.plant-journey h3{font-size:25px}.map-feature-note{margin-top:24px}.prose .plant-journey{padding:24px 21px}.research-interests{gap:7px}.research-interests li{font-size:10px}}
@media print{.concept-sheet{transform:none;box-shadow:none}.map-feature-content{grid-template-columns:1.5fr 1fr}}

/* A quiet, live record of the places this work reaches. */
.visitors{display:grid;grid-template-columns:.7fr 1.5fr;gap:60px;align-items:center;border-top:1px solid var(--line);padding-block:45px 28px}
.visitor-intro h2{font-size:clamp(36px,4vw,49px);line-height:1.12}
.visitor-intro p{font-size:14px;line-height:1.9;margin-top:22px;max-width:300px}
.visitor-intro .eyebrow{font-size:10px}
.visitor-intro .text-link{margin-top:15px}
.visitor-map-wrap{min-width:0}
.visitor-map-panel{background:#f1f2e9;padding:23px 24px 18px;border:1px solid var(--line)}
.visitor-map-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.visitor-live{display:block;aspect-ratio:900/446;margin-top:23px;background:url('world-map.svg') center/contain no-repeat}
.visitor-live img{width:100%;height:auto;background:#f1f2e9}
.visitor-map-unavailable{font-size:12px;color:var(--muted);margin-top:14px}
.visitor-map-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #d1d7c8;padding-top:16px;margin-top:20px;font-size:11px}
.visitor-map-bottom>a{text-decoration:none;color:var(--ink)}
.visitor-map-bottom>a:hover{text-decoration:underline}
.visitor-map-legend{display:flex;align-items:center;gap:8px;color:var(--muted)}
.visitor-map-legend i{width:6px;height:6px;border-radius:50%;background:#ff5353}
.visitor-fineprint{font-size:10px;color:var(--muted);margin-top:14px;line-height:1.9}
@media(max-width:1050px){.visitors{gap:35px;grid-template-columns:.8fr 1.3fr}.visitor-map-panel{padding-inline:18px}}
@media(max-width:760px){.visitors{grid-template-columns:1fr;gap:28px;padding-block:34px 10px}.visitor-intro h2{font-size:43px}.visitor-intro p{max-width:none;margin-top:19px}.visitor-map-panel{padding:17px 14px}.visitor-live{margin-top:20px}.visitor-map-bottom{gap:12px;font-size:10px;margin-top:15px}.visitor-map-top{font-size:8px}.visitor-fineprint{font-size:10px}}
@media print{.visitors{display:none}}

/* Field photographs: a shared table, individual details, and work carried outdoors. */
.field-moments{padding:54px 0 60px;border-top:1px solid var(--line);scroll-margin-top:110px}
.field-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:32px}
.field-heading h2{font-size:clamp(38px,4vw,54px);line-height:1.1}
.field-heading p{font-size:15px;line-height:1.85;max-width:475px}
.field-heading .text-link{margin-top:12px}
.field-collage{display:grid;grid-template-columns:1.3fr 1fr;gap:25px 28px;align-items:start}
.field-collage figure{margin:0;min-width:0}
.field-main{grid-row:span 2}
.field-main img{aspect-ratio:1.15;object-fit:cover;object-position:44% 50%;width:100%}
.field-detail img,.field-garden img{width:100%;aspect-ratio:2.1;object-fit:cover}
.field-detail img{object-position:50% 55%}
.field-garden img{object-position:50% 42%}
.field-collage .caption{font-size:11px;line-height:1.65;margin-top:10px}
.field-footer{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-top:27px;padding-top:18px;border-top:1px solid var(--line)}
.field-footer>span{font-size:11px;color:var(--muted)}
.field-footer .text-link{font-size:12px;white-space:nowrap}
.photo-sequence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;margin-block:30px;align-items:start}
.prose .photo-sequence figure{margin:0;min-width:0}
.prose .photo-sequence img{width:100%;height:auto;max-height:none;aspect-ratio:4/3;object-fit:cover}
.prose .photo-sequence .caption{font-size:11px;line-height:1.75;margin-top:12px}
.photo-sequence.uneven{grid-template-columns:1fr 1fr;align-items:start}
.prose .photo-sequence.uneven img{aspect-ratio:auto;object-fit:contain}
.prose .photo-sequence.uneven figure:last-child{margin-top:50px}
.field-collage .zoom-link,.photo-sequence .zoom-link{position:relative;overflow:hidden}
.field-collage .zoom-link:after,.photo-sequence .zoom-link:after{content:'↗';position:absolute;right:10px;bottom:10px;width:27px;height:27px;display:grid;place-items:center;background:#f7f5efed;color:var(--ink);font-size:16px;border-radius:50%;pointer-events:none}
.field-collage .zoom-link:hover:after,.photo-sequence .zoom-link:hover:after{background:var(--ink);color:var(--white)}
@media(max-width:1050px){.field-heading{gap:32px}.field-collage{grid-template-columns:1.15fr 1fr;gap:22px}.field-main img{aspect-ratio:1.05}.field-detail img,.field-garden img{aspect-ratio:1.85}.photo-sequence{gap:18px}}
@media(max-width:760px){.field-moments{padding-block:38px 42px}.field-heading{grid-template-columns:1fr;gap:20px;margin-bottom:26px}.field-heading h2{font-size:42px}.field-collage{grid-template-columns:1fr;gap:24px}.field-main{grid-row:auto}.field-main img{aspect-ratio:4/3;object-position:center}.field-detail img{aspect-ratio:4/3}.field-garden img{aspect-ratio:16/9}.field-collage .caption{font-size:12px}.field-footer{display:block;margin-top:23px}.field-footer>span{display:block;font-size:12px}.field-footer .text-link{margin-top:15px}.photo-sequence,.photo-sequence.uneven{grid-template-columns:1fr;gap:26px}.prose .photo-sequence.uneven figure:last-child{margin-top:0}.prose .photo-sequence img{aspect-ratio:auto}.prose .photo-sequence.uneven img{max-height:650px;object-fit:contain}.prose .photo-sequence .caption{font-size:12px}}
@media print{.field-main img{aspect-ratio:4/3}.field-collage{display:block}.field-collage figure,.photo-sequence figure{break-inside:avoid}.field-collage .zoom-link:after,.photo-sequence .zoom-link:after{display:none}}

/* Two shared encounters, preserving the whole group and the making detail. */
.field-collage{grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);align-items:start;gap:32px}
.field-main{grid-row:auto}
.field-main img{aspect-ratio:4/3;object-fit:contain;object-position:center}
.field-making{padding-top:46px}
.field-making img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
@media(max-width:1050px){.field-collage{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:24px}.field-main img{aspect-ratio:4/3}.field-making{padding-top:32px}}
@media(max-width:760px){.field-collage{grid-template-columns:1fr;gap:28px}.field-making{padding-top:0;width:82%;margin-left:auto!important}.field-main img{aspect-ratio:4/3}.field-making .caption{max-width:100%}}
