*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#FAFAFA;--fg:#111;--muted:#888;--accent:#000}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:"Inter","Noto Sans SC",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased;animation:fade .8s ease both}
@keyframes fade{from{opacity:0}to{opacity:1}}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 48px}
header{display:flex;justify-content:space-between;align-items:center;padding:40px 0}
.logo{font-weight:500;letter-spacing:.02em}
nav a{margin-left:32px;color:var(--muted);transition:color .3s}
nav a:hover{color:var(--accent)}
.hero{padding:120px 0 140px}
.hero h1{font-size:clamp(40px,6vw,72px);font-weight:200;line-height:1.2;letter-spacing:-.01em}
.hero p{margin-top:24px;font-size:18px;color:var(--muted);font-weight:300}
.section-title{font-size:14px;color:var(--muted);letter-spacing:.1em;margin-bottom:40px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:64px 40px}
.card .thumb{aspect-ratio:4/3;background:#E8E8E8;display:flex;align-items:center;justify-content:center;color:#AAA;font-size:13px;transition:filter .4s}
.card:hover .thumb{filter:brightness(.92)}
.card h3{margin-top:16px;font-size:16px;font-weight:400}
.card span{font-size:13px;color:var(--muted)}
.about{padding:160px 0 0;max-width:640px}
.about p{font-weight:300;font-size:17px}
footer{margin-top:160px;padding:40px 0;border-top:1px solid #EAEAEA;display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.detail{padding:80px 0}
.detail .big{aspect-ratio:16/9;background:#E8E8E8;display:flex;align-items:center;justify-content:center;color:#AAA}
.detail h1{font-size:clamp(32px,4vw,48px);font-weight:200;margin:64px 0 8px}
.detail .meta{color:var(--muted);font-size:14px}
.detail .desc{max-width:640px;margin-top:32px;font-weight:300;font-size:17px}
.back{display:inline-block;margin-top:64px;color:var(--muted);transition:color .3s}.back:hover{color:var(--accent)}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr);gap:48px 24px}}
@media(max-width:600px){.hero h1{font-size:34px}.wrap{padding:0 24px}header{padding:28px 0}nav a{margin-left:20px}.hero{padding:64px 0 88px}.grid{grid-template-columns:1fr;gap:48px}.about{padding-top:112px}footer{margin-top:112px;flex-direction:column;gap:8px}}
nav{display:flex;align-items:center;flex-wrap:nowrap;white-space:nowrap}
.lang{margin-left:32px;color:#888;font-size:14px}
.lang button{background:none;border:0;font:inherit;color:#888;cursor:pointer;padding:0 2px;transition:color .3s}
.lang button.on,.lang button:hover{color:#111}
@media(max-width:600px){nav a{margin-left:16px}.lang{margin-left:16px}}
.logo{white-space:nowrap;margin-right:16px}
@media(max-width:600px){nav a{margin-left:14px}.lang{margin-left:14px}nav,.logo{font-size:15px}}
.card .thumb{aspect-ratio:4/5;overflow:hidden;background:#EEE}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bio{list-style:none;font-weight:300;font-size:16px}.bio li{margin-bottom:6px}
.quote{margin-top:40px;color:#555;font-weight:300;font-size:16px}
.sub{margin-top:40px;font-size:14px;color:#888}.small{font-size:14px;font-weight:300;margin-top:8px}
.placeholder{color:#888;border:1px dashed #CCC;padding:16px 20px;font-size:15px}
#contact{padding-top:96px}
.detail h1{margin-top:24px}
.works{margin-top:96px;display:flex;flex-direction:column;gap:112px}
.works figure{display:flex;flex-direction:column;align-items:center;gap:24px}
.works img{max-width:100%;max-height:85vh;width:auto;height:auto;display:block}
.works figcaption{align-self:center;text-align:center;font-size:14px;color:#888;line-height:1.7}
.works figcaption b{color:#111;font-weight:400;font-size:15px}
.detail{padding-bottom:0}
footer{margin-top:120px}
