:root{--paper:#ece8de;--paper-2:#e2ddd0;--ink:#141413;--ink-2:#4a4843;--ink-3:#8a867c;--accent:#ff4f1f;--rule:#14141324;--serif:"Instrument Serif", "Times New Roman", serif;--sans:"Geist", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--gutter:calc(clamp(16px, 4vw, 56px));--ease-out:cubic-bezier(.16, 1, .3, 1);--grain-blend:multiply;--grain-opacity:.07;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#0e0e0d;--paper-2:#1a1a18;--ink:#ece8de;--ink-2:#a8a397;--ink-3:#6f6b62;--accent:#ff5a2a;--rule:#ece8de24;--grain-blend:screen;--grain-opacity:.05;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0e0e0d;--paper-2:#1a1a18;--ink:#ece8de;--ink-2:#a8a397;--ink-3:#6f6b62;--accent:#ff5a2a;--rule:#ece8de24;--grain-blend:screen;--grain-opacity:.05;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.theme-wipe{z-index:90;pointer-events:none;will-change:transform,opacity;border-radius:50%;position:fixed;transform:scale(0)}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:100;opacity:var(--grain-opacity);mix-blend-mode:var(--grain-blend);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}::selection{background:var(--accent);color:var(--paper)}a,button{color:inherit}button{font:inherit}.fig,.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.fig{color:var(--ink-2);align-items:baseline;gap:14px;display:flex}.fig b{color:var(--accent);font-weight:500}.section{padding:calc(clamp(96px,14vw,180px)) var(--gutter);position:relative}.section-head{border-top:1px solid var(--rule);grid-template-columns:1fr;gap:18px;margin-bottom:calc(clamp(40px,6vw,80px));padding-top:18px;display:grid}.display{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:calc(clamp(44px,7.4vw,112px));font-weight:400;line-height:.92}.display em{color:var(--accent);font-style:italic}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.nav[data-v-ecbffd5e]{z-index:50;height:78px;padding:0 var(--gutter);pointer-events:none;justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;top:0;left:0;right:0}.nav--blend[data-v-ecbffd5e]{color:#ece8de;mix-blend-mode:difference}.nav--pill[data-v-ecbffd5e]{justify-content:center}.nav[data-v-ecbffd5e]>*{pointer-events:auto}.nav__mark[data-v-ecbffd5e]{align-items:baseline;gap:14px;text-decoration:none;display:flex}.nav__initials[data-v-ecbffd5e]{font-family:var(--serif);font-size:22px;line-height:1}.nav__links[data-v-ecbffd5e]{background:color-mix(in srgb,var(--paper) 78%,transparent);-webkit-backdrop-filter:blur(10px);border:1px solid var(--rule);gap:4px;padding:4px}.nav__links[data-v-ecbffd5e],.nav__links a[data-v-ecbffd5e]{border-radius:999px;display:flex}.nav__links a[data-v-ecbffd5e]{align-items:center;gap:7px;padding:7px 12px 7px 8px;text-decoration:none;transition:background .25s,color .25s}.nav__links a[data-v-ecbffd5e]:hover{background:var(--ink);color:var(--paper)}.nav__n[data-v-ecbffd5e]{letter-spacing:0;border:1px solid;border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;display:grid}.nav__right[data-v-ecbffd5e]{align-items:center;gap:16px;display:flex}.nav__theme[data-v-ecbffd5e]{cursor:pointer;background:0 0;place-items:center;width:30px;height:30px;padding:0;display:grid}.nav__theme[data-v-ecbffd5e],.nav__theme-dot[data-v-ecbffd5e]{border:1px solid;border-radius:50%}.nav__theme-dot[data-v-ecbffd5e]{width:14px;height:14px;transition:transform .6s var(--ease-out);background:linear-gradient(90deg,currentColor 50%,#0000 0)}.nav__theme-dot.is-dark[data-v-ecbffd5e]{transform:rotate(180deg)}.nav__time[data-v-ecbffd5e]{font-variant-numeric:tabular-nums}.nav__time i[data-v-ecbffd5e]{opacity:.55;font-style:normal}.nav__title[data-v-ecbffd5e]{opacity:.7}@media (width<=860px){.nav[data-v-ecbffd5e]{height:64px}.nav--pill[data-v-ecbffd5e]{justify-content:flex-end}.nav__time[data-v-ecbffd5e],.nav__title[data-v-ecbffd5e]{display:none}.nav--blend[data-v-ecbffd5e]{padding-right:calc(242px + var(--gutter))}.nav__links a[data-v-ecbffd5e]{gap:0;padding:7px 8px;font-size:0}.nav__n[data-v-ecbffd5e]{width:20px;height:20px;font-size:10px}}.hero[data-v-eba9115c]{--a:0;--dolly:0;height:340vh;position:relative}.hero__stick[data-v-eba9115c]{height:100svh;position:sticky;top:0;overflow:hidden}.hero__canvas[data-v-eba9115c]{width:100%;height:100%;display:block;position:absolute;inset:0}.viewfinder[data-v-eba9115c]{width:var(--vf-w,80%);height:var(--vf-h,50%);transform:translate(-50%,-50%) scale(calc(1.25 - var(--a) * .25));opacity:calc(var(--a) * (1 - var(--dolly) * 3));pointer-events:none;position:absolute;top:50%;left:50%}.viewfinder i[data-v-eba9115c]{border:0 solid var(--accent);width:22px;height:22px;position:absolute}.viewfinder i[data-v-eba9115c]:first-child{border-width:1.5px 0 0 1.5px;top:0;left:0}.viewfinder i[data-v-eba9115c]:nth-child(2){border-width:1.5px 1.5px 0 0;top:0;right:0}.viewfinder i[data-v-eba9115c]:nth-child(3){border-width:0 0 1.5px 1.5px;bottom:0;left:0}.viewfinder i[data-v-eba9115c]:nth-child(4){border-width:0 1.5px 1.5px 0;bottom:0;right:0}.hero__top[data-v-eba9115c]{top:88px;left:var(--gutter);right:var(--gutter);opacity:calc(1 - var(--dolly) * 3);justify-content:space-between;gap:24px;display:flex;position:absolute}.hero__top .fig[data-v-eba9115c]{margin:0}.hero__caption[data-v-eba9115c]{background:color-mix(in srgb,var(--paper) 82%,transparent);-webkit-backdrop-filter:blur(6px);max-width:34ch;color:var(--ink-2);text-align:right;margin:0;padding:10px 12px;font-size:13px;line-height:1.45}.hero__reveal[data-v-eba9115c]{text-align:center;opacity:calc(max(0,10 * (-.9 + var(--a))) * (1 - var(--dolly) * 4));transform:translateY(calc(30px * (1 - var(--a))));flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:13vh;left:0;right:0}.hero__role[data-v-eba9115c]{font-family:var(--serif);margin:0;font-size:calc(clamp(26px,3.2vw,44px));font-style:italic;line-height:1}.hero__loc[data-v-eba9115c]{color:var(--ink-2);margin:0}.hero__hint[data-v-eba9115c]{white-space:nowrap;color:var(--ink-2);opacity:calc(1 - var(--a) * 4);align-items:center;gap:10px;display:flex;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.hero__arrow[data-v-eba9115c]{animation:nudge-eba9115c 1.6s var(--ease-out) infinite;display:inline-block}@keyframes nudge-eba9115c{0%,to{transform:translateY(-2px)}50%{transform:translateY(4px)}}.hud[data-v-eba9115c]{left:var(--gutter);min-width:150px;opacity:calc(1 - var(--dolly) * 3);gap:4px;display:grid;position:absolute;bottom:30px}.hud__row[data-v-eba9115c]{color:var(--ink-2);justify-content:space-between;gap:18px;display:flex}.hud__row span[data-v-eba9115c]:last-child{color:var(--ink);font-variant-numeric:tabular-nums}.meter[data-v-eba9115c]{--align:0;right:var(--gutter);width:180px;opacity:calc(1 - var(--dolly) * 3);position:absolute;bottom:30px}.meter__label[data-v-eba9115c]{color:var(--ink-2);justify-content:space-between;margin-bottom:8px;display:flex}.meter__label span[data-v-eba9115c]:last-child{color:var(--ink);font-variant-numeric:tabular-nums}.meter__track[data-v-eba9115c]{background:var(--rule);height:2px;overflow:hidden}.meter__fill[data-v-eba9115c]{background:var(--accent);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--align))}@media (width<=720px){.hero__top[data-v-eba9115c]{flex-direction:column;top:76px}.hero__caption[data-v-eba9115c]{text-align:left;margin-left:-12px}.hud[data-v-eba9115c]{display:none}.meter[data-v-eba9115c]{left:var(--gutter);right:var(--gutter);width:auto;bottom:76px}.hero__hint[data-v-eba9115c]{bottom:28px}.hero__reveal[data-v-eba9115c]{bottom:22vh}}.about__grid[data-v-fff1b522]{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:calc(clamp(40px,7vw,120px));display:grid}.about__text .display[data-v-fff1b522]{max-width:11ch}.about__statement[data-v-fff1b522]{max-width:30ch;font-family:var(--serif);margin:calc(clamp(28px,4vw,48px)) 0 28px;font-size:calc(clamp(22px,2.2vw,30px));line-height:1.2}.about__bio[data-v-fff1b522]{max-width:52ch;color:var(--ink-2);margin:0 0 16px}.about__list[data-v-fff1b522]{max-width:560px;margin:44px 0 0}.about__list div[data-v-fff1b522]{border-top:1px solid var(--rule);grid-template-columns:90px 1fr;gap:16px;padding:14px 0;display:grid}.about__list dt[data-v-fff1b522]{color:var(--ink-3);padding-top:3px}.about__list dd[data-v-fff1b522],.device[data-v-fff1b522]{margin:0}.device[data-v-fff1b522]{position:sticky;top:110px}.device__stage[data-v-fff1b522]{aspect-ratio:1;border:1px solid var(--ink);cursor:ew-resize;touch-action:pan-y;background:var(--paper);width:100%;overflow:hidden}.device__stage canvas[data-v-fff1b522]{display:block}.device__cap[data-v-fff1b522]{color:var(--ink-2);justify-content:space-between;align-items:flex-start;gap:20px;margin-top:16px;font-size:13px;display:flex}.device__cap p[data-v-fff1b522]{max-width:40ch;margin:0}.device__cap strong[data-v-fff1b522]{color:var(--ink);font-weight:500}.device__btn[data-v-fff1b522]{border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:9px 14px;transition:background .2s,color .2s}.device__btn[data-v-fff1b522]:hover,.device__btn[aria-pressed=true][data-v-fff1b522]{background:var(--ink);color:var(--paper)}@media (width<=900px){.about__grid[data-v-fff1b522]{grid-template-columns:1fr}.device[data-v-fff1b522]{max-width:520px;position:relative;top:0}}.prism[data-v-b4995177]{aspect-ratio:4/5;perspective:1600px;cursor:pointer;background:#141413;display:flex;container-type:inline-size}.prism[data-v-b4995177],.slat[data-v-b4995177]{position:relative}.slat[data-v-b4995177]{--r:calc(100cqw / var(--n) * .28868);transform-style:preserve-3d;transform:translateZ(calc(-1 * var(--r))) rotateY(calc(var(--k) * -120deg));transition:transform 1.15s cubic-bezier(.7,0,.2,1) calc(var(--i) * 55ms);flex:1 1 0}.face[data-v-b4995177]{backface-visibility:hidden;transform:rotateY(calc(var(--f) * 120deg)) translateZ(var(--r));position:absolute;inset:0 -.5px;overflow:hidden}.face[data-v-b4995177]:after{content:"";opacity:.55;transition:opacity 1.15s cubic-bezier(.7,0,.2,1) calc(var(--i) * 55ms);pointer-events:none;background:#000;position:absolute;inset:0}.face.is-front[data-v-b4995177]:after{opacity:0}.face__inner[data-v-b4995177]{width:100cqw;top:0;bottom:0;left:calc(var(--i) * -100cqw / var(--n))}.face__inner[data-v-b4995177],.pf[data-v-b4995177],.pf--art svg[data-v-b4995177],.pf__stamp[data-v-b4995177]{position:absolute}.pf[data-v-b4995177]{flex-direction:column;padding:7cqw;display:flex;inset:0}.pf--cover[data-v-b4995177]{background:var(--paper-2);color:var(--ink);justify-content:space-between}.pf__num[data-v-b4995177]{font-family:var(--serif);letter-spacing:-.04em;margin-left:-1.5cqw;font-size:46cqw;line-height:.8}.pf__title[data-v-b4995177]{font-family:var(--sans);letter-spacing:-.045em;text-transform:uppercase;font-size:12cqw;font-weight:800;line-height:.9}.pf__meta[data-v-b4995177]{border-top:1px solid var(--ink);justify-content:space-between;margin-top:3cqw;padding-top:2.6cqw;font-size:calc(max(10px,2.6cqw));display:flex}.pf--art[data-v-b4995177]{background:#141413;padding:0}.pf--art svg[data-v-b4995177]{width:100%;height:100%;inset:0}.pf__stamp[data-v-b4995177]{background:var(--paper);color:var(--ink);padding:1.4cqw 2.4cqw;font-size:calc(max(10px,2.4cqw));bottom:6cqw;left:6cqw}.pf--info[data-v-b4995177]{background:var(--ink);color:var(--paper);justify-content:flex-end;gap:5cqw}.pf__desc[data-v-b4995177]{font-family:var(--serif);margin:0;font-size:7.6cqw;line-height:1.08}.pf__tags[data-v-b4995177]{flex-wrap:wrap;gap:1.6cqw;margin:0;padding:0;font-size:calc(max(10px,2.4cqw));list-style:none;display:flex}.pf__tags li[data-v-b4995177]{border:1px solid color-mix(in srgb,currentcolor 35%,transparent);border-radius:99px;padding:1.2cqw 2.4cqw}.pf__cta[data-v-b4995177]{font-size:calc(max(10px,2.8cqw))}.card__cap[data-v-b4995177]{grid-template-columns:auto 1fr auto;align-items:baseline;gap:16px;padding-top:16px;display:grid}.card__num[data-v-b4995177]{color:var(--accent)}.card__title[data-v-b4995177]{font-family:var(--serif);margin:0;font-size:28px;font-weight:400;line-height:1}.card__title a[data-v-b4995177]{text-decoration:none}.card__title a[data-v-b4995177]:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.card__kicker[data-v-b4995177]{color:var(--ink-2)}.work__intro[data-v-7cc50d0e]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end;gap:40px;display:grid}.work__intro .display[data-v-7cc50d0e]{max-width:13ch}.work__lede[data-v-7cc50d0e]{max-width:36ch;color:var(--ink-2);justify-self:end;margin:0}.work__grid[data-v-7cc50d0e]{-moz-column-gap:calc(clamp(24px,5vw,80px));grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(clamp(56px,7vw,110px)) calc(clamp(24px,5vw,80px));display:grid}.work__grid[data-v-7cc50d0e]>:nth-child(2n){justify-self:end;transform:translateY(calc(clamp(0px,12vw,180px)))}.work__grid[data-v-7cc50d0e]>*{width:100%;max-width:560px}@media (width<=760px){.work__grid[data-v-7cc50d0e],.work__intro[data-v-7cc50d0e]{grid-template-columns:1fr}.work__lede[data-v-7cc50d0e]{justify-self:start}.work__grid[data-v-7cc50d0e]>:nth-child(2n){transform:none}}.cafe[data-v-4a722318]{--tile:46px;padding:40px 0 0}.cafe__wall[data-v-4a722318]{border-top:2px solid #8f8b81}.cafe__row[data-v-4a722318]{background-image:linear-gradient(90deg,#141413 0 50%,#f7f5ef 0 100%);background-size:calc(var(--tile) * 2) 100%;border-bottom:2px solid #8f8b81;height:30px}.cafe__cap[data-v-4a722318]{padding:16px var(--gutter) 0;color:var(--ink-2);justify-content:space-between;gap:24px;margin:0;font-size:13px;display:flex}@media (width<=640px){.cafe[data-v-4a722318]{--tile:30px}.cafe__row[data-v-4a722318]{height:20px}.cafe__cap[data-v-4a722318]{flex-direction:column;gap:8px}}.contact[data-v-365fa9a6]{padding-bottom:32px}.contact__grid[data-v-365fa9a6]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:calc(clamp(40px,6vw,100px));display:grid}.contact__title[data-v-365fa9a6]{max-width:9ch;font-size:calc(clamp(52px,9vw,150px))}.contact__lede[data-v-365fa9a6]{max-width:40ch;color:var(--ink-2);margin:32px 0 40px}.contact__email[data-v-365fa9a6]{border-bottom:1px solid var(--ink);flex-wrap:wrap;align-items:center;gap:16px;padding-bottom:18px;display:flex}.contact__email a[data-v-365fa9a6]{font-family:var(--serif);overflow-wrap:anywhere;font-size:calc(clamp(26px,3.4vw,46px));line-height:1;text-decoration:none}.contact__email a[data-v-365fa9a6]:hover{color:var(--accent)}.contact__email button[data-v-365fa9a6]{border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:99px;margin-left:auto;padding:8px 14px}.contact__email button[data-v-365fa9a6]:hover{background:var(--ink);color:var(--paper)}.contact__links[data-v-365fa9a6]{-moz-column-gap:32px;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin:0;padding:0;list-style:none;display:grid}.contact__links a[data-v-365fa9a6]{border-bottom:1px solid var(--rule);transition:padding .3s var(--ease-out),color .2s;justify-content:space-between;padding:14px 0;text-decoration:none;display:flex}.contact__links a[data-v-365fa9a6]:hover{color:var(--accent);padding-left:10px}.penrose[data-v-365fa9a6]{margin:0}.penrose__stage[data-v-365fa9a6]{aspect-ratio:1;cursor:grab;touch-action:pan-y;width:100%}.penrose__stage[data-v-365fa9a6]:active{cursor:grabbing}.penrose__stage canvas[data-v-365fa9a6]{width:100%;height:100%;display:block}.penrose__cap[data-v-365fa9a6]{color:var(--ink-2);justify-items:center;margin-top:8px;display:grid}.penrose__cap span[data-v-365fa9a6]{opacity:0;transition:opacity .35s,transform .35s var(--ease-out);grid-area:1/1;transform:translateY(6px)}.penrose__cap span.on[data-v-365fa9a6]{opacity:1;transform:none}.foot[data-v-365fa9a6]{border-top:1px solid var(--rule);color:var(--ink-2);justify-content:space-between;gap:24px;margin-top:calc(clamp(80px,12vw,160px));padding-top:18px;display:flex}.foot a[data-v-365fa9a6]{text-decoration:none}.foot a[data-v-365fa9a6]:hover{color:var(--accent)}@media (width<=900px){.contact__grid[data-v-365fa9a6]{grid-template-columns:1fr}.penrose[data-v-365fa9a6]{justify-self:center;width:100%;max-width:460px}}@media (width<=640px){.contact__links[data-v-365fa9a6]{grid-template-columns:1fr}.foot[data-v-365fa9a6]{flex-direction:column;gap:8px}}
