:root{--ec-ink:#050505;--paper:#f4f3f1;--gray-1:#d6d4d0;--gray-2:#8f9296;--gray-3:#55575a;--line:rgba(244,243,241,.14);--plat:#d99a5e;--mint:#9ad9c4;--f:"Segoe UI Variable","Segoe UI","Helvetica Neue",Arial,sans-serif;--f-zh:"Noto Sans CJK SC","Microsoft YaHei","PingFang SC","Segoe UI",sans-serif;--ease:cubic-bezier(.16,1,.3,1)}html[data-lang=zh]{--f:var(--f-zh)}html[data-lang=en],html[data-lang=fr]{--f:"Segoe UI Variable","Segoe UI","Helvetica Neue",Arial,sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html:has(body.ec-body){background:var(--ec-ink);color-scheme:dark}body.ec-body{background:var(--ec-ink);color:var(--gray-1);font-family:var(--f);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}[hidden]{display:none!important}input{font:inherit}.ec-sr,.ec-skip{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ec-skip:focus{position:fixed;top:10px;left:10px;width:auto;height:auto;clip:auto;padding:8px 14px;background:var(--paper);color:var(--ec-ink);z-index:200}.ec-head{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:flex-start;justify-content:space-between;padding:18px clamp(16px,3vw,34px);pointer-events:none}.ec-head>*{pointer-events:auto}.ec-mark{margin:0;display:inline-block;white-space:nowrap;font-family:var(--f);font-weight:300;font-size:clamp(13.5px,1.1vw,17px);line-height:1.45;letter-spacing:.02em;color:var(--paper);padding-bottom:9px;border-bottom:1px solid rgba(244,242,238,.42)}html[data-lang=en] .ec-mark,html[data-lang=fr] .ec-mark{max-width:min(72vw,760px);white-space:normal}.ec-btn{font-size:10px;letter-spacing:.15em;color:var(--gray-2);padding:4px 0;transition:color .3s var(--ease)}.ec-btn:hover,.ec-btn:focus-visible{color:var(--paper)}.ec-btn--ghost{border:1px solid var(--line);padding:7px 13px;border-radius:2px;transition:border-color .3s var(--ease),color .3s var(--ease)}.ec-btn--ghost:hover,.ec-btn--ghost:focus-visible{border-color:#f4f3f180}:focus-visible{outline:1px solid var(--paper);outline-offset:3px}.ec-stage{position:relative}.ec-view{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ec-ink)}#ecCanvas{position:absolute;inset:0;display:block;width:100%;height:100%}.ec-layer{position:absolute;inset:0;pointer-events:none;z-index:20}.ec-layer>*{pointer-events:auto}.ec-hud{position:absolute;inset:0;z-index:15;pointer-events:none}.ec-hud button{pointer-events:auto}.ec-leader{position:absolute;inset:0;z-index:18;pointer-events:none}.ec-leader-line{fill:none;stroke:#f4f3f16b;stroke-width:1}.ec-pop{position:absolute;top:0;left:0;width:372px;max-width:calc(100vw - 32px);padding:20px 22px 18px;color:var(--gray-1);background:#080808f5;border:1px solid var(--line);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);z-index:22;opacity:0;transform-origin:left top;transition:opacity .34s var(--ease)}.ec-pop.is-in{opacity:1}.ec-pop.is-collapsed>:not(.ec-pop-t):not(.ec-pop-x){display:none}.ec-pop-x{position:absolute;top:10px;right:12px;font-size:18px;line-height:1;color:var(--gray-2)}.ec-pop-x:hover{color:var(--paper)}.ec-pop-t{margin:0 26px 0 0;font-size:15px;font-weight:500;letter-spacing:.1em;color:var(--paper)}.ec-pop-t:focus{outline:none}.ec-pop-lead{margin:12px 0 4px;font-size:15px;line-height:1.66;color:var(--paper);letter-spacing:.01em}.ec-pop-k{display:block;margin:0 0 6px;font-size:9.5px;font-weight:500;letter-spacing:.2em;color:var(--gray-2)}.ec-pop-more{display:grid;gap:14px;margin:15px 0 0;padding-top:14px;border-top:1px solid var(--line)}.ec-pop-more p{margin:0;font-size:12.5px;line-height:1.66;color:var(--gray-1)}.ec-pop-more section:last-child .ec-pop-k{color:var(--mint)}.ec-pop-more section:last-child p{color:var(--paper)}.ec-tag{display:inline-block;margin-top:8px;padding:3px 7px;font-size:9.5px;letter-spacing:.12em;color:var(--gray-2);border:1px solid var(--line)}.ec-tag--fn{color:var(--mint);border-color:#9ad9c46b}.ec-tag--out{color:var(--gray-2)}.ec-rel{margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.ec-rel-list{display:flex;flex-direction:column;gap:1px}.ec-rel-g+.ec-rel-g{margin-top:14px}.ec-rel-b{display:grid;grid-template-columns:13px 1fr auto;align-items:baseline;gap:0 10px;width:100%;padding:8px 0;text-align:left;color:var(--gray-1);border-bottom:1px solid rgba(244,243,241,.06);transition:padding-left .3s var(--ease),color .3s var(--ease)}.ec-rel-g[data-dir=out] .ec-rel-b{grid-template-columns:1fr auto 13px}.ec-rel-ar{font-style:normal;font-size:12px;line-height:1.2}.ec-rel-ar:before{content:"→"}.ec-rel-g[data-dir=in] .ec-rel-ar{color:var(--plat)}.ec-rel-g[data-dir=out] .ec-rel-ar{color:var(--mint);order:3;text-align:right}.ec-rel-b:hover,.ec-rel-b:focus-visible{padding-left:7px;color:var(--paper)}.ec-rel-b span{font-size:12.5px;letter-spacing:.05em}.ec-rel-b em{font-size:10px;letter-spacing:.1em;color:var(--gray-2);font-style:normal}.ec-persona{position:absolute;left:50%;bottom:88px;transform:translate(-50%);z-index:24;display:flex;align-items:center;gap:16px;padding:11px 16px;max-width:min(680px,calc(100vw - 32px));background:#090909e6;border:1px solid var(--line)}.ec-persona p{margin:0;font-size:11px;line-height:1.5}.ec-persona b{color:var(--gray-3);font-weight:400;font-size:9px;letter-spacing:.14em}.ec-persona strong{color:var(--paper);font-weight:500;letter-spacing:.08em;font-size:10px}.ec-persona span{color:var(--gray-1)}.ec-a11y{position:fixed;left:0;bottom:0;z-index:70}.ec-a11y-node{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ec-a11y-node:focus-visible{position:fixed;left:16px;bottom:16px;width:auto;height:auto;clip:auto;max-width:min(520px,calc(100vw - 32px));white-space:normal;padding:10px 14px;background:var(--paper);color:var(--ec-ink);font-size:12px;line-height:1.45;z-index:80}.ec-cursor{position:fixed;top:0;left:0;z-index:90;pointer-events:none;mix-blend-mode:difference}.ec-cursor i{position:absolute;left:-7px;top:-7px;width:14px;height:14px;background:linear-gradient(var(--paper),var(--paper)) center/1px 6px no-repeat,linear-gradient(var(--paper),var(--paper)) center/6px 1px no-repeat;opacity:.85}@media(hover:none){.ec-cursor{display:none}}.ec-fallback{position:absolute;inset:0;overflow:auto;padding:74px 20px 40px}.ec-fallback svg{width:100%;height:auto;max-height:62vh;display:block;margin:0 auto}.ec-fb-e{stroke:#f4f3f129;stroke-width:1}.ec-fb-e--definition{stroke:#f4f3f170}.ec-fb-n circle,.ec-fb-n rect{fill:none;stroke:var(--gray-1);stroke-width:1.2}.ec-fb-n--core circle{fill:var(--gray-1)}.ec-fb-n text{fill:var(--gray-2);font-size:11px;font-family:var(--f);letter-spacing:.08em}.ec-fb-list{max-width:720px;margin:32px auto 0}.ec-fb-list details{border-bottom:1px solid var(--line);padding:12px 0}.ec-fb-list summary{cursor:pointer;font-size:12.5px;letter-spacing:.1em;color:var(--paper)}.ec-fb-list p{font-size:11.5px;line-height:1.6;color:var(--gray-1)}@media(max-width:760px){.ec-hud{padding:66px 16px 18px}.ec-pop{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:56svh;overflow:auto;transform:none!important;border:0;border-top:1px solid var(--line);border-radius:12px 12px 0 0;padding:16px 18px 26px}.ec-pop:before{content:"";display:block;width:34px;height:3px;border-radius:2px;background:var(--gray-3);margin:0 auto 12px}.ec-leader{display:none}.ec-persona{bottom:auto;top:64px}.ec-mark{font-size:12px}.ec-btn{font-size:9px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.18s!important}.ec-stage{height:200vh}}body:not(.ec-body) .ec-head{transform:translateY(-8px);transition:opacity .62s var(--ease),transform .62s var(--ease);position:absolute;inset:0 0 auto;opacity:0;transition:opacity .35s ease}html.ec-deck[data-screen="2"] .ec-head{opacity:1;transform:none}body:not(.ec-body) .ec-cursor{display:none}body:not(.ec-body) .ec-a11y,body:not(.ec-body) .ec-skip{position:absolute}body:not(.ec-body) .ec-stage{position:relative;z-index:1}body:not(.ec-body) .ec-view{background:var(--ec-ink)}.ec-seal{position:fixed;inset:0;z-index:45;pointer-events:none;opacity:var(--ec-seal-op,0);visibility:hidden}.ec-seal[data-on="1"]{visibility:visible}.ec-seal i{position:absolute;left:0;right:0;height:50vh;display:block;background:#050505}.ec-seal .ec-seal-a{top:0;transform:translateY(calc(-1 * var(--ec-gap,50vh)))}.ec-seal .ec-seal-b{bottom:0;transform:translateY(var(--ec-gap,50vh))}.ec-seal .ec-seal-line{position:absolute;left:0;right:0;top:50%;height:1px;background:#f4f2ee;opacity:var(--ec-line,0);box-shadow:0 0 12px rgba(244,242,238,calc(var(--ec-line,0) * .8));transform:translateY(-.5px)}@media(prefers-reduced-motion:reduce){.ec-seal{display:none}}.hero{--ec-conv:0;--ec-dim:0;background:var(--bg);display:block;padding:0;opacity:calc(1 - var(--ec-dim));backface-visibility:hidden;will-change:opacity}.hero-scene{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;padding:var(--gut);isolation:isolate}.hero #noise{opacity:calc(1 - var(--ec-dim) * .42)}.hero[data-transitioning="1"]{pointer-events:none}@media(prefers-reduced-motion:reduce){.hero-scene{transform:none}.hero,.hero #noise{opacity:1}}.ec-continue{position:absolute;right:24px;bottom:22px;z-index:18;display:inline-flex;align-items:center;gap:.6em;padding:.62em 1.15em;font:500 11px/1 Jost,Noto Sans SC,sans-serif;letter-spacing:.16em;color:#f4f2ee;background:#f4f2ee0f;border:1px solid rgba(244,242,238,.22);border-radius:2px;cursor:pointer;pointer-events:auto;opacity:0;transform:translateY(6px);transition:opacity .45s ease,transform .45s ease,background-color .25s ease,border-color .25s ease}.ec-stage[data-entered="1"] .ec-continue{opacity:1;transform:none}.ec-continue:hover{background:#f4f2ee21;border-color:#f4f2ee70}.ec-continue:focus-visible{outline:1px solid #f4f2ee;outline-offset:3px}.ec-continue i{width:20px;height:1px;background:currentColor;position:relative;transition:width .25s ease}.ec-continue i:after{content:"";position:absolute;right:0;top:-2.5px;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg)}.ec-continue:hover i{width:28px}@media(max-width:820px){.ec-continue{right:14px;bottom:16px;padding:.55em .9em;font-size:10px}}html:not(.ec-deck){scrollbar-gutter:stable}html.ec-deck{scrollbar-gutter:auto}body:not(.ec-body) .ec-stage .ec-hud{opacity:0;transition:opacity .5s ease}body:not(.ec-body) .ec-stage[data-entered="1"] .ec-hud{opacity:1}html.ec-deck,html.ec-deck body{overflow:hidden;height:100%}html.ec-deck .hero,html.ec-deck .ec-stage{position:fixed;inset:0;height:100svh;min-height:0}html.ec-deck .ec-stage{z-index:2}html.ec-deck .hero{z-index:3}html.ec-deck[data-screen="2"] .hero{pointer-events:none}html.ec-past .hero,html.ec-past .ec-stage{display:none}html.ec-deck[data-screen="2"] .hero{visibility:hidden}.portfolio-back{align-items:center;backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);background:#f7f7f3b8;border:0;border-radius:999px;box-shadow:inset 0 1px #ffffffc2,0 5px 14px #09100c1f;color:#152019;cursor:pointer;display:inline-flex;flex:0 0 auto;height:40px;justify-content:center;left:max(14px,env(safe-area-inset-left));line-height:1;overflow:hidden;pointer-events:auto;position:fixed;text-decoration:none;top:max(10px,env(safe-area-inset-top));transition:background .18s ease,box-shadow .22s ease,color .18s ease;width:40px;will-change:transform;z-index:10000}.portfolio-back>span{display:block;transform:translateZ(0);will-change:transform}.return-arrow{height:14px;position:relative;width:19px}.return-arrow:before,.return-arrow:after{content:"";left:1px;position:absolute;top:50%}.return-arrow:before{background:currentColor;border-radius:999px;height:2px;transform:translateY(-50%);transform-origin:left center;transition:width .26s cubic-bezier(.22,1,.36,1);width:18px}.return-arrow:after{border-bottom:2px solid currentColor;border-left:2px solid currentColor;height:8px;transform:translateY(-50%) rotate(45deg);width:8px}.portfolio-back:hover{background:#ffffffe6;box-shadow:inset 0 1px #ffffffeb,0 8px 20px #09100c2b}.portfolio-back:hover .return-arrow:before{width:19px}.portfolio-back:focus-visible{background:#ffffffe6;box-shadow:inset 0 1px #ffffffeb,0 0 0 3px #f5c4003d,0 8px 20px #09100c2b;color:#8a7100;outline:0}#return-work~main .top,#return-work~main .ec-head,#return-work~.ec-head{padding-left:max(66px,calc(env(safe-area-inset-left) + 66px))}@media(prefers-reduced-motion:reduce){.portfolio-back,.return-arrow:before{animation:none;transition:none}}
