.badge.svelte-dtbgkf{z-index:2;position:absolute;inset:0;container-type:size}canvas.svelte-dtbgkf{touch-action:pan-y;width:100%;height:100%;display:block}.still.svelte-dtbgkf{pointer-events:none;-webkit-user-select:none;user-select:none;width:35.2cqh;height:88.4cqh;position:absolute;top:0;left:calc(50% - 15.6cqh)}.hidden.svelte-dtbgkf{visibility:hidden}section.svelte-17ndl8v{padding:104px 0 136px;scroll-margin-top:48px;overflow:clip}.project.svelte-17ndl8v{min-height:280px;padding:40px var(--page-gutter);isolation:isolate;border-top:1px solid #eaeaea;align-items:center;display:flex;position:relative}.project.svelte-17ndl8v:last-child{border-bottom:1px solid #eaeaea}.project.svelte-17ndl8v:before{content:"";opacity:0;z-index:-1;background:#fff;transition:opacity .18s;position:absolute;inset:0}.project.active.svelte-17ndl8v{z-index:10}.project.active.svelte-17ndl8v:before{opacity:1}.label.svelte-17ndl8v{width:340px;max-width:100%;position:relative}.copy.svelte-17ndl8v{padding:8px 0;transition:opacity .18s,filter .18s}h2.svelte-17ndl8v{letter-spacing:-.02em;margin-bottom:16px;font-size:48px;line-height:1.2}p.svelte-17ndl8v{letter-spacing:-.02em;font-size:16px;line-height:1.28}p.svelte-17ndl8v+p:where(.svelte-17ndl8v){margin-top:12px}.date.svelte-17ndl8v{opacity:.5}canvas.svelte-17ndl8v{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .18s;position:absolute;inset:0}.muted.svelte-17ndl8v .copy:where(.svelte-17ndl8v){opacity:.35}.plotter-ready.svelte-17ndl8v .muted:where(.svelte-17ndl8v) .copy:where(.svelte-17ndl8v){opacity:0}.plotter-ready.svelte-17ndl8v .muted:where(.svelte-17ndl8v) canvas:where(.svelte-17ndl8v){opacity:.4}.no-filter.svelte-17ndl8v .muted:where(.svelte-17ndl8v) .copy:where(.svelte-17ndl8v){filter:blur(4px)}.previews.svelte-17ndl8v{z-index:20;left:calc(var(--page-gutter) + 376px);top:50%;right:var(--page-gutter);pointer-events:none;height:190px;position:absolute;transform:translateY(-50%)}.preview.svelte-17ndl8v{object-fit:cover;opacity:0;width:250px;height:190px;transition:transform .25s var(--ease-out),opacity .16s ease;background:#fff padding-box padding-box;border:1px solid #0000001a;border-radius:4px;position:absolute;transform:translateY(64px)rotate(0)scale(.95)}.preview-0.svelte-17ndl8v{top:0;right:calc(2*max(0px,min(225px,50% - 125px)))}.preview-1.svelte-17ndl8v{top:8px;right:max(0px,min(225px,50% - 125px))}.preview-2.svelte-17ndl8v{top:8px;right:0}.active.svelte-17ndl8v .preview:where(.svelte-17ndl8v){opacity:1}.active.svelte-17ndl8v .preview-0:where(.svelte-17ndl8v){transform:translateY(0)rotate(-8deg)}.active.svelte-17ndl8v .preview-1:where(.svelte-17ndl8v){transition-delay:35ms;transform:translateY(0)rotate(10deg)}.active.svelte-17ndl8v .preview-2:where(.svelte-17ndl8v){transition-delay:70ms;transform:translateY(0)rotate(-7.2deg)}.project.svelte-17ndl8v:focus-visible{outline-offset:-5px}.project.svelte-17ndl8v:focus-visible .preview:where(.svelte-17ndl8v){transition:none}@media (prefers-reduced-motion:reduce){.preview.svelte-17ndl8v{transition:opacity .16s;transform:none!important}.active.svelte-17ndl8v .preview:where(.svelte-17ndl8v){transition-delay:0s}}.entry.svelte-17ndl8v{display:none}@media (width<=700px){section.svelte-17ndl8v{padding:24px 0 40px}.project.svelte-17ndl8v{display:none}.entry.svelte-17ndl8v{border-top:1px solid #eaeaea;padding:40px 0 44px;display:block}.entry.svelte-17ndl8v:last-child{border-bottom:1px solid #eaeaea}header.svelte-17ndl8v{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;padding:0 24px;display:flex}h2.svelte-17ndl8v{margin-bottom:0;font-size:32px}.date.svelte-17ndl8v{white-space:nowrap}.strip.svelte-17ndl8v{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:8px;padding:0 24px;scroll-padding-inline:24px;display:flex;overflow-x:auto}.strip.svelte-17ndl8v::-webkit-scrollbar{display:none}.slide.svelte-17ndl8v{scroll-snap-align:start;-webkit-tap-highlight-color:transparent;flex:0 0 calc(100% - 56px)}.slide.svelte-17ndl8v img:where(.svelte-17ndl8v){aspect-ratio:890/676;object-fit:cover;background:#fff padding-box padding-box;border:1px solid #0000001a;border-radius:4px;width:100%;height:auto;display:block}.dots.svelte-17ndl8v{gap:6px;padding:14px 24px 0;display:flex}.dots.svelte-17ndl8v span:where(.svelte-17ndl8v){opacity:.15;width:6px;height:6px;transition:opacity .2s ease,width .25s var(--ease-out);background:#080808;border-radius:999px}.dots.svelte-17ndl8v .on:where(.svelte-17ndl8v){opacity:.8;width:16px}.description.svelte-17ndl8v{margin-top:20px;padding:0 24px;line-height:1.38}.read.svelte-17ndl8v{color:#fff;letter-spacing:-.01em;transition:transform .16s var(--ease-out);background:#080808;border-radius:999px;align-items:center;gap:6px;margin:16px 24px 0;padding:8px 14px 9px;font-size:15px;display:inline-flex}.read.svelte-17ndl8v:active{transform:scale(.97)}}@media (width<=700px) and (prefers-reduced-motion:reduce){.dots.svelte-17ndl8v span:where(.svelte-17ndl8v){transition:none}}section.svelte-1gsja64{padding:56px var(--page-gutter) 32px;background:#fff;position:relative;overflow:clip}.head.svelte-1gsja64{z-index:30;pointer-events:none;width:440px;max-width:100%;position:relative}h2.svelte-1gsja64{letter-spacing:-.02em;margin-bottom:16px;font-size:48px;line-height:1.2}p.svelte-1gsja64{letter-spacing:-.02em;font-size:16px;line-height:1.65}.category.svelte-1gsja64{pointer-events:auto;color:inherit;font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:999px;margin:-4px -3px;padding:4px 3px;line-height:1.2;display:inline-block;position:relative}.category-pill.svelte-1gsja64{color:#fff;pointer-events:none;transform-origin:50%;transition:transform .18s var(--ease-out),opacity .18s ease;border-radius:999px;padding:1px 9px 2px;display:inline-block}.category-pill.blue.svelte-1gsja64{background:#1400ff}.category-pill.orange.svelte-1gsja64{background:#f3742b}.category-pill.pink.svelte-1gsja64{background:#ec3293}.category-pill.black.svelte-1gsja64{background:#000}.category.off.svelte-1gsja64 .category-pill:where(.svelte-1gsja64){opacity:.4}.category.svelte-1gsja64:focus-visible{outline-offset:3px;outline:2px solid #7950ef}@media (hover:hover) and (pointer:fine){.category.svelte-1gsja64:hover .category-pill:where(.svelte-1gsja64){transform:scale(.95)rotate(-1deg)}.category.svelte-1gsja64:hover:active .category-pill:where(.svelte-1gsja64){transform:scale(.92)rotate(-1deg)}}.category.svelte-1gsja64:active .category-pill:where(.svelte-1gsja64){transform:scale(.92)}@media (prefers-reduced-motion:reduce){.category-pill.svelte-1gsja64{transition:opacity .18s}.category.svelte-1gsja64:hover .category-pill:where(.svelte-1gsja64),.category.svelte-1gsja64:active .category-pill:where(.svelte-1gsja64),.category.svelte-1gsja64:hover:active .category-pill:where(.svelte-1gsja64){transform:none}}.board.svelte-1gsja64{height:var(--board-height);margin:-110px 0 0;padding:0;list-style:none;position:relative}.card.svelte-1gsja64{transform-origin:50% 16px;-webkit-user-select:none;user-select:none;width:280px;transition:filter .3s;position:absolute}.card.portrait.svelte-1gsja64{width:170px}.card.square.svelte-1gsja64{width:200px}.card.aside.svelte-1gsja64{filter:saturate(.3)contrast(.25)brightness(1.75)blur(1px)}.media.svelte-1gsja64{cursor:pointer;background:#f1f0f3;border:0;border-radius:3px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.media.loading.svelte-1gsja64:before{content:"";opacity:0;background:#e4e3e8;animation:.9s ease-in-out .24s infinite alternate svelte-1gsja64-card-pulse;position:absolute;inset:0}@keyframes svelte-1gsja64-card-pulse{to{opacity:1}}.media.svelte-1gsja64 .poster:where(.svelte-1gsja64){object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.media.svelte-1gsja64 video:where(.svelte-1gsja64){position:relative}.media.svelte-1gsja64 .poster:where(.svelte-1gsja64),.media.svelte-1gsja64 video:where(.svelte-1gsja64){opacity:0;transition:opacity .24s}.media.svelte-1gsja64 .poster.ready:where(.svelte-1gsja64),.media.svelte-1gsja64 video.ready:where(.svelte-1gsja64){opacity:1}.held.svelte-1gsja64 .media:where(.svelte-1gsja64),.held.svelte-1gsja64 .pin:where(.svelte-1gsja64){cursor:grabbing}.viewing.svelte-1gsja64 .media:where(.svelte-1gsja64){visibility:hidden}.media.svelte-1gsja64:focus-visible{outline-offset:3px;outline:2px solid #7950ef}video.svelte-1gsja64{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.pin.svelte-1gsja64{pointer-events:none;cursor:grab;background-repeat:no-repeat;background-size:400% 400%;width:120px;height:120px;margin:-60px 0 0 -60px;position:absolute;top:16px;left:50%}.pin.svelte-1gsja64:after{content:"";left:calc(41px + 3px * var(--pin-lift));top:calc(35px - 12px * var(--pin-lift));width:34px;height:calc(36px + 9px * var(--pin-lift));pointer-events:auto;border-radius:45%;position:absolute}dialog.svelte-1gsja64{cursor:zoom-out;background:0 0;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}dialog[open].svelte-1gsja64{place-items:center;display:grid}dialog.svelte-1gsja64::backdrop{background:0 0}.backdrop.svelte-1gsja64{-webkit-backdrop-filter:blur(12px);background:#ffffff80;position:absolute;inset:0}.viewer.svelte-1gsja64{width:min(88vw,calc(84vh * var(--ratio)),1200px);background:#f1f0f3 50%/cover no-repeat;border-radius:6px;position:relative;overflow:hidden;box-shadow:0 40px 90px -30px #00000059}.viewer.svelte-1gsja64 canvas:where(.svelte-1gsja64),.viewer.svelte-1gsja64 video:where(.svelte-1gsja64){object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.viewer.svelte-1gsja64 video:where(.svelte-1gsja64){opacity:0;transition:opacity .2s}.viewer.svelte-1gsja64 video.ready:where(.svelte-1gsja64){opacity:1}.close.svelte-1gsja64{color:#fff;cursor:pointer;width:40px;height:40px;transition:transform .16s var(--ease-out);background:#080808;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:fixed;top:20px;right:20px}.close.svelte-1gsja64:active{transform:scale(.94)}@media (width<=1100px){.board.svelte-1gsja64{height:var(--board-height);margin-top:20px}.card.svelte-1gsja64{width:220px}.card.portrait.svelte-1gsja64{width:140px}.card.square.svelte-1gsja64{width:160px}}@media (prefers-reduced-motion:reduce){.media.svelte-1gsja64{transition:none}.media.loading.svelte-1gsja64:before{animation:none}}@media (width<=700px){section.svelte-1gsja64{padding:32px 24px 56px}h2.svelte-1gsja64{margin-bottom:12px;font-size:32px}.board.svelte-1gsja64{columns:2;column-gap:14px;height:auto;margin-top:36px;display:block}.card.svelte-1gsja64,.card.portrait.svelte-1gsja64,.card.square.svelte-1gsja64{break-inside:avoid;width:100%;margin:0 0 14px;display:block;position:relative;top:auto!important;left:auto!important;transform:none!important}.media.svelte-1gsja64{border-radius:3px}.card.hidden.svelte-1gsja64{display:none}.viewer.svelte-1gsja64{border-radius:4px}}dialog.svelte-7hpc9t{--ease-drawer:cubic-bezier(.32,.72,0,1);background-color:#0000;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;transition:background-color .4s;position:fixed;inset:0;overflow:clip}dialog.shown.svelte-7hpc9t{background-color:#0000001f}dialog.svelte-7hpc9t::backdrop{background:0 0}.panel.svelte-7hpc9t{overscroll-behavior:contain;width:min(520px,100vw);transition:transform .45s var(--ease-out);background:#fff;flex-direction:column;padding:clamp(32px,5vh,56px) 56px;font-weight:400;display:flex;position:absolute;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.shown.svelte-7hpc9t .panel:where(.svelte-7hpc9t){transform:none}.body.svelte-7hpc9t{flex-direction:column;flex:1;justify-content:space-between;gap:clamp(24px,4vh,40px);display:flex}.grab.svelte-7hpc9t{display:none}header.svelte-7hpc9t{justify-content:space-between;align-items:flex-start;margin-bottom:32px;display:flex}h2.svelte-7hpc9t{letter-spacing:-.02em;font-size:48px;font-weight:400;line-height:1.1}.close.svelte-7hpc9t{color:#080808;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;width:40px;height:40px;margin:2px -8px 0 0;padding:0;transition:background .15s;display:grid}.close.svelte-7hpc9t:hover{background:#f2f1f4}.close.svelte-7hpc9t:focus-visible{outline-offset:2px;outline:2px solid #7950ef}.bio.svelte-7hpc9t p:where(.svelte-7hpc9t){color:#5b5864;text-wrap:pretty;font-size:16px;line-height:1.6}.bio.svelte-7hpc9t p:where(.svelte-7hpc9t)+p:where(.svelte-7hpc9t){margin-top:16px}.headshot.svelte-7hpc9t{aspect-ratio:3/2;border-radius:4px;flex:0 auto;width:100%;min-height:160px;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000a,0 2px 8px #00000008}.headshot.svelte-7hpc9t img:where(.svelte-7hpc9t){object-fit:cover;width:100%;height:100%;transition:filter .6s var(--ease-out);border-radius:4px;position:absolute;inset:0}.headshot.svelte-7hpc9t .subject:where(.svelte-7hpc9t){opacity:0;transition:opacity .6s var(--ease-out),filter .6s var(--ease-out)}@media (hover:hover) and (pointer:fine){.headshot.svelte-7hpc9t:hover img:where(.svelte-7hpc9t):first-child{filter:brightness(.7)saturate(.9)}.headshot.svelte-7hpc9t:hover .subject:where(.svelte-7hpc9t){opacity:1;filter:brightness(1.12)}}h3.svelte-7hpc9t{margin:0 0 4px;font-size:16px;font-weight:500}.experience.svelte-7hpc9t{margin:0;padding:0;list-style:none}.experience.svelte-7hpc9t li:where(.svelte-7hpc9t){border-bottom:1px solid #eceaf0;grid-template-columns:104px 1fr auto;gap:16px;padding:14px 0;font-size:15px;line-height:1.4;display:grid}.years.svelte-7hpc9t{color:#77747f;font-variant-numeric:tabular-nums}.company.svelte-7hpc9t{color:#080808}.role.svelte-7hpc9t{color:#77747f;text-align:right}@media (width<=700px){dialog.svelte-7hpc9t{transition:background-color .5s var(--ease-drawer)}dialog.shown.svelte-7hpc9t{background-color:#0000002e}.panel.svelte-7hpc9t{width:auto;max-height:calc(100dvh - 48px);transition:transform .5s var(--ease-drawer);will-change:transform;border-radius:16px 16px 0 0;padding:0;top:auto;right:0;overflow:visible;transform:translateY(100%);box-shadow:0 -8px 32px #00000014}.panel.svelte-7hpc9t:after{content:"";background:#fff;height:120px;position:absolute;top:100%;left:0;right:0}.shown.svelte-7hpc9t .panel:where(.svelte-7hpc9t){transform:translateY(0)}.drag.svelte-7hpc9t{touch-action:none;-webkit-user-select:none;user-select:none}.grab.svelte-7hpc9t{place-items:center;height:28px;display:grid}.grab.svelte-7hpc9t span:where(.svelte-7hpc9t){background:#dcdae0;border-radius:999px;width:36px;height:5px}header.svelte-7hpc9t{align-items:center;margin-bottom:0;padding:0 24px 16px}h2.svelte-7hpc9t{font-size:38px}.close.svelte-7hpc9t{margin:0 -8px 0 0}.body.svelte-7hpc9t{min-height:0;padding:0 24px max(32px,env(safe-area-inset-bottom));overscroll-behavior:contain;flex:auto;justify-content:flex-start;gap:28px;overflow-y:auto}.headshot.svelte-7hpc9t{flex:none;min-height:0}.experience.svelte-7hpc9t li:where(.svelte-7hpc9t){grid-template-columns:84px 1fr auto;gap:12px;font-size:14px}}@media (prefers-reduced-motion:reduce){dialog.svelte-7hpc9t,.panel.svelte-7hpc9t{transition:none}}@media (width<=700px) and (prefers-reduced-motion:reduce){.panel.svelte-7hpc9t,.shown.svelte-7hpc9t .panel:where(.svelte-7hpc9t){transform:none}.panel.svelte-7hpc9t{opacity:0;transition:opacity .2s}.shown.svelte-7hpc9t .panel:where(.svelte-7hpc9t){opacity:1}dialog.svelte-7hpc9t{transition:background-color .2s}}.footer.svelte-1uha8ag footer{background:#fafafa}.skip.svelte-1uha8ag{z-index:10;background:#fff;padding:12px;position:fixed;top:16px;left:16px;transform:translateY(-200%)}.skip.svelte-1uha8ag:focus{transform:none}.hero.svelte-1uha8ag{background:#fff;width:100%;height:100vh;position:relative;overflow:hidden}.intro.svelte-1uha8ag,.education.svelte-1uha8ag{letter-spacing:-.02em;z-index:3;pointer-events:none;font-size:1rem;line-height:1.25;position:absolute;top:100px}.intro.svelte-1uha8ag{left:var(--page-gutter)}.more.svelte-1uha8ag{pointer-events:auto;color:#8a8792;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px;transition:color .15s}.more.svelte-1uha8ag:hover{color:#080808}.more.svelte-1uha8ag:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #7950ef}.education.svelte-1uha8ag{right:var(--page-gutter);text-align:right}h1.svelte-1uha8ag{letter-spacing:-.02em;white-space:nowrap;font-size:19.9vw;line-height:1;position:absolute;bottom:3vw;left:-2.3vw}.lanyard.svelte-1uha8ag,.lanyard-copy.svelte-1uha8ag{display:none}@media (width<=700px){.hero.svelte-1uha8ag{height:100svh;min-height:520px;padding:0 24px max(36px,env(safe-area-inset-bottom));flex-direction:column;display:flex}.intro.svelte-1uha8ag,.education.svelte-1uha8ag{display:none}h1.svelte-1uha8ag{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.lanyard.svelte-1uha8ag{flex:1 1 0;align-self:center;width:min(80vw,340px);min-height:0;margin-bottom:8px;display:block}.lanyard.svelte-1uha8ag picture:where(.svelte-1uha8ag){display:contents}.lanyard.svelte-1uha8ag img:where(.svelte-1uha8ag){object-fit:contain;object-position:50% 0;transform-origin:50% 0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.lanyard-copy.svelte-1uha8ag{z-index:2;display:block;position:relative}.lead.svelte-1uha8ag{letter-spacing:-.03em;text-wrap:balance;margin-bottom:12px;font-size:28px;line-height:1.12}.meta.svelte-1uha8ag{letter-spacing:-.02em;color:#77747f;font-size:16px;line-height:1.3}}
