@charset "UTF-8";
:root{--paper:#f5f3ed;--ink:#303a3c;--muted:#657174;--line:#d7d9d2;--blue:#5d7b86;--serif:Georgia,'Times New Roman','Songti SC','STSong','Noto Serif CJK SC',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:7px}::selection{background:#d5dfe0;color:#233b46}h1,h2,h3,p{margin:0}h2{font-family:var(--serif);font-weight:400;line-height:1.55;font-size:clamp(29px,3.1vw,45px);letter-spacing:.03em}h3{font-weight:500}main,.site-header,footer{position:relative}.site-header,main>section,footer{padding-left:max(6.3vw,24px);padding-right:max(6.3vw,24px)}.paper-grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.wordmark{display:flex;align-items:center;gap:13px;font-size:17px;font-weight:500;white-space:nowrap}.brand-mark{font:40px var(--serif);color:var(--blue);transform:rotate(-12deg);line-height:1}.wordmark-en{font-size:14px;margin-left:8px;font-weight:400}nav{display:flex;gap:35px;font-size:14px}nav a{position:relative}nav a:after{content:'';position:absolute;left:0;bottom:-7px;height:1px;background:var(--blue);width:0;transition:width .25s}nav a:hover:after{width:100%}nav span{font-size:13px;color:var(--muted);margin-left:5px}.menu-toggle{display:none}.hero{min-height:760px;height:calc(100svh - 98px);max-height:1060px;position:relative;overflow:hidden;padding-top:35px;display:flex;flex-direction:column}.hero-kicker{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.16em;position:relative;z-index:2}.edition{letter-spacing:.1em;color:var(--muted)}.hero-title-row{position:relative;z-index:2;margin-top:35px;pointer-events:none}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(95px,13.9vw,210px);line-height:1.07;letter-spacing:-.055em;white-space:nowrap}.hero h1 em{font-weight:400;color:#607982}.hero h1>span{font-family:var(--serif);font-size:clamp(22px,2.5vw,37px);font-weight:400;letter-spacing:.23em;margin-left:45px;vertical-align:middle;display:inline-block}.hero-art{position:absolute;width:67%;height:66%;right:-2%;top:26%;pointer-events:none;isolation:isolate}#ripple{width:100%;height:100%;position:relative}.wash{position:absolute;border-radius:50%;filter:blur(48px);z-index:-1}.wash-blue{background:#c8d9dc;width:68%;height:68%;top:6%;left:22%;opacity:.75}.wash-peach{background:#e6d4c6;width:45%;height:45%;bottom:4%;left:22%;opacity:.66}.art-caption{font-size:12px;letter-spacing:.19em;color:#829297;position:absolute;bottom:16%;right:20%}.hero-copy{margin-top:55px;position:relative;z-index:3;width:39%}.hero-heading{font:clamp(27px,2.65vw,40px)/1.65 var(--serif);letter-spacing:.12em}.hero-description{font-size:15px;color:var(--muted);line-height:1.95;margin-top:20px}.text-link{font-size:14px;display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #8f9c9d;padding:6px 0;transition:color .2s,gap .2s}.text-link:hover{color:var(--blue);gap:40px}.hero-copy .text-link{margin-top:25px}.text-link span{font-size:21px;line-height:1}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:auto;padding:19px 0;font-size:12px;letter-spacing:.1em;position:relative;z-index:2;color:var(--muted)}.hero-bottom a{font-size:13px}.hero-bottom a span{padding-left:25px}.section{padding-top:78px;padding-bottom:90px;border-top:1px solid var(--line)}.section-label{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em;color:var(--muted);margin-bottom:50px}.section-label span:last-child{letter-spacing:.1em;font-size:14px}.about-layout,.experience-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:9%}.serif-note{font-family:var(--serif);font-style:italic;color:#778b91;font-size:20px;line-height:1.5;margin-top:25px}.about-copy>p{margin-bottom:20px;color:var(--muted);font-size:16px;line-height:2}.about-copy .lead{font-size:21px;color:var(--ink);line-height:1.8}.about-copy .text-link{margin-top:3px}.education{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);margin-top:38px;padding-top:25px}.education span{display:block;font-size:12px;letter-spacing:.1em;color:var(--muted);margin-bottom:9px}.education strong{font-weight:500;font-size:17px}.education p{font-size:13px;line-height:1.9;margin-top:5px;color:var(--muted)}.practice{background:#eaf0ee;padding-top:48px;padding-bottom:60px}.practice .section-label{margin-bottom:32px}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5%}.practice article{position:relative;padding-top:8px;padding-right:30px}.practice article+article{border-left:1px solid #cbd7d4;padding-left:38px}.practice-number{font:italic 23px var(--serif);color:#93a7a8;position:absolute;right:0;top:10px}.practice h3{font:25px var(--serif);letter-spacing:.04em;margin-bottom:7px}.small-en{font-size:12px;letter-spacing:.04em;color:var(--muted)}.practice p{font-size:14px;line-height:1.95;margin-top:20px;color:#58696c}.section-title-line{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:30px}.section-title-line p{font-size:14px;line-height:1.9;color:var(--muted)}.update-note{font-size:12px;color:#7a8788}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px 38px}.project{--cover:#dce5e6;--ring:#79949a}.project.rose{--cover:#e9e0db;--ring:#aa9190}.project.olive{--cover:#dfe2d8;--ring:#8e9b84}.project.sand{--cover:#e8e1d2;--ring:#b1a081}.project.lavender{--cover:#e2dfe8;--ring:#9b95ae}.project.green{--cover:#dce6df;--ring:#91a29b}.project-cover{height:285px;background:var(--cover);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #00000004}.cover-index{position:absolute;top:20px;left:24px;font-size:12px;letter-spacing:.16em;color:#566566}.cover-title{font:italic clamp(29px,3.5vw,49px)/1.5 var(--serif);z-index:1;max-width:85%;text-align:center;color:#344446;letter-spacing:.025em}.cover-caption{position:absolute;bottom:21px;font-size:12px;letter-spacing:.22em;color:#677575}.cover-rings{position:absolute;width:67%;height:150%;border:1px solid var(--ring);border-radius:50%;opacity:.3;transform:rotate(55deg)}.cover-rings:before,.cover-rings:after{content:'';position:absolute;inset:20px;border:1px solid var(--ring);border-radius:50%;box-shadow:0 0 0 12px var(--cover),0 0 0 13px var(--ring),0 0 0 25px var(--cover),0 0 0 26px var(--ring)}.cover-rings:after{inset:65px}.project:nth-child(2n) .cover-rings{transform:rotate(-55deg);width:80%}.project:nth-child(3n) .cover-rings{transform:rotate(80deg);height:170%}.project-meta{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted);margin-top:20px;margin-bottom:8px}.project summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:0 0 15px;border-bottom:1px solid var(--line)}.project summary::-webkit-details-marker{display:none}.project summary h3{font-family:var(--serif);font-size:26px;line-height:1.5}.project-open{display:flex;gap:12px;align-items:center;flex-shrink:0;font-size:12px;color:var(--muted)}.plus{display:inline-block;font-size:22px;font-weight:300;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.project summary:hover{color:var(--blue)}.project-detail{padding-top:20px;color:var(--muted);font-size:14px;line-height:1.95}.project-detail ul{padding-left:17px;font-size:12px;margin:15px 0 0}.experience{background:#efeee8}.timeline article{display:grid;grid-template-columns:75px 1fr;gap:17px;padding:24px 0;border-bottom:1px solid var(--line)}.timeline article:first-child{padding-top:0}.timeline-date{font-size:12px;color:var(--muted);padding-top:4px}.timeline h3{font-size:18px;line-height:1.65}.organization{font-size:13px;color:#65797f}.timeline p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:9px}.recognition{padding-bottom:80px}.awards article{display:grid;grid-template-columns:12% 1fr;border-bottom:1px solid var(--line);padding:22px 0;gap:20px}.awards article:first-child{padding-top:0}.awards article>span{font:italic 24px var(--serif);color:#879698;padding-top:4px}.awards article>div{display:grid;grid-template-columns:.9fr 1.15fr;gap:35px;align-items:baseline}.awards h3{font-size:17px}.awards p{font-size:14px;color:var(--muted);line-height:1.8}.contact{background:#e2ebeb;position:relative;overflow:hidden;padding-bottom:100px}.contact .section-label{position:relative;z-index:2}.contact-inner{position:relative;z-index:2;text-align:center}.contact .serif-note{margin:0 0 24px;font-size:24px}.contact h2{font-size:clamp(32px,4vw,55px);line-height:1.65;letter-spacing:.07em}.contact-email{display:inline-block;font-family:var(--serif);font-size:clamp(18px,2.3vw,29px);border-bottom:1px solid #91a6ac;padding:7px 0;margin-top:25px;overflow-wrap:anywhere}.contact-email span{margin-left:15px;font-family:var(--sans)}.contact-inner>p:last-child{font-size:12px;letter-spacing:.12em;margin-top:23px;color:var(--muted)}.contact-rings{position:absolute;width:900px;height:350px;border-radius:50%;border:1px solid #91adb0;opacity:.22;left:50%;top:60%;transform:translate(-50%,-30%) rotate(-10deg);box-shadow:0 0 0 22px #e2ebeb,0 0 0 23px #91adb0,0 0 0 47px #e2ebeb,0 0 0 48px #91adb0,0 0 0 75px #e2ebeb,0 0 0 76px #91adb0}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:95px;font-size:12px;color:var(--muted)}footer>a:first-child{font-size:15px;color:var(--ink)}footer>a:first-child span{font-family:var(--serif);margin-left:10px}.sr-only{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{position:fixed;top:-80px;left:20px;background:var(--paper);padding:10px 20px;z-index:50}.skip-link:focus{top:10px}
@media(min-width:1600px){.site-header,main>section,footer{padding-left:max(calc((100vw - 1400px)/2),6vw);padding-right:max(calc((100vw - 1400px)/2),6vw)}.hero h1{font-size:210px}.hero-art{width:60%;right:3%}}
@media(max-width:1050px){nav{gap:20px}nav span{display:none}.hero{min-height:730px;height:auto}.hero-title-row{margin-top:45px}.hero h1{font-size:15vw}.hero h1>span{margin-left:25px;font-size:25px}.hero-copy{margin-top:42px;width:48%;margin-bottom:70px}.hero-art{top:29%;height:57%;right:-9%;width:75%}.about-layout,.experience-layout{gap:6%;grid-template-columns:1fr 1.2fr}.practice article+article{padding-left:24px}.project-cover{height:245px}.awards article>div{grid-template-columns:1fr;gap:5px}.education{gap:15px}.project summary h3{font-size:23px}}
@media(max-width:700px){html{scroll-padding-top:20px}.site-header{height:78px;padding-left:23px;padding-right:23px}.wordmark{font-size:16px;gap:9px}.wordmark-en{font-size:12px;margin-left:5px}.brand-mark{font-size:34px}.menu-toggle{display:flex;gap:13px;align-items:center;border:0;background:none;padding:10px 0 10px 12px;font-size:14px}.menu-toggle span{font-size:23px;line-height:1}.site-header nav{position:absolute;top:77px;left:0;right:0;display:none;flex-direction:column;gap:0;background:var(--paper);padding:10px 24px 20px;border-bottom:1px solid var(--line);z-index:30;box-shadow:0 12px 18px #273b4108}.site-header nav.open{display:flex}nav a{padding:13px 0;border-bottom:1px solid var(--line)}nav span{display:inline;margin-left:15px}nav a:after{display:none}.hero{min-height:760px;height:auto;padding-top:23px}.hero-kicker{font-size:12px;letter-spacing:.1em}.edition{display:none}.hero-title-row{margin-top:26px}.hero h1{font-size:clamp(57px,15.5vw,105px);letter-spacing:-.055em}.hero h1>span{font-size:18px;display:block;letter-spacing:.28em;margin:14px 0 0 5px}.hero-art{top:175px;width:110%;height:310px;right:-20%}.wash{filter:blur(33px)}.wash-blue{opacity:.65}.art-caption{bottom:14%;right:23%;font-size:12px}.hero-copy{width:100%;margin-top:232px;margin-bottom:35px}.hero-heading{font-size:28px;line-height:1.55;letter-spacing:.09em}.hero-heading br{display:none}.hero-description{font-size:14px;margin-top:15px;line-height:1.9}.desktop-break{display:none}.hero-copy .text-link{margin-top:18px}.hero-bottom{font-size:12px;padding:17px 0;letter-spacing:0}.hero-bottom a{font-size:12px}.hero-bottom a span{padding-left:12px}.section{padding-top:45px;padding-bottom:50px}.section-label{margin-bottom:30px;font-size:12px;letter-spacing:.12em}.section-label span:last-child{font-size:12px}.about-layout,.experience-layout{grid-template-columns:1fr;gap:30px}h2{font-size:30px}.serif-note{font-size:18px;margin-top:14px}.about-copy .lead{font-size:18px}.about-copy>p{font-size:15px;line-height:1.95}.education{margin-top:28px;grid-template-columns:1fr 1fr;gap:20px}.education strong{font-size:16px}.education p{font-size:12px}.practice-grid{grid-template-columns:1fr;gap:24px}.practice article{padding:0 25px 23px 0;border-bottom:1px solid #cbd7d4}.practice article+article{border-left:0;padding-left:0}.practice article:last-child{padding-bottom:0;border-bottom:0}.practice h3{font-size:23px}.practice p{margin-top:10px}.practice-number{top:0}.section-title-line{display:block;margin-bottom:28px}.section-title-line p{margin-top:16px;font-size:13px}.project-grid{grid-template-columns:1fr;gap:35px}.project-cover{height:255px}.cover-title{font-size:38px}.project-meta{font-size:12px;margin-top:15px}.project summary h3{font-size:25px}.timeline article{grid-template-columns:65px 1fr;gap:12px;padding:20px 0}.timeline h3{font-size:17px}.timeline p{font-size:14px}.organization{font-size:12px}.awards article{grid-template-columns:46px 1fr;gap:20px;padding:20px 0}.awards article>span{font-size:20px}.awards h3{font-size:16px}.awards p{font-size:13px}.contact{padding-bottom:60px}.contact .serif-note{font-size:20px}.contact h2{font-size:31px;letter-spacing:.035em}.contact-email{font-size:22px}.contact-email span{margin-left:5px}.contact-inner>p:last-child{font-size:12px}.contact-rings{width:620px;height:230px;top:60%}footer{flex-wrap:wrap;gap:8px;padding-top:22px;padding-bottom:22px;font-size:12px}footer>a:first-child{width:100%;font-size:14px}footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.media-cover{background:#263238}.cover-image{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.media-cover:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,21,24,.42),transparent 36%,rgba(8,21,24,.35))}.media-cover .cover-index,.media-cover .cover-caption{z-index:1;color:#fff}.play-button{position:relative;z-index:2;border:1px solid rgba(255,255,255,.75);color:#fff;background:rgba(19,35,39,.6);backdrop-filter:blur(8px);padding:11px 20px;cursor:pointer;font-size:14px;letter-spacing:.05em;transition:background .2s,transform .2s}.play-button:hover{background:rgba(19,35,39,.86);transform:translateY(-2px)}.play-button span{margin-right:12px;font-size:12px}.project-video{display:none;width:100%;height:100%;position:absolute;inset:0;background:#121b1e;z-index:3}.is-playing .project-video{display:block}.is-playing .play-button,.is-playing>.cover-image,.is-playing>.cover-caption,.is-playing>.cover-index{display:none}.media-message{position:absolute;bottom:16px;left:20px;right:20px;color:white;text-shadow:0 1px 4px #000;z-index:4;font-size:13px;pointer-events:none}.project audio{display:block;width:100%;margin:14px 0 2px;accent-color:var(--blue)}.audio-cover{background:linear-gradient(130deg,#dbd9e1,#e6e8dd)}.audio-cover .cover-rings{opacity:.5}.project-meta span:last-child{text-align:right}.project-note{display:inline-block;margin-top:18px;border-bottom:1px solid #9aa9aa;color:#405c64;padding-bottom:2px;font-size:14px}.process-image{margin:24px 0 0}.process-image img{display:block;width:100%;max-height:250px;object-fit:cover}.process-image figcaption,.experience-photo figcaption{font-size:12px;color:var(--muted);margin-top:7px}.experience-photo{margin:55px 0 0;max-width:420px}.experience-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.project-detail ul{font-size:13px}.project-detail p{font-size:15px}
@media(max-width:700px){.experience-photo{margin-top:23px;max-width:none}.experience-photo img{aspect-ratio:16/10}.project-meta{line-height:1.6}.project-meta span:last-child{max-width:60%}.media-cover .cover-index,.media-cover .cover-caption{font-size:12px}}

/* The page keeps the feel of a sheet of paper: fine fibers and two soft,
   irregular light folds. The low contrast keeps the work and type clear. */
.paper-grain{
  opacity:1;
  background-image:
    linear-gradient(112deg,transparent 0 37.8%,rgba(61,72,68,.018) 39.2%,rgba(255,255,255,.13) 39.65%,rgba(58,68,65,.018) 40.15%,transparent 42.1%),
    linear-gradient(73deg,transparent 0 77.7%,rgba(57,68,65,.015) 79.4%,rgba(255,255,255,.11) 79.8%,rgba(61,72,69,.013) 80.3%,transparent 82%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.055' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
  background-size:100% 100%,100% 100%,180px 180px;
}
