:root{--bg:#fcfcfc;--ink:#111;--muted:#696969;--line:#e2e2e2;--accent:#d84d16;--sans:'Space Grotesk','PingFang SC','Microsoft YaHei',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif;--mono:'JetBrains Mono','PingFang SC',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;width:100%}::selection{background:#f86828;color:white}.orange{color:var(--accent)}.muted{color:var(--muted)}.header{height:82px;padding:0 4.5%;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}.brand{font-size:27px;font-weight:700;letter-spacing:-1.8px;display:flex;align-items:center;white-space:nowrap}.brand>span:not(.studio){color:var(--accent)}.brand .studio{font-size:8px;letter-spacing:1.5px;line-height:1.3;margin-left:12px;border-left:1px solid var(--line);padding:6px 0 6px 12px;font-weight:500}.header nav{margin:auto;display:flex;gap:30px;font-size:12px}.header nav a{padding:10px 0;color:var(--muted)}.header nav a:hover,.header nav a[aria-current]{color:var(--ink)}.header nav a[aria-current]{border-bottom:1px solid var(--ink)}.header-cta,.solid-button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;min-height:46px;padding:14px 25px;font-size:12px;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.header-cta:hover,.solid-button:hover{background:var(--accent)}.header-cta{order:4;font-size:11px;min-height:40px;padding:12px 22px}.language{display:flex;gap:7px;background:none;font-family:var(--mono);font-size:11px;color:#777;padding:12px;border:1px solid var(--line);order:3;min-height:40px}.language .active{color:var(--ink)}.menu-toggle{display:none;background:none;width:44px;height:44px;padding:12px}.menu-toggle span{display:block;width:20px;height:1px;background:var(--ink);margin:6px 0}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;padding:100px 6% 70px;align-items:center;min-height:690px}.hero-content{min-width:0}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:1.8px;font-weight:400;line-height:1.9;color:var(--muted);margin:0 0 27px}.serif-line{font-family:var(--serif);font-size:clamp(32px,3.5vw,52px);font-weight:400;line-height:1.1;letter-spacing:-1.7px;margin:0 0 18px}h1,h2{font-family:var(--sans);font-weight:600;letter-spacing:-2px}h1{font-size:clamp(45px,4.9vw,72px);line-height:1.18;margin:0 0 26px}h2{font-size:clamp(30px,3vw,46px);line-height:1.3;margin:0}h3{font-weight:500}.hero-description{font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{font-size:12px;display:inline-block;border-bottom:1px solid var(--ink);padding:12px 0}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-art{position:relative}.hero-art img{aspect-ratio:1;object-fit:cover;object-position:64% center}.hero-art>span{font-family:var(--mono);font-size:8px;letter-spacing:1px;display:block;margin-top:13px;color:var(--muted)}.entry-section{margin:0 6%;padding:25px 0 0;border-top:1px solid var(--line)}.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.entry-grid a{position:relative;padding:5px 30px 32px 0;border-right:1px solid var(--line)}.entry-grid a:not(:first-child){padding-left:30px}.entry-grid a:last-child{border-right:0}.entry-grid small{display:block;font-family:var(--mono);font-size:9px;color:var(--muted);margin-bottom:20px}.entry-grid span{font-size:23px;font-weight:500}.entry-grid b{position:absolute;right:25px;bottom:33px;font-size:25px;font-weight:400}.entry-grid a:hover{color:var(--accent)}.section{padding:90px 6%}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-top .eyebrow{margin-bottom:15px}.section-note{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.filters{display:flex;gap:22px;margin-bottom:34px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filters button{background:none;color:var(--muted);font-size:12px;padding:14px 0;border-bottom:2px solid transparent}.filters button.selected{color:var(--ink);border-bottom-color:var(--accent)}.filters button:hover{color:var(--ink)}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}.work-card{text-align:left;background:none;padding:0;width:100%;min-width:0}.work-card[hidden]{display:none}.work-image{aspect-ratio:4/5;position:relative;overflow:hidden;background:#eee}.work-image img{height:100%;object-fit:cover;transition:transform .5s}.work-card:hover img{transform:scale(1.035)}.card-arrow{position:absolute;bottom:12px;right:12px;background:white;color:#111;display:grid;place-items:center;width:34px;height:34px;font-size:20px}.card-caption{display:flex;justify-content:space-between;gap:10px;padding-top:17px}.card-caption h3{font-size:18px;margin:0 0 8px;line-height:1.5}.card-caption p{font-size:10px;font-family:var(--mono);color:var(--muted);margin:0;line-height:1.7}.card-number{font-family:var(--mono);font-size:9px;color:var(--muted);padding-top:5px}.work-footnote{font-family:var(--mono);font-size:10px;color:var(--muted);margin:30px 0 0}.statement{padding:85px 6%;background:#f2f1ee;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.statement-text{font-weight:500;font-size:clamp(40px,5.5vw,76px);line-height:1.3;letter-spacing:-2px;margin:0 0 25px}.statement-text span{color:var(--accent)}.statement-note{font-size:14px;color:var(--muted)}.exhibition-feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.exhibition-feature img{aspect-ratio:1.2;object-fit:cover}.exhibition-feature .serif-line{font-size:40px}.exhibition-feature h2{font-size:33px}.exhibition-feature>div>p:not(.eyebrow):not(.serif-line){font-size:14px;color:var(--muted);line-height:2;margin:24px 0}.closing{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px}.closing .eyebrow{grid-column:1/-1;margin-bottom:5px}.closing h2{font-size:clamp(35px,4.5vw,64px)}.page-intro{padding-top:95px;padding-bottom:65px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(40px,5vw,68px);margin-bottom:0}.page-intro .eyebrow{margin-bottom:25px}.page-intro .serif-line{font-size:48px}.about{display:grid;grid-template-columns:.8fr 1fr;gap:10%;align-items:center}.about-image{max-width:470px}.about-image img{aspect-ratio:4/5;object-fit:cover;object-position:center 30%;filter:grayscale(1)}.portrait-caption{font-family:var(--mono);font-size:9px;color:var(--muted);display:block;margin-top:15px;letter-spacing:1px}.about-copy h2{font-size:38px;margin-bottom:25px}.about-copy .about-lead{font-size:20px;color:var(--ink)}.about-copy>p:not(.eyebrow){font-size:14px;line-height:2;color:var(--muted)}.about-stats{display:flex;gap:45px;border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.about-stats strong{font-size:42px;font-weight:500;letter-spacing:-2px}.about-stats strong span{color:var(--accent)}.about-stats p{font-size:10px;line-height:1.7;color:var(--muted)}.services{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-grid article{border:1px solid var(--line);padding:28px}.service-grid article>span{font-family:var(--mono);font-size:10px;color:var(--accent)}.service-grid h3{font-size:21px;line-height:1.5;margin:24px 0 15px}.service-grid p{font-size:13px;line-height:1.9;color:var(--muted)}.service-grid small{font-family:var(--mono);font-size:8px;letter-spacing:1px;display:block;margin-top:28px;color:var(--muted)}.clients{border-top:1px solid var(--line);padding-top:30px;margin-top:65px}.clients>p{font-family:var(--mono);font-size:10px;color:var(--muted);margin-bottom:30px}.client-names{display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px}.client-names span{font-size:23px;font-weight:500;letter-spacing:-.8px}.process{border-top:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:45px}.process-grid article{border-top:1px solid var(--line);padding-top:25px}.process-grid span{font-family:var(--mono);font-size:10px;color:var(--accent)}.process-grid h3{font-size:20px;margin:22px 0 14px}.process-grid p{font-size:13px;line-height:1.9;color:var(--muted)}.faq{border-top:1px solid var(--line);max-width:980px}.faq h2{margin-bottom:40px}.faq details{border-top:1px solid var(--line);padding:24px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:16px;font-weight:500;cursor:pointer;list-style:none;padding-right:36px;position:relative;line-height:1.7}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:3px;font-size:23px;top:-3px}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;color:var(--muted);line-height:1.9;max-width:680px;margin:18px 30px 0 0}.contact{background:#f2f1ee;display:grid;grid-template-columns:1.2fr 1fr;gap:10%;border-top:1px solid var(--line)}.contact>div>p:last-child{color:var(--muted);line-height:1.9;font-size:14px}.contact-links a{border-bottom:1px solid #d2d2cf;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0;font-size:17px}.contact-links a:first-child{border-top:1px solid #d2d2cf}.contact-links small{font-family:var(--mono);font-size:9px;color:var(--muted);display:block;margin-bottom:10px}.contact-links a:hover{color:var(--accent)}footer{border-top:1px solid var(--line);padding:35px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{font-size:24px}footer p{font-family:var(--mono);font-size:9px;line-height:1.8;color:var(--muted)}.footer-nav{display:flex;gap:22px;font-size:11px}dialog{padding:0;width:min(1100px,94vw);max-height:92svh;overflow:auto;border:1px solid var(--line);background:var(--bg);color:var(--ink)}dialog::backdrop{background:#111b;backdrop-filter:blur(5px)}.dialog-top{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:var(--bg);border-bottom:1px solid var(--line);z-index:2;font-family:var(--mono);font-size:10px;color:var(--muted)}.dialog-top button{background:none;width:44px;height:44px;font-size:20px}.dialog-body{display:grid;grid-template-columns:1.15fr 1fr}.dialog-images{background:#eee}.dialog-images img{max-height:75svh;object-fit:contain}.dialog-copy{padding:45px 35px}.dialog-copy h2{font-size:32px;margin-bottom:25px}.dialog-copy>p:not(.eyebrow){font-size:14px;line-height:2;color:var(--muted);white-space:pre-line}.dialog-copy>a{font-size:13px;display:inline-block;margin-top:25px;padding-bottom:10px;border-bottom:1px solid var(--ink)}.project-navigation{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:40px;padding-top:18px}.project-navigation button{background:none;width:44px;height:44px;border:1px solid var(--line);font-size:20px}.project-navigation button:hover{border-color:var(--accent);color:var(--accent)}#project-position{font-family:var(--mono);font-size:10px;color:var(--muted)}body.modal-open{overflow:hidden}body[data-page='contact.html'] .services .clients{display:none}body[data-page='works.html'] .works .section-top{display:none}body[data-page='studio.html'] .about-copy .eyebrow{display:none}
@media(min-width:1600px){main{max-width:1600px;margin:auto}}
@media(max-width:1000px){.header{gap:18px}.header nav{gap:22px}.brand .studio{display:none}.hero{padding-top:75px;min-height:600px;gap:5%}h1{font-size:48px}.hero .serif-line{font-size:38px}.section{padding:70px 6%}.service-grid{gap:18px}.service-grid article{padding:22px}.service-grid h3{font-size:18px}.process-grid{gap:20px}.about{gap:6%}.about-copy h2{font-size:32px}.contact{gap:6%}.entry-grid span{font-size:20px}}
@media(max-width:700px){html{scroll-padding-top:68px}.header{height:68px;padding:0 5%;gap:12px}.brand{font-size:24px}.header-cta{display:none}.header .language{margin-left:auto;padding:11px 8px;order:2;font-size:10px}.menu-toggle{display:block;order:3}.header nav{display:none;position:absolute;top:68px;left:0;right:0;padding:15px 6% 25px;background:var(--bg);border-bottom:1px solid var(--line);font-size:16px;margin:0}.header nav a{padding:16px 0;border-bottom:1px solid var(--line)}.header.menu-open nav{display:flex;flex-direction:column;gap:0}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{grid-template-columns:1fr;padding:60px 6% 45px;gap:35px;min-height:0}.hero .eyebrow{font-size:9px;margin-bottom:25px;letter-spacing:1.2px}.hero .serif-line{font-size:36px}.hero h1{font-size:clamp(34px,8.7vw,53px);letter-spacing:-1.5px;line-height:1.24}.hero-description{font-size:13px;margin-bottom:25px}.hero-actions{gap:25px}.hero-art img{aspect-ratio:1.3;object-position:64% 40%}.hero-art>span{font-size:7px}.entry-section{padding-top:22px}.entry-section .eyebrow{font-size:9px;margin-bottom:20px}.entry-grid{grid-template-columns:1fr}.entry-grid a,.entry-grid a:not(:first-child){border-right:0;border-top:1px solid var(--line);padding:21px 35px 21px 0}.entry-grid small{font-size:8px;margin-bottom:9px}.entry-grid span{font-size:21px}.entry-grid b{right:0;bottom:24px}.section{padding:55px 6%}.section-top{margin-bottom:25px}.section-note{display:none}.eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:20px}h2{font-size:30px;letter-spacing:-1.1px}.filters{gap:20px;margin-bottom:25px}.filters button{font-size:11px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.card-caption h3{font-size:14px}.card-caption p{font-size:8px;line-height:1.8}.card-number{display:none}.card-arrow{width:28px;height:28px;font-size:17px;right:8px;bottom:8px}.card-caption{padding-top:12px}.work-footnote{font-size:9px}.statement{padding:55px 6%}.statement-text{font-size:41px;letter-spacing:-1px}.statement-note{font-size:12px;line-height:1.8}.exhibition-feature{grid-template-columns:1fr;gap:30px}.exhibition-feature .serif-line{font-size:37px}.exhibition-feature h2{font-size:29px}.exhibition-feature>div>p:not(.eyebrow):not(.serif-line){font-size:13px}.closing{grid-template-columns:1fr;gap:25px}.closing .solid-button{justify-self:start}.closing h2{font-size:37px}.page-intro{padding-top:60px;padding-bottom:45px}.page-intro .serif-line{font-size:36px}.page-intro h1{font-size:37px;letter-spacing:-1.5px}.about{grid-template-columns:1fr;gap:35px}.about-image{max-width:none}.about-image img{aspect-ratio:1.1;object-position:center 28%}.about-copy h2{font-size:32px}.about-copy>p:not(.eyebrow){font-size:13px}.about-stats{gap:35px}.service-grid{grid-template-columns:1fr;gap:15px}.service-grid article{padding:25px}.service-grid h3{font-size:21px;margin-top:18px}.service-grid small{margin-top:20px}.clients{margin-top:40px}.client-names{display:grid;grid-template-columns:1fr 1fr;gap:22px}.client-names span{font-size:19px}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 22px;margin-top:30px}.process-grid h3{font-size:18px}.process-grid p{font-size:12px}.faq h2{font-size:28px;margin-bottom:28px}.faq summary{font-size:15px}.faq details p{font-size:13px}.contact{grid-template-columns:1fr;gap:30px}.contact h2{font-size:32px}.contact-links a{font-size:15px}.contact-links small{font-size:8px}footer{padding:30px 6%;flex-wrap:wrap;gap:24px}footer p{width:100%;order:3;margin:0;font-size:8px}.footer-nav{gap:17px;font-size:10px}.dialog-body{grid-template-columns:1fr}.dialog-images img{max-height:50svh}.dialog-copy{padding:28px 23px}.dialog-copy h2{font-size:28px}.dialog-copy>p:not(.eyebrow){font-size:13px}}
@media(max-width:360px){.hero h1{font-size:32px}.hero .serif-line{font-size:31px}.page-intro h1{font-size:32px}.footer-nav{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.page-description{font-size:15px;line-height:1.9;max-width:620px;color:var(--muted);margin:26px 0 0}.honors-preview{border-top:1px solid var(--line)}.recognition-row{display:grid;grid-template-columns:120px 1fr 35px;gap:30px;border-top:1px solid var(--line);padding:28px 0;align-items:start}.recognition-row:last-child{border-bottom:1px solid var(--line)}.recognition-row time,.exhibition-row time{font-family:var(--mono);font-size:11px;color:var(--muted);padding-top:4px}.recognition-row .eyebrow{margin:0 0 10px;font-size:9px;color:var(--accent)}.recognition-row h3{font-size:22px;line-height:1.5;margin:0 0 9px}.recognition-row div>p:last-child,.exhibition-row p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.recognition-mark{font-size:27px;color:var(--accent)}.honors-list h2,.honors-exhibitions h2{margin-bottom:40px}.honors-exhibitions{border-top:1px solid var(--line)}.exhibition-row{display:grid;grid-template-columns:150px 1fr;gap:25px;border-top:1px solid var(--line);padding:25px 0}.exhibition-row h3{font-size:19px;margin:0 0 10px;line-height:1.6}.source-note{font-family:var(--mono);font-size:10px;line-height:1.9;color:var(--muted);margin-top:40px}.all-works-link{margin-top:35px}body[data-page='index.html'] .filters{display:none}.wechat-contact{border:1px solid #d2d2cf;padding:22px;display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:20px}.wechat-id{font-family:var(--mono);font-size:21px;display:block;user-select:all;color:var(--ink)}.wechat-contact small{font-family:var(--mono);font-size:10px;color:var(--muted);display:block;margin-bottom:12px}.wechat-contact p{font-size:11px;color:var(--muted);margin:12px 0 0;line-height:1.8}.copy-wechat{background:var(--ink);color:white;font-size:11px;min-height:40px;padding:10px 16px;white-space:nowrap}.copy-wechat:hover{background:var(--accent)}.copy-status{font-size:11px;color:var(--accent)}.wechat-contact .copy-status{width:100%}.wechat-contact .copy-status:empty{display:none}.footer-wechat{width:100%;display:flex;align-items:center;gap:22px;padding-bottom:26px;border-bottom:1px solid var(--line)}footer{flex-wrap:wrap}.footer-wechat>span:first-child{font-family:var(--mono);font-size:10px;color:var(--muted)}.footer-wechat .wechat-id{font-size:15px}.footer-wechat .copy-wechat{min-height:34px;padding:8px 12px;font-size:10px}.header nav{gap:24px}
@media(max-width:1000px){.header nav{gap:18px}.header{gap:14px}.header-cta{padding:12px 17px}.recognition-row{grid-template-columns:100px 1fr 30px;gap:20px}}
@media(max-width:700px){.honors-preview .section-top{display:block}.honors-preview .section-top>a{margin-top:18px}.recognition-row{grid-template-columns:65px 1fr;gap:16px;padding:23px 0}.recognition-row time{font-size:9px}.recognition-row h3{font-size:17px}.recognition-row .eyebrow{font-size:8px}.recognition-row div>p:last-child{font-size:12px}.recognition-mark{display:none}.exhibition-row{grid-template-columns:1fr;gap:12px}.exhibition-row time{font-size:10px}.exhibition-row h3{font-size:17px}.honors-list h2,.honors-exhibitions h2{font-size:27px;margin-bottom:28px}.wechat-contact{padding:20px}.wechat-contact .wechat-id{font-size:23px}.footer-wechat{gap:14px;flex-wrap:wrap}.footer-wechat>span:first-child{width:100%}.footer-wechat .copy-status{font-size:10px}.header nav{gap:0}.page-description{font-size:13px}}

.honors-jump{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:34px}.honors-jump a{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0}.honors-jump a:hover{color:var(--accent);border-color:var(--accent)}.honors-group{border-bottom:1px solid var(--line);scroll-margin-top:70px}.honors-group h2{margin-bottom:35px}.honors-source{padding-top:0}.honors-source .source-note{margin-top:28px}@media(max-width:700px){.honors-jump{gap:8px 20px;margin-top:24px}.honors-jump a{font-size:11px}.honors-group h2{font-size:27px}.honors-group .exhibition-row{grid-template-columns:1fr;gap:9px}}

.video-badge{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;background:#111d;color:white;padding:8px 10px}.video-badge>span{font-size:9px}.project-video{display:block;width:100%;max-height:75svh;background:#080808;object-fit:contain}.video-direct{display:block;font-family:var(--mono);font-size:10px;color:var(--ink);background:#f2f1ee;padding:15px 20px;border-top:1px solid var(--line)}.video-direct:hover{color:var(--accent)}.video-error{padding:10px 20px;font-size:12px;line-height:1.8}.video-error[hidden]{display:none}@media(max-width:700px){.project-video{max-height:65svh}.video-badge{left:8px;bottom:8px;padding:6px 8px;font-size:9px}}

.showreel-art{width:100%;max-width:440px;justify-self:end}.hero-showreel{display:block;width:100%;background:#121d24;padding:0;text-align:left;position:relative;overflow:hidden}.hero-showreel .hero-img{aspect-ratio:3/4;object-fit:contain;object-position:center}.showreel-play{position:absolute;display:grid;place-items:center;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border:1px solid #fff9;border-radius:50%;color:white;background:#1118;backdrop-filter:blur(5px);font-size:22px;padding-left:4px;transition:background .2s}.hero-showreel:hover .showreel-play{background:var(--accent)}.showreel-action{display:flex;justify-content:space-between;gap:12px;position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,#000c);padding:38px 20px 18px;font-family:var(--mono);font-size:10px;letter-spacing:1px}.project-navigation[hidden]{display:none}@media(max-width:700px){.showreel-art{max-width:none}.hero-showreel .hero-img{aspect-ratio:3/4}.showreel-play{width:62px;height:62px;font-size:19px}.showreel-action{font-size:9px;padding:35px 16px 16px}}

.dialog-copy>p:not(.eyebrow){font-family:var(--sans),'Noto Sans Yi',sans-serif}

.brand-partners{border-top:1px solid var(--line)}.partner-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);background:white}.partner-logo{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:100px;display:flex;align-items:center;justify-content:center;padding:8px;min-width:0;background:white}.partner-logo svg{width:100%;height:100%;overflow:hidden;display:block}.brand-partners .section-note{font-size:12px}@media(max-width:1000px){.partner-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.partner-logo{height:95px}}@media(max-width:700px){.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-logo{height:84px;padding:5px}.brand-partners .section-note{display:block;font-size:11px;margin-top:18px}.brand-partners .section-top{display:block}}

.exhibition-video-link{position:relative;display:block}.exhibition-video-link img{aspect-ratio:16/9;object-fit:contain}.exhibition-feature .exhibition-video-link:hover .showreel-play{background:var(--accent)}
/* Compact editorial rhythm and persistent note viewer. */
.header{height:68px;padding:0 4%;gap:22px}.header nav{gap:25px;font-size:11px}.brand{font-size:25px}.header-cta{min-height:36px;padding:10px 20px}.language{min-height:36px;padding:10px;font-size:10px}html{scroll-padding-top:80px}main{max-width:1440px;margin:0 auto}.section{padding:54px 5.5%}.hero{padding:48px 5.5% 40px;min-height:530px;grid-template-columns:1.25fr .8fr;gap:8%}.hero h1{font-size:clamp(44px,4.8vw,67px);line-height:1.12;letter-spacing:-2.5px;margin-bottom:22px}.hero .serif-line{font-size:35px;letter-spacing:-1px;margin-bottom:18px}.hero .eyebrow{margin-bottom:20px}.hero-description{font-size:13px;line-height:1.8;margin-bottom:24px}.showreel-art{max-width:320px}.hero-art>span{font-size:8px;margin-top:10px}.hero-actions .solid-button{min-height:40px;padding:12px 20px;font-size:11px}.hero-actions .text-link{font-size:11px}.entry-section{margin:0 5.5%;padding-top:18px}.entry-section .eyebrow{margin-bottom:15px}.entry-grid a,.entry-grid a:not(:first-child){padding-top:0;padding-bottom:21px}.entry-grid small{font-size:8px;margin-bottom:12px}.entry-grid span{font-size:19px}.entry-grid b{bottom:20px;font-size:21px}.section-top{margin-bottom:26px}.section-top h2,h2{font-size:clamp(28px,2.5vw,36px);letter-spacing:-1.2px}.section-top .eyebrow{margin-bottom:10px}.section-note{font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:20px}.filters{margin-bottom:24px;gap:24px;position:sticky;top:68px;background:#fcfcfcf5;backdrop-filter:blur(10px);z-index:3;padding-top:5px}.filters button{font-size:11px;padding:12px 0}.work-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}body[data-page='index.html'] .work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.work-image{aspect-ratio:3/4;border-radius:5px}.card-caption{padding-top:12px}.card-caption h3{font-size:15px;margin-bottom:5px}.card-caption p{font-family:var(--sans);font-size:10px;line-height:1.7}.card-number{font-size:8px}.card-arrow{width:29px;height:29px;font-size:16px;bottom:10px;right:10px}.video-badge{font-size:9px;padding:6px 8px;left:10px;bottom:10px}.all-works-link{margin-top:24px}.work-footnote{margin-top:18px;font-size:9px}.statement{padding:50px 5.5%}.statement-text{font-size:clamp(35px,4vw,54px);line-height:1.25;letter-spacing:-1.5px;margin-bottom:18px}.statement-note{font-size:12px}.page-intro{padding-top:55px;padding-bottom:42px}.page-intro h1{font-size:clamp(38px,4.3vw,58px);letter-spacing:-2px}.page-intro .serif-line{font-size:37px;margin-bottom:16px}.page-intro .eyebrow{margin-bottom:20px}.page-description{font-size:13px;margin-top:20px}.service-grid{gap:18px}.service-grid article{padding:24px}.service-grid h3{font-size:19px;margin:20px 0 12px}.service-grid p{font-size:12px;line-height:1.85}.service-grid small{margin-top:22px}.partner-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.partner-logo{height:78px;padding:6px}.brand-partners .section-note{font-size:11px}.about{grid-template-columns:.7fr 1fr;gap:8%}.about-image{max-width:340px}.about-copy h2{font-size:32px;margin-bottom:20px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.9}.about-copy .about-lead{font-size:18px}.about-stats{margin-top:20px;padding-top:20px}.about-stats strong{font-size:36px}.clients{margin-top:40px}.recognition-row{padding:22px 0;grid-template-columns:90px 1fr 25px;gap:25px}.recognition-row h3{font-size:19px;margin-bottom:6px}.recognition-row .eyebrow{font-size:8px}.recognition-row time{font-size:10px}.recognition-row div>p:last-child{font-size:12px}.exhibition-row{padding:20px 0;grid-template-columns:120px 1fr;gap:24px}.exhibition-row h3{font-size:17px;margin-bottom:7px}.exhibition-row p{font-size:12px}.honors-group h2{margin-bottom:26px}.honors-jump{margin-top:26px;gap:10px 23px}.exhibition-feature{gap:6%}.exhibition-feature .serif-line{font-size:34px}.exhibition-feature h2{font-size:29px}.exhibition-feature>div>p:not(.eyebrow):not(.serif-line){font-size:12px;line-height:1.9;margin:20px 0}.closing h2{font-size:clamp(31px,3.5vw,48px)}.process-grid{gap:22px;margin-top:32px}.process-grid h3{font-size:18px;margin:18px 0 12px}.process-grid p{font-size:12px}.faq h2{margin-bottom:28px}.faq details{padding:20px 0}.faq summary{font-size:15px}.faq details p{font-size:13px}.contact{gap:7%}.contact h2{font-size:35px}.contact>div>p:last-child{font-size:12px}.contact-links a{font-size:15px;padding:17px 0}footer{padding:26px 4%;gap:19px}.footer-wechat{padding-bottom:20px}.footer-nav{gap:20px}.source-note{font-size:9px}
/* A single player stays mounted while the viewer changes films. */
.note-viewer{width:min(1160px,94vw);height:min(820px,91svh);max-height:91svh;overflow:hidden;padding:0;border:1px solid #ddd;border-radius:12px;box-shadow:0 24px 100px #0003;background:white;color:#111}.note-viewer::backdrop{background:#101010c9;backdrop-filter:blur(8px)}.note-viewer[open]{animation:viewer-in .16s ease-out}.note-viewer .dialog-top{height:48px;padding:0 14px 0 22px;gap:20px;position:relative;font-size:9px;font-family:var(--mono);color:#777;background:white;z-index:4;border-bottom:1px solid var(--line)}.viewer-wordmark{font-family:var(--sans);font-weight:700;letter-spacing:-.5px;color:#111;font-size:13px}.note-viewer #dialog-category{margin-right:auto}.note-viewer #dialog-close{width:36px;height:36px;font-size:17px;border-radius:50%;padding:0}.note-viewer #dialog-close:hover{background:#eee}.note-viewer .dialog-body{height:calc(100% - 48px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);position:relative}.note-viewer .dialog-images{min-height:0;min-width:0;overflow:hidden;background:#0c0c0c}.media-stage{position:relative;width:100%;height:100%;touch-action:pan-x pinch-zoom;background:#0c0c0c}.note-viewer .project-video{width:100%;height:100%;max-height:none;object-fit:contain;background:#0c0c0c;margin:0}.note-viewer video[hidden],.note-viewer .static-gallery[hidden],.media-loading[hidden],.media-retry[hidden],.swipe-hint[hidden],.note-links a[hidden]{display:none}.static-gallery{height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y}.static-gallery img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}.note-viewer .dialog-copy{display:flex;flex-direction:column;position:relative;min-height:0;overflow:hidden;padding:28px 26px 20px;background:white}.note-author{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--sans);font-size:11px;letter-spacing:.1px;font-weight:600;margin:0 0 26px;padding-bottom:20px;border-bottom:1px solid var(--line)}.note-author span{font-family:var(--mono);font-size:8px;color:#888;font-weight:400}.note-viewer .dialog-copy .eyebrow{font-size:9px;letter-spacing:.5px;margin:0 0 10px;line-height:1.8}.note-viewer .dialog-copy h2{font-size:27px;line-height:1.3;letter-spacing:-1px;margin:0 0 16px}.note-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;min-height:28px;margin-bottom:20px}.note-actions button{background:none;padding:5px 0;font-size:11px;color:#666}.note-actions button:hover{color:var(--accent)}#note-toggle{display:none}#share-status{font-size:10px;color:var(--accent)}.note-viewer #dialog-description{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;font-family:var(--sans),'Noto Sans Yi',sans-serif;font-size:13px;line-height:1.95;white-space:pre-line;color:#5e5e5e;padding-right:8px;margin:0 0 22px}.note-links{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:16px 0 0;border-top:1px solid var(--line)}.note-viewer .note-links a,.note-viewer .video-direct{display:inline-block;background:none;border:0;color:#6a6a6a;font-family:var(--sans);font-size:11px;padding:0;margin:0}.note-viewer .note-links a:hover{color:var(--accent)}.note-viewer .project-navigation{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.note-viewer .project-navigation[hidden]{display:none}.note-viewer .project-navigation button{width:36px;height:36px;font-size:19px;border:1px solid #ddd;border-radius:50%;background:white}.note-viewer #project-position{margin-right:auto;font-size:10px;letter-spacing:1px;order:-1}.swipe-hint{display:none}.media-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;color:#fffc;background:#1114;pointer-events:none;font-family:var(--sans);font-size:11px}.loading-ring{width:27px;height:27px;border:2px solid #ffffff44;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.media-retry{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #fff6;background:#111b;color:white;border-radius:30px;padding:12px 22px;font-size:12px}.switching{animation:film-in .16s ease-out}@keyframes viewer-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}@keyframes film-in{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.header{gap:14px}.header nav{gap:19px}.hero{min-height:480px;gap:6%;padding-top:40px}.hero h1{font-size:49px}.showreel-art{max-width:290px}.partner-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.note-viewer .dialog-body{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr)}.note-viewer .dialog-copy{padding:24px 22px 18px}.note-viewer .dialog-copy h2{font-size:24px}}
@media(max-width:700px){html{scroll-padding-top:70px}.header{height:60px;padding:0 5%;gap:10px}.header nav{top:60px;font-size:15px;gap:0;padding:8px 6% 20px}.header nav a{padding:14px 0}.brand{font-size:23px}.header .language{font-size:9px;min-height:34px;padding:9px}.hero{grid-template-columns:1fr;padding:30px 6%;min-height:0;gap:25px}.hero .eyebrow{margin-bottom:14px;font-size:8px}.hero .serif-line{font-size:27px;line-height:1.1;margin-bottom:14px}.hero h1{font-size:38px;line-height:1.13;letter-spacing:-1.6px;margin-bottom:16px}.hero-description{font-size:12px;line-height:1.8;margin-bottom:20px}.hero-actions{gap:24px}.hero-actions .solid-button{min-height:38px;padding:11px 18px;font-size:10px}.showreel-art{max-width:240px;justify-self:center}.hero-art>span{font-size:7px}.showreel-play{width:52px;height:52px;font-size:17px}.showreel-action{font-size:8px}.entry-section{margin:0 6%;padding-top:16px}.entry-grid a,.entry-grid a:not(:first-child){padding:17px 25px 17px 0}.entry-grid small{font-size:8px;margin-bottom:7px}.entry-grid span{font-size:18px}.entry-grid b{bottom:20px;right:1px;font-size:20px}.section{padding:38px 6%}.section-top{margin-bottom:21px}.section-top h2,h2{font-size:27px;letter-spacing:-1px}.eyebrow{font-size:8px;margin-bottom:16px}.work-grid,body[data-page='index.html'] .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.card-caption h3{font-size:14px}.card-caption p{font-size:9px}.card-caption{padding-top:10px}.card-arrow{width:26px;height:26px;font-size:15px;right:8px;bottom:8px}.video-badge{font-size:8px;padding:5px 6px;left:8px;bottom:8px}.filters{top:60px;gap:19px;padding-top:4px;margin-bottom:22px}.filters button{font-size:10px;padding:11px 0}.page-intro{padding-top:34px;padding-bottom:30px}.page-intro .serif-line{font-size:30px;margin-bottom:12px}.page-intro h1{font-size:34px;letter-spacing:-1.4px}.page-description{font-size:12px;margin-top:17px}.statement{padding:38px 6%}.statement-text{font-size:35px;line-height:1.25;margin-bottom:17px}.statement-note{font-size:11px}.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-logo{height:75px;padding:4px}.about{grid-template-columns:1fr;gap:27px}.about-image{max-width:none}.about-copy h2{font-size:29px}.about-copy>p:not(.eyebrow){font-size:12px}.service-grid{gap:12px}.service-grid article{padding:22px}.service-grid h3{font-size:19px;margin-top:17px}.recognition-row{grid-template-columns:65px 1fr;gap:15px;padding:19px 0}.recognition-row h3{font-size:16px}.recognition-row div>p:last-child{font-size:11px}.exhibition-row{grid-template-columns:1fr;gap:8px;padding:18px 0}.exhibition-row h3{font-size:16px}.honors-group h2{font-size:26px;margin-bottom:22px}.exhibition-feature h2{font-size:27px}.exhibition-feature .serif-line{font-size:29px}.closing h2{font-size:33px}.faq h2{font-size:26px}.faq details{padding:17px 0}.faq summary{font-size:14px}.faq details p{font-size:12px}.contact h2{font-size:29px}.contact-links a{font-size:14px}.contact>div>p:last-child{font-size:12px}footer{padding:25px 6%;gap:18px}.footer-wechat{padding-bottom:18px}.footer-nav{gap:14px;font-size:10px}
.note-viewer{width:100vw;height:100svh;max-height:100svh;max-width:100vw;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden;background:#101010;color:white}.note-viewer .dialog-top{height:50px;background:#101010;color:#aaa;border:0;padding:0 12px 0 18px;gap:15px}.note-viewer .viewer-wordmark{font-size:12px;color:white}.note-viewer #dialog-category{font-size:8px}.note-viewer #dialog-close{width:34px;height:34px;color:white;background:#252525;font-size:17px}.note-viewer #dialog-close:hover{background:#333}.note-viewer .dialog-body{display:block;height:calc(100% - 50px)}.note-viewer .dialog-images{height:calc(100svh - 215px);background:#101010}.note-viewer .project-video{height:100%;max-height:none;width:100%;object-fit:contain;background:#101010}.media-stage{background:#101010}.note-viewer .dialog-copy{height:165px;padding:14px 18px calc(13px + env(safe-area-inset-bottom));overflow:hidden;background:#101010;color:white;display:block;border-top:1px solid #ffffff12}.note-author{margin:0 0 10px;padding:0;border:0;font-size:10px;line-height:1.2}.note-author span{font-size:7px;color:#888}.note-viewer .dialog-copy .eyebrow{font-size:8px;color:#aaa;margin:0 0 5px;letter-spacing:.3px}.note-viewer .dialog-copy h2{font-size:21px;line-height:1.35;letter-spacing:-.4px;margin:0 0 8px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-actions{gap:18px;margin:0;min-height:25px}.note-actions button{color:#ccc;font-size:10px;padding:6px 0}.note-actions #note-toggle{display:inline-block}.note-viewer #dialog-description{display:none}.note-viewer .note-links{display:none}.note-viewer .project-navigation{position:absolute;bottom:12px;right:15px;border:0;padding:0;margin:0;gap:8px}.note-viewer .project-navigation button{width:28px;height:28px;font-size:16px;color:#eee;background:#171717;border:1px solid #444}.note-viewer #project-position{font-size:8px;letter-spacing:.3px;color:#aaa;margin-right:3px}.swipe-hint{display:block;position:absolute;top:12px;left:0;right:0;text-align:center;color:#ffffff88;font-family:var(--sans);font-size:9px;pointer-events:none;text-shadow:0 1px 4px #000}.note-viewer .dialog-copy.expanded{position:absolute;bottom:0;left:0;right:0;height:65%;max-height:65%;background:#fff;color:#111;z-index:3;padding:22px 22px 20px;border-radius:16px 16px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 50px #0005}.note-viewer .dialog-copy.expanded h2{white-space:normal;overflow:visible;margin:0 0 12px}.note-viewer .dialog-copy.expanded #dialog-description{display:block;flex:1;min-height:0;font-size:13px;line-height:1.9;padding-right:5px;margin-bottom:14px}.note-viewer .dialog-copy.expanded .note-author{margin-bottom:16px}.note-viewer .dialog-copy.expanded .note-actions{margin-bottom:15px}.note-viewer .dialog-copy.expanded .note-actions button{color:#555}.note-viewer .dialog-copy.expanded .note-links{display:flex;padding-top:12px}.note-viewer .dialog-copy.expanded .project-navigation{display:none}.note-viewer .dialog-copy.expanded .eyebrow{color:#888}.note-viewer #share-status{font-size:9px;max-width:130px;word-break:break-all}.note-viewer .static-gallery img{max-height:none}
}
@media(prefers-reduced-motion:reduce){.note-viewer[open],.switching,.loading-ring{animation:none}}
