:root{--bg:#fff;--text:#404040;--muted:#6f6f6f;--border:#e0e0e0;--accent:#404040;--bright:#0f0f0f}@media (prefers-color-scheme:dark){:root{--bg:#000;--text:#fff;--muted:#7f7f7f;--border:#3f3f3f;--accent:#fff;--bright:#fff}}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:#fff;background:var(--bg);color:#404040;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;margin:0}a{color:#404040;color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.svg-arrow-outward{fill:none;stroke:currentColor;stroke-width:1.25;display:inline-block;height:1em;margin-left:-.25em;vertical-align:-.05em;width:1em}main.main-content a.a-external-link,nav.nav-links a.a-external-link{background-image:none}.span-external-link-label{display:inline-block;position:relative}.span-external-link-label:after{background:currentColor;bottom:0;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.a-external-link:hover .span-external-link-label:after{transform:scaleX(1)}main.main-content>section>h2{border-bottom:1px solid var(--border);color:var(--bright);font-size:1.5rem;font-weight:700;letter-spacing:-.015em;margin:0 0 1rem;padding-bottom:.4rem}main.main-content>section+section{margin-top:4rem}div.div-experience-list,main.main-content ul.ul-projects{grid-gap:1.15rem;display:grid;gap:1.15rem}article.article-experience h3,li.li-project h3{margin:.5rem 0 .25rem}div.div-experience-heading{align-items:baseline;display:flex;gap:1rem;justify-content:space-between}span.span-period{color:var(--muted);flex:none;font-size:.875rem;white-space:nowrap}p.p-role{color:var(--muted);font-size:.95rem}p.p-stack{color:var(--muted);font-size:.875rem}main.main-content ul.ul-projects{list-style:none;padding:0}span.span-project-subtitle{color:var(--muted);font-weight:400}@media (max-width:520px){div.div-experience-heading{display:block}span.span-period{display:block;margin-top:.15rem}}button.button-reveal-email{align-items:baseline;background:none;border:0;color:var(--accent);cursor:pointer;display:inline-flex;font:inherit;font-size:.95rem;line-height:inherit;padding:0;position:relative;text-align:left}button.button-reveal-email.is-revealed{cursor:default}button.button-reveal-email .svg-arrow-outward{transform:translate(0) scale(1);transform-origin:center;transition:opacity .2s ease,transform .35s cubic-bezier(.22,1,.36,1),width .25s ease .12s,margin-left .25s ease .12s}button.button-reveal-email.is-revealed .svg-arrow-outward{margin-left:0;opacity:0;transform:translate(.35em,-.35em) scale(.65);width:0}span.span-email-labels{display:inline-grid;overflow:hidden;transition:width .45s cubic-bezier(.22,1,.36,1);width:2.9rem}button.button-reveal-email:not(.is-revealed):focus-visible span.span-email-labels,button.button-reveal-email:not(.is-revealed):hover span.span-email-labels{width:6.7rem}button.button-reveal-email.is-revealed span.span-email-labels{width:13.2rem}span.span-email-labels>span{grid-area:1/1}span.span-email-default,span.span-email-hover{transition:opacity .18s ease,transform .18s ease}span.span-email-hover{color:var(--muted);opacity:0;transform:translateY(.35em);white-space:nowrap}span.span-email-hover-character{--lit:0;color:color-mix(in srgb,var(--bright) calc(var(--lit)*100%),var(--muted));transition:color .1s ease-out;will-change:color}button.button-reveal-email:not(.is-revealed):focus-visible span.span-email-default,button.button-reveal-email:not(.is-revealed):hover span.span-email-default{opacity:0;transform:translateY(-.35em)}button.button-reveal-email:not(.is-revealed):focus-visible span.span-email-hover,button.button-reveal-email:not(.is-revealed):hover span.span-email-hover{opacity:1;transform:translateY(0);transition-delay:.16s}button.button-reveal-email.is-revealed span.span-email-default,button.button-reveal-email.is-revealed span.span-email-hover{opacity:0;pointer-events:none}span.span-email-revealed{white-space:nowrap}span.span-email-character{animation:email-character-in .35s cubic-bezier(.22,1,.36,1) forwards;display:inline-block;opacity:0;transform:translateY(.65em)}@keyframes email-character-in{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){button.button-reveal-email,button.button-reveal-email .svg-arrow-outward,span.span-email-character,span.span-email-default,span.span-email-hover,span.span-email-hover-character,span.span-email-labels{animation-delay:0s!important;animation-duration:.01ms;transition:none}}a.a-back-link{text-decoration:none}a.a-back-link:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){div.div-stage.div-reveal,section.section-fade-section{opacity:1;transform:none;transition:none}}div.div-page{margin:0 auto;max-width:640px;padding:4rem 1.5rem;position:relative}header.header-hero{margin-bottom:3.5rem}header.header-page-header{margin-bottom:3rem}a.a-back-link{color:var(--muted);font-size:.95rem}main.main-content h1{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1.5rem}div.div-stage.div-reveal{opacity:0;transform:scale(.99);transition:opacity .45s ease-out,transform .45s ease-out}div.div-stage.div-reveal.div-revealed{opacity:1;transform:scale(1)}section.section-fade-section{opacity:0;transform:translateY(10px);transition:opacity .5s ease-out,transform .5s ease-out}section.section-fade-section.section-in-view{opacity:1;transform:translateY(0)}h1.h1-name{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}span.span-letter{--lit:0;color:color-mix(in srgb,var(--bright) calc(var(--lit)*100%),var(--text));display:inline;transition:color .12s ease-out;will-change:color}@media (hover:none){span.span-letter{color:var(--bright)}}p.p-tagline{color:var(--muted);font-size:1.1rem;margin:0 0 1.25rem}span.span-definition{-webkit-clip-path:inset(-.15em -100vw -.15em 0);clip-path:inset(-.15em -100vw -.15em 0);cursor:help;display:inline-block;outline:none;position:relative}span.span-definition-short{display:inline-block}span.span-definition-full{color:var(--muted);left:0;pointer-events:none;position:absolute;top:0;white-space:nowrap;z-index:1}span.span-flip-char{display:inline-block;transition:transform .25s cubic-bezier(.76,0,.24,1)}span.span-definition:not(:hover):not(:focus-visible) span.span-flip-char{transition-delay:0s!important;transition-duration:.18s}span.span-definition-full span.span-flip-char{transform:translateY(120%)}span.span-definition:focus-visible span.span-definition-short span.span-flip-char,span.span-definition:hover span.span-definition-short span.span-flip-char{transform:translateY(-120%)}span.span-definition:focus-visible span.span-definition-full span.span-flip-char,span.span-definition:hover span.span-definition-full span.span-flip-char{transform:translateY(0)}p.p-tagline>*{transition:color .3s ease,opacity .25s ease .2s}p.p-tagline:has(span.span-definition:focus-visible)>*,p.p-tagline:has(span.span-definition:hover)>*{color:color-mix(in srgb,var(--muted) 40%,#0000);transition:color .3s ease,opacity .3s ease}p.p-tagline:has(span.span-definition:focus-visible)>span.span-definition:focus-visible~*,p.p-tagline:has(span.span-definition:hover)>span.span-definition:hover~*{opacity:0}nav.nav-links{display:flex;flex-wrap:wrap;gap:1rem}nav.nav-links a{font-size:.95rem}main.main-content a,nav.nav-links a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;position:relative;text-decoration:none;transition:background-size .18s ease}main.main-content a:hover,nav.nav-links a:hover{background-size:100% 1px;text-decoration:none}main.main-content h2{font-size:1.5rem;font-weight:600;margin:2.5rem 0 .75rem}main.main-content h3{font-size:1.125rem;font-weight:600;margin:.5rem 0 .25rem}main.main-content p{margin:0 0 1rem}main.main-content ul{margin:0 0 1rem;padding-left:1.25rem}main.main-content li{margin-bottom:.5rem}main.main-content>:first-child{margin-top:0}footer.footer-main{border-top:1px solid var(--border);color:var(--muted);font-size:.875rem;margin-top:4rem;padding-top:1.5rem}footer.footer-main p{margin:0}@media (prefers-reduced-motion:reduce){div.div-stage.div-reveal,section.section-fade-section{opacity:1;transform:none;transition:none}span.span-letter{color:var(--bright);transition:none}}
/*# sourceMappingURL=main.5e62007b.css.map*/