:root{--bg: #FFFFFF;--ink: #0A0A0A;--gray: #8A8A8A;--line: #E8E8E8;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Helvetica", "Arial", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--serif: var(--sans);--cn-serif: var(--sans);--paper: #FFFFFF;--paper-2: #F5F5F7;--rule: #D2D2D7}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body.lang-zh{letter-spacing:0}body.lang-en,body.lang-fr{letter-spacing:-.003em}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button{background:none;border:none;color:inherit;font:inherit;cursor:pointer}::-moz-selection{background:var(--ink);color:var(--bg)}::selection{background:var(--ink);color:var(--bg)}.meta{font-family:var(--sans);font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:400;color:var(--gray)}nav.top{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 32px;display:flex;justify-content:space-between;align-items:baseline;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}nav.top .brand{font-family:var(--sans);font-size:19px;letter-spacing:-.015em;font-weight:500}nav.top .links{display:flex;gap:28px;font-size:13px;letter-spacing:.01em;font-weight:300;align-items:baseline}nav.top .links a:hover{color:var(--gray)}nav.top .lang-wrap{position:relative;display:inline-block}nav.top .lang-menu{position:absolute;top:calc(100% + 12px);right:0;background:var(--paper);border:1px solid var(--rule);padding:6px 0;min-width:130px;display:none;z-index:200}nav.top .lang-menu.open{display:block}nav.top .lang-menu a{display:block;padding:8px 16px;font-family:var(--sans);font-size:12px;letter-spacing:.04em;color:var(--ink)}nav.top .lang-menu a:hover{background:var(--paper-2)}nav.top .lang-menu a.active{color:var(--gray)}nav.top .lang-menu a.active:before{content:"— "}nav.top .lang{font-family:var(--sans);font-size:12px;letter-spacing:.04em;border-left:1px solid var(--line);padding-left:24px;margin-left:8px;cursor:pointer}nav.top .lang:hover{color:var(--gray)}@media(max-width:720px){nav.top{padding:16px 20px}nav.top .links>a{display:none}nav.top .lang-wrap{display:inline-block}}section.hero{height:100vh;min-height:640px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:0 32px 40px;overflow:hidden}section.hero .canvas-frame{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:min(58vh,540px);height:min(58vh,540px);z-index:0;pointer-events:none}section.hero canvas{width:100%;height:100%;display:block}@media(max-width:720px){section.hero .canvas-frame{width:min(80vw,360px);height:min(80vw,360px)}}section.hero .hero-content{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;width:100%;gap:40px}section.hero h1{font-family:var(--sans);font-weight:600;font-size:clamp(40px,6vw,88px);letter-spacing:-.025em;line-height:1.05}section.hero h1 .em{font-style:normal;font-weight:200;color:var(--gray)}body.lang-zh section.hero h1{letter-spacing:-.01em}section.hero .meta-block{text-align:right;line-height:1.7;font-size:12px;color:var(--gray);letter-spacing:.04em;text-transform:uppercase}@media(max-width:720px){section.hero{padding:0 20px 32px}section.hero .hero-content{flex-direction:column;align-items:flex-start}section.hero .meta-block{text-align:left}}.work .text h3 a.work-open{color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0% 1px;background-position:0 100%;transition:background-size .3s ease;padding-bottom:2px}.work .text h3 a.work-open:hover{background-size:100% 1px}body.modal-open{overflow:hidden}.work-modal{position:fixed;inset:0;background:#14141473;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:none;overflow-y:auto;padding:56px 32px;cursor:pointer}.work-modal.open{display:block}.work-modal-inner{background:var(--paper);max-width:980px;margin:0 auto;padding:56px 64px 80px;cursor:auto;position:relative;box-shadow:0 30px 80px -20px #00000040}@media(max-width:720px){.work-modal{padding:24px 12px}.work-modal-inner{padding:32px 24px 56px}}.work-modal .m-head{display:grid;grid-template-columns:60px 1fr auto;gap:24px;align-items:baseline;padding-bottom:32px;border-bottom:1px solid var(--rule);margin-bottom:40px}.work-modal .m-num{font-size:13px;color:var(--gray);letter-spacing:.04em}.work-modal .m-title{font-weight:600;font-size:clamp(28px,4vw,48px);letter-spacing:-.025em;line-height:1.05}.work-modal .m-sub{margin-top:6px;font-size:14px;color:var(--gray)}.work-modal .m-close{background:transparent;border:1px solid var(--rule);width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;flex-shrink:0}.work-modal .m-close:hover{background:var(--paper-2)}.work-modal .m-cover{aspect-ratio:16/9;background:var(--paper-2);background-image:repeating-linear-gradient(135deg,transparent 0 12px,rgba(0,0,0,.04) 12px 13px);display:flex;align-items:flex-end;padding:16px;margin-bottom:40px}.work-modal .m-cover .lbl{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);background:var(--paper);padding:4px 8px;border:1px solid var(--rule)}.work-modal .m-grid{display:grid;grid-template-columns:1fr 2fr;gap:56px;margin-bottom:56px}@media(max-width:720px){.work-modal .m-grid{grid-template-columns:1fr;gap:32px}}.work-modal .m-meta{display:flex;flex-direction:column;gap:14px}.work-modal .m-meta .m-row{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--line)}.work-modal .m-meta .m-k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray)}.work-modal .m-meta .m-v{font-size:14px;color:var(--ink)}.work-modal .m-body p{font-size:16px;line-height:1.65;color:#1a1a1a;margin-bottom:16px}.work-modal .m-body .m-lead{font-size:20px;line-height:1.45;letter-spacing:-.01em;color:var(--ink);margin-bottom:28px;font-weight:400}.work-modal .m-body h4{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);margin:28px 0 12px;font-weight:500}.work-modal .m-plates{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px}@media(max-width:720px){.work-modal .m-plates{grid-template-columns:1fr}}.work-modal .m-plates .plate{display:flex;flex-direction:column;gap:10px}.work-modal .m-plates .plate-img{aspect-ratio:4/3;background:var(--paper-2);background-image:repeating-linear-gradient(135deg,transparent 0 10px,rgba(0,0,0,.04) 10px 11px);display:flex;align-items:flex-end;padding:12px}.work-modal .m-plates .plate-tag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);background:var(--paper);padding:3px 7px;border:1px solid var(--rule)}.work-modal .m-plates figcaption{font-size:12px;color:var(--gray);letter-spacing:.01em}.work-modal .m-foot{padding-top:28px;border-top:1px solid var(--rule);text-align:center}section.s{padding:120px 32px 80px}section.s .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:80px;padding-bottom:16px;border-bottom:1px solid var(--ink)}section.s .head h2{font-weight:500;font-size:clamp(28px,3.6vw,44px);letter-spacing:-.005em}@media(max-width:720px){section.s{padding:80px 20px 60px}section.s .head{margin-bottom:48px}}.work-list{display:flex;flex-direction:column}.work{display:grid;grid-template-columns:80px 1fr 1fr;gap:40px;padding:32px 0;border-bottom:1px solid var(--line);align-items:flex-start}.work .num{font-weight:300;font-size:14px;letter-spacing:.04em;color:var(--gray);padding-top:6px}.work .text h3{font-weight:500;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.02em;line-height:1.05}.work .text h3 .em{font-weight:300;color:var(--gray);font-size:.7em;display:block;margin-top:4px}.work .text .summary{font-size:14px;line-height:1.65;margin-top:24px;max-width:440px;color:#2a2a2a;font-weight:400}.work .text .row{display:flex;justify-content:space-between;margin-top:28px;padding-top:16px;border-top:1px solid var(--line);max-width:440px;font-size:12px;color:var(--gray);letter-spacing:.02em}.work .img-ph{aspect-ratio:4/3;width:100%;background:var(--line);background-image:repeating-linear-gradient(135deg,transparent 0 12px,rgba(0,0,0,.04) 12px 13px);display:flex;align-items:flex-end;padding:14px}.work .img-ph .lbl{font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--bg);padding:4px 8px;color:var(--ink)}.work .img-ph.has-image,.work-modal .m-cover.has-image,.work-modal .plate-img.has-image{background-image:none!important;background-color:transparent}@media(max-width:880px){.work{grid-template-columns:1fr;gap:20px}.work .num{padding-top:0}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:flex-start}.about-grid .lead{font-weight:500;font-size:clamp(24px,2.8vw,36px);letter-spacing:-.005em;line-height:1.25}.about-grid .lead.zh{font-family:var(--cn-serif)}.about-grid .body{font-size:14px;line-height:1.75;color:#1a1a1a;max-width:460px;font-weight:400}.about-grid .body p+p{margin-top:14px}@media(max-width:880px){.about-grid{grid-template-columns:1fr;gap:40px}}.index-list{display:flex;flex-direction:column}.index-list .row{display:grid;grid-template-columns:140px 1fr 1fr;gap:40px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}.index-list .row .yr{font-weight:300;color:var(--gray);font-size:14px;letter-spacing:.02em}.index-list .row .role{font-size:22px;font-weight:500;letter-spacing:-.015em}.index-list .row .role.zh{font-family:var(--cn-serif)}.index-list .row .org{font-size:13px;color:var(--gray);line-height:1.6}@media(max-width:720px){.index-list .row{grid-template-columns:1fr;gap:4px}}.contact-block{margin-top:8px}.contact-block .email-line{display:block;font-size:clamp(40px,7vw,96px);letter-spacing:-.02em;line-height:1;padding:24px 0 32px;border-bottom:1px solid var(--ink);transition:color .2s}.contact-block .email-line .em{font-weight:200;color:var(--gray);margin-right:.25em}.contact-block .channels{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:40px}.contact-block .channels .c .meta{display:block;margin-bottom:8px}.contact-block .channels .c .v{font-size:14px}@media(max-width:720px){.contact-block .channels{grid-template-columns:repeat(2,1fr);gap:24px}}footer{margin-top:80px;padding:32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;color:var(--gray);letter-spacing:.02em}@media(max-width:720px){footer{padding:24px 20px;flex-direction:column;gap:8px}}
