@font-face{font-family:Castoro;src:url('assets/fonts/castoro-titling.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Fauna;src:url('assets/fonts/fauna-one.ttf') format('truetype');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{from{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:rgba(230,216,174,.3)!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,rgba(230,216,174,0),rgba(230,216,174,.15))}.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:rgba(157,215,240,.7)}.project-row button{pointer-events:auto}.project-details>*{animation:project-in .25s ease both}@keyframes project-in{from{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:calc(100svh + 960svh)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{translate:none!important}}
/* clip prevents focused chapter links from scrolling the fixed composition. */
#viewport{overflow:clip}
/* Smaller displays preserve the supplied composition. */
@media(max-width:700px){#stage{width:1672px;height:941px}.project-title{white-space:normal}.design-scene.active .reveal{max-height:none}}
/* Narrow windows use the same content and controls at readable sizes. */
@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{top:auto!important;bottom:83px!important;left:auto!important;right:36px!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}
}
