@import url("/assets/fonts/noto-serif-sc/font.css");:root{color-scheme:light;color:#45423b;background:#f7f6f2;font-family:"yiiiii Serif",serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0}body::after{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;background:url("../assets/paper-grain.svg") repeat;opacity:.085;mix-blend-mode:multiply}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:1px solid #655e4e;outline-offset:5px}header{padding:16px 16px 0}h1{margin:0;font:400 24px/1.1 "yiiiii Serif",serif;letter-spacing:.3px}h1 span{letter-spacing:2px;margin-left:12px}.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 16px;padding:0 16px 32px;margin-top:105px}.text-cell,.image-cell{margin:0;min-width:0}.text-cell{display:flex;flex-direction:column;justify-content:space-between;min-height:100%;padding:0 7px;font-size:8.5px;line-height:1.6;letter-spacing:.2px}.number,figcaption{font:400 7.5px/1.3 "yiiiii Serif",serif;margin:0 0 16px}.text-cell h2{font:400 9.5px/1.5 "yiiiii Serif",serif;margin:0 0 8px}.text-cell p{margin:0}.text-cell .number{margin-bottom:18px}.text-cell .bottom{padding-bottom:14px;font-size:7.5px;line-height:1.5}.image-cell figcaption{margin-bottom:10px}.image-cell img{display:block;width:100%;height:auto;border:0}.photograph{display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in}.wide img{aspect-ratio:1.28;object-fit:cover}.portrait img{aspect-ratio:.8;object-fit:cover}.end-cell{justify-content:flex-end;padding-bottom:14px;color:#aaa397}.viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:40px 68px 50px;border:0;background:#f7f6f2;color:#45423b;overflow:hidden}.viewer[open]{display:flex;align-items:center;justify-content:center}.viewer::backdrop{background:#f7f6f2}.viewer-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.viewer button{position:absolute;border:0;background:transparent;color:inherit;cursor:pointer;width:44px;height:44px;font-size:22px}.close{right:15px;top:10px;font-size:30px!important}.previous{left:12px;top:calc(50% - 22px)}.next{right:12px;top:calc(50% - 22px)}.counter{pointer-events:none;position:absolute;bottom:17px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:2px;color:#8c8678}body:has(.viewer[open]){overflow:hidden}@media(min-width:1200px){.catalog{gap:45px 20px;padding:0 22px 40px}.text-cell{font-size:8.5px}.text-cell h2{font-size:9.5px}header{padding-left:22px}}@media(max-width:600px){header{padding:18px 12px 0}h1{font-size:20px}h1 span{margin-left:8px;letter-spacing:1px}.catalog{margin-top:75px;padding:0 10px 25px;gap:24px 8px}.text-cell{font-size:7.5px;line-height:1.5;padding:0 2px}.text-cell h2{font-size:9px}.text-cell .bottom{font-size:7px;padding-bottom:5px}.text-cell .number{margin-bottom:12px}.number,figcaption{font-size:7px}.image-cell figcaption{margin-bottom:8px}.viewer{padding:52px 12px 64px}.previous,.next{top:auto;bottom:4px}.previous{left:calc(50% - 85px)}.next{right:calc(50% - 85px)}.counter{bottom:20px}}

/* Each row contains four cells including text. */
.catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 16px;margin-top:94px}.text-cell{padding:0 5px;font-size:10px;line-height:1.25;letter-spacing:0}.text-cell h2{font-size:11px;line-height:1.2;margin-bottom:5px}.text-cell .number{margin-bottom:13px}.number,figcaption{font-size:9px;line-height:1.2}.image-cell figcaption{margin-bottom:8px}.text-cell .bottom{font-size:9px;line-height:1.25;padding-bottom:10px}.text-cell>div>p:not(.number){max-width:180px}.image-cell:not(.portrait) img{aspect-ratio:auto;object-fit:contain}.image-cell.wide img{aspect-ratio:1.28;object-fit:cover}@media(min-width:1200px){.catalog{gap:38px 16px}.text-cell{font-size:10px}.text-cell h2{font-size:11px}}@media(max-width:600px){h1{font-size:18px}h1 span{letter-spacing:1.5px}.catalog{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 8px;margin-top:70px}.text-cell{padding:0 1px;font-size:6.5px;line-height:1.3}.text-cell h2{font-size:7.5px;margin-bottom:3px}.text-cell .bottom{font-size:6px;padding-bottom:4px;overflow-wrap:anywhere}.text-cell .number{margin-bottom:8px}.number,figcaption{font-size:6px}.image-cell figcaption{margin-bottom:5px}.text-cell>div>p:not(.number){max-width:100%}}

/* Uniform image frames across the catalogue; viewer retains original proportions. */
.catalog .image-cell img,.catalog .image-cell.wide img,.catalog .image-cell.portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center}

header{display:flex;justify-content:space-between;align-items:baseline;padding-right:22px;gap:24px}nav{display:flex;gap:25px;font-size:10px;white-space:nowrap}nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}.document-page{margin:100px 22px 80px}.page-title{font-size:12px;font-weight:400;margin:0 0 40px}.prose{max-width:420px;font-size:12px;line-height:1.9}.prose p{margin:0 0 22px}.prose blockquote{margin:0;padding:0;max-width:360px}.email{font-size:14px}.project-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;max-width:1000px}.project-list article{font-size:11px;line-height:1.6}.project-list h2{font-size:12px;font-weight:400;margin:12px 0 5px}.project-list p{margin:0}.project-photo{display:block;margin-top:28px;max-width:280px}.project-photo img{width:100%;height:auto;display:block}@media(max-width:600px){header{gap:10px;padding-right:12px}header h1{font-size:16px}header h1 span{margin-left:5px;letter-spacing:1px}nav{font-size:8px;gap:13px}.document-page{margin:70px 12px 45px}.prose{font-size:11px;max-width:320px}.page-title{font-size:11px;margin-bottom:30px}.project-list{grid-template-columns:1fr;gap:35px}.project-list article{font-size:10px}}

.small-portrait{display:block;width:180px;max-width:100%;height:auto;margin:0 0 30px}@media(max-width:600px){.small-portrait{width:140px;margin-bottom:24px}}

.timer-photos{display:grid;gap:16px;margin-top:28px;max-width:280px}.timer-photos img{display:block;width:100%;height:auto}.catalog .image-cell>a{display:block}

.site-filing{display:block;text-align:center;margin:40px 12px 24px;font:10px/1.6 "Songti SC","SimSun",serif;color:#888}.site-filing a{color:inherit;text-decoration:none}.site-filing a:hover{text-decoration:underline}.site-filing a:focus-visible{outline:1px solid currentColor;outline-offset:4px}

/* Home navigation follows the left-aligned writing header. */
.home-page header{justify-content:flex-start;gap:48px;padding:16px 22px 0}.home-page header nav{gap:25px}
@media(max-width:600px){.home-page header{gap:28px;padding:18px 12px 0}.home-page header nav{gap:13px}}

/* A quiet home and a native, click-to-open project menu. */
:root{font-family:"yiiiii Serif","Songti SC","STSong",serif}.home-page .site-filing{text-align:left;margin:80px 22px 24px}.home-quote{margin:100px 22px 0}.home-quote .prose{max-width:420px}.project-menu{position:relative}.project-menu summary{cursor:pointer;list-style:none}.project-menu summary::-webkit-details-marker{display:none}.project-menu summary:hover,.project-menu[open] summary{text-decoration:underline;text-underline-offset:4px}.project-submenu{position:absolute;top:calc(100% + 14px);left:0;z-index:25;display:flex;flex-direction:column;gap:15px;min-width:140px;background:#f7f6f2;padding:16px;border:1px solid #e6e2d9;font-size:10px;white-space:nowrap}.project-menu summary:focus-visible{outline:1px solid #655e4e;outline-offset:4px}.home-page header h1{font-family:"yiiiii Serif","Songti SC",serif}.text-cell h2{font-family:"yiiiii Serif","Songti SC",serif}
@media(max-width:600px){.home-quote{margin:70px 12px 0}.home-quote .prose{max-width:320px}.home-page .site-filing{margin:60px 12px 24px}.project-submenu{font-size:10px;gap:16px}}

.catalog .banner-cell .topbook-banner{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#161616}.catalog .banner-cell .topbook-banner img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.topbook-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 0%,rgba(0,0,0,.3) 30%,rgba(0,0,0,.7) 70%,rgba(0,0,0,.9))}.topbook-banner span{position:absolute;left:20px;right:20px;bottom:20px;z-index:1;color:white;font:500 16px/1.5 -apple-system,"PingFang SC",sans-serif}.topbook-banner:hover span{text-decoration:underline;text-underline-offset:3px}.topbook-banner:focus-visible{outline-offset:4px}@media(max-width:600px){.topbook-banner span{left:5px;right:5px;bottom:5px;font-size:6.5px;line-height:1.35}}

.topbook-intro{grid-column:1/-1;max-width:420px;gap:16px}.topbook-intro .bottom{padding-bottom:0}

/* Contact is a separate section within About. */
.prose #contact{margin-top:40px}.prose #contact .page-title{margin-bottom:14px}.prose #contact p{margin-bottom:14px}@media(max-width:600px){.prose #contact{margin-top:32px}}
