:root{color-scheme:dark;--bg:#090909;--fg:#eee;--muted:#777;--line:#292929;--pad:42px;--font:"Avenir Next","Helvetica Neue",Arial,"PingFang TC",sans-serif}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.skip{position:fixed;left:10px;top:-80px;z-index:300;background:#fff;color:#000;padding:12px}.skip:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:1px solid #fff;outline-offset:6px}header{position:fixed;top:0;left:0;right:0;height:100px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;z-index:50;background:linear-gradient(#090909e8,transparent);pointer-events:none}header>*{pointer-events:auto}.logo{font-family:"Bodoni 72","Didot","Bodoni MT",serif;font-size:42px;font-weight:400;font-style:italic;line-height:1;letter-spacing:-.08em}.menu-open,.menu-close{font-size:12px;letter-spacing:.1em;min-height:44px}.menu-open{display:flex;align-items:center;gap:12px}.menu-open i{width:13px;height:13px;border:1px solid #aaa;border-radius:50%}.menu-open:hover i{background:#eee}footer{position:fixed;bottom:0;left:0;right:0;min-height:72px;padding:14px var(--pad);display:flex;align-items:center;justify-content:space-between;z-index:40;font-size:10px;letter-spacing:.08em;background:linear-gradient(transparent,#090909f5 45%);pointer-events:none}footer>*{pointer-events:auto}.count,.footer-note{width:180px;color:var(--muted)}.footer-note{text-align:right}.views{display:flex;gap:10px}.views button{width:42px;height:42px;padding:10px;position:relative;color:#666}.views button[aria-pressed=true]{color:#eee}.views button[aria-pressed=true]:after{content:"";position:absolute;bottom:0;left:calc(50% - 1.5px);width:3px;height:3px;border-radius:50%;background:#eee}.views svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.1}.gallery{height:100svh;min-height:560px;overflow:hidden;position:relative;touch-action:pan-y}.track{position:absolute;inset:125px 0 220px}.slide{position:absolute;left:50%;top:50%;width:42vw;max-width:610px;height:100%;transform:translate(calc(-50% + var(--offset)*57vw),-50%) scale(var(--scale));opacity:var(--opacity);transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .4s;display:flex;align-items:center;justify-content:center}.cover{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.cover img,.cover video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.preview-control{position:absolute;right:18px;bottom:18px;width:38px;height:38px;border-radius:50%;border:1px solid #ffffff55;background:#0007;z-index:4}.slide:not(.active) .preview-control{display:none}.caption{position:absolute;bottom:116px;left:50%;transform:translateX(-50%);text-align:center;width:80%}.caption a{font-size:18px;letter-spacing:.07em}.caption p{margin:10px 0 0;font-size:10px;letter-spacing:.13em;color:var(--muted)}.arrow{position:absolute;top:50%;width:44px;height:44px;color:#777}.arrow.prev{left:var(--pad)}.arrow.next{right:var(--pad)}.arrow svg{width:20px;height:20px}.grid-page{padding:150px var(--pad) 120px;min-height:100svh}.grid-head{display:flex;align-items:baseline;gap:14px;margin-bottom:50px}.grid-head h1{font-size:38px;font-weight:300;letter-spacing:-.02em;margin:0}.grid-head span{font-size:11px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.card figure{margin:0;height:58vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111}.card img,.card video{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.card h2{font-size:17px;font-weight:400;letter-spacing:.06em;margin:18px 0 6px}.card p{font-size:10px;color:var(--muted);letter-spacing:.09em;margin:0}#menu{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;margin:0;background:#0d0d0df7;color:#eee;padding:0}#menu::backdrop{background:#0009;backdrop-filter:blur(12px)}.menu-close{position:absolute;right:var(--pad);top:28px}.menu-body{width:min(900px,80%);margin:auto;padding-top:22vh}.eyebrow{font-size:10px;letter-spacing:.15em;color:var(--muted)}.menu-body nav{display:flex;flex-direction:column;align-items:flex-start;margin:30px 0 45px}.menu-body nav a{font-size:clamp(42px,6vw,82px);font-weight:300;letter-spacing:-.035em;line-height:1.22}.menu-body sup{font-size:12px}.menu-projects{display:flex;gap:26px;font-size:13px;color:#999}.project{padding:130px var(--pad) 120px;display:grid;grid-template-columns:minmax(230px,25%) minmax(0,1fr);gap:6vw}.project-info{position:sticky;top:130px}.back{font-size:10px;letter-spacing:.1em;color:var(--muted)}.project-title{margin:60px 0 45px}.project-title h1{font-size:clamp(38px,4.2vw,64px);font-weight:300;letter-spacing:.02em;margin:12px 0}.project-title p{font-size:11px;letter-spacing:.1em;color:var(--muted)}.description{font-size:15px;line-height:1.7}.credits{margin-top:40px}.credits summary{list-style:none;border-bottom:1px solid var(--line);padding:14px 0;font-size:10px;letter-spacing:.12em;cursor:pointer}.credits summary::-webkit-details-marker{display:none}.credits dl div{display:flex;justify-content:space-between;gap:18px;margin:15px 0;font-size:12px}.credits dt{color:#aaa}.credits dd{margin:0}.credits .pending{color:#666}.project-media figure{margin:0 0 80px}.film{display:block;width:100%;max-height:82vh;background:#111;object-fit:contain}.project-media figcaption{display:flex;justify-content:space-between;margin-top:14px;font-size:10px;letter-spacing:.08em;color:#777}.project-next{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:36px 0;font-size:30px}.about{min-height:100svh;padding:150px var(--pad) 110px}.about h1{font-size:clamp(85px,13vw,180px);font-weight:300;letter-spacing:.04em;margin:60px 0}.about .intro{font-size:clamp(22px,3vw,40px);font-weight:300}.about .pending{color:#777}.contact{margin-top:60px;display:flex;flex-direction:column;gap:18px}.error{min-height:100svh;display:grid;place-content:center;text-align:center}.cursor{position:fixed;left:0;top:0;z-index:250;pointer-events:none;opacity:0;mix-blend-mode:difference}.cursor:before{content:"";position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border:1px solid #fff;border-radius:50%;transition:.2s}.cursor span{position:absolute;transform:translate(-50%,-50%);font-size:9px}.cursor.show{opacity:1}.cursor.hover:before{width:52px;height:52px;background:#fff}.cursor.hover span{color:#000}.custom,.custom a,.custom button,.custom summary{cursor:none}@media(max-width:800px){:root{--pad:21px}.logo{font-size:22px}.track{inset:120px 0 250px}.slide{width:80vw;transform:translate(calc(-50% + var(--offset)*98vw),-50%) scale(var(--scale))}.caption{bottom:145px}.caption a{font-size:17px}.arrow{top:auto;bottom:88px}.arrow.prev{left:calc(50% - 66px)}.arrow.next{right:calc(50% - 66px)}.count,.footer-note{width:76px;font-size:9px}.views button{width:38px;height:38px}.cards{grid-template-columns:1fr}.grid-page{padding-top:125px}.card figure{height:60vh}.project{display:block;padding-top:105px}.project-info{position:static;margin-bottom:45px}.project-title{margin:35px 0 25px}.project-title h1{font-size:47px}.credits dl{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.project-media figure{margin-bottom:48px}.film{max-height:none}.menu-body{width:calc(100% - 42px);padding-top:24vh}.menu-projects{flex-direction:column}.about h1{font-size:90px}.project-next{font-size:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


[hidden]{display:none!important}
footer .views{width:82px;height:40px;padding:3px;justify-content:flex-start;gap:0;position:relative;border:1px solid #333;border-radius:999px;background:#111}
.views:before{content:"";position:absolute;left:3px;top:3px;width:36px;height:32px;border-radius:999px;background:#eee;transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.views:has(button[data-view="grid"][aria-pressed="true"]):before{transform:translateX(36px)}
.views button{display:block;width:36px;height:32px;padding:8px;z-index:1;color:#707070;transition:color .25s ease}
.views button[aria-pressed=true]{color:#090909}
.views button[aria-pressed=true]:after{display:none}
.scroll-cue{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.12em;color:var(--muted);transition:opacity .3s ease,transform .3s ease}
.scroll-cue.leaving{opacity:0;transform:translateY(8px)}
.scroll-cue i{font-style:normal;font-size:13px;animation:scrollCue 1.45s ease-in-out infinite}
.about-detail{max-width:760px;font-size:clamp(18px,2vw,28px);font-weight:300;line-height:1.5;color:#aaa}
@keyframes scrollCue{0%,100%{transform:translateY(-2px);opacity:.45}50%{transform:translateY(4px);opacity:1}}
@media(max-width:800px){.footer-note{width:76px}.scroll-cue{gap:5px;font-size:8px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.scroll-cue i{animation:none}}

main{transition:opacity .2s ease,transform .2s ease}
body.view-changing main{opacity:0;transform:scale(.992)}
