@charset "UTF-8";
:root{--paper:#f2f0e9;--ink:#29332e;--muted:#6c756d;--line:#c9cdc1;--green:#536750;--soft:#e6e8dd;--serif:"Bodoni MT","Times New Roman","Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",sans-serif;--mono:"Consolas","Courier New",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:6px}button:disabled{cursor:default}::selection{background:#c4cfb7;color:var(--ink)}.wrap{width:min(1440px,calc(100% - 112px));margin-inline:auto}.mono{font:11px/1.6 var(--mono);letter-spacing:.09em}.serif{font-family:var(--serif);font-weight:400}.eyebrow{display:flex;gap:12px;align-items:center;font:11px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}.skip{position:fixed;left:20px;top:-100px;padding:10px 20px;background:var(--ink);color:white;z-index:100}.skip:focus{top:10px}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:16px}.brand-mark{font:italic 34px/.8 var(--serif);letter-spacing:-4px;padding-right:5px}.brand-name{font-size:14px;letter-spacing:.12em}.brand-name span{display:block;font:9px/1.8 var(--mono);letter-spacing:.12em;color:var(--muted)}.desktop-nav{display:flex;gap:36px;align-items:center;font-size:12px}.desktop-nav>a{position:relative;padding:8px 0}.desktop-nav>a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}.desktop-nav>a:hover:after{width:100%}.desktop-nav small{font:10px var(--mono);margin-left:4px;color:var(--muted)}.desktop-nav .nav-download{padding:9px 17px;border:1px solid var(--line)}.desktop-nav .nav-download:hover{background:var(--soft)}.menu-button{display:none;background:none;border:1px solid var(--line);padding:8px 13px;font-size:12px}.hero{display:grid;grid-template-columns:.92fr 1.25fr;gap:50px;padding-top:54px;padding-bottom:38px;min-height:685px}.hero-copy{display:flex;flex-direction:column;padding-top:27px}.hero h1{font:400 clamp(64px,6.7vw,104px)/1.22 var(--serif);letter-spacing:.02em;margin:31px 0 4px}.hero h1 .second{padding-left:.75em}.hero-english{font:italic clamp(27px,3vw,47px)/1.3 var(--serif);color:var(--green);margin:13px 0 25px}.hero-description{font-size:13px;color:var(--muted);line-height:1.95;max-width:320px;margin:0}.text-link{display:inline-flex;gap:40px;align-items:center;font-size:12px;padding:15px 0 10px;border-bottom:1px solid var(--ink);width:max-content}.text-link span:last-child{font-size:21px;line-height:1;transition:transform .25s}.text-link:hover span:last-child{transform:translate(4px,-4px)}.hero-cta{margin-top:auto;padding-top:35px}.hero-art{position:relative;margin:0;display:flex;flex-direction:column}.hero-image-link{display:block;overflow:hidden;flex:1;min-height:470px}.hero-art img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.hero-image-link:hover img{transform:scale(1.035)}.hero-image-link:after{content:"↗";position:absolute;right:24px;top:22px;background:var(--paper);width:38px;height:38px;display:grid;place-items:center;font-size:20px}.hero-art figcaption{display:flex;justify-content:space-between;gap:14px;padding-top:14px;font-size:10px;color:var(--muted)}.hero-art figcaption b{font-weight:400;color:var(--ink)}.chapter-bar{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.chapter-bar span:last-child{color:var(--muted)}.work-section{padding-top:93px;padding-bottom:115px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:42px;gap:25px}.section-kicker{font:italic 19px/1.4 var(--serif);color:var(--muted);margin:0 0 12px}.section-heading h2{font:400 44px/1.2 var(--serif);margin:0;letter-spacing:.05em}.section-heading h2 sup{font:12px var(--mono);vertical-align:top;margin-left:12px;color:var(--muted)}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{background:none;border:0;color:var(--muted);padding:8px 17px;font-size:12px;border-radius:0}.filter[aria-pressed=true]{color:var(--paper);background:var(--ink)}.filter:not([aria-pressed=true]):hover{background:var(--soft)}.project-grid{display:grid;grid-template-columns:1.19fr 1fr;gap:76px 50px;align-items:start}.project-card{min-width:0}.project-card:nth-child(2){margin-top:120px}.project-card:nth-child(4){margin-top:100px}.project-card:nth-child(5){grid-column:1/-1;max-width:75%;margin-left:25%}.project-image{overflow:hidden;background:var(--soft);position:relative;aspect-ratio:1.4}.project-card:nth-child(2) .project-image{aspect-ratio:1.08}.project-card:nth-child(3) .project-image{aspect-ratio:1.16}.project-card:nth-child(5) .project-image{aspect-ratio:1.8}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s}.project-card a:hover img{transform:scale(1.035);filter:saturate(1.05)}.project-image .view-project{position:absolute;right:18px;bottom:18px;background:var(--paper);padding:9px 15px;font-size:11px;transform:translateY(60px);transition:transform .3s}.project-card a:hover .view-project,.project-card a:focus-visible .view-project{transform:translateY(0)}.project-meta{display:flex;justify-content:space-between;font:10px/1.5 var(--mono);color:var(--muted);padding:17px 0 9px;border-bottom:1px solid var(--line)}.project-title-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px}.project-title-row h3{font:400 28px/1.4 var(--serif);margin:0}.project-title-row span{font-size:28px}.project-card p{font-size:12px;color:var(--muted);margin:7px 0 0}.project-card[hidden]{display:none}.project-grid.filtered .project-card{margin:0;max-width:none;grid-column:auto}.empty-state{padding:45px;border-top:1px solid var(--line)}.about-section{background:var(--ink);color:var(--paper);padding:95px 0 100px}.about-grid{display:grid;grid-template-columns:.68fr 1fr;gap:100px}.about-label{color:#adbba8}.about-section h2{font:400 43px/1.35 var(--serif);margin:22px 0 0}.about-text .lead{font:400 24px/1.8 var(--serif);margin:0 0 27px}.about-text>p{color:#bac3b8;font-size:13px;line-height:2.1;max-width:580px}.about-facts{display:grid;grid-template-columns:1fr 1fr;margin-top:40px;gap:30px;border-top:1px solid #515e52;padding-top:25px}.about-facts dt{font-size:10px;color:#a7b2a3;margin-bottom:10px}.about-facts dd{margin:0;font-size:13px}.about-facts dd span{display:block;font:10px/1.8 var(--mono);color:#a7b2a3;margin-top:5px}.contact-section{padding:95px 0 70px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-section h2{font:400 46px/1.4 var(--serif);margin:13px 0 18px}.contact-section .intro{color:var(--muted);font-size:12px;margin:0}.contact-links{padding-top:28px}.contact-mail{font:400 clamp(21px,2.7vw,38px)/1.5 var(--serif);display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;gap:20px}.contact-mail:hover{color:var(--green)}.contact-lower{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:22px;font:12px var(--mono)}.copy-button{border:0;background:none;font-size:11px;padding:8px 0;color:var(--muted)}.copy-button:hover{color:var(--ink)}.download-block{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:27px 0;margin-bottom:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.download-block p{font-size:12px;margin:0}.download-block span{display:block;margin-top:4px;color:var(--muted);font:10px var(--mono)}.download-button{background:var(--ink);color:var(--paper);padding:13px 25px;font-size:12px;white-space:nowrap}.download-button:hover{background:var(--green)}.site-footer{display:flex;justify-content:space-between;gap:15px;padding:0 0 30px;color:var(--muted);font:10px/1.7 var(--mono)}.back-top{font-size:11px}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:12px 22px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:.25s}.toast.visible{opacity:1;transform:translate(-50%,0)}
/* Project archive */
.project-intro{padding-top:38px}.back-link{font-size:11px;color:var(--muted);display:inline-block;padding:10px 0}.detail-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:37px 0 32px}.detail-title .eyebrow{margin-bottom:18px}.detail-title h1{font:400 clamp(42px,5.4vw,78px)/1.25 var(--serif);margin:0;letter-spacing:.03em}.detail-english{font:italic clamp(22px,3vw,39px)/1.25 var(--serif);color:var(--muted);text-align:right;max-width:40%;margin:0 0 7px}.detail-cover{margin:0;position:relative;aspect-ratio:1.95;background:var(--soft);overflow:hidden}.detail-cover img{width:100%;height:100%;object-fit:cover}.detail-cover button{position:absolute;right:20px;bottom:20px;border:0;background:var(--paper);padding:10px 18px;font-size:11px}.detail-cover-caption{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);padding-top:12px}.project-overview{display:grid;grid-template-columns:.6fr 1fr;gap:95px;padding:64px 0 72px;border-bottom:1px solid var(--line)}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px;align-content:start;margin:0}.project-facts dt{font-size:10px;color:var(--muted);margin-bottom:8px}.project-facts dd{margin:0;font-size:12px}.project-story h2{font:400 28px/1.6 var(--serif);margin:0 0 15px}.project-story p{font-size:13px;line-height:2.1;color:var(--muted);margin:0}.detail-chapter{padding-top:70px}.detail-chapter-header{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:27px}.detail-chapter-header h2{font:400 30px/1.3 var(--serif);margin:0}.detail-chapter-header span{color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.gallery.single{grid-template-columns:1fr}.gallery.three{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-item{margin:0;min-width:0}.image-zoom{display:block;width:100%;padding:0;border:0;background:var(--soft);position:relative;overflow:hidden}.image-zoom img{width:100%;height:auto;transition:transform .6s}.image-zoom:after{content:"＋";position:absolute;right:15px;bottom:15px;background:var(--paper);font-size:18px;line-height:32px;width:32px;opacity:0;transition:opacity .2s}.image-zoom:hover:after,.image-zoom:focus-visible:after{opacity:1}.image-zoom:hover img{transform:scale(1.015)}.gallery-item figcaption{display:flex;justify-content:space-between;padding:13px 0;font-size:11px;color:var(--muted);gap:15px}.gallery-item figcaption .mono{font-size:9px}.project-note{font-size:11px;color:var(--muted);margin:45px 0 0;max-width:800px;line-height:1.9}.next-project{border-top:1px solid var(--line);margin-top:75px;padding:48px 0 68px;display:flex;align-items:center;justify-content:space-between;gap:25px}.next-project .mono{color:var(--muted)}.next-project h2{font:400 40px/1.5 var(--serif);margin:10px 0 0}.next-project .next-arrow{font:400 65px/1 var(--serif);transition:transform .25s}.next-project:hover .next-arrow{transform:translateX(10px)}.detail-contact{border-top:1px solid var(--line);padding:30px 0 40px;display:flex;justify-content:space-between;font-size:12px}.lightbox{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;padding:0;background:rgba(24,30,26,.98);color:var(--paper)}.lightbox::backdrop{background:rgba(24,30,26,.98)}.lightbox-inner{height:100%;display:flex;flex-direction:column}.lightbox-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;font-size:12px;flex-shrink:0}.lightbox-close{border:1px solid #677065;background:none;color:var(--paper);padding:7px 13px;font-size:12px}.lightbox-stage{flex:1;min-height:0;position:relative;display:flex;justify-content:center;align-items:center;padding:12px 72px}.lightbox-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);border:1px solid #677065;background:var(--ink);color:var(--paper);width:40px;height:50px;font-size:23px}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-footer{text-align:center;padding:15px 25px 24px;font:10px var(--mono);color:#bac3b8;flex-shrink:0}.lightbox-caption{font:12px var(--sans);margin-right:20px}.lightbox-original{color:var(--paper);text-decoration:underline;display:inline-block;margin-left:18px}.no-js .filters{display:none}
@media(min-width:1700px){.hero{min-height:750px}.hero-image-link{min-height:560px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:30px;min-height:610px;padding-top:35px}.hero h1{font-size:76px}.hero-image-link{min-height:420px}.hero-english{font-size:32px}.project-grid{gap:60px 30px}.about-grid{gap:55px}.contact-section{gap:40px}.project-overview{gap:50px}}
@media(max-width:760px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.site-header{height:76px}.brand-mark{font-size:30px}.brand-name{font-size:12px}.brand-name span{font-size:8px}.menu-button{display:block}.desktop-nav{display:none;position:absolute;top:75px;right:0;left:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px;gap:12px;align-items:stretch;flex-direction:column}.desktop-nav.open{display:flex}.desktop-nav>a{padding:10px}.desktop-nav .nav-download{margin-top:3px}.hero{grid-template-columns:1fr;gap:32px;padding-top:25px;padding-bottom:25px;min-height:0}.hero-copy{padding-top:10px}.hero h1{font-size:clamp(62px,13.9vw,96px);margin:24px 0 2px;line-height:1.18}.hero h1 br{display:block}.hero h1 .second{padding-left:0}.hero-english{font-size:32px;margin:12px 0 20px}.hero-description{font-size:12px;max-width:300px}.hero-cta{padding-top:10px;margin-top:9px}.text-link{padding-top:10px;gap:32px}.hero-image-link{height:auto;min-height:0;aspect-ratio:1.13}.hero-image-link:after{width:34px;height:34px;right:15px;top:15px}.hero-art figcaption{font-size:9px;padding-top:12px}.hero-art figcaption .mono{font-size:9px}.chapter-bar{padding:16px 0}.chapter-bar .mono{font-size:9px}.chapter-bar span:last-child{max-width:48%;text-align:right}.work-section{padding:58px 0 65px}.section-heading{align-items:flex-start;flex-direction:column;margin-bottom:27px;gap:24px}.section-heading h2{font-size:36px}.section-kicker{font-size:17px;margin-bottom:9px}.filters{gap:3px}.filter{font-size:11px;padding:7px 14px}.project-grid{grid-template-columns:1fr;gap:38px}.project-card:nth-child(n){margin:0;max-width:none;grid-column:auto}.project-card:nth-child(n) .project-image{aspect-ratio:1.38}.project-card:nth-child(3) .project-image{aspect-ratio:1.2}.project-meta{padding-top:13px;font-size:9px}.project-title-row{margin-top:10px}.project-title-row h3{font-size:25px}.project-card p{font-size:11px}.project-image .view-project{display:none}.about-section{padding:56px 0 60px}.about-grid{grid-template-columns:1fr;gap:32px}.about-section h2{font-size:34px;margin-top:15px}.about-section h2 br{display:none}.about-text .lead{font-size:22px}.about-text>p{font-size:12px}.about-facts{margin-top:27px;gap:25px}.about-facts dd{font-size:12px}.contact-section{padding:55px 0 40px;grid-template-columns:1fr;gap:20px}.contact-section h2{font-size:37px}.contact-links{padding-top:5px}.contact-mail{font-size:28px}.contact-lower{font-size:11px}.download-block{padding:22px 0;gap:20px;margin-bottom:25px}.download-block p{font-size:11px}.download-block span{font-size:9px;line-height:1.6}.download-button{font-size:11px;padding:12px 17px}.site-footer{font-size:9px;flex-wrap:wrap;padding-bottom:22px}.site-footer>span:nth-child(2){display:none}.project-intro{padding-top:20px}.detail-title{margin:23px 0 25px;align-items:flex-start;flex-direction:column;gap:15px}.detail-title h1{font-size:43px}.detail-title .eyebrow{font-size:10px;margin-bottom:14px}.detail-english{text-align:left;max-width:100%;font-size:26px}.detail-cover{aspect-ratio:1.2}.detail-cover button{right:12px;bottom:12px;font-size:10px;padding:8px 12px}.detail-cover-caption{font-size:9px}.project-overview{grid-template-columns:1fr;gap:32px;padding:34px 0 40px}.project-facts{gap:22px}.project-story h2{font-size:24px}.project-story p{font-size:12px}.detail-chapter{padding-top:44px}.detail-chapter-header{margin-bottom:22px;gap:12px;align-items:center}.detail-chapter-header h2{font-size:25px}.detail-chapter-header span{font-size:9px}.gallery,.gallery.three{grid-template-columns:1fr;gap:17px}.gallery-item figcaption{font-size:10px}.project-note{margin-top:30px;font-size:10px}.next-project{margin-top:45px;padding:30px 0 40px}.next-project h2{font-size:30px}.next-project .next-arrow{font-size:47px}.detail-contact{font-size:11px;padding-top:25px;flex-wrap:wrap;gap:15px}.lightbox-header{padding:15px;font-size:11px}.lightbox-stage{padding:8px 42px}.lightbox-prev,.lightbox-next{width:30px;height:42px;font-size:20px}.lightbox-prev{left:6px}.lightbox-next{right:6px}.lightbox-footer{padding-inline:10px;line-height:2}.lightbox-caption{display:block;margin:0}.lightbox-original{margin-left:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.case-nav{display:flex;flex-wrap:wrap;gap:10px 28px;padding:24px 0;border-bottom:1px solid var(--line);align-items:center}.case-nav>.mono{color:var(--muted);margin-right:auto}.case-nav a{font-size:11px;border-bottom:1px solid transparent;padding:5px 0}.case-nav a:hover{border-color:var(--green)}.case-nav a span{margin-left:10px;color:var(--muted)}.case-context{padding-top:65px}.case-heading .mono{color:var(--muted)}.case-heading h2{font:400 32px/1.5 var(--serif);margin:12px 0 20px}.case-brief{font-size:15px;line-height:2.1;max-width:880px;margin:0 0 36px}.strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}.strategy-grid article{border-top:1px solid var(--line);padding-top:20px}.strategy-grid .mono{color:var(--muted);font-size:10px}.strategy-grid h3{font:400 23px/1.5 var(--serif);margin:14px 0}.strategy-grid p,.chapter-text{font-size:13px;line-height:2.05;color:var(--muted);margin:0}.chapter-text{max-width:870px;margin:-6px 0 28px}.design-sequence{border-block:1px solid var(--line);margin-top:35px;padding:22px 0;display:flex;align-items:center;gap:35px}.design-sequence>.mono{color:var(--muted);flex-shrink:0}.design-sequence ol{list-style:none;display:flex;flex-wrap:wrap;gap:12px 24px;padding:0;margin:0;counter-reset:steps}.design-sequence li{font-size:11px;counter-increment:steps}.design-sequence li:before{content:counter(steps,decimal-leading-zero) ' / ';font:10px var(--mono);color:var(--muted)}
@media(max-width:760px){.case-nav{gap:6px 20px;padding:20px 0}.case-nav>.mono{flex-basis:100%;margin-bottom:8px;font-size:9px}.case-nav a{font-size:10px}.case-context{padding-top:38px}.case-heading h2{font-size:27px}.case-brief{font-size:13px;margin-bottom:25px}.strategy-grid{grid-template-columns:1fr;gap:24px}.strategy-grid h3{font-size:22px;margin:10px 0}.strategy-grid p,.chapter-text{font-size:12px}.design-sequence{align-items:flex-start;flex-direction:column;gap:17px;padding:20px 0;margin-top:28px}.design-sequence ol{gap:12px 20px}.chapter-text{margin-bottom:22px}}
