:root{--paper:#f4f1ea;--ink:#171714;--muted:#6f6d66;--line:rgba(23,23,20,.18);--accent:#ba4f38;--pad:clamp(22px,4vw,68px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Noto Sans SC","PingFang SC",sans-serif;font-size:15px;line-height:1.65}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.section-shell{padding-left:var(--pad);padding-right:var(--pad)}[data-en]{display:none}body.lang-en [data-zh]{display:none}body.lang-en [data-en]{display:initial}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:78px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(var(--paper) 0%,rgba(244,241,234,.94) 72%,transparent);mix-blend-mode:normal}.wordmark{font-weight:700;letter-spacing:.06em}.desktop-nav{display:flex;gap:34px;margin-left:auto;margin-right:50px}.desktop-nav a,.text-link,.contact-intro a{border-bottom:1px solid transparent;transition:border-color .25s}.desktop-nav a:hover,.text-link:hover,.contact-intro a:hover{border-color:currentColor}.header-actions{display:flex;align-items:center;gap:22px}.language-switch{display:flex;align-items:center;gap:7px;border:0;background:none;padding:4px;cursor:pointer;font-size:12px}.language-switch i{display:block;width:18px;height:1px;background:var(--ink)}.lang-option{opacity:.38}.lang-option.active{opacity:1}.menu-button{display:none;width:32px;height:32px;border:0;background:none;padding:7px;cursor:pointer}.menu-button span{display:block;height:1px;background:var(--ink);margin:6px 0;transition:.3s}.mobile-menu{display:none}
.hero{min-height:100vh;padding-top:120px;padding-bottom:40px;display:grid;grid-template-columns:minmax(240px,.62fr) minmax(420px,1.38fr);gap:clamp(28px,6vw,100px);align-items:end}.hero-copy{align-self:center;padding-bottom:5vh}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;margin:0 0 24px}.hero h1{font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(66px,9.5vw,154px);font-weight:400;line-height:.82;letter-spacing:-.065em;margin:0 0 44px}.hero-note{max-width:300px}.placeholder-copy{color:var(--muted)}.hero-art{position:relative;height:min(76vh,820px);min-height:520px;overflow:hidden}.placeholder-art{position:relative;background-color:#d8d2c5;isolation:isolate}.placeholder-art:before,.placeholder-art:after{content:"";position:absolute;z-index:-1;filter:blur(1px)}.art-01{background:linear-gradient(135deg,#c6b8a4,#e8e2d8 46%,#8e7262)}.art-01:before{width:58%;height:110%;left:18%;top:-8%;background:#342f2a;clip-path:polygon(43% 0,100% 12%,64% 48%,84% 100%,13% 84%,0 28%)}.art-01:after{width:33%;height:53%;right:4%;bottom:2%;background:var(--accent);border-radius:50% 48% 18% 62%}.placeholder-label{position:absolute;top:18px;left:20px;color:rgba(255,255,255,.72);font-size:11px;letter-spacing:.12em}.scroll-cue{position:absolute;left:20px;bottom:18px;color:#fff;font-size:12px;letter-spacing:.08em}
.works{padding-top:150px;padding-bottom:170px}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:75px;border-top:1px solid var(--line);padding-top:22px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2,.about h2,.contact h2{font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(48px,7vw,104px);font-weight:400;line-height:.95;letter-spacing:-.055em;margin:0}.section-heading>p:last-child{max-width:410px;align-self:end;margin:0;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,5vw,80px);row-gap:100px}.work-card{cursor:pointer;outline:none}.work-card:nth-child(even){margin-top:140px}.work-card:focus-visible{outline:2px solid var(--accent);outline-offset:8px}.work-image{aspect-ratio:4/5;overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.work-card:hover .work-image{transform:translateY(-6px)}.work-image>span{position:absolute;right:18px;bottom:12px;color:rgba(255,255,255,.7);font-family:Georgia,serif;font-size:34px}.work-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:12px;margin-top:15px}.work-meta h3,.work-meta p{font-size:13px;font-weight:400;margin:0}.work-meta p{color:var(--muted);text-align:right}.art-02{background:linear-gradient(155deg,#d7c9b9,#9c7b67)}.art-02:before{inset:13% 22%;background:#bd4e36;border-radius:46% 54% 38% 62%}.art-03{background:linear-gradient(22deg,#242b2b,#79837a)}.art-03:before{width:68%;height:38%;left:15%;top:32%;background:#d6c99d;transform:rotate(-11deg)}.art-04{background:#c7baa2}.art-04:before{inset:8%;background:repeating-linear-gradient(90deg,#34342f 0 2px,transparent 2px 32px)}.art-04:after{width:45%;height:45%;right:10%;bottom:8%;border-radius:50%;background:#9f4433}.art-05{background:linear-gradient(135deg,#ece7dc 50%,#45514e 50%)}.art-05:before{width:44%;height:68%;left:28%;top:15%;border:2px solid #a94e3d;transform:rotate(17deg)}.art-06{background:#7e746a}.art-06:before{inset:12%;background:linear-gradient(38deg,transparent 30%,#d8cfc1 31% 68%,transparent 69%)}.art-07{background:linear-gradient(#c0c0b1,#e9ddc7)}.art-07:before{width:56%;height:56%;left:22%;top:20%;background:#222723;clip-path:polygon(50% 0,100% 100%,0 100%)}.art-08{background:#c26349}.art-08:before{width:70%;height:70%;left:14%;top:13%;border-radius:50%;background:#dbd0bc}.art-08:after{width:30%;height:30%;left:34%;top:33%;border-radius:50%;background:#333633}.art-09{background:linear-gradient(160deg,#363a36,#b1a793)}.art-09:before{inset:16% 20%;border:1px solid #f0e9de;box-shadow:18px 20px 0 #b6533f,-16px -14px 0 rgba(255,255,255,.22)}
.about{padding-top:120px;padding-bottom:180px;display:grid;grid-template-columns:minmax(280px,.85fr) minmax(300px,1.15fr);gap:clamp(45px,9vw,150px);align-items:center;background:#ded9ce}.about-portrait{aspect-ratio:3/4}.about-portrait>span{position:absolute;left:16px;bottom:12px;color:rgba(255,255,255,.72);font-size:11px;letter-spacing:.08em}.art-10{background:linear-gradient(145deg,#a49b90,#d9d4c9)}.art-10:before{width:42%;height:42%;border-radius:50%;left:29%;top:16%;background:#343431}.art-10:after{width:70%;height:50%;left:15%;bottom:0;background:#605d58;clip-path:polygon(32% 0,68% 0,100% 100%,0 100%)}.about-copy{max-width:650px}.about-copy h2{margin-bottom:45px}.about-copy .lead{font-family:Georgia,"Noto Serif SC",serif;font-size:clamp(22px,2.5vw,38px);line-height:1.45;margin-bottom:30px}.about-copy>p:not(.eyebrow):not(.lead){max-width:540px;color:var(--muted)}.text-link{display:inline-block;margin-top:20px}
.contact{padding-top:160px;padding-bottom:150px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,10vw,160px);background:var(--ink);color:var(--paper)}.contact-intro h2{margin:0 0 45px}.contact-intro>p:not(.eyebrow){max-width:440px;color:#a9a79f}.contact-intro>a{display:inline-block;margin-top:20px}.contact-form{padding-top:40px}.contact-form label{display:block;border-bottom:1px solid rgba(244,241,234,.28);padding:18px 0}.contact-form label>span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8f8d87;margin-bottom:7px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;outline:0;background:transparent;border-radius:0;padding:3px 0;resize:vertical}.contact-form select{appearance:none}.contact-form option{color:var(--ink)}.contact-form button{width:100%;display:flex;justify-content:space-between;margin-top:34px;border:1px solid rgba(244,241,234,.48);background:transparent;padding:17px 20px;cursor:pointer;transition:.25s}.contact-form button:hover{background:var(--paper);color:var(--ink)}.contact-form button b{font-weight:400}.form-note{color:#77756f;font-size:11px}.site-footer{height:100px;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#817f78;border-top:1px solid #30302d;font-size:11px;letter-spacing:.06em}.site-footer p{margin:0}
.work-dialog{width:min(1120px,92vw);max-height:90vh;border:0;padding:0;background:var(--paper);color:var(--ink)}.work-dialog::backdrop{background:rgba(15,15,14,.82);backdrop-filter:blur(5px)}.work-dialog[open]{display:grid;grid-template-columns:1.4fr .6fr}.dialog-art{min-height:76vh}.dialog-art>span{position:absolute;right:25px;bottom:15px;color:rgba(255,255,255,.72);font:52px Georgia,serif}.dialog-copy{padding:80px 38px}.dialog-copy h2{font:400 38px/1.1 Georgia,"Noto Serif SC",serif}.dialog-close{position:absolute;z-index:2;right:16px;top:10px;border:0;background:none;font-size:34px;font-weight:200;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){.site-header{height:64px}.desktop-nav{display:none}.menu-button{display:block}.mobile-menu{display:block;position:fixed;z-index:15;inset:0;background:var(--paper);padding:130px var(--pad) 40px;transform:translateY(-100%);transition:.45s cubic-bezier(.75,0,.2,1)}.mobile-menu.open{transform:none}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu a{font:400 48px/1.55 Georgia,"Noto Serif SC",serif;border-bottom:1px solid var(--line)}.menu-open .menu-button span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-button span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:auto;padding-top:110px;grid-template-columns:1fr}.hero-copy{padding-bottom:12px}.hero h1{font-size:24vw;margin-bottom:30px}.hero-art{height:67vh;min-height:470px}.works{padding-top:100px;padding-bottom:110px}.section-heading{grid-template-columns:1fr;margin-bottom:45px}.section-heading .eyebrow{grid-column:auto}.work-grid{grid-template-columns:1fr;row-gap:65px}.work-card:nth-child(even){margin-top:0}.work-meta{display:block}.work-meta p{text-align:left}.about{padding-top:90px;padding-bottom:110px;grid-template-columns:1fr}.about-portrait{width:88%}.contact{padding-top:100px;padding-bottom:90px;grid-template-columns:1fr}.contact-form{padding-top:0}.work-dialog[open]{grid-template-columns:1fr;overflow:auto}.dialog-art{min-height:56vh}.dialog-copy{padding:45px 24px}.site-footer{height:90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.work-image{transition:none}}
