@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#000;--fg:#fff;--accent:#fff;--muted:color-mix(in srgb, var(--fg) 50%, transparent);--edge-x:clamp(20px, 5.35vw, 110px);--edge-y:clamp(20px, 5.5vh, 64px);--ui-size:11px;--font:"Geist Variable", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow:hidden}#list-layer{z-index:0;position:fixed;inset:0}#webgl{z-index:1;touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}a,button{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;text-decoration:none}.corner{font-family:var(--font);font-size:var(--ui-size);letter-spacing:.02em;text-transform:uppercase;pointer-events:auto;opacity:0;z-index:16;font-weight:500;line-height:1;position:absolute}.corner--tl{top:var(--edge-y);left:var(--edge-x)}.corner--tr{top:var(--edge-y);right:var(--edge-x)}.corner--bl{bottom:var(--edge-y);left:var(--edge-x)}.corner--br{bottom:var(--edge-y);right:var(--edge-x)}.corner{transition:color .3s}a.corner:hover,button.corner:hover{color:var(--accent)}.mode-toggle{gap:.45em;display:flex}.mode-toggle button{color:var(--muted);transition:color .3s}.mode-toggle button[aria-pressed=true],.mode-toggle .sep{color:var(--fg)}.mode-toggle button:hover{color:var(--accent)}#loader{z-index:50;pointer-events:none;justify-content:center;align-items:center;gap:6px;display:flex;position:fixed;inset:0}#loader .dash{background:var(--fg);border-radius:2px;width:22px;height:2px;display:block}:focus-visible{outline:1px solid var(--fg);outline-offset:4px}.project{z-index:20;pointer-events:none;--panel-x:3.35vw;--panel-y:2.4vh;--panel-radius:24px;--ink:#0d0d0d;--pill:#ececec;position:fixed;inset:0}.project[hidden]{display:none}.project__sliver{width:calc(var(--panel-x) - 1vw);background:#3a3a3a;position:absolute;top:12vh;bottom:12vh}.project__sliver--l{border-radius:0 var(--panel-radius) var(--panel-radius) 0;left:0}.project__sliver--r{border-radius:var(--panel-radius) 0 0 var(--panel-radius);right:0}.project__panel{inset:var(--panel-y) var(--panel-x);color:var(--ink);border-radius:var(--panel-radius);pointer-events:auto;background:#fff;position:absolute;overflow:hidden}.project__scroll{overscroll-behavior:contain;scrollbar-width:none;position:absolute;inset:0;overflow-y:auto}.project__scroll::-webkit-scrollbar{display:none}.project__inner{grid-template-columns:42% 50%;min-height:100%;display:grid}.project__info{align-self:start;padding:6.3vh 0 0 2.85vw;position:sticky;top:0}.project__title{letter-spacing:-.035em;font-size:clamp(30px,3vw,60px);font-weight:500;line-height:1.05}.project__desc{letter-spacing:-.01em;max-width:30em;margin-top:1.4em;font-size:clamp(14px,1.05vw,19px);line-height:1.45}.project__meta{align-items:center;gap:8px;margin-top:3.4vh;display:flex}.project__link{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;margin-right:8px;transition:transform .3s;display:grid}.project__link:hover{transform:rotate(45deg)}.project__link svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.pill{background:var(--pill);text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:11px 20px;font-size:12px;font-weight:500;line-height:1}.project__award svg{fill:none;stroke:#9a6b1f;stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round;width:30px;height:30px;margin-left:6px}.project__gallery{flex-direction:column;gap:7vh;padding:5vh 0 12vh;display:flex}.project__media{will-change:transform;transform-origin:50%}.project__media>*{width:100%;height:auto;display:block}.project__close{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;transition:background .35s,color .35s;display:grid;position:absolute;top:3.6vh;right:2.2vw}.project__close-x{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.project__close-ring{fill:none;width:100%;height:100%;stroke:var(--ink);stroke-width:1.5px;stroke-dasharray:183;stroke-dashoffset:183px;transition:stroke-dashoffset .6s cubic-bezier(.7,0,.3,1);position:absolute;inset:0;transform:rotate(-90deg)}.project__close:hover{color:var(--ink);background:#fff}.project__close:hover .project__close-ring{stroke-dashoffset:0}.project__progress{fill:none;stroke-width:1.5px;width:34px;height:34px;position:absolute;bottom:3.6vh;left:2.2vw}.project__progress .track{stroke:#dcdcdc}.project__progress .bar{stroke:var(--ink);stroke-linecap:round}.list{padding:0 var(--edge-x);place-items:center;display:grid;position:absolute;inset:0}.list[hidden]{display:none}.list__inner{text-align:center;letter-spacing:-.02em;max-width:min(56vw,1100px);font-size:clamp(18px,1.75vw,34px);line-height:1.32}.list__item{padding:.04em 0;font-weight:400;display:inline-block}.list__dot{margin:0 .32em;display:inline-block}body.mode-full #webgl{pointer-events:none}.profile{z-index:15;padding:0 var(--edge-x);-webkit-backdrop-filter:blur(10px);pointer-events:auto;text-align:center;background:#000000b8;place-items:center;display:grid;position:absolute;inset:0}.profile[hidden]{display:none}.profile__inner{max-width:38em}.profile__intro{letter-spacing:-.01em;font-size:clamp(16px,1.3vw,24px);line-height:1.4}.profile__note{font-size:var(--ui-size);letter-spacing:.02em;color:var(--muted);text-transform:uppercase;margin-top:2.6em;font-weight:500}.profile__links{letter-spacing:.02em;justify-content:center;gap:2em;margin-top:2.4em;font-size:13px;font-weight:500;list-style:none;display:flex}html.has-cursor,html.has-cursor *{cursor:none!important}.cursor{z-index:100;pointer-events:none;mix-blend-mode:difference;position:fixed;top:0;left:0}.cursor__dot{background:#fff;border:1.5px solid #fff;border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;transition:width .35s cubic-bezier(.2,.8,.2,1),height .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1),background-color .25s,opacity .25s,transform .2s}.cursor.is-hover .cursor__dot{background:0 0;width:44px;height:44px;margin:-22px 0 0 -22px}.cursor.is-down .cursor__dot{transform:scale(.8)}.cursor.is-hidden .cursor__dot{opacity:0}@media (width<=768px){.project{--panel-x:2.5vw;--panel-y:1.5vh;--panel-radius:18px}.project__sliver{display:none}.project__inner{grid-template-columns:1fr}.project__info{padding:76px 20px 0;position:static}.project__gallery{gap:20px;padding:28px 20px 90px}.project__close{width:44px;height:44px;top:16px;right:16px}.project__progress{width:28px;height:28px;bottom:16px;left:16px}.list__inner{max-width:92vw;font-size:20px;line-height:1.4}.profile__links{gap:1.4em}}
