@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Medium.woff2)format("woff2");font-weight:500;font-display:swap}:root{--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, sans-serif}:root[data-theme=dark]{--bg:#0b0b0a;--ink:#e8e6df;--card:#161614;--koi-sumi:#b8a89f;--koi-deep:#e2854a;--koi:#cd7b4f;--koi-pale:#e8b190;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#efede6;--ink:#262523;--card:#f8f7f3;--koi-sumi:#3c3330;--koi-deep:#8f3d18;--koi:#b0603a;--koi-pale:#c98a63;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;margin:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;transition:background-color .3s}body{min-height:100dvh}#pond{z-index:0;position:fixed;inset:0}::selection{background:color-mix(in srgb, var(--ink) 20%, transparent)}a,button{color:inherit;font:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}main{z-index:1;pointer-events:none;flex-direction:column;justify-content:flex-end;gap:2.5rem;min-height:100dvh;padding:8rem 1.5rem 6rem;display:flex;position:relative}main>*{pointer-events:auto;width:-moz-fit-content;width:fit-content}@media (min-width:1024px){main{padding-inline:20vw}}@media (max-height:720px){main{gap:1.5rem;padding-block:5rem 3rem}}.prose{max-width:54rem;font-size:15px;line-height:max(22px,3vh);animation:.3s ease-out .2s both in}.prose h1{font:inherit}.prose p+p,.prose h1+p{margin-top:max(10px,1.4vh)}.links{flex-wrap:wrap;align-items:center;gap:.6rem;font-size:13px;animation:.3s ease-out .35s both in;display:flex}.links a,.links button{opacity:.6;text-decoration:none;transition:opacity .15s}.links a:hover,.links button:hover,.links a:focus-visible,.links button:focus-visible{opacity:1}.links .dot{opacity:.25}@keyframes in{0%{opacity:0;transform:translateY(4px)}}@keyframes fade-in{0%{opacity:0}}.hint{z-index:1;opacity:.28;pointer-events:none;font-size:11px;transition:opacity 1.2s;animation:1s 2.5s both fade-in;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.hint.gone{opacity:0}.nowrap{white-space:nowrap}.cite{display:inline-block;position:relative}.prose>p>a,.prose .nowrap>a,.cite>button{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--ink) 35%, transparent);transition:text-decoration-color .15s}.prose>p>a:hover,.prose .nowrap>a:hover,.cite>button:hover,.cite>button:focus-visible,.cite[data-open]>button{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);outline:none}.card{z-index:50;white-space:normal;background:var(--card);border:1px solid color-mix(in srgb, var(--ink) 10%, transparent);text-align:left;transform-origin:0 100%;border-radius:8px;flex-direction:column;width:340px;max-width:calc(100vw - 24px);margin-bottom:10px;padding:6px;font-size:13px;line-height:18px;animation:.12s ease-out both pop;display:flex;position:absolute;bottom:100%;left:0;box-shadow:0 1px 2px #00000014,0 12px 32px -12px #00000059}@keyframes pop{0%{opacity:0;transform:translateY(4px)scale(.98)}}.card:after{content:"";height:12px;position:absolute;top:100%;left:0;right:0}.row{border-radius:6px;gap:10px;padding:8px;text-decoration:none;display:flex}a.row:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.logo{background:color-mix(in srgb, var(--ink) 10%, transparent);border-radius:4px;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;display:grid;overflow:hidden}.row.big .logo{border-radius:7px;width:28px;height:28px}.logo img{object-fit:contain;background:#fff;width:100%;height:100%;padding:2px}.logo.fill img{object-fit:cover;background:0 0;padding:0}.mono-logo{opacity:.7;font-size:11px}.row-text{flex-direction:column;flex:1;min-width:0;display:flex}.row-head{justify-content:space-between;gap:8px;display:flex}.name{font-weight:500}.dates,.role{opacity:.55;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.summary{opacity:.8;margin-top:4px;font-size:12px}.card-foot{opacity:.4;justify-content:space-between;padding:6px 8px 2px;font-size:11px;display:flex}.topnav{z-index:3;gap:.5rem;font-size:12px;line-height:1.6;animation:.6s .3s both fade-in;display:flex;position:fixed;top:2rem;left:1.5rem}.topnav a{opacity:.45;text-decoration:none;transition:opacity .15s}.topnav a:hover,.topnav a:focus-visible,.topnav a[aria-current]{opacity:1}.topnav .dot{opacity:.25}@media (min-width:1024px){.topnav{left:20vw}}main.projects{pointer-events:auto;justify-content:center;gap:2rem;min-height:100dvh;padding:6rem 0 3rem}main.projects>*{width:auto}.strip{scrollbar-width:none;outline:none;gap:14px;padding-inline:1.5rem;display:flex;overflow-x:auto}.strip::-webkit-scrollbar{display:none}@media (min-width:1024px){.strip{padding-inline:20vw}}.project{outline:none;flex:none;width:min-content;text-decoration:none;animation:.4s ease-out both in}.project:nth-child(2){animation-delay:60ms}.project:nth-child(3){animation-delay:.12s}.project:nth-child(n+4){animation-delay:.18s}.thumb{aspect-ratio:3/2;background:#000;border-radius:10px;height:min(62vh,42rem);position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.project:hover .thumb img,.project:focus-visible .thumb img{transform:scale(1.025)}.pill{z-index:3;color:#f2f0ea;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;background:#0000008c;border-radius:999px;padding:.35rem .75rem;font-size:12px;transition:opacity .3s,transform .3s;position:absolute;bottom:1rem;left:1rem;transform:translateY(4px)}.project:hover .pill,.project:focus-visible .pill{opacity:1;transform:none}.project-head{white-space:nowrap;align-items:baseline;gap:.75rem;margin-top:.8rem;display:flex}.project-name{font:500 17px var(--sans);letter-spacing:-.01em}.project-year{opacity:.5;font-size:12px}.project-tagline{font:15px / 1.5 var(--sans);opacity:.6;margin-top:.3rem}.project-cta{display:none}.project-stack{opacity:.38;margin-top:.2rem;font-size:11px}.strip-foot{opacity:.4;gap:.6rem;padding-inline:1.5rem;font-size:11px;display:flex}.strip-foot .dot{opacity:.5}@media (min-width:1024px){.strip-foot{padding-inline:20vw}}@media (max-width:767px){.strip{flex-direction:column;gap:3rem;overflow:visible}.project{width:100%}.thumb{width:100%;height:auto}.strip-foot span:nth-child(3),.strip-foot span:nth-child(4){display:none}}body[data-slug] .topnav{position:absolute}.pp-hero{height:clamp(200px,42vh,460px);animation:.8s both fade-in;overflow:hidden;-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.pp-hero img{object-fit:cover;object-position:70% 50%;width:100%;height:100%}main.pp{pointer-events:auto;min-height:0;padding-top:1rem;animation:.4s ease-out .1s both in;display:block}main.pp>*{width:auto;max-width:56rem}.pp-back,.pp-foot a{opacity:.45;font-size:12px;text-decoration:none;transition:opacity .15s}.pp-back:hover,.pp-foot a:hover{opacity:1}.pp h1{font:500 30px / 1.2 var(--sans);letter-spacing:-.02em;margin-top:2.5rem}.pp-year{font-family:var(--mono);letter-spacing:0;opacity:.5;margin-left:.4rem;font-size:12px;font-weight:400}.pp-tagline{font-family:var(--sans);opacity:.6;margin-top:.4rem;font-size:16px}.pp-meta{opacity:.5;flex-wrap:wrap;gap:.5rem;margin-top:.9rem;font-size:12px;display:flex}.pp-meta a{text-underline-offset:3px}.pp-meta a:hover,.pp-meta a:focus-visible{opacity:1}.pp-meta .dot,.pp-foot .dot{opacity:.5}.pp-intro{font:17px / 1.7 var(--sans);margin-top:2.5rem}.pp-text{margin-top:4.5rem}.pp-text h2{font:500 16px var(--sans)}.pp-text p{font:16px / 1.75 var(--sans);opacity:.72;margin-top:.9rem}.pp-media{margin-top:3rem}.pp-frame{width:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 10%, transparent);cursor:zoom-in;background:#000;border-radius:10px;display:block;position:relative;overflow:hidden}.pp-frame img,.pp-frame video{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.pp figcaption{font-family:var(--sans);opacity:.6;margin-top:.8rem;font-size:14px;line-height:1.6}.pp figcaption b{opacity:1;font-weight:500}.pp-gallery{margin-top:4.5rem}.pp-gallery-head{opacity:.45;justify-content:space-between;margin-bottom:.8rem;font-size:12px;display:flex}.pp-panels{gap:8px;height:420px;display:flex}.pp-item{flex:0 0 72px;min-width:0;transition:flex-grow .6s cubic-bezier(.2,.7,.2,1)}.pp-item[data-open]{flex:1 1 0}.pp-item .pp-frame{height:100%}.pp-item .pp-frame img,.pp-item .pp-frame video{aspect-ratio:auto;object-position:50% 35%;opacity:.3;height:100%;transition:opacity .4s}.pp-item[data-open] .pp-frame img,.pp-item[data-open] .pp-frame video{opacity:1}.pp-item:not([data-open]) .pp-frame{cursor:pointer}.pp-item-caption{display:none}.pp-label{color:#f2f0ea;white-space:nowrap;text-shadow:0 1px 8px #0009;writing-mode:vertical-rl;font-size:12px;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)rotate(180deg)}.pp-item[data-open] .pp-label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:none;writing-mode:horizontal-tb;background:#00000080;border-radius:4px;padding:.3rem .65rem;left:1rem;transform:none}.pp-frame:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.pp-lightbox{cursor:zoom-out;background:0 0;border:0;border-radius:10px;max-width:94vw;max-height:92vh;padding:0}.pp-lightbox::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000d9}.pp-lightbox img,.pp-lightbox video{object-fit:contain;max-width:94vw;max-height:92vh;display:block}.pp-pager{border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent);grid-template-columns:1fr 1fr;gap:2rem;margin-top:7rem;padding-top:2rem;display:grid}.pp-pager-link{flex-direction:column;gap:.3rem;text-decoration:none;display:flex}.pp-pager-link.next{text-align:right}.pp-pager.single{grid-template-columns:1fr}.pp-pager-dir{opacity:.4;font-size:11px}.pp-pager-name{font:500 16px var(--sans)}.pp-pager-tag{font-family:var(--sans);opacity:.55;font-size:14px;line-height:1.5}.pp-pager-link:hover .pp-pager-name{text-underline-offset:3px;text-decoration:underline}.pp-foot{opacity:.6;gap:.6rem;margin-top:4rem;font-size:11px;display:flex}@media (max-width:767px){.pp-panels{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;height:auto;margin-inline:-1.5rem;padding-inline:1.5rem;scroll-padding-inline:1.5rem;overflow-x:auto}.pp-panels::-webkit-scrollbar{display:none}.pp-item,.pp-item[data-open]{scroll-snap-align:start;flex:0 0 86%}.pp-item .pp-frame{height:auto}.pp-item .pp-frame img,.pp-item .pp-frame video{aspect-ratio:16/9;opacity:1;height:auto}.pp-label{display:none}.pp-item-caption{font:14px / 1.55 var(--sans);opacity:.6;margin-top:.8rem;display:block}.pp-item-caption b{font-weight:500}.pp-caption{display:none}.pp-pager{grid-template-columns:1fr}.pp-pager-link.next{text-align:left}.topnav,body[data-slug] .topnav{background:color-mix(in srgb, var(--card) 72%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 8%, transparent);-webkit-backdrop-filter:blur(16px);border-radius:999px;justify-content:space-between;padding:.9rem 1.25rem;font-size:13px;position:fixed;top:.75rem;left:.75rem;right:.75rem}.topnav .dot,.hint{display:none}main.projects{padding-top:6.5rem}.project-cta{background:color-mix(in srgb, var(--ink) 10%, transparent);font:500 14px var(--sans);border-radius:999px;margin-top:1rem;padding:.45rem .9rem;display:inline-block}.pill{display:none}}
