:root{color-scheme:light;--ink:#0E0E0C;--paper:#F1F1EE;--rule:#D5D4CF;--muted:#5C5C57;--soft:#8A8A84;--body-ink:#2E2E2B;--accent:#1F3BFF;--accent-light:#8C9BFF;--dark-ink:#EDEDE8;--dark-muted:#A3A39D;--dark-faint:#8F8F89;--dark-rule:#2A2A27;--numeral:#B9B8B2}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:#F1F1EE;color:#0E0E0C}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:#F1F1EE}
#page{background:var(--paper);color:var(--ink);font-family:'Schibsted Grotesk','Noto Sans SC','PingFang SC','Microsoft YaHei',system-ui,sans-serif;font-size:17px;line-height:1.65;overflow-x:clip}
.wrap{max-width:1360px;margin:0 auto;padding-left:max(clamp(20px,4vw,64px),env(safe-area-inset-left,0px));padding-right:max(clamp(20px,4vw,64px),env(safe-area-inset-right,0px))}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:#F1F1EE;border-bottom:1px solid var(--rule)}
section[id]{scroll-margin-top:80px}

/* language switch */
.en{font-family:'Schibsted Grotesk','Noto Sans SC','PingFang SC','Microsoft YaHei',system-ui,sans-serif}
.hd .en{font-family:'Schibsted Grotesk',sans-serif;font-weight:800;letter-spacing:-0.045em;font-size:.84em}
.hd1 .en{font-size:.9em}
.hdc .en{font-size:.8em}
:root[lang="en"] .hd{line-height:.98!important}
:root[lang="en"] .lh{line-height:1.6!important}
.lang{text-decoration:none;font:inherit;font-size:14px;font-weight:500;background:none;border:0;padding:10px 4px;margin:-10px -4px;cursor:pointer;color:var(--soft);display:inline-flex;gap:.35em;align-items:center}
:root:not([lang="en"]) .lang .lz{color:var(--ink)}
:root[lang="en"] .lang .le{color:var(--ink)}

a{color:#0E0E0C}a:hover{color:#1F3BFF}
.dark a{color:#EDEDE8}.dark a:hover{color:#8C9BFF}
:focus-visible{outline:2px solid #1F3BFF;outline-offset:3px}
.dark :focus-visible{outline-color:#8C9BFF}
.btn .arr{display:inline-block;transition:transform .25s ease}
.btn:hover .arr{transform:translateX(5px)}
.ul{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s ease}
.ul:hover{background-size:100% 1px}
@keyframes floatA{50%{transform:translateY(-12px)}}
@keyframes floatB{50%{transform:translateY(9px)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes rise{from{transform:translateY(60px);opacity:0}}
.rise{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.stage-fit{transform-origin:50% 0}
@media (max-width:1300px){.stage-fit{transform:scale(.86)}.stage-box{height:600px!important}}
@media (max-width:1040px){.stage-fit{transform:scale(.68)}.stage-box{height:480px!important}}
@media (max-width:720px){.stage-fit{transform:scale(.42)}.stage-box{height:320px!important}.hide-sm{display:none!important}}
.work-fit{transform-origin:50% 0}
@media (max-width:640px){.work-fit{transform:scale(.6)}.work-art{height:300px!important}}
@media (max-width:860px){.hdr-nav{display:none!important}}
@media (max-width:560px){.hdr-in{gap:8px 14px!important;padding-block:12px!important}.logo-en{font-size:12px!important}.hdr-right{gap:12px!important}.hdr-btn{padding:10px 14px!important;font-size:14px!important;gap:6px!important}}
@media (max-width:480px){.logo-en{display:none!important}}
[data-tilt]{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
.plus{transition:transform .25s ease;align-self:flex-start;flex:none;margin-top:3px}
details[open] .plus{transform:rotate(45deg)}
input::placeholder{color:#6E6E68}
.status{margin:0;font-family:'Noto Sans SC',sans-serif;font-size:15px;line-height:1.7;color:#EDEDE8}
.status.on{border-left:2px solid #8C9BFF;padding-left:14px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
