.site{height:100dvh;overflow:hidden;position:relative}.track{will-change:transform;background:var(--paper-texture) top center / 100% auto repeat-y}.page{height:100dvh;position:relative}.page-content:before{content:"";position:absolute;inset:0;background:#ffffff80;pointer-events:none}.page-gap{height:var(--page-gap);background:#ffffff80}.track>.page-gap:first-of-type{background:linear-gradient(to bottom,#fff0,#ffffff80)}.flip-hint{position:fixed;top:calc(48 * var(--u));left:calc(390 * var(--u) + (1440 - 390 - 110) / 2 * var(--u));transform:translate(-50%);font-size:calc(18 * var(--u));letter-spacing:.08em;color:#33333380;opacity:0;transition:opacity .18s ease;pointer-events:none;z-index:45}.topbar{position:fixed;top:calc(48 * var(--u));left:0;right:0;height:calc(32 * var(--u));display:flex;align-items:flex-start;justify-content:space-between;padding:0 calc(56 * var(--u)) 0 calc(390 * var(--u));pointer-events:none;z-index:40;transition:opacity .4s ease}.topbar>*{pointer-events:auto}.site.is-cover .topbar{opacity:0;pointer-events:none}.site.is-cover .topbar>*{pointer-events:none}.view-toggle{display:flex;gap:calc(14 * var(--u))}.view-toggle[hidden]{display:none}.view-toggle button{border:0;background:none;padding:0;cursor:pointer;opacity:.35;transition:opacity .16s ease}.view-toggle button.is-active,.view-toggle button:hover{opacity:1}.view-toggle img{display:block;height:calc(24 * var(--u));width:auto}.lang-switch{position:relative;display:flex;align-items:center;gap:calc(10 * var(--u));height:calc(24 * var(--u));margin-left:auto}.lang-en{height:calc(17 * var(--u))}.lang-divider{height:calc(24 * var(--u))}.lang-cn{border:0;background:none;padding:0;cursor:pointer;opacity:.4;transition:opacity .16s ease}.lang-cn:hover{opacity:.8}.lang-cn img{display:block;height:calc(20 * var(--u))}.lang-tip{position:absolute;right:0;bottom:calc(100% + 8px);background:#333;color:#fff6d7;font-size:12px;padding:4px 10px;border-radius:4px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}.is-tip-visible .lang-tip{opacity:1}.menu-button{display:none;position:fixed;top:20px;left:20px;z-index:70;border:0;background:none;padding:8px;cursor:pointer}.menu-button img{display:block;width:28px}.sidebar{opacity:1;transform:translate(0);transition:opacity .5s ease .18s,transform .5s ease .18s}.site.is-static .sidebar,.site.is-static .cover-inner,.site.is-static .topbar{transition:none!important}.site.is-cover .sidebar{opacity:0;transform:translate(calc(-40 * var(--u)));pointer-events:none}.page-cover{overflow:hidden}.cheese{position:absolute;pointer-events:none}.cheese-lt{top:0;left:0;width:calc(200 * var(--u))}.cheese-rt{top:0;right:0;width:calc(223 * var(--u))}.cheese-lb{bottom:0;left:0;width:calc(157 * var(--u))}.cheese-rb{bottom:0;right:0;width:calc(191 * var(--u))}.cover-inner{position:relative;height:100%;padding:calc(80 * var(--u)) calc(100 * var(--u));display:flex;flex-direction:column;transition:opacity .42s ease,transform .42s ease;transform-origin:top left}.site:not(.is-cover) .cover-inner{opacity:0;transform:translate(calc(-60 * var(--u))) scale(.94)}.cover-top{display:flex;justify-content:space-between;align-items:stretch}.cover-title{width:calc(559 * var(--u));display:block}.cover-info{text-align:right;display:flex;flex-direction:column;justify-content:space-between}.cover-info h2{margin:0;font-size:calc(24 * var(--u));font-weight:400;letter-spacing:.04em;color:#000}.cover-info p{margin:0;font-size:calc(14 * var(--u));color:#000}.cover-photo{position:absolute;top:calc(145 * var(--u));right:calc(51 * var(--u));width:calc(393 * var(--u))}.cover-menu{margin-top:auto;width:calc(838 * var(--u));display:flex;flex-direction:column}.cover-menu-row{display:flex;justify-content:space-between;align-items:center;height:calc(96 * var(--u));flex:none;border:0;border-top:1.5px solid #000000;background:none;font-family:var(--font-body);font-size:calc(48 * var(--u));font-weight:400;color:#000;cursor:pointer;text-align:left;padding:0 calc(24 * var(--u));transition:background .18s ease}.cover-menu-row:last-child{border-bottom:1.5px solid #000000}.cover-menu-row:hover{background:#000;color:#fff}.cover-menu-star{width:calc(28 * var(--u));height:calc(28 * var(--u));transition:filter .16s ease}.cover-menu-row:hover .cover-menu-star{filter:invert(1)}.cover-corner{position:absolute;right:calc(100 * var(--u));bottom:calc(56 * var(--u));display:flex;flex-direction:column;align-items:flex-end;gap:calc(16 * var(--u))}.cover-rat{width:calc(152 * var(--u))}.cover-lang{justify-content:flex-end}.cover-socials{display:flex;gap:calc(20 * var(--u));align-items:center}.cover-social-button{position:relative;border:0;background:none;padding:0;line-height:0;cursor:pointer}.cover-social-button:after{content:attr(data-copy-label);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);padding:4px 10px;border-radius:999px;background:#333333eb;color:#fff6d7;font-size:calc(11 * var(--u));line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease}.cover-social-button.is-copied:after{opacity:1}.cover-socials img{display:block;width:calc(24 * var(--u));height:calc(24 * var(--u))}.cover-socials a,.cover-socials span{line-height:0}.page-scroll{position:absolute;top:calc(120 * var(--u));bottom:0;left:0;right:0;overflow:hidden}.page-scroll.is-scrolled{-webkit-mask-image:linear-gradient(to bottom,transparent 0,black calc(16 * var(--u)));mask-image:linear-gradient(to bottom,transparent 0,black calc(16 * var(--u)))}.page-body{position:relative;min-height:100%;padding:calc(4 * var(--u)) calc(110 * var(--u)) calc(80 * var(--u)) calc(390 * var(--u))}.page-heading{margin:0 0 calc(36 * var(--u));text-align:right;font-size:calc(40 * var(--u));font-weight:700;color:#333}.text-columns p{margin:0 0 calc(22 * var(--u));font-size:calc(19 * var(--u));line-height:1.55;text-align:justify;color:#333}.text-columns :global(strong){font-weight:700}.text-h2{margin:calc(30 * var(--u)) 0 calc(14 * var(--u));font-size:calc(24 * var(--u));font-weight:700;color:#1c1812}.text-h3{margin:calc(20 * var(--u)) 0 calc(10 * var(--u));font-size:calc(20 * var(--u));font-weight:700;color:#1c1812}.text-subhead{margin:calc(16 * var(--u)) 0 calc(4 * var(--u))!important;font-weight:700;font-size:calc(19 * var(--u));color:#1c1812;text-align:left!important}.text-quote{margin:calc(8 * var(--u)) 0 calc(18 * var(--u));padding-left:calc(16 * var(--u));border-left:calc(3 * var(--u)) solid rgba(51,51,51,.4);font-size:calc(20 * var(--u));font-style:italic;line-height:1.5;color:#4a4438}.text-rule{margin:calc(28 * var(--u)) 0;border:0;border-top:1px solid rgba(51,51,51,.18)}.placeholder-note{color:var(--color-muted);font-style:italic}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(36 * var(--u))}.project-grid.is-row-mode{grid-template-columns:1fr}.project-card{position:relative;display:block;text-decoration:none;overflow:hidden;border-radius:4px;aspect-ratio:460 / 328}.is-row-mode .project-card{aspect-ratio:1240 / 420}.project-card-media{position:absolute;inset:0;overflow:hidden}.project-card-media img{width:100%;height:100%;object-fit:cover;transform:scale(1);transition:transform .45s ease}.project-card:hover .project-card-media img{transform:scale(1.15)}.project-card-bar{position:absolute;left:0;right:0;bottom:0;height:calc(84 / 328 * 100%);background:#333c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff6d7;display:flex;flex-direction:column;justify-content:center;gap:calc(6 * var(--u));padding:calc(8 * var(--u)) calc(16 * var(--u))}.is-row-mode .project-card-bar{height:calc(84 * var(--u))}.project-card-meta{display:flex;justify-content:space-between;align-items:baseline}.ea-strip{position:absolute;top:0;left:0;right:0;height:calc(4 * var(--u));display:flex}.ea-strip i{flex:1}.ea-ca{background:#b25656}.ea-tr{background:#c1a053}.ea-us{background:#6d9458}.ea-be{background:#5667b2}.ea-mdc{background:#9371a7}.ea-default{background:#8d8a7e}.project-card-title{font-size:calc(17 * var(--u));font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-meta small{font-size:calc(12 * var(--u));opacity:.8}.project-card-more{font-size:calc(14 * var(--u));white-space:nowrap}.project-card-more u{text-underline-offset:3px}[data-page=contract] .page-scroll{cursor:url(/contact/mouse-clean-cursor.svg) 6 6,auto}.contract-body{display:flex;flex-direction:column;padding-bottom:calc(16 * var(--u))}.contact-cards{position:relative;display:flex;justify-content:space-between;gap:calc(32 * var(--u));margin:auto 0}.scratch-hint{position:absolute;top:calc(-40 * var(--u));left:calc(110 * var(--u));display:flex;flex-direction:column;align-items:center;gap:calc(2 * var(--u));font-size:calc(15 * var(--u));font-style:italic;color:#3333338c;transform-origin:center bottom;transform:rotate(12deg);pointer-events:none;transition:opacity .6s ease;animation:scratch-wobble 3s ease-in-out infinite}.scratch-hint-text{transform:rotate(12deg);white-space:nowrap}.scratch-hint-arrow{width:calc(20 * var(--u));height:calc(28 * var(--u));margin-right:calc(14 * var(--u))}.scratch-hint.is-hidden{opacity:0;animation:none}@keyframes scratch-wobble{0%,24%,to{transform:rotate(12deg)}4%{transform:rotate(18deg)}9%{transform:rotate(8deg)}14%{transform:rotate(15deg)}19%{transform:rotate(10.5deg)}}.contact-card{display:flex;flex-direction:column;gap:calc(12 * var(--u));width:calc(180 * var(--u))}.contact-card h3{margin:0;font-size:calc(15 * var(--u));font-weight:400;color:#333}.scratch-card{position:relative;width:100%;aspect-ratio:1;border-radius:6px;overflow:hidden;background:#fff}.scratch-qr{position:absolute;inset:0;width:100%;height:100%}.scratch-cover{position:absolute;inset:0;touch-action:none;cursor:inherit}.scratch-card.is-cleared .scratch-cover{opacity:0;transition:opacity .4s ease;pointer-events:none}.contact-detail{font-size:calc(12 * var(--u));color:var(--color-ink-soft);text-decoration:none;margin:0}a.contact-detail:hover{text-decoration:underline}.copyright{margin-top:auto;padding-bottom:calc(8 * var(--u));text-align:center;font-size:calc(12 * var(--u));color:var(--color-muted)}.rat-scrollbar{position:fixed;right:calc(28 * var(--u));width:calc(82 * var(--u));z-index:50;cursor:pointer;transition:top .16s linear,right .9s ease,left .9s ease,transform .3s ease}.rat-scrollbar[data-heading=down]{transform:rotate(90deg)}.rat-scrollbar[data-heading=up]{transform:rotate(-90deg) scaleY(-1)}.rat-scrollbar.is-parked{right:auto;left:calc(310 * var(--u));transform:rotate(0)}@media(max-width:900px){.menu-button{display:block}.site.is-cover .menu-button{display:none}.topbar{padding:0 20px 0 64px;top:18px;height:28px}.view-toggle{display:none!important}.view-toggle img{height:22px}.lang-switch{height:22px;gap:8px}.lang-en{height:15px}.lang-divider{height:22px}.lang-cn img{height:18px}.cover-inner{padding:48px 24px 32px}.cover-top{flex-direction:column;gap:12px}.cover-title{width:min(86vw,480px)}.cover-info{text-align:left}.cover-info h2{font-size:18px}.cover-info p{font-size:12px}.cover-photo{display:none}.cover-menu{width:100%}.cover-menu-row{height:64px;font-size:28px}.cover-menu-star{width:20px;height:20px}.cover-corner{position:static;margin-top:20px;align-items:flex-start}.cover-rat{display:none}.cheese-lt,.cheese-rt{width:90px}.cheese-lb{display:none}.cheese-rb{width:110px}.page-scroll{top:0}.page-body{padding:84px 24px 56px}.flip-hint{left:50%;top:18px;font-size:14px}.page-heading{font-size:26px}.text-columns p{font-size:16px}.project-grid{grid-template-columns:1fr;gap:20px}.is-row-mode .project-card{aspect-ratio:460 / 328}.project-card-bar{height:64px;padding:6px 12px;gap:3px}.project-card-title{font-size:15px}.project-card-meta small{font-size:11px}.project-card-more{font-size:12px}.ea-strip{height:3px}.contact-cards{flex-wrap:wrap;gap:20px;justify-content:center}.contact-card{width:150px}.rat-scrollbar{width:56px;right:8px}}
