@font-face{font-family:Castoro;src:url(assets/fonts/castoro-titling.798ce7334c95.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Fauna;src:url(assets/fonts/fauna-one.adea457a2110.woff2) format("woff2");font-weight:400;font-display:swap}:root{--color1:#e6d8ae;--color2:rgba(230,216,174,.7);--color3:rgba(230,216,174,.5);--color4:rgba(230,216,174,.3);--color5:rgba(230,216,174,.15);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color-scheme:dark;background:#080f1c;font-family:Fauna,Songti SC,serif;color:var(--color1)}*{box-sizing:border-box}html,body{margin:0;padding:0;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{overflow-x:hidden}p,ol,li{margin:0}ol{padding:0}button,a{font:inherit;color:inherit;text-decoration:none}button{background:none;border:0;padding:0;cursor:pointer;text-align:inherit;line-height:inherit}button:focus-visible,a:focus-visible{outline:1px solid #e6d8ae;outline-offset:5px}button[aria-disabled=true]{cursor:default}svg{display:block}img{display:block}::selection{background:#e6d8ae;color:#0b1629}#background,#cover{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}#background{z-index:1}#cover{z-index:0}#motion-source{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}#viewport{position:fixed;inset:0;overflow:hidden;z-index:2;pointer-events:none}#stage{position:absolute;width:1672px;height:941px;transform-origin:0 0;isolation:isolate}.design-scene{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none}.design-scene.active{opacity:1;visibility:visible}.design-scene.active button,.design-scene.active a{pointer-events:auto}.design-scene [data-menu-toggle]{cursor:pointer}.scene-next:hover,[data-menu-toggle]:hover{color:var(--color1)!important}.vector-asset{display:block;pointer-events:none}.vector-asset svg{max-width:none}.design-scene .reveal{will-change:opacity,translate}.design-scene.entering .reveal{animation:text-in .72s cubic-bezier(.22,1,.36,1) both}.design-scene.entering .reveal:nth-of-type(2){animation-delay:.09s}.design-scene.entering .reveal:nth-of-type(3){animation-delay:.16s}@keyframes text-in{0%{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}.design-button{transition:background-color .22s;line-height:normal}.design-button:hover,.design-button:focus-visible{background-color:#e6d8ae4d!important}.project-row{position:relative;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;width:100%;padding:20px 64px 20px 32px;flex-shrink:0}.project-row.expanded{padding-top:16px;padding-bottom:16px;gap:10px;background:linear-gradient(to right,#e6d8ae00,#e6d8ae26)}.project-title{font-family:Fauna,Songti SC,serif;font-size:24px;font-weight:400;line-height:normal;letter-spacing:.96px;text-align:right;white-space:nowrap}.project-details{display:contents}.project-details[hidden]{display:none}.project-summary{font-size:20px;line-height:normal;letter-spacing:.8px;width:670px;text-align:right;color:var(--color2)}.project-tags{display:flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:14px;background:var(--color4);font-size:14px;line-height:normal;letter-spacing:.56px;white-space:nowrap}.project-link{font-size:20px;line-height:normal;letter-spacing:.8px;width:670px;text-align:right;color:#9dd7f0b3}.project-row button{pointer-events:auto}.project-details>*{animation:project-in .25s ease both}@keyframes project-in{0%{opacity:0}to{opacity:1}}#design-menu{pointer-events:auto;z-index:10}#design-menu a{display:block}#design-menu a:hover,#design-menu a:focus-visible{color:#e6d8ae!important}#design-menu[hidden],#menu-rule[hidden]{display:none!important}body.menu-open [data-menu-toggle]{visibility:hidden}#menu-rule{z-index:10}#status{position:fixed;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}#scroll-track{height:1060svh}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{translate:none!important}}#viewport{overflow:clip}@media(max-width:700px){#stage{width:1672px;height:941px}.project-title{white-space:normal}.design-scene.active .reveal{max-height:none}}@media(max-width:759px){#stage{width:var(--screen-width);height:var(--screen-height)}.scene-content{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:128px 36px 112px}.scene-content>.reveal{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:auto!important;white-space:normal!important;order:var(--flow-order);flex-shrink:0}.scene-content>.type-size-32{font-size:28px!important;line-height:1.25!important;letter-spacing:1.12px!important}.scene-content>.type-size-20{font-size:16px!important;line-height:1.5!important;letter-spacing:.64px!important}.scene-content>.type-size-16{font-size:12px!important;line-height:1.5!important;letter-spacing:.48px!important}.design-scene [data-menu-toggle]{top:84px!important;left:auto!important;right:36px!important;transform:none!important;font-size:15px!important;width:auto!important}.design-scene .scene-next{inset:auto 36px 83px auto!important;transform:none!important;font-size:14px!important;max-width:calc(100% - 72px);white-space:normal!important}[data-node-id="5486:24373"],body.menu-open [data-node-id="5486:24373"]{top:23px!important;left:auto!important;right:24px!important;font-size:12px!important;gap:12px!important}#home .scene-content{padding-top:0;padding-bottom:0;gap:8px}#home [data-node-id="5486:24355"]{font-size:44px!important;line-height:1.3!important}#home [data-node-id="5486:24358"]{font-size:17px!important;line-height:1.5!important}#home [data-node-id="5486:24356"]{position:absolute!important;top:auto!important;bottom:83px!important;right:36px!important;width:auto!important;max-width:calc(100% - 72px);font-size:13px!important}#design-menu{left:auto!important;right:36px!important;top:84px!important;width:auto!important;gap:12px!important}#design-menu a{font-size:17px!important;line-height:1.5!important}#menu-rule{left:auto!important;right:24px!important;top:70px!important;height:213px!important}.design-button{padding:12px 18px!important;border-radius:40px!important;min-height:48px;width:max-content!important;align-self:flex-start}.design-button>*{font-size:17px!important;white-space:normal!important;line-height:1.4!important;letter-spacing:.68px!important}.project-list{gap:0!important}.project-row{padding:14px 12px;gap:8px!important}.project-row.expanded{padding:14px 12px}.project-title{font-size:19px;line-height:1.3;letter-spacing:.76px;white-space:normal}.project-summary{width:100%;font-size:14px;line-height:1.45;letter-spacing:.56px}.project-tags{max-width:100%;font-size:10px;line-height:1.4;letter-spacing:.4px;white-space:normal;text-align:right;padding:4px 8px}.project-link{width:100%;font-size:14px;line-height:1.4;letter-spacing:.56px}.project-list>div:not(.project-row){width:100%!important}.project-list .vector-asset svg,.method-list .vector-asset svg{width:100%!important}.method-list>div{width:100%!important}.method-list>div[style*=padding]{padding:12px 0!important;gap:7px!important}.method-list ol{font-size:18px!important;white-space:normal!important;letter-spacing:.72px!important}.method-list p{width:100%!important;font-size:14px!important;line-height:1.45!important;letter-spacing:.56px!important}#how-i-work .scene-content{gap:12px;padding-top:118px;padding-bottom:108px}#contact .scene-content{justify-content:flex-start;padding-top:154px;padding-bottom:130px}#contact #copy-email{margin-top:auto;width:max-content!important;max-width:100%}.frame-horizontal{left:0!important;width:100%!important}.frame-horizontal .vector-asset svg{width:100%!important}.frame-top{top:60px!important}.frame-bottom{top:auto!important;bottom:60px!important}.frame-vertical{height:var(--screen-height)!important;top:0!important}.frame-left{left:24px!important}.frame-right{left:calc(100% - 24px)!important}.frame-vertical>div>div{width:var(--screen-height)!important}.frame-vertical .vector-asset svg{width:100%!important}.scene-decoration{display:block!important;position:absolute!important;left:0!important;top:var(--decoration-top)!important;width:1672px;height:941px;transform:scale(var(--decoration-scale));transform-origin:0 0}}@media(max-width:759px)and (max-height:700px){.scene-content{padding-top:108px;padding-bottom:102px;gap:10px}.scene-content>.type-size-32{font-size:24px!important}.scene-content>.type-size-20{font-size:14px!important}.project-row,.project-row.expanded{padding:10px 12px}.method-list>div[style*=padding]{padding:8px 0!important}.method-list p{font-size:13px!important}#contact .scene-content{padding-top:130px;padding-bottom:120px}}@media(max-width:759px){.scene-decoration{overflow:clip}#home [data-node-id="5486:24358"]{text-align:right}}#background:not([data-ready=true]){opacity:0}@font-face{font-family:PortfolioSerifCJK;src:url(assets/fonts/noto-serif-sc.748dae8daebf.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"DM Serif Display";src:url(assets/fonts/dm-serif-display.fc6cc7ec6a4e.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}html,body{height:100%;overflow:hidden!important;overscroll-behavior:none}#scroll-track{display:none}.motion-buffer{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none;z-index:-1}#background:not([data-ready]){opacity:0}.frame-horizontal,.frame-vertical{display:none!important}#viewport-frame{position:fixed;inset:0;width:100%;height:100%;z-index:11;pointer-events:none;overflow:visible;fill:none;stroke:#fff;stroke-opacity:.21;stroke-width:1}#viewport-frame line{stroke-dasharray:1;stroke-dashoffset:1;animation:extend-frame .9s ease-out forwards}#viewport-frame line:nth-child(n+3){animation-delay:.14s}@keyframes extend-frame{to{stroke-dashoffset:0}}.scene-content{opacity:1;transition:none}.design-scene[data-text-state=hidden] .scene-content{visibility:hidden}.design-scene.active.preserve-heading .continuity-heading{visibility:visible}.is-travelling [data-menu-toggle]{pointer-events:none}body:not(.is-travelling):not(.menu-open) .design-scene.active .project-row{pointer-events:auto}.project-tags{background:#e6d8ae1f}.project-details>*{animation:none}.project-row{isolation:isolate;cursor:pointer}.project-row:focus-visible{outline:1px solid rgba(230,216,174,.65);outline-offset:-2px}.project-title,.project-summary,.project-tags,.project-link{position:relative;z-index:1}.project-dust{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .3s ease;contain:strict}body:not(.menu-open):not(.is-travelling):not(.page-hidden) #work.active .project-row.expanded:is(.dust-hover,:focus-visible) .project-dust{opacity:1}body:not(.menu-open):not(.is-travelling):not(.page-hidden) #work.active .project-row.expanded:is(.dust-hover,:focus-visible) .dust-mote{animation-play-state:running}.is-travelling .project-row{pointer-events:none!important}@media(prefers-reduced-motion:reduce){.project-dust{display:none}}.removed-detail-ring{display:none!important}#contact #contact-actions{opacity:0;visibility:hidden;pointer-events:none!important}#contact:is([data-cta-state=entering],[data-cta-state=visible],[data-cta-state=exiting]) #contact-actions{opacity:1;visibility:visible}body:not(.is-travelling):not(.menu-open) #contact.active[data-cta-state=visible] #contact-actions .design-button{pointer-events:auto!important}#ambient-light{position:fixed;inset:0;overflow:hidden;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.58;transition:opacity .5s ease}.cloud-field{display:block;width:100%;height:100%;pointer-events:none;filter:blur(18px)}.cloud-field[hidden]{display:none}#ambient-light[data-cloud-state=fallback]:before,#ambient-light[data-cloud-state=fallback]:after{--cloud-tile:1100px;content:"";position:absolute;inset:-160px;background:url(assets/cloud-light-fallback.10c71b997356.svg?v=mist14) repeat;background-size:var(--cloud-tile) var(--cloud-tile);filter:blur(18px);animation:cloud-fallback-drift 24s linear infinite}#ambient-light[data-cloud-state=fallback]:after{--cloud-tile:900px;opacity:.4;animation-duration:30s;animation-direction:reverse}@keyframes cloud-fallback-drift{to{background-position:var(--cloud-tile) calc(0px - var(--cloud-tile))}}.is-travelling #ambient-light{opacity:.24}.page-hidden #ambient-light:before,.page-hidden #ambient-light:after,.is-travelling #ambient-light:before,.is-travelling #ambient-light:after{animation-play-state:paused}html:lang(en) .design-scene:not(#home) .scene-content>.scene-title{font-family:"DM Serif Display",serif!important;font-size:36px!important;font-weight:400!important;line-height:1.25!important;letter-spacing:.015em!important}html:lang(zh-CN) .design-scene:not(#home) .scene-content>.scene-title{font-weight:700!important;font-synthesis:weight!important}@media(max-width:759px){.design-scene:not(#home) .scene-content{gap:18px}#question .scene-content,#response .scene-content{justify-content:flex-start;padding-top:var(--question-content-top,128px)}.method-list>.list-divider,.project-list>.list-divider{width:calc(100% + 12px)!important;align-self:flex-start}}@media(prefers-reduced-motion:reduce){#ambient-light{display:none}}@media(min-width:760px){[data-node-id="5486:24508"],[data-node-id="5486:24537"]{left:auto!important;right:100px!important;transform:none!important;text-align:right!important}}.cjk-copy{font-family:PortfolioSerifCJK,Fauna,Songti SC,serif!important;letter-spacing:.1em!important;line-break:strict;word-break:normal!important;overflow-wrap:normal!important;font-synthesis:none}html:lang(zh-CN) .cjk-copy{letter-spacing:.1em!important}.scene-content>.type-size-32.cjk-copy{line-height:1.3!important;text-wrap:balance}.scene-content>.type-size-20.cjk-copy,.project-summary.cjk-copy,.method-list p.cjk-copy{line-height:1.5!important}#stage,#design-menu{text-shadow:0 2px 4px rgba(0,0,0,.2)}.cjk-pair{white-space:nowrap}.cjk-punct{display:inline-block;inline-size:.5em;letter-spacing:0;text-align:left;font-feature-settings:"halt";vertical-align:baseline}[data-cjk-align=right] .terminal-punct{inline-size:0;overflow:visible}@media(min-width:760px){html:lang(zh-CN) [data-node-id="5486:24441"],html:lang(zh-CN) [data-node-id="5486:24458"]{left:100px!important;transform:none!important;text-align:left!important}}#menu-layer{position:fixed;inset:0;z-index:10;pointer-events:none}#menu-layer[hidden]{display:none}.design-scene [data-menu-toggle]{z-index:2}body.menu-cover [data-menu-toggle]{visibility:hidden!important}body.menu-cover :is(.scene-content,.scene-next,[data-node-id="5486:24373"]){visibility:hidden!important}body.menu-cover .scene-content *{visibility:hidden!important}#design-menu{position:fixed!important;left:var(--drawer-x)!important;right:auto!important;top:var(--drawer-y)!important;width:var(--drawer-width)!important;display:flex;flex-direction:column;align-items:stretch;gap:var(--drawer-gap)!important;font-size:var(--drawer-font)!important;line-height:var(--drawer-line-height)!important;text-align:right;opacity:0;translate:22px 0;transition:opacity .24s ease,translate .28s cubic-bezier(.22,1,.36,1);pointer-events:none;will-change:opacity,translate}#design-menu a{font-size:inherit!important;line-height:inherit!important;color:#e6d8aea6!important;padding:0;width:100%;white-space:nowrap}#design-menu a[aria-current],#design-menu a:hover,#design-menu a:focus-visible{color:#e6d8ae!important}#menu-layer[data-side=left] #design-menu{text-align:left;translate:-22px 0}#menu-layer.drawer-open #design-menu{opacity:1;translate:0 0;pointer-events:auto}#menu-fog{position:fixed;inset:0;background:#081321f0;opacity:0;transition:opacity .28s ease;pointer-events:none}#menu-layer.drawer-open #menu-fog{opacity:1}#menu-rule{position:fixed!important;left:var(--drawer-rule-x)!important;right:auto!important;top:var(--drawer-rule-y)!important;width:1px!important;height:var(--drawer-height)!important;background:#e6d8aeb3;opacity:0;scale:1 .6;transform-origin:50% 0;transition:opacity .24s ease,scale .28s cubic-bezier(.22,1,.36,1);pointer-events:none}#menu-layer.drawer-open #menu-rule{opacity:1;scale:1 1}@media(prefers-reduced-motion:reduce){#viewport-frame line{stroke-dashoffset:0}#design-menu,#menu-fog,#menu-rule,.scene-content{transition:none}}body.menu-open .scene-content button,body.menu-open .scene-content a{pointer-events:none!important}@media(min-width:760px){html:lang(zh-CN) #question .scene-next,html:lang(zh-CN) #response .scene-next,html:lang(zh-CN) #ai-design .scene-next{left:100px!important;right:auto!important;transform:none!important;text-align:left!important}}@media(max-width:759px){[data-node-id="5486:24441"],[data-node-id="5486:24458"]{text-align:left!important}}.dust-mote{position:absolute;display:block;width:var(--dust-size);height:var(--dust-size);border-radius:50%;background:radial-gradient(circle,#fff3ccf2,#f2d99f94 36%,#e6d8ae00 74%);box-shadow:0 0 4px #f4deab29;filter:blur(var(--dust-blur));opacity:var(--dust-alpha);animation:dust-float var(--dust-duration) ease-in-out var(--dust-delay) infinite alternate;animation-play-state:paused;pointer-events:none}@keyframes dust-float{0%{transform:translate(0);opacity:calc(var(--dust-alpha)*.55)}35%{transform:translate(var(--dust-x1),var(--dust-y1));opacity:var(--dust-alpha)}70%{transform:translate(var(--dust-x2),var(--dust-y2));opacity:calc(var(--dust-alpha)*.75)}to{transform:translate(var(--dust-x3),var(--dust-y3));opacity:calc(var(--dust-alpha)*.35)}}.soft-particles{position:fixed;left:0;top:0;margin:0;padding:0;border:0;overflow:visible;pointer-events:none;isolation:isolate}.soft-particles[hidden],.soft-particles .dust-mote[hidden]{display:none}.soft-particles .dust-mote{filter:blur(var(--dust-blur));background:radial-gradient(circle,#fff6ce,#f6de94d1 28%,#e6cb7500 72%);box-shadow:0 0 7px 2px #ffdc894d,0 0 15px #eeca6529;opacity:0;animation:firefly-breathe var(--flight-duration) linear var(--flight-delay) infinite;animation-play-state:paused}.soft-particles.is-lit .dust-mote{animation-play-state:running}.button-fireflies{z-index:10000;opacity:0;transition:opacity .42s ease}.button-fireflies.is-lit{opacity:1}.button-fireflies.light-surface .dust-mote{background:radial-gradient(circle,#fff3c1,#b58328d1 30%,#ba872a00 74%);box-shadow:0 0 7px 2px #af741e4d,0 0 15px #dead3938}.title-fireflies{z-index:3;animation:title-motes-in 1.4s ease-out both}@keyframes title-motes-in{0%{opacity:0}to{opacity:1}}@keyframes firefly-breathe{0%{opacity:0;transform:translate(0) scale(.7)}16%{opacity:var(--glow-peak);transform:translate(calc(var(--flight-x)*.12),calc(var(--flight-y)*.12)) scale(1)}40%{opacity:calc(var(--glow-peak)*.7);transform:translate(calc(var(--flight-x)*.38 + var(--flight-sway-x)),calc(var(--flight-y)*.38 + var(--flight-sway-y))) scale(.96)}72%{opacity:calc(var(--glow-peak)*.18);transform:translate(calc(var(--flight-x)*.8),calc(var(--flight-y)*.8)) scale(.87)}90%,to{opacity:0;transform:translate(var(--flight-x),var(--flight-y)) scale(.78)}}@media(prefers-reduced-motion:reduce){.soft-particles{display:none!important}}.design-button{border:1px solid var(--color4)!important;transition:background-color .22s,border-color .22s}.design-button:is(:hover,:focus-visible){border-color:var(--color3)!important}#contact-actions{position:absolute;left:536px;top:717px;display:flex;gap:20px;align-items:center}#contact-actions .design-button{position:relative!important;inset:auto!important;transform:none!important;width:auto!important;white-space:nowrap;padding:16px 32px;border-radius:32px;background:var(--color5);font-size:24px;letter-spacing:.04em;min-height:64px}#contact-actions #copy-email{background:transparent!important;color:var(--color2)}#contact-actions #copy-email:hover{background:var(--color5)!important}@media(min-width:760px){#contact [data-node-id="5486:24555"]{left:536px!important;top:169px!important;width:750px!important}#contact [data-node-id="5486:24567"]{left:536px!important;width:635px!important}}.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}#contact-dialog{position:fixed;inset:0;margin:0;padding:56px 24px;border:0;width:100%;height:100%;max-width:none;max-height:none;overflow:auto;background:transparent;color:var(--color1);font:20px/1.5 Fauna,serif;letter-spacing:.04em;text-shadow:0 2px 4px #0003;overscroll-behavior:contain}#contact-dialog::backdrop{background:#0e111366;backdrop-filter:blur(29px);-webkit-backdrop-filter:blur(29px)}#contact-dialog[open]{display:flex;align-items:safe center;justify-content:center}#contact-dialog [hidden]{display:none!important}.contact-panel{width:450px;max-width:100%;flex-shrink:0;margin:auto;animation:contact-in .35s ease}#contact-title{font:400 48px/1.25 "DM Serif Display",serif;text-align:center;letter-spacing:.04em;margin:0 0 32px}#contact-dialog form{display:flex;flex-direction:column;gap:10px}#contact-dialog input,#contact-dialog textarea,.contact-control{width:100%;min-height:62px;padding:16px 32px;border:1px solid var(--color4);border-radius:32px;background:var(--color5);color:var(--color1);font:inherit;letter-spacing:inherit;box-shadow:0 12px 18px #0000001f;transition:background .2s,border-color .2s}#contact-dialog input::placeholder,#contact-dialog textarea::placeholder,.contact-control{color:var(--color2);opacity:1}#contact-dialog textarea{height:249px;resize:vertical;min-height:130px}.contact-control{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:10px}.contact-control img{flex-shrink:0;transition:rotate .2s}.contact-control[aria-expanded=true] img{rotate:180deg}.contact-control.has-value{color:var(--color1)}#contact-dialog :is(input,textarea,.contact-control):is(:hover,:focus-visible){border-color:var(--color3);background:#e6d8ae38}#contact-dialog :is(input,textarea,button):focus-visible{outline:none;border-color:#e6d8aed9;box-shadow:0 0 12px #e6d8ae1f}#contact-dialog [aria-invalid=true]{border-color:#e9ad8e}.contact-select{position:relative}.contact-select:has([aria-expanded=true]){z-index:3}.contact-options{position:absolute;top:calc(100% + 8px);left:0;width:100%;padding:16px 24px;border:1px solid var(--color4);border-radius:32px;background:#1e2429f0;backdrop-filter:blur(44px);-webkit-backdrop-filter:blur(44px);box-shadow:0 12px 18px #0000001f;max-height:260px;overflow:auto;animation:contact-dropdown-in .18s ease}.contact-options button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 8px;border-radius:10px;font-size:20px;line-height:25px;text-align:left;color:var(--color1)}.contact-options button:hover,.contact-options button:focus-visible{background:var(--color5)}.contact-options img{visibility:hidden;flex-shrink:0}.contact-options [aria-selected=true] img{visibility:visible}.contact-form-actions{display:flex;gap:18px;margin-top:10px}.contact-form-actions .design-button{flex:1;text-align:center;padding:16px 14px;background:var(--color5);border-radius:32px;font-size:22px;line-height:30px;min-height:64px}.contact-form-actions .secondary{background:transparent}.contact-note{font-size:12px;line-height:1.5;text-align:center;color:var(--color2);margin:4px 0 0}#contact-error{font-size:14px;color:#f4c6ac;margin:0 12px}.contact-confirmation{text-align:center}.contact-confirmation h3{font:400 36px/1.3 "DM Serif Display",serif;margin:0 0 18px}.contact-confirmation p{color:var(--color2);margin-bottom:32px}html:lang(zh-CN) #contact-dialog,html:lang(zh-CN) #contact-actions #open-contact{font-family:PortfolioSerifCJK,serif;letter-spacing:.1em}html:lang(zh-CN) #contact-title,html:lang(zh-CN) .contact-confirmation h3{font-family:PortfolioSerifCJK,serif;font-weight:700}body.contact-open .title-fireflies{display:none}@keyframes contact-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(max-width:759px){#contact-actions{position:relative!important;inset:auto!important;width:100%!important;margin-top:auto;flex-wrap:wrap;gap:12px}#contact-actions .design-button{min-height:48px;font-size:17px;max-width:100%;margin:0!important}#contact-actions #copy-email p{overflow-wrap:anywhere}#contact-dialog{padding:32px 24px;font-size:16px}#contact-title{font-size:36px;margin-bottom:24px}#contact-dialog input,#contact-dialog textarea,.contact-control{min-height:52px;padding:13px 22px}#contact-dialog textarea{height:180px}.contact-form-actions{gap:12px}.contact-form-actions .design-button{font-size:17px;min-height:50px;padding:10px}.contact-options{padding:10px 14px}.contact-options button{font-size:16px}}.hero-title:after{content:none!important;animation:none!important;filter:none!important}.title-metal-glint{position:absolute;left:97%;top:12%;width:112px;height:34px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(255,242,198,.75) 0%,rgba(232,199,119,.26) 15%,rgba(208,169,89,.1) 35%,transparent 70%);filter:blur(2px);opacity:0;animation:title-lens-reveal 2.4s .4s ease-out forwards}.title-metal-glint:before{content:"";position:absolute;left:0;right:0;top:calc(50% - .6px);height:1.2px;background:linear-gradient(90deg,transparent,rgba(237,210,151,.5) 25%,#fff6dc 49%,#fff9e9 51%,rgba(237,210,151,.5) 75%,transparent);filter:blur(.3px);box-shadow:0 0 5px #eece8659}.title-metal-glint:after{content:"";position:absolute;width:9px;height:5px;left:calc(50% - 4.5px);top:calc(50% - 2.5px);border-radius:50%;background:#fff7de;box-shadow:0 0 5px 2px #f9de97cc,0 0 13px 5px #deb15b40;filter:blur(.8px)}@keyframes title-lens-reveal{0%{opacity:0}to{opacity:.85}}@keyframes contact-dropdown-in{0%{translate:0 -4px}to{translate:0 0}}@media(max-width:759px){.title-metal-glint{width:78px;height:26px}}@media(prefers-reduced-motion:reduce){.title-metal-glint{display:none}}.contact-form-actions .design-button{font-size:18px;white-space:nowrap}@media(max-width:759px){.contact-form-actions .design-button{font-size:17px}}.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-privacy{font:12px/1.6 sans-serif;opacity:.75;margin:0;text-align:left}.contact-form-actions button:disabled{opacity:.65;cursor:wait}.asset-feedback{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;color:#e6d8ae;font:14px/1.5 system-ui,sans-serif}.asset-feedback button{border:1px solid #e6d8ae66;padding:6px 12px;border-radius:20px;color:inherit;background:transparent;cursor:pointer}img[data-load-state=failed]{opacity:0}#asset-notice{position:fixed;z-index:1000;bottom:24px;left:50%;transform:translate(-50%);max-width:calc(100% - 48px);padding:12px 18px;border:1px solid #e6d8ae44;border-radius:24px;background:#101724;color:#e6d8ae;font:14px/1.5 system-ui,sans-serif;text-align:center}#mobile-chapter-nav{display:none}#mobile-chapter-nav[hidden]{display:none!important}.contact-copy{display:contents}html:lang(en) #contact .contact-copy>.scene-title{font-family:"DM Serif Display",serif!important;font-size:36px!important;font-weight:400!important;line-height:1.25!important;letter-spacing:.015em!important}html:lang(zh-CN) #contact .contact-copy>.scene-title{font-weight:700!important;font-synthesis:weight!important}@media(max-width:759px),(max-width:959px)and (max-height:500px){:root{--mobile-gutter:24px;--color2:#d8ceb5;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}#stage{width:var(--screen-width);height:var(--screen-height)}#cover,.scene-decoration{display:none!important}#ambient-light{opacity:.2}#viewport-frame{stroke-opacity:.12}.design-scene [data-menu-toggle]{top:calc(12px + var(--safe-top))!important;left:var(--mobile-gutter)!important;right:auto!important;transform:none!important;min-height:44px;font-size:15px!important;padding:8px 0;line-height:1.5!important;background:transparent!important}[data-node-id="5486:24373"],body.menu-open [data-node-id="5486:24373"]{top:calc(12px + var(--safe-top))!important;right:var(--mobile-gutter)!important;left:auto!important;gap:16px!important}[data-language]{min-height:44px;padding:8px 0;font-size:14px!important;line-height:1.5!important}#stage .design-scene .scene-content{inset:calc(76px + var(--safe-top)) var(--mobile-gutter) calc(88px + var(--safe-bottom))!important;display:flex;flex-direction:column;align-items:stretch;justify-content:safe center;gap:16px;padding:20px 0 16px!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;pointer-events:auto;background:transparent;scroll-padding-block:16px}#stage .scene-content>*{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-width:0;flex-shrink:0;text-align:left!important;white-space:normal!important;overflow-wrap:break-word!important}#stage .scene-content>.reveal{order:var(--flow-order,0)}#stage .scene-content>.type-size-32,#stage .scene-content>.scene-title,html:lang(en) #stage .scene-content>.scene-title{font-size:28px!important;line-height:1.3!important;letter-spacing:.015em!important;text-wrap:pretty}#stage .scene-content>.type-size-20{font-size:16px!important;line-height:1.7!important;letter-spacing:.025em!important;color:var(--color2)!important}#stage .scene-content>.type-size-16{font-size:12px!important;line-height:1.6!important;letter-spacing:.05em!important}#stage .scene-content .cjk-copy{letter-spacing:.035em!important;line-height:1.65!important}#stage .scene-content>.scene-title.cjk-copy{line-height:1.4!important}#stage .scene-content>.type-size-20[style*=nowrap]{font-size:12px!important;letter-spacing:.06em!important;line-height:1.6!important}#home [data-node-id="5486:24355"]{font-size:clamp(29px,9vw,40px)!important;line-height:1.25!important;letter-spacing:0!important;order:0!important}#home [data-node-id="5486:24358"]{font-size:16px!important;line-height:1.6!important;order:1!important}#home [data-node-id="5486:24356"]{font-size:14px!important;line-height:1.6!important;order:2!important;max-width:100%!important;position:relative!important;bottom:auto!important;right:auto!important}.design-scene .scene-next{left:var(--mobile-gutter)!important;right:var(--mobile-gutter)!important;bottom:calc(20px + var(--safe-bottom))!important;top:auto!important;transform:none!important;max-width:none!important;width:auto!important;min-height:44px;display:flex;align-items:center;text-align:left!important;font-size:14px!important;line-height:1.5!important;padding:8px 0;background:#081321}.design-scene .scene-next{display:none!important}#mobile-chapter-nav{position:fixed;left:24px;right:24px;bottom:calc(16px + var(--safe-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;height:56px;min-height:56px;padding:0;border-top:1px solid #e6d8ae30;background:transparent;pointer-events:auto;font-size:14px;line-height:1.5}#mobile-chapter-nav button{min-height:44px;min-width:72px;text-align:left;padding:8px 0;touch-action:manipulation}#mobile-chapter-nav button:last-child{text-align:right}#mobile-chapter-nav button:disabled{opacity:.3;cursor:default}#mobile-chapter-nav span{font-size:12px;color:var(--color2);font-variant-numeric:tabular-nums;letter-spacing:.06em}body.menu-cover #mobile-chapter-nav{visibility:hidden;pointer-events:none}#stage .scene-content>.design-button,#stage #contact-actions .design-button{width:max-content!important;max-width:100%!important;min-height:48px!important;padding:12px 18px!important;justify-content:center!important;text-align:center!important;border-radius:40px!important;font-size:17px!important;line-height:1.4!important;letter-spacing:.68px!important;align-self:flex-start;white-space:normal!important}#stage .design-button>*{font-size:17px!important;line-height:1.4!important;letter-spacing:.68px!important;white-space:normal!important}#stage .project-list,#stage .method-list{width:100%!important;gap:0!important}#stage .project-row,#stage .project-row.expanded{align-items:flex-start;text-align:left;padding:18px 0;gap:12px!important}#stage .project-title{font-size:20px;line-height:1.4;text-align:left;letter-spacing:.02em}#stage .project-summary,#stage .method-list p{width:100%!important;font-size:16px!important;line-height:1.65!important;text-align:left!important;letter-spacing:.025em!important}#stage .project-tags{font-size:12px;line-height:1.6;letter-spacing:.02em;text-align:left;padding:5px 8px}#stage .project-link{font-size:14px;line-height:1.6;text-align:left;letter-spacing:.02em}#stage .method-list>div[style*=padding]{padding:18px 0!important;gap:10px!important}#stage .method-list ol{font-size:19px!important;line-height:1.4!important;letter-spacing:.025em!important}#stage .method-list>.list-divider,#stage .project-list>.list-divider{width:100%!important}#stage #contact .scene-content{inset:0 var(--mobile-gutter)!important;overflow:visible;padding:0!important;pointer-events:none}#stage #contact .scene-content>.contact-copy{position:absolute!important;top:calc(76px + var(--safe-top))!important;left:0!important;display:flex;flex-direction:column;gap:14px;height:calc(var(--screen-height) * .4 - 88px - var(--safe-top))!important;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;pointer-events:auto}#contact .contact-copy>p{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;flex-shrink:0;text-align:left!important;white-space:normal!important}#contact .contact-copy>.scene-title,html:lang(en) #contact .contact-copy>.scene-title{font-size:clamp(22px,6.6vw,28px)!important;line-height:1.3!important;letter-spacing:.015em!important;text-wrap:pretty}html:lang(en) #contact .contact-copy>.scene-title{font-family:"DM Serif Display",serif!important}html:lang(zh-CN) #contact .contact-copy>.scene-title{font-weight:700!important;font-synthesis:weight!important}#contact .contact-copy>.type-size-20{font-size:16px!important;line-height:1.65!important;letter-spacing:.025em!important;color:var(--color2)!important}#stage #contact #contact-actions{position:absolute!important;top:auto!important;bottom:calc(24px + var(--safe-bottom))!important;left:0!important;width:100%!important;display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:0!important}#stage #contact-actions .design-button{margin:0!important}#contact #copy-email p{text-align:center!important;overflow-wrap:anywhere;max-width:100%;min-width:0;flex-shrink:1!important}#menu-fog{background:#081321}#design-menu,#menu-layer[data-side=left] #design-menu{text-align:left}#design-menu a{min-height:44px;padding:8px 0;font-size:16px!important;line-height:1.5!important}.title-fireflies,.title-metal-glint{display:none!important}#contact-dialog{padding:calc(24px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));background:#081321;font-size:16px;line-height:1.65;letter-spacing:.025em}#contact-title{font-size:30px;line-height:1.3;margin-bottom:24px;text-align:left}#contact-dialog input,#contact-dialog textarea,.contact-control{padding:14px 18px;min-height:52px;font-size:16px;line-height:1.5;letter-spacing:.025em}.contact-options{background:#162231;padding:10px 12px;max-height:240px}.contact-options button{font-size:16px;line-height:1.5;white-space:normal;min-height:44px}.contact-form-actions{flex-wrap:wrap;gap:12px}.contact-form-actions .design-button{min-width:110px;min-height:48px;white-space:normal;font-size:16px}.contact-privacy,.contact-note{font-size:13px;line-height:1.65}}@media(max-width:959px)and (max-height:500px)and (orientation:landscape){#contact [data-menu-toggle]{left:auto!important;right:24px!important}#stage #contact .scene-content>.contact-copy{top:60px!important;left:50%!important;width:calc(50% - 24px)!important;height:calc(var(--screen-height) * .3 - 72px)!important}#stage #contact #contact-actions{bottom:16px!important;left:50%!important;width:min(560px,100%)!important;transform:translate(-50%)!important;flex-direction:row;justify-content:center}}@media(max-width:759px),(max-width:959px)and (max-height:500px){#stage .method-list li{text-align:left!important;margin-inline-start:1.5em!important}}@media(max-width:759px),(max-width:959px)and (max-height:500px){#stage .method-list ol{width:100%!important;align-self:stretch;text-align:left!important}}
