:root{--paper:#f5f4ef;--ink:#252720;--muted:#66695e;--line:#d5d6cd;--accent:#b9c6a0;--pad:clamp(22px,4.1vw,80px)}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #6f842e;outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}.skip{position:fixed;left:16px;top:-100px;background:white;padding:14px;z-index:100}.skip:focus{top:15px}.header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);background:var(--paper);border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:700;letter-spacing:-1px;line-height:1}.brand span{display:block;margin-top:8px;font-size:10px;font-weight:400;letter-spacing:1.4px;text-transform:uppercase}.header nav{display:flex;align-items:center;gap:38px;font-size:14px}.header nav a{padding:12px 0}.header sup{font-size:9px;margin-left:3px}.hero{height:calc(100svh - 98px);min-height:580px;max-height:1100px;position:relative;color:white;overflow:hidden;background:#746e61}.hero-image{height:100%;object-fit:cover;object-position:50% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.02) 30%,rgba(0,0,0,.64) 100%)}.hero-top{position:absolute;inset:32px var(--pad) auto;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px}.hero-content{position:absolute;bottom:36px;left:var(--pad);right:var(--pad)}.eyebrow{font-size:10px;letter-spacing:1.7px;line-height:1.6;font-weight:500}.hero h1{font-size:clamp(48px,6.3vw,110px);font-weight:400;line-height:1.03;letter-spacing:-.055em;margin:22px 0 42px;max-width:1100px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff65;padding-top:20px;gap:20px}.hero-cta{display:flex;gap:52px;font-size:14px;align-items:center}.hero-cta span{font-size:24px}.hero-caption{font-size:11px;display:flex;gap:26px}.intro{padding:112px var(--pad) 120px;display:grid;grid-template-columns:1fr 2.25fr;gap:28px}.intro h2{font-size:clamp(34px,4.3vw,72px);font-weight:400;line-height:1.13;letter-spacing:-.045em}.intro>p:last-child{grid-column:2;font-size:17px;line-height:1.7;color:var(--muted);max-width:480px;margin-top:4px}.section-pad{padding-left:var(--pad);padding-right:var(--pad)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-top:25px;margin-bottom:44px;border-top:1px solid var(--line)}.section-heading h2{font-size:30px;font-weight:400;letter-spacing:-1px}.section-heading h2 span{font-size:13px;letter-spacing:0;vertical-align:top;padding-left:8px;color:var(--muted)}.text-link{font-size:13px;display:inline-block;padding-bottom:7px;border-bottom:1px solid currentColor;line-height:1.5}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:68px 28px}.card-image{position:relative;overflow:hidden;background:#e4e3dc}.card-image img{aspect-ratio:1.43;object-fit:cover}.card-arrow{position:absolute;right:14px;bottom:14px;background:var(--paper);width:42px;height:42px;display:grid;place-items:center;font-size:23px}.project-card:hover .card-arrow{background:var(--ink);color:var(--paper)}.card-meta{display:flex;justify-content:space-between;gap:16px;margin:19px 0 12px;color:var(--muted);font-size:10px;letter-spacing:.65px;text-transform:uppercase}.project-card h3{font-size:clamp(23px,2.5vw,38px);font-weight:400;letter-spacing:-1px;line-height:1.15}.project-card>p{font-size:12px;color:var(--muted);margin-top:10px}.card-2,.card-4{padding-top:92px}.card-5{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;align-items:start}.card-5 .card-image{grid-row:1/4}.card-5 .card-meta{margin-top:24px}.card-5 h3{align-self:end}.card-5>p{align-self:start}.about{margin:132px 0 120px;padding-top:65px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9vw}.about-visual{align-self:center}.about-visual img{mix-blend-mode:multiply;aspect-ratio:1.4;object-fit:contain}.about-visual .eyebrow{display:block;margin-top:25px;color:var(--muted)}.about-copy h2{font-size:clamp(42px,4.5vw,72px);font-weight:400;letter-spacing:-.05em;margin:23px 0}.about-lead{font-size:25px;line-height:1.35;letter-spacing:-.5px;max-width:450px}.about-copy>p:not(.eyebrow):not(.about-lead){font-size:15px;color:var(--muted);line-height:1.8;margin:24px 0 30px;max-width:460px}footer{background:#272b24;color:#f5f4ef;padding:62px var(--pad) 24px}.footer-top{max-width:1100px}.contact-link{display:flex;align-items:center;justify-content:space-between;font-size:clamp(72px,12vw,180px);line-height:1.2;letter-spacing:-.07em;margin:20px 0}.contact-link span{font-size:.7em;letter-spacing:0}.email{font-size:15px;display:inline-block;border-bottom:1px solid #ffffff60;padding-bottom:8px}.footer-bottom{margin-top:78px;border-top:1px solid #ffffff30;padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#bfc3b7}.project-intro{padding-top:46px;padding-bottom:65px}.project-title{margin:70px 0 50px}.project-title h1{font-size:clamp(48px,7.5vw,118px);font-weight:400;line-height:1;letter-spacing:-.055em;max-width:1200px;margin-top:25px}.project-summary{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.project-summary h2{font-size:clamp(26px,3vw,44px);font-weight:400;line-height:1.2;letter-spacing:-1px;max-width:550px}.project-summary p{font-size:15px;line-height:1.8;color:var(--muted)}dl{margin:30px 0 0;font-size:12px}dl div{display:grid;grid-template-columns:80px 1fr;border-top:1px solid var(--line);padding:13px 0;gap:16px}dt{color:var(--muted)}dd{margin:0}.project-hero img{max-height:850px;aspect-ratio:2;object-fit:cover}.drawing-section{padding-top:90px;padding-bottom:60px}.drawing-hint{font-size:12px;color:var(--muted)}.sheet{margin:0 0 60px}.sheet-open{display:block;position:relative;background:white;border:1px solid #e8e7e0}.sheet img{aspect-ratio:1.414;object-fit:contain}.enlarge{position:absolute;bottom:14px;right:14px;background:var(--ink);color:white;font-size:11px;padding:11px 15px;opacity:0}.sheet-open:hover .enlarge,.sheet-open:focus-visible .enlarge{opacity:1}.sheet figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:14px;font-size:10px;letter-spacing:.5px;color:var(--muted)}.sheet figcaption a{text-decoration:underline;text-underline-offset:4px}.next-project{display:grid;grid-template-columns:1fr auto;gap:20px;padding-top:40px;padding-bottom:70px;border-top:1px solid var(--line)}.next-project .eyebrow{grid-column:1/-1}.next-project>span:not(.eyebrow){font-size:clamp(30px,4.5vw,68px);letter-spacing:-.04em}.archive{padding-top:50px;padding-bottom:50px}.archive>.section-heading{margin-top:60px;margin-bottom:25px}.archive h1{font-size:clamp(38px,6vw,80px);font-weight:400;letter-spacing:-.05em}.archive .section-heading>span{font-size:11px}.archive-intro{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 40px;max-width:600px}.not-found{padding-top:100px;padding-bottom:120px}.not-found h1{font-size:clamp(40px,7vw,100px);font-weight:400;letter-spacing:-.05em;margin:20px 0}.not-found p{margin-bottom:24px}.lightbox{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;padding:0;background:#ecece8;color:var(--ink)}.lightbox::backdrop{background:#ecece8}.lightbox-bar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--paper)}.lightbox-bar>span{font-size:12px}.lightbox-bar button{border:1px solid var(--line);background:transparent;padding:10px 14px;cursor:pointer;font-size:12px;margin-left:8px}.lightbox-scroll{height:calc(100% - 70px);overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;padding:20px}.lightbox-scroll img{width:100%;height:100%;object-fit:contain;margin:auto}.lightbox.zoomed .lightbox-scroll img{width:2200px;max-width:none;height:auto;object-fit:initial;flex-shrink:0;margin:0}.modal-open{overflow:hidden}
@media(min-width:1800px){.work,.intro,.about,.project-intro,.drawing-section,.archive{max-width:1800px;margin-left:auto;margin-right:auto}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{height:82px}.brand{font-size:20px}.brand span{font-size:8px;letter-spacing:1px}.header nav{gap:19px;font-size:12px}.header nav sup{display:none}.hero{height:calc(88svh - 82px);min-height:560px;max-height:850px}.hero-top{top:23px;font-size:9px}.hero-top>span:last-child{display:none}.hero-content{bottom:25px}.hero h1{font-size:clamp(43px,9.5vw,65px);margin:20px 0 32px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:20px}.hero-cta{gap:32px;font-size:13px}.hero-caption{font-size:10px}.intro{padding-top:65px;padding-bottom:65px;display:block}.intro h2{font-size:36px;margin:22px 0}.intro>p:last-child{font-size:15px}.section-heading{margin-bottom:28px;align-items:flex-start}.section-heading h2{font-size:25px}.section-heading .text-link{font-size:11px;max-width:115px}.project-grid{grid-template-columns:1fr;gap:40px}.card-2,.card-4{padding-top:0}.card-5{display:block}.card-5 .card-meta{margin-top:19px}.project-card h3{font-size:28px}.card-meta{font-size:9px}.about{margin:70px 0;padding-top:35px;display:flex;flex-direction:column;gap:40px}.about-visual{width:100%}.about-copy h2{font-size:48px}.about-lead{font-size:23px}.footer-bottom{margin-top:50px;flex-wrap:wrap;line-height:1.8}.footer-bottom>span:nth-child(2){order:3;flex-basis:100%}footer{padding-top:42px}.contact-link{font-size:84px}.project-intro{padding-top:30px;padding-bottom:40px}.project-title{margin:45px 0 30px}.project-title h1{font-size:50px;overflow-wrap:break-word}.project-summary{grid-template-columns:1fr;gap:24px}.project-summary h2{font-size:28px}.project-hero img{aspect-ratio:1.3}.drawing-section{padding-top:50px;padding-bottom:20px}.drawing-section .section-heading{flex-direction:column;gap:12px}.sheet{margin-bottom:34px}.enlarge{opacity:1;font-size:9px;padding:8px;bottom:8px;right:8px}.sheet figcaption{font-size:9px}.next-project{padding-top:30px;padding-bottom:45px}.archive .section-heading{flex-direction:column;gap:12px}.archive{padding-top:30px}.lightbox-bar{padding:0 12px}.lightbox-bar>span{font-size:10px}.lightbox-bar button{padding:10px;font-size:11px;margin-left:3px}.lightbox-scroll{padding:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(min-width:701px){.card-5{grid-template-rows:min-content min-content 1fr}.card-5 h3{align-self:start}}
/* Display-only signature: original image bytes and resolution are unchanged. */
.image-watermark,.project-hero{position:relative}
.hero::after,.card-image::after,.project-hero::after,.sheet-open::after,.image-watermark::after{content:"@Lifei Chen";position:absolute;left:14px;right:auto;bottom:12px;z-index:2;pointer-events:none;user-select:none;font-family:Arial,"Helvetica Neue","Microsoft YaHei",sans-serif;font-style:normal;font-size:clamp(16px,1.6vw,24px);font-weight:400;letter-spacing:0;line-height:1.2;white-space:nowrap;color:#fff;opacity:.5;-webkit-text-stroke:.6px #404040;paint-order:stroke fill;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.card-arrow{top:14px;bottom:auto}
.enlarge{top:14px;bottom:auto}
.lightbox-stage{position:relative;flex-shrink:0;margin:auto}
.lightbox-scroll .lightbox-stage img,.lightbox.zoomed .lightbox-scroll .lightbox-stage img{width:100%;height:auto;object-fit:contain;margin:0}
.lightbox.zoomed .lightbox-stage{margin:0}
.lightbox-stage::after{font-size:24px}
@media(max-width:700px){.enlarge{top:8px;bottom:auto}.hero::after,.card-image::after,.project-hero::after,.sheet-open::after,.image-watermark::after{left:10px;right:auto;bottom:10px}}
/* Suppress supported mobile image callouts; keep scrolling and zoom controls. */
img,.sheet-open,.card-image,.project-hero,.image-watermark,.hero-shade{-webkit-touch-callout:none}
img{-webkit-user-drag:none;user-select:none}
