html{scrollbar-gutter:stable}
.folder-directory{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;color:var(--paper)}
.folder-directory.visible{pointer-events:auto}
.directory-copy{position:absolute;left:6vw;top:23%;width:31vw;max-width:430px}
.directory-eyebrow{font-size:10px;letter-spacing:.16em;margin:0 0 25px}
.directory-copy h2{font:500 clamp(32px,4.4vw,68px)/1.2 'Songti SC','STSong',serif;letter-spacing:-.04em;margin:0 0 24px}
.directory-copy>p:not(.directory-eyebrow){font-size:13px;line-height:1.9;opacity:.8;margin:0 0 12px}
.directory-copy>a{color:var(--paper);font-size:11px;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:6px}
.folder-launch{position:absolute;left:39%;top:72%;width:28vw;max-width:430px;min-width:220px;aspect-ratio:1.3;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;cursor:pointer;color:var(--paper);transition:transform .32s cubic-bezier(.2,.8,.2,1);perspective:1200px}
.folder-launch:hover{transform:translate(-50%,calc(-50% - 7px)) scale(1.035)}
.folder-launch:focus-visible{outline:3px solid var(--accent);outline-offset:8px;border-radius:24px}
.folder-idle{display:block;width:100%;height:100%;animation:folder-float 4.5s ease-in-out infinite}
.folder-object,.folder-expanded-object{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d}
.folder-object{transform:rotateX(7deg) rotateY(-12deg) rotateZ(-5deg)}
.folder-back{position:absolute;inset:17% 2% 9%;display:block;border-radius:15px;background:linear-gradient(145deg,#f5cf86,#cd8d45);border:1px solid #f9d998;box-shadow:0 8px 0 #955727,0 30px 35px #24282036}
.folder-back:before{content:'';position:absolute;left:-1px;top:-16%;width:42%;height:23%;background:linear-gradient(160deg,#eaba6b,#d69c50);border:1px solid #f9d998;border-bottom:0;border-radius:13px 22px 0 0;clip-path:polygon(0 0,80% 0,100% 100%,0 100%)}
.folder-paper{position:absolute;display:block;inset:21% 8% 20%;background:var(--paper);border:1px solid #dac99f;border-radius:8px;box-shadow:0 2px 6px #754c2520;transform:rotate(var(--paper-angle,0deg)) translateY(var(--paper-rise,0))}
.paper-one{--paper-angle:-6deg;--paper-rise:-7%;background:#dedac1}
.paper-two{--paper-angle:4deg;--paper-rise:-10%;background:#f9f0d6}
.paper-three{--paper-angle:0deg;--paper-rise:-3%;background:#ede2bf}
.folder-front{position:absolute;display:flex;flex-direction:column;justify-content:center;inset:32% 0 8%;padding:7% 8% 5%;border:1px solid #f1be7d;border-bottom:3px solid #a4602a;border-radius:12px 18px 17px 15px;background:linear-gradient(155deg,#d6954b 0%,#c37d38 56%,#ad672b 100%);box-shadow:inset 0 2px 2px #ffe2ae70,inset 0 -6px 12px #83471830,0 4px 0 #7a481e;transform-origin:center bottom;animation:folder-flap 4.5s ease-in-out infinite;color:#fff1cf;text-align:left;backface-visibility:hidden}
.folder-front:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-image:radial-gradient(#ffe2a52b .7px,transparent .9px);background-size:5px 5px;opacity:.6}
.folder-caption{font-size:clamp(7px,.65vw,10px);letter-spacing:.15em;position:relative;z-index:1;text-shadow:0 1px #875127}
.folder-wordmark{display:flex;align-items:center;justify-content:space-between;gap:8px;font:bold clamp(24px,3vw,46px)/1.2 'Helvetica Neue',sans-serif;letter-spacing:-.055em;text-shadow:0 3px 0 #8b4e22,0 5px 6px #75401e33;margin:4px 0 9px;position:relative;z-index:1}
.folder-star{font-size:.65em;color:#f5d28d;text-shadow:0 2px 0 #9a602e}
.folder-front-bottom{display:flex;align-items:center;justify-content:space-between;font-size:7px;letter-spacing:.12em;position:relative;z-index:1}
.folder-face-arrow{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#6b7043;border:1px solid #a9ae73;box-shadow:0 3px 0 #43492b;color:#f8edca;font-size:19px;line-height:1}
.folder-launch-hint{display:block;text-align:center;font-size:10px;letter-spacing:.08em;transform:translateY(-2px);text-shadow:0 1px 4px #24282060}
.directory-bottom{position:absolute;bottom:28px;left:6vw;right:6vw;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:16px;font-size:10px;letter-spacing:.08em}
@keyframes folder-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(1.5deg)}}
@keyframes folder-flap{0%,100%{transform:perspective(900px) rotateX(-7deg)}50%{transform:perspective(900px) rotateX(-17deg)}}
body.folder-modal-open{overflow:hidden}
.page .stage{transition:filter .5s,transform .6s}
.page.folder-focused .stage{filter:blur(2px);transform:scale(.97);transform-origin:75% 55%}
#folder-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100svh;max-height:none;border:0;border-radius:0;padding:0;overflow:hidden;background:transparent;color:var(--paper);box-shadow:none}
#folder-dialog::backdrop{background:#24282010;backdrop-filter:blur(9px)}
.folder-dialog-heading{position:absolute;top:5%;left:16%;right:16%;text-align:center;z-index:4;pointer-events:none}
.folder-dialog-heading>p{font-size:9px;letter-spacing:.18em;color:var(--paper);opacity:.8;margin:0 0 12px}
.folder-dialog-heading h2{font:500 clamp(32px,4vw,58px)/1.15 'Songti SC','STSong',serif;letter-spacing:-.04em;margin:0}
.folder-close{position:absolute;right:4vw;top:4%;display:flex;align-items:center;gap:14px;min-height:44px;border:1px solid var(--line);border-radius:30px;padding:0 16px;background:#24282033;color:var(--paper);font-size:11px;z-index:7}
.folder-close>span{font-size:22px;line-height:1}.folder-close:hover{background:var(--paper);color:var(--ink)}
.folder-category-grid{position:absolute;top:24%;left:7%;right:7%;max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;z-index:4}
.folder-category{min-width:0;display:flex;flex-direction:column;align-items:stretch;text-align:left;border:2px solid #f7edcb;background:var(--paper);color:var(--ink);border-radius:13px;padding:8px 8px 14px;box-shadow:0 20px 40px #24282032;opacity:0;transform-origin:center 95%;will-change:transform,opacity}
.folder-category>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:6px;background:#fff}
.folder-category-name{align-self:center;font-size:clamp(17px,1.8vw,26px);font-weight:600;margin:14px 0 10px;line-height:1.2}
.folder-category-summary{font-size:clamp(10px,.95vw,13px);line-height:1.9;padding:0 10px;opacity:.8}
.folder-category-foot{font-size:7px;letter-spacing:.04em;display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;padding:13px 10px 0;margin-top:auto;opacity:.7}
#folder-dialog[open] .folder-category{animation:folder-card-out .6s cubic-bezier(.18,.8,.22,1) calc(.15s + var(--order)*.09s) both}
.folder-category:hover,.folder-category:focus-visible{outline:3px solid var(--accent);outline-offset:6px}
@keyframes folder-card-out{from{opacity:0;transform:translateY(115px) scale(.78) rotate(0deg)}to{opacity:1;transform:translateY(calc(var(--order)*5px)) scale(1) rotate(var(--fan))}}
.folder-travel{position:absolute;left:50%;top:72%;width:min(62vw,700px);aspect-ratio:1.8;transform:translate(-50%,-50%);z-index:3;pointer-events:none;perspective:1400px}
.folder-expanded-object .folder-back{inset:20% 2% 7%;box-shadow:0 6px 0 #955727,0 40px 35px #24282032}
.folder-expanded-object .folder-front{inset:34% 0 6%;animation:none;transform:perspective(1200px) rotateX(-20deg)}
.folder-expanded-object .folder-wordmark{font-size:clamp(38px,5.5vw,76px)}
.folder-expanded-object .folder-caption{font-size:10px}.folder-expanded-object .folder-front-bottom{font-size:9px}.folder-expanded-object .folder-face-arrow{width:36px;height:36px;font-size:27px}
.folder-dialog-hint{position:absolute;bottom:3%;left:5%;right:5%;text-align:center;color:var(--paper);font-size:10px;letter-spacing:.06em;z-index:4;margin:0;pointer-events:none}
#folder-dialog.is-closing .folder-category{animation:folder-card-in .28s ease both}
#folder-dialog.is-closing .folder-dialog-heading,#folder-dialog.is-closing .folder-dialog-hint{opacity:0;transition:opacity .2s}
@keyframes folder-card-in{from{opacity:1;transform:translateY(0) rotate(var(--fan))}to{opacity:0;transform:translateY(100px) scale(.7) rotate(0)}}
.works-filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:-10px 0 28px}
.works-filters button{min-height:44px;border:1px solid var(--line);border-radius:25px;padding:0 16px;background:transparent;color:var(--paper);font-size:11px}
.works-filters button[aria-pressed=true]{background:var(--paper);color:var(--ink)}
.works-filters>p{margin:0 0 0 auto;opacity:.6;font-size:10px}
.work-feature[hidden],.work-grid[hidden]{display:none}
.works.is-filtered .work-grid{grid-template-columns:1fr}
@media(min-width:761px) and (max-width:1000px){.folder-travel{top:67%;width:70vw}.folder-category-grid{gap:18px;top:25%}.folder-category-foot{font-size:6px}}
@media(max-width:760px){.directory-copy{left:6vw;top:40%;width:88%;max-width:none}.directory-copy h2{font-size:clamp(30px,7.5vw,46px);margin-bottom:14px}.directory-copy h2 br{display:none}.directory-eyebrow{margin-bottom:16px;font-size:9px}.directory-copy>p:not(.directory-eyebrow){font-size:11px;line-height:1.7}.directory-copy>a{font-size:10px}.folder-launch{left:50%;top:75%;width:66vw;max-width:330px;min-width:220px}.folder-wordmark{font-size:34px}.folder-caption{font-size:8px}.directory-bottom{bottom:23px;font-size:8px;gap:12px}.folder-dialog-heading{top:8%;left:6%;right:6%;text-align:left}.folder-dialog-heading h2{font-size:32px}.folder-dialog-heading>p{font-size:8px}.folder-close{top:2%;right:5%;font-size:10px;padding:0 12px;gap:9px}.folder-category-grid{display:grid;grid-template-columns:1fr;position:absolute;top:22%;left:6%;right:6%;max-height:61svh;overflow-y:auto;gap:20px;padding:10px 10px 28px;scrollbar-width:thin;overscroll-behavior:contain}.folder-category{--fan:0deg!important;will-change:auto;border-radius:11px}.folder-category>img{aspect-ratio:16/9}.folder-category-name{font-size:22px;margin:12px 0 10px}.folder-category-summary{font-size:12px}.folder-category-foot{font-size:8px;padding-top:15px}.folder-travel{top:86%;width:84vw;max-width:360px;opacity:.95;z-index:2}.folder-expanded-object .folder-wordmark{font-size:42px}.folder-expanded-object .folder-caption{font-size:7px}.folder-dialog-hint{bottom:3%;font-size:8px}#folder-dialog[open] .folder-category{animation-duration:.4s;animation-delay:calc(var(--order)*.05s)}.works-filters{gap:7px;margin-top:-3px}.works-filters button{font-size:10px;padding:0 12px}.works-filters>p{width:100%;margin:5px 0 0}}
@media(max-height:650px) and (min-width:761px){.folder-dialog-heading{top:4%}.folder-category-grid{top:22%;max-width:900px}.folder-category-summary{display:none}.folder-category-name{margin:9px 0}.folder-category-foot{padding-top:4px}.folder-travel{top:73%;width:52vw}.folder-dialog-hint{bottom:2%}.folder-launch{top:73%;width:23vw}.directory-copy{top:22%}.directory-copy h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.folder-idle,.folder-front{animation:none}.folder-launch,.page .stage{transition:none}#folder-dialog[open] .folder-category{animation:none;opacity:1;transform:rotate(var(--fan))}#folder-dialog.is-closing .folder-category{opacity:0}}
@media(max-width:760px){.folder-launch{top:78%}.directory-copy h2 br{display:initial}}
@media(max-width:360px){header .brand{white-space:nowrap;flex-shrink:0}.nav{gap:6px}.nav .text-button{font-size:10px;white-space:nowrap}}
@media(max-width:760px) and (max-height:740px){.directory-copy{top:35%}.directory-copy h2{font-size:28px}.directory-copy>p:not(.directory-eyebrow){display:none}.folder-launch{top:76%}}
