@layer components{.signature-module__lq19kG__signature{-webkit-tap-highlight-color:transparent;width:10rem;max-width:100%;height:auto;display:block;overflow:visible}.signature-module__lq19kG__name{text-align:right;width:10rem;max-width:100%;font-size:1.75rem;font-style:italic;line-height:1;display:block}}.signature-module__lq19kG__stroke{fill:none;stroke:currentColor;stroke-width:var(--signature-stroke,1.5px);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:0}@media screen and (scripting:enabled){html[data-motion=on] .signature-module__lq19kG__signature[data-state=pending] .signature-module__lq19kG__stroke{stroke-dashoffset:1.01px}}@media screen and (prefers-reduced-motion:no-preference){html[data-motion=on]:not([data-navigated]) .signature-module__lq19kG__intro .signature-module__lq19kG__stroke{animation:signature-module__lq19kG__pen-in var(--stroke-duration,0s) linear var(--stroke-delay,0s) both}}@keyframes signature-module__lq19kG__pen-in{0%{stroke-dashoffset:1.01px}to{stroke-dashoffset:0}}@media screen and (prefers-reduced-motion:no-preference){html[data-motion=on]:not([data-navigated]) .signature-module__lq19kG__name{animation:.76s linear .14s both signature-module__lq19kG__name-in}}@keyframes signature-module__lq19kG__name-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
.headline-module__a6NJTG__word{display:inline-block}@media screen and (prefers-reduced-motion:no-preference){:root[data-motion=on]:not([data-navigated]) .headline-module__a6NJTG__word{animation:headline-module__a6NJTG__word-rise .52s var(--ease-enter) both;animation-delay:calc(var(--word-index,0) * 40ms)}}@media screen and (prefers-reduced-motion:reduce){:root[data-motion]:not([data-navigated]) .headline-module__a6NJTG__word{animation:.4s ease-out both headline-module__a6NJTG__word-fade}}@keyframes headline-module__a6NJTG__word-rise{0%{opacity:0;filter:blur(2px);translate:0 .3em}}@keyframes headline-module__a6NJTG__word-fade{0%{opacity:0}}
.disclosure-module__-50MXW__root{interpolate-size:allow-keywords}.disclosure-module__-50MXW__root::details-content{opacity:0;overflow-clip-margin:.375rem;block-size:0;transition:block-size var(--duration-exit,.16s) var(--ease-enter,cubic-bezier(.23, 1, .32, 1)), opacity var(--duration-exit,.16s) ease-out, content-visibility var(--duration-exit,.16s) allow-discrete;overflow:clip}.disclosure-module__-50MXW__root[open]::details-content{opacity:1;block-size:auto;transition-duration:var(--duration-enter,.22s)}.disclosure-module__-50MXW__instant::details-content{transition:none}.disclosure-module__-50MXW__chevron{transition:rotate var(--duration-exit,.16s) var(--ease-enter,cubic-bezier(.23, 1, .32, 1)), color .15s ease}.disclosure-module__-50MXW__root[open]>summary .disclosure-module__-50MXW__chevron{transition-duration:var(--duration-enter,.22s);rotate:90deg}.disclosure-module__-50MXW__instant>summary .disclosure-module__-50MXW__chevron{transition:none}@media (hover:hover){.disclosure-module__-50MXW__root>summary:hover .disclosure-module__-50MXW__chevron{color:var(--color-foreground)}}
.reading-progress-module__5pWxKW__bar{display:none}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.reading-progress-module__5pWxKW__bar{inset-inline:0;background-color:var(--color-accent);transform-origin:0;pointer-events:none;height:1px;animation:linear both reading-progress-module__5pWxKW__fill;animation-timeline:scroll(root);display:block;position:absolute;bottom:-1px}}}@keyframes reading-progress-module__5pWxKW__fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}
.sticky-header-module__pL8Ubq__veil{z-index:-1;border-bottom:1px solid var(--color-hairline);background-color:color-mix(in oklab, var(--color-background) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity var(--duration-exit,.16s) var(--ease-exit,ease-out);position:absolute;inset:0 0 -1px}[data-scrolled]>.sticky-header-module__pL8Ubq__veil{opacity:1;transition-duration:var(--duration-enter,.22s);transition-timing-function:var(--ease-enter,ease-out)}@supports (animation-timeline:scroll()){.sticky-header-module__pL8Ubq__veil,[data-scrolled]>.sticky-header-module__pL8Ubq__veil{transition:none;animation:linear both sticky-header-module__pL8Ubq__veil-in;animation-timeline:scroll(root);animation-range:0 48px}}@keyframes sticky-header-module__pL8Ubq__veil-in{0%{opacity:0}to{opacity:1}}
@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/3d51db290a6a25f3-s.0kkodo7okz7sx.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/f7054824cbb51795-s.3gwda9lv2grgl.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/74effe3e2193102a-s.2ke8r1sltdje0.woff2)format("woff2");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}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_443e58eb-module__LiGDbq__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_443e58eb-module__LiGDbq__variable{--font-bricolage:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a5a3076f5a3c2968-s.2yekaq-lsxzxl.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/23f1a98b08006014-s.32g3_4t-7pe44.woff2)format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/54fc36028e2bb174-s.p.1h6pn64pmfi2q.woff2)format("woff2");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}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_bc20e7cc-module__77dq9q__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_bc20e7cc-module__77dq9q__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/6865e74822869db5-s.2q67k36_u2-4v.woff2)format("woff2");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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/0494568ab28b6008-s.1b8f__myswv-j.woff2)format("woff2");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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/66b33cc02d8f8b9d-s.3xdkf2df5spiy.woff2)format("woff2");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}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_341bdb55-module__UQA2Oq__className{font-family:Fraunces,Fraunces Fallback;font-style:italic}.fraunces_341bdb55-module__UQA2Oq__variable{--font-fraunces-italic:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url(../media/bc75a5ef649fd533-s.2ppktw63pfi3b.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url(../media/0d0795e2b42a3c22-s.0y163eqxkiliw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url(../media/ced9be41fbb50af4-s.3sjz7f3lq8ord.woff2)format("woff2");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:Martian Mono;font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url(../media/9721f9d4df761ffd-s.44lcgfy9cmdxl.woff2)format("woff2");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}@font-face{font-family:Martian Mono Fallback;src:local(Arial);ascent-override:63.69%;descent-override:12.74%;line-gap-override:0.0%;size-adjust:157.02%}.martian_mono_68b77a78-module__0zTMzq__className{font-family:Martian Mono,Martian Mono Fallback;font-style:normal}.martian_mono_68b77a78-module__0zTMzq__variable{--font-martian-mono:"Martian Mono", "Martian Mono Fallback"}
@media (hover:hover){.project-list-module__0hYjcG__list:has(summary:hover,summary:focus-visible) li:not(:has(summary:hover,summary:focus-visible)){opacity:.5;transition:opacity var(--duration-exit,.16s) ease-out}}
::view-transition-group(.view-transitions-module__mshZZW__forward){animation:none}::view-transition-group(.view-transitions-module__mshZZW__back){animation:none}::view-transition-group(.view-transitions-module__mshZZW__crossfade){animation:none}::view-transition-group(.view-transitions-module__mshZZW__fade){animation:none}::view-transition-old(.view-transitions-module__mshZZW__forward){animation:var(--duration-route-out) var(--ease-exit) both view-transitions-module__mshZZW__leave}::view-transition-old(.view-transitions-module__mshZZW__back){animation:var(--duration-route-out) var(--ease-exit) both view-transitions-module__mshZZW__leave}::view-transition-old(.view-transitions-module__mshZZW__crossfade){animation:var(--duration-route-out) var(--ease-exit) both view-transitions-module__mshZZW__leave}::view-transition-new(.view-transitions-module__mshZZW__forward){animation:var(--duration-route-in) var(--ease-enter) 60ms both view-transitions-module__mshZZW__arrive}::view-transition-new(.view-transitions-module__mshZZW__back){animation:var(--duration-route-in) var(--ease-enter) 60ms both view-transitions-module__mshZZW__arrive}::view-transition-new(.view-transitions-module__mshZZW__crossfade){animation:var(--duration-route-in) var(--ease-enter) 60ms both view-transitions-module__mshZZW__arrive}::view-transition-old(.view-transitions-module__mshZZW__forward){--shift:-8px}::view-transition-new(.view-transitions-module__mshZZW__forward){--shift:8px}::view-transition-old(.view-transitions-module__mshZZW__back){--shift:8px}::view-transition-new(.view-transitions-module__mshZZW__back){--shift:-8px}::view-transition-old(.view-transitions-module__mshZZW__crossfade){--shift:0px}::view-transition-new(.view-transitions-module__mshZZW__crossfade){--shift:0px}::view-transition-old(.view-transitions-module__mshZZW__fade){animation:var(--duration-route-out) linear both view-transitions-module__mshZZW__fade-out}::view-transition-new(.view-transitions-module__mshZZW__fade){animation:var(--duration-route-in) linear both view-transitions-module__mshZZW__fade-in}@keyframes view-transitions-module__mshZZW__leave{to{opacity:0;filter:blur(4px);translate:var(--shift) 0}}@keyframes view-transitions-module__mshZZW__arrive{0%{opacity:0;filter:blur(4px);translate:var(--shift) 0}}@keyframes view-transitions-module__mshZZW__fade-out{to{opacity:0}}@keyframes view-transitions-module__mshZZW__fade-in{0%{opacity:0}}::view-transition-group(.view-transitions-module__mshZZW__morph){animation-duration:.28s;animation-timing-function:var(--ease-enter)}::view-transition-old(.view-transitions-module__mshZZW__morph){animation-duration:var(--duration-exit);animation-timing-function:var(--ease-exit)}::view-transition-new(.view-transitions-module__mshZZW__morph){animation-duration:.28s;animation-timing-function:var(--ease-enter)}
.experience-module__LRba1W__timeline{--rail-x:-1rem;--lane-gap:.375rem;--dot-y:calc(var(--text-2xl) * var(--text-2xl--line-height) / 2);--meta-w:5.75rem;--meta-gap:calc(-1 * var(--rail-x) + var(--lane-count,1) * var(--lane-gap) + .75rem);--note-w:14rem;--note-gap:2.5rem}.experience-module__LRba1W__meta{display:none}@media (min-width:64rem){.experience-module__LRba1W__timeline{--rail-x:-2rem;--lane-gap:.625rem}.experience-module__LRba1W__entry{grid-template-columns:var(--meta-w) var(--meta-gap) minmax(0, 1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"meta.head""meta.note""meta.more";margin-inline-start:calc(-1 * (var(--meta-w) + var(--meta-gap)));display:grid}.experience-module__LRba1W__head{grid-area:head}.experience-module__LRba1W__note{grid-area:note}.experience-module__LRba1W__more{grid-area:more}.experience-module__LRba1W__meta{top:calc(var(--header-h) + 1.5rem);padding-top:calc(var(--dot-y) - var(--text-2xs--line-height) / 2);text-align:right;text-wrap:balance;grid-area:meta;align-content:start;align-self:start;justify-items:end;gap:.25rem;display:grid;position:sticky}}@media (min-width:80rem){.experience-module__LRba1W__timeline{--rail-x:-2.75rem;--lane-gap:.75rem;--meta-w:10rem}.experience-module__LRba1W__entry{grid-template-columns:var(--meta-w) var(--meta-gap) minmax(0, 1fr) var(--note-gap) var(--note-w);grid-template-rows:auto 1fr;grid-template-areas:"meta.head.note""meta.more.note";margin-inline-end:calc(-1 * (var(--note-gap) + var(--note-w)))}.experience-module__LRba1W__note{margin-top:calc(var(--text-2xl) * var(--text-2xl--line-height) + .5rem);align-self:start}}@media (min-width:96rem){.experience-module__LRba1W__timeline{--note-w:var(--frame-note,14rem);--note-gap:var(--frame-gap,2.5rem)}}.experience-module__LRba1W__fill{display:none}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.experience-module__LRba1W__fill{background:var(--color-accent);opacity:.7;transform-origin:50% 0;animation:linear both experience-module__LRba1W__rail-fill;animation-timeline:view(50%);display:block;position:absolute;inset:0}}}@media print{.experience-module__LRba1W__fill{display:none}}@keyframes experience-module__LRba1W__rail-fill{0%{transform:scaleY(0)}to{transform:scaleY(1)}}
.project-row-module__Gz1uSa__name{font-family:var(--font-serif);font-variation-settings:"SOFT" 40, "WONK" 0}@media (hover:hover){.project-row-module__Gz1uSa__name{transition:font-variation-settings var(--duration-enter,.22s) var(--ease-enter,cubic-bezier(.23, 1, .32, 1))}.project-row-module__Gz1uSa__row:hover .project-row-module__Gz1uSa__name{font-variation-settings:"SOFT" 100, "WONK" 1}.project-row-module__Gz1uSa__row svg{transition:rotate var(--duration-exit,.16s) var(--ease-enter,cubic-bezier(.23, 1, .32, 1)), color .15s ease, translate var(--duration-enter,.22s) var(--ease-enter,cubic-bezier(.23, 1, .32, 1))}.project-row-module__Gz1uSa__row:hover svg{translate:2px}}.project-row-module__Gz1uSa__row:focus-visible .project-row-module__Gz1uSa__name{font-variation-settings:"SOFT" 100, "WONK" 1}.project-row-module__Gz1uSa__row:focus-visible svg{translate:2px}
