@font-face{font-family:HelveticaNowVar;src:url(/fonts/HelveticaNowVar.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:HelveticaNowVar;src:url(/fonts/HelveticaNowVarItalic.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}:root{--font-primary: "HelveticaNowVar", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", "Helvetica Neue", Helvetica, Arial, sans-serif}.font-primary{font-family:var(--font-primary)}:root{--mdx-border-radius-desktop: 22px;--mdx-border-radius-mobile: 22px;--mdx-border-radius-small: 16px}.section-title{margin:4em .5em 2em}.section-title:first-child{margin-top:0}.section-title-content{display:flex;flex-direction:column;align-items:flex-start;gap:0}.section-title h2,.section-title-en,.section-title-cn{font-family:var(--font-primary);font-size:1.25em;font-weight:600;color:#000;margin:0;line-height:1.3}.section-divider{width:100%;height:.5px;background:#0000001a;margin-bottom:.75em}.content-image{margin:0 0 3em;background-color:#f5f5f5;border-radius:var(--mdx-border-radius-desktop);overflow:hidden}.content-image img{width:100%;height:auto;display:block;border-radius:var(--mdx-border-radius-desktop)}.content-image figcaption{font-family:var(--font-primary);font-size:.875em;color:#00000080;margin-top:1em;text-align:center}.content-video{margin:0 0 3em;background-color:#f5f5f5;border-radius:var(--mdx-border-radius-desktop);overflow:hidden}.content-video video{width:100%;height:auto;display:block;border-radius:var(--mdx-border-radius-desktop)}.content-video figcaption{font-family:var(--font-primary);font-size:.875em;color:#00000080;margin-top:1em;text-align:center}.content-gallery{margin:0 0 3em}.gallery-item{overflow:hidden;position:relative;border-radius:var(--mdx-border-radius-desktop)}.gallery-item img,.gallery-item video{width:100%;height:auto;display:block;border-radius:var(--mdx-border-radius-desktop)}.gallery-item[style*=aspect-ratio] img,.gallery-item[style*=aspect-ratio] video{height:100%;object-fit:cover;object-position:center}.gallery-item-text-content{width:100%;margin-top:1em}.gallery-item-title{font-family:var(--font-primary);font-size:1em;font-weight:600;color:#000;line-height:1.3;margin-bottom:.35em}.gallery-item-text{font-family:var(--font-primary);font-size:.875em;color:#000;line-height:1.5;margin-bottom:0}.content-carousel{margin:0 0 3em;border-radius:var(--mdx-border-radius-desktop);overflow:hidden;position:relative;background-color:transparent}.carousel-container{position:relative;width:100%;background-color:transparent}.carousel-item{width:100%;opacity:0;transition:opacity 1s ease-in-out;z-index:0}.carousel-item:first-child{position:relative}.carousel-item:not(:first-child){position:absolute;top:0;left:0}.carousel-item.active{opacity:1;z-index:2}.carousel-item img{width:100%;height:auto;display:block;border-radius:var(--mdx-border-radius-desktop)}.mobile-only{display:none}.desktop-only{display:block}@media(max-width:840px){.section-title{margin:3em .5em 1.5em}.section-title h2,.section-title-en,.section-title-cn{font-size:1.1em}.content-image,.content-video,.content-gallery,.content-carousel{margin-bottom:2.75em}.content-image img,.content-video video,.gallery-item,.gallery-item img,.gallery-item video,.carousel-item img{border-radius:var(--mdx-border-radius-mobile)}.content-carousel{border-radius:var(--mdx-border-radius-mobile)}.content-image.scale-in-mobile,.content-video.scale-in-mobile{aspect-ratio:1;overflow:hidden;display:block}.content-image.scale-in-mobile .content-image-container,.content-video.scale-in-mobile .content-video-container{height:100%;width:100%}.content-image.scale-in-mobile img,.content-video.scale-in-mobile video{width:100%;height:100%;object-fit:cover;object-position:center;min-height:100%}.content-image.scale-in-mobile-43,.content-video.scale-in-mobile-43{aspect-ratio:4 / 3;overflow:hidden;display:block}.content-image.scale-in-mobile-43 .content-image-container,.content-video.scale-in-mobile-43 .content-video-container{height:100%;width:100%}.content-image.scale-in-mobile-43 img,.content-video.scale-in-mobile-43 video{width:100%;height:100%;object-fit:cover;object-position:center;min-height:100%}.mobile-only{display:block!important}.desktop-only{display:none!important}}@media(max-width:600px){.content-image,.content-video,.content-gallery,.content-carousel{margin-bottom:2.5em}.content-image,.content-video,.content-carousel{border-radius:var(--mdx-border-radius-small)}.content-image img,.content-video video,.gallery-item,.gallery-item img,.gallery-item video,.carousel-item img{border-radius:var(--mdx-border-radius-small)}.content-image.scale-in-mobile,.content-video.scale-in-mobile{border-radius:var(--mdx-border-radius-small)}.content-image.scale-in-mobile img,.content-video.scale-in-mobile video{border-radius:var(--mdx-border-radius-small)}.content-image.scale-in-mobile-43,.content-video.scale-in-mobile-43{border-radius:var(--mdx-border-radius-small)}.content-image.scale-in-mobile-43 img,.content-video.scale-in-mobile-43 video{border-radius:var(--mdx-border-radius-small)}}.content-image.no-radius,.content-video.no-radius,.content-carousel.no-radius{border-radius:0!important}.content-image.no-radius img,.content-video.no-radius video,.carousel-item img,.content-carousel.no-radius .carousel-item img{border-radius:0!important}.gallery-item.no-radius img,.gallery-item.no-radius video{border-radius:0!important}:root{--sidebar-width: 16.875em;--sidebar-gap: 40px;--avatar-padding: 4.125em;--animation-duration: .3s;--animation-easing: cubic-bezier(.4, 0, .2, 1);--breakpoint-desktop: 1250px;font-family:var(--font-primary, system-ui, Avenir, Helvetica, Arial, sans-serif);line-height:1.5;font-weight:400;width:100%;min-width:100%;color-scheme:light dark;color:#000000de;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{font-size:16px;overflow-x:hidden;width:100%;max-width:100%}@media(max-width:767px){html{font-size:14px!important}}@media(max-width:767px){.tab{font-size:1.25em!important}.avatar{margin-right:3em!important}}@media(max-width:840px)and (min-width:768px){html{font-size:15px!important}}@media(max-width:1280px)and (min-width:841px){html{font-size:15px!important}}@media(min-width:1600px){html{font-size:16px}}@media(min-width:1920px){html{font-size:18px}}a{font-family:var(--font-primary);font-weight:500;color:#000;text-decoration:inherit}a:hover{color:#0009}body{margin:0;padding:0;width:100%;max-width:100%;min-height:100vh;overflow-x:hidden;position:relative;background-color:#fff}.layout{width:100%;max-width:100%;box-sizing:border-box;position:relative;min-height:100vh;overflow-x:hidden}.main{width:100%;max-width:100%;box-sizing:border-box;position:relative;overflow-x:hidden}.header-section{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:102!important;display:flex!important;align-items:center!important;width:100%!important;padding:2.5em 0 2.5em var(--avatar-padding);margin-bottom:1.25em;background-color:transparent}.tabs{transition:margin-left var(--animation-duration) var(--animation-easing)}.header-section.sidebar-open .tabs{margin-left:calc(var(--sidebar-width) + var(--sidebar-gap) - 3.75em - 3em)}@media (max-width: var(--breakpoint-desktop)){.header-section.sidebar-open .tabs{margin-left:calc(var(--sidebar-width) + var(--sidebar-gap) - 3em - var(--avatar-padding))}}.avatar{width:2.25em;height:2.25em;border-radius:50%;object-fit:cover;margin-right:2.25em;background-color:transparent;border:none;outline:none;position:relative;z-index:103;cursor:pointer;transition:transform .2s ease;transform-origin:left center}.divider{width:.0625em;height:.5em;background-color:#0000000d;border-radius:.5px;margin-right:2.25em}.tabs{display:flex;justify-content:flex-start;gap:2.5em}.tab{background:none;border:none;font-family:var(--font-primary);font-size:1.375em;font-weight:675;color:#00000026;cursor:pointer;padding:.5em 0;transition:color .15s ease;outline:none}.tab:hover{color:#0000004d}.tab:focus,.tab:focus-visible,.tab:active{outline:none;box-shadow:none}.tab.active{color:#000}h1{font-family:var(--font-primary);font-size:3.2em;line-height:1.1}button{border-radius:8px;border:.0625em solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#0000004d}button:focus,button:focus-visible{outline:none}.projects-container{position:relative;width:100%;max-width:100%;box-sizing:border-box;margin-top:8.75em;container-type:inline-size;container-name:projects-container}.sidebar-mobile{z-index:100!important}.sidebar-desktop{z-index:99!important}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5.625em;padding:0 3.75em 8em;width:100%;box-sizing:border-box}@container projects-container (min-width: 1920px){.projects-grid{gap:9.5em}}.virtual-grid{visibility:hidden}.virtual-grid-item{width:100%;height:0;padding-bottom:69.93%}.absolute-project-card{position:absolute}.project-layout{width:100%;min-height:100vh;background-color:#fff;box-sizing:border-box;position:relative;margin-top:2.5em}.project-loading-overlay{position:fixed;inset:0;background-color:#fffffffa;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(0,0,0,.1);border-top-color:#000;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.content-loading{display:flex;align-items:center;justify-content:center;min-height:300px;width:100%}.project-outer-container{position:relative;width:100%;max-width:100%;box-sizing:border-box;container-type:inline-size;container-name:project-container}.project-container{display:flex;padding:0 3.75em 8em;box-sizing:border-box;width:100%;position:relative}.project-info-sidebar{width:23%;min-width:15.625em;max-width:21.25em;position:fixed;top:2.5em;left:3.75em;height:calc(100vh - 2.5em);padding:0 3em 4em 0;box-sizing:border-box;overflow-y:auto;border-right:none;z-index:10}.project-info-content{margin-top:3em}.project-title{font-family:var(--font-primary);font-size:1.3125em;font-weight:675;color:#000;margin:0 0 1.25em;line-height:1.15}.project-description-group{margin-bottom:1.25em}.project-description-group-cn{margin-bottom:2em}.project-description{font-family:var(--font-primary);font-size:.9375em;font-weight:530;color:#000;line-height:1.3;margin:0 0 .875em}.project-description:last-child{margin-bottom:0}.project-description-cn{font-size:.875em;font-weight:500;line-height:1.7;margin:0 0 .875em}.project-description-cn:last-child{margin-bottom:0}.project-meta{display:flex;flex-direction:column;gap:.65em}.project-meta-item{display:flex;flex-direction:column;gap:.075em}.meta-label{font-family:var(--font-primary);font-size:.75em;font-weight:500;color:#00000059;text-transform:uppercase;line-height:1.3}.meta-label:after{content:":"}@media(min-width:768px){.meta-label:after{display:none}}.meta-value{font-family:var(--font-primary);font-size:.75em;font-weight:500;color:#00000059;line-height:1.3}.back-button{background:none;border:none;color:#000;font-size:1em;cursor:pointer;padding:0;transition:color .2s ease;font-family:var(--font-primary);font-weight:500}.back-button:hover{color:#00000080}.project-content-area{flex:1;margin-left:calc(20% + 3em);min-width:0;padding:4em 0 0 2.5em;box-sizing:border-box;container-type:inline-size;container-name:project-content-area}@media(min-width:2200px){.project-content-area{padding-right:8.5em}}@media(max-width:1250px){.project-container{padding:0 3em 8em}.project-info-sidebar{left:3em}}@container project-container (max-width: 767px){.project-container{padding:0 3em 8em}}@media(max-width:840px){.project-layout{margin-top:2.5em}.project-container{flex-direction:column;padding:0 3em 8em}.project-info-sidebar{width:100%;max-width:100%;position:relative;top:0;left:0;height:auto;padding:0 0 3em;border-right:none;border-bottom:none;margin:0}.project-info-content{margin-top:2em;width:100%;max-width:700px}.project-title{font-size:1.6em;margin-bottom:1em}.project-content-area{margin-left:-.5em;margin-right:-.5em;padding:0}.project-meta{gap:.35em}.project-meta-item{flex-direction:row;gap:.25em}.project-description-cn{line-height:1.7}}@container projects-container (max-width: 1250px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:5em;padding:0 3em 8em}.virtual-grid-item{padding-bottom:69.93%}}@container projects-container (max-width: 767px){.projects-grid{grid-template-columns:1fr;gap:4em;padding:0 3em 8em}.virtual-grid-item{padding-bottom:69.93%}}.project-grid-item{text-decoration:none;color:inherit;display:block;transform-origin:center center}.project-cover{width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-cover img,.project-cover video{width:100%;height:100%;object-fit:cover}.project-cover video{will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-perspective:1000;perspective:1000px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-accelerate:true;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.mdx-video video{will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-perspective:1000;perspective:1000px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-accelerate:true;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.no-cover{width:100%;height:100%;background-color:#f0f0f0;display:flex;align-items:center;justify-content:center;color:#666;font-family:var(--font-primary)}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff;width:100%;min-width:100%}body{background-color:#fff}a:hover{color:#0009}button{background-color:#f9f9f9}.project-grid-item{color:inherit}.tab{color:#00000026}.tab:hover{color:#0000004d}.tab.active{color:#000}.avatar{background-color:transparent}.divider{background-color:#0000001a}}.sidebar-content{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.sidebar-name{font-family:var(--font-primary);font-size:1.25em;font-weight:700;color:#000;margin:0 0 1.25em;line-height:1.1}.sidebar-intro{margin-bottom:2.25em}.sidebar-intro p{font-family:var(--font-primary);font-size:.9375em;font-weight:530;color:#000;line-height:1.3;margin:0 0 .875em}.sidebar-intro p:last-child{margin-bottom:0}.sidebar-section{margin-bottom:2.25em}.sidebar-section:last-child{margin-bottom:5em}.sidebar-title{font-family:var(--font-primary);font-size:1.0625em;font-weight:700;color:#000;margin:0 0 .625em;line-height:1.15}.experience-list{display:flex;flex-direction:column;gap:.75em}.experience-item{display:flex;flex-direction:column}.company-name{font-family:var(--font-primary);font-size:.84375em;font-weight:600;color:#000;line-height:1.25}.role-years{font-family:var(--font-primary);font-size:.71875em;font-weight:530;color:#000;line-height:1.35}.contact-list{display:flex;flex-direction:column;gap:.25em}.contact-item{font-family:var(--font-primary);font-size:.84375em;font-weight:600;color:#000;line-height:1.15;transition:color .15s ease}.contact-item:hover{cursor:pointer;color:#00000080}.contact-link{text-decoration:none;color:#000;display:block}.contact-link:hover{color:#00000080}@media(max-width:767px){body.sidebar-open{overflow-x:auto}.sidebar-container,.sidebar{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important}.divider{display:none}.tab{font-size:1.125em}.sidebar-mobile .sidebar{width:300px;max-width:300px}.header-section.sidebar-open .tabs{opacity:0;margin-left:0!important;transform:translate(0)!important;transition:opacity var(--animation-duration) var(--animation-easing)}.tabs{transition:opacity var(--animation-duration) var(--animation-easing);transform:translate(0)}.header-section{align-items:center!important}.projects-container{margin-top:7.5em!important}}@media(max-width:600px){.header-section{padding-left:2.5em}.projects-grid{gap:3em;padding:0 2em 6em}.project-container{padding:0 2em 6em}.project-content-area{margin-left:-.5em;margin-right:-.5em}.sidebar-mobile .sidebar{width:280px!important;max-width:280px!important}}
