:root{--type:"Helvetica Neue",Helvetica,"Microsoft YaHei",Arial,"PingFang SC",sans-serif}
html{scroll-behavior:auto}body,button,a,h1,h2,h3,p,small,span,.serif-en,.hero-english,.footer-en,.project-en{font-family:var(--type)!important}h1,h2,.serif-en,.hero-english{font-weight:300}body{background:#fafafa}header{color:#fff}.hero-title{bottom:12%;width:56%;max-width:800px}.hero-title h1{font-size:clamp(54px,5.15vw,84px);letter-spacing:.055em}.hero-title .hero-english{font-size:22px;font-weight:300;margin-top:21px}.hero-tagline{font-size:17px;line-height:1.9;margin-top:24px;font-weight:300;letter-spacing:.07em}.hero-tagline span{display:block;font-size:13px;letter-spacing:.025em}.hero-bottom,.hero-side{display:none}.header nav a{color:white}nav a:focus-visible{outline-color:white}
.gallery{position:relative;display:block;overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;scroll-snap-type:none;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;padding:16px 0 30px;margin:0 -1px;overscroll-behavior-x:contain;user-select:none;-webkit-user-select:none;contain:layout}.gallery::-webkit-scrollbar{display:none}.card-track{display:flex;gap:18px;width:max-content}.card-group{display:flex;gap:18px;flex:none}.gallery .project-card,.gallery:hover .project-card{display:block;flex:0 0 auto;width:calc((var(--gallery-width) - 54px)/4);min-width:0;transition:width .65s cubic-bezier(.22,.61,.36,1),transform .65s cubic-bezier(.22,.61,.36,1)}.gallery.has-active .project-card.contracted{width:calc((var(--gallery-width) * .42 - 54px)/3)}.gallery.has-active .project-card.active{width:calc(var(--gallery-width) * .58);transform:translateY(-8px)}.gallery .project-image{height:390px;border-radius:18px;box-shadow:0 12px 24px #00000015;background:#ecece8;isolation:isolate}.project-image img{border-radius:inherit;pointer-events:none}.gallery .project-card:hover img{transform:none}.gallery .project-card h3{font-size:15px}.project-number{border-radius:5px}.dragging,.dragging a{cursor:grabbing}.work-controls #range{min-width:55px;text-align:center}.works-bottom{margin-top:6px}footer{background:#303030}.footer-brand p,.footer-bottom{color:#c5c5c5}.contact small{color:#bcbcbc}.contact>div,.footer-bottom{border-color:#535353}.contact button span{color:#ddd}.contact .wechat-row{display:block}.wechat-line{display:flex;align-items:center;justify-content:space-between;gap:15px}.wechat-code{display:flex;align-items:center;gap:18px;margin-top:18px}.contact .qr-open{background:#fff;padding:5px;border-radius:6px;display:block;flex:none}.qr-open img{width:126px;height:118px;object-fit:contain}.wechat-code p{font-size:12px;line-height:1.8;color:#cecece}.wechat-code small{display:block;font-size:11px;color:#aaa;margin-top:3px}.qr-dialog{padding:26px;border:0;border-radius:16px;max-width:min(90vw,480px);color:#333;background:white}.qr-dialog::backdrop{background:#0008}.qr-dialog img{width:100%;height:auto}.qr-dialog p{text-align:center;font-size:16px;margin-top:12px}.qr-dialog button{display:block;margin:18px auto 0;font-size:14px;padding:9px 20px;border:1px solid #ccc;border-radius:6px}.reveal{opacity:0;transform:translateY(32px);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.2,.6,.25,1)}.reveal.revealed{opacity:1;transform:translateY(0)}
@media(max-width:900px){.hero-title{width:70%}.hero-tagline{font-size:15px}.gallery .project-image{height:340px}}
@media(max-width:600px){header{padding-top:23px}.hero-title{left:24px;right:24px;width:auto;bottom:13%;max-width:none}.hero-title h1{font-size:49px;line-height:1.35}.hero-title .hero-english{font-size:18px;margin-top:20px}.hero-tagline{font-size:15px;margin-top:25px;letter-spacing:.04em}.hero-tagline span{font-size:12px;max-width:295px;line-height:1.8;margin-top:5px}.gallery{margin-right:-23px;margin-left:-4px;padding-left:4px;padding-right:0}.gallery .project-card,.gallery:hover .project-card,.gallery.has-active .project-card,.gallery.has-active .project-card.active{width:calc(var(--gallery-width) * .82);transform:none}.gallery .project-image{height:320px;border-radius:15px}.card-track,.card-group{gap:18px}.contact .wechat-row{display:block}.wechat-code{margin-top:16px}.qr-open img{width:135px;height:126px}.wechat-code p{font-size:12px}.footer-brand h2{font-weight:300}.reveal{transform:translateY(22px)}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.gallery .project-card{transition:none}.reveal.revealed{transform:none}}
