:root{--paper:#f3eee4;--paper-2:#ebe4d6;--ink:#1d1a16;--ink-2:#5c554b;--line:#d6cdbd;--accent:#d9480f;--serif:"Fraunces", Georgia, serif;--sans:"Instrument Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#15130f;--paper-2:#1e1b16;--ink:#ece5d8;--ink-2:#a39a8b;--line:#36312a;--accent:#ff7a45}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";pointer-events:none;z-index:100;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' 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{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media print{body:before{display:none}html{font-size:12px}}.page.svelte-1n46o8q{gap:4rem;max-width:76rem;margin:0 auto;padding:0 1.5rem;display:grid}@media (width>=64rem){.page.svelte-1n46o8q{grid-template-columns:22rem 1fr;gap:6rem;padding:0 3rem}.side.svelte-1n46o8q{flex-direction:column;height:100vh;padding-block:6rem 4rem;display:flex;position:sticky;top:0}.links.svelte-1n46o8q{margin-top:auto}}.mono.svelte-1n46o8q{font-family:var(--mono);letter-spacing:.04em;font-size:.75rem}.side.svelte-1n46o8q{padding-top:4rem}.side.svelte-1n46o8q>:where(.svelte-1n46o8q){animation:.8s cubic-bezier(.2,.7,.2,1) both svelte-1n46o8q-rise}.side.svelte-1n46o8q>:where(.svelte-1n46o8q):nth-child(2){animation-delay:80ms}.side.svelte-1n46o8q>:where(.svelte-1n46o8q):nth-child(3){animation-delay:.16s}.side.svelte-1n46o8q>:where(.svelte-1n46o8q):nth-child(4){animation-delay:.24s}.side.svelte-1n46o8q>:where(.svelte-1n46o8q):nth-child(5){animation-delay:.32s}.side.svelte-1n46o8q>:where(.svelte-1n46o8q):nth-child(n+6){animation-delay:.42s}.photo.svelte-1n46o8q{filter:grayscale()contrast(1.1);mix-blend-mode:multiply;border:1px solid var(--line);border-radius:50%}@media (prefers-color-scheme:dark){.photo.svelte-1n46o8q{mix-blend-mode:normal}}.kicker.svelte-1n46o8q{text-transform:uppercase;color:var(--ink-2);margin:1.75rem 0 .5rem}h1.svelte-1n46o8q{font:400 clamp(3.25rem, 7vw, 4.75rem) / .92 var(--serif);font-variation-settings:"opsz" 144, "SOFT" 50;letter-spacing:-.035em;margin:0}h1.svelte-1n46o8q em:where(.svelte-1n46o8q){color:var(--accent);font-variation-settings:"opsz" 144, "SOFT" 100;font-style:italic;display:block}.headline.svelte-1n46o8q{font:500 1.125rem/1.3 var(--sans);margin:1.25rem 0 .5rem}.intro.svelte-1n46o8q{color:var(--ink-2);max-width:20rem;margin:0}nav.svelte-1n46o8q a:where(.svelte-1n46o8q){color:var(--ink-2);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:.9rem;font-size:.8rem;text-decoration:none;transition:color .2s;display:flex}nav.svelte-1n46o8q i:where(.svelte-1n46o8q){background:currentColor;width:2rem;height:1px;transition:width .3s cubic-bezier(.2,.7,.2,1);display:block}nav.svelte-1n46o8q a:where(.svelte-1n46o8q):hover{color:var(--ink)}nav.svelte-1n46o8q a:where(.svelte-1n46o8q):hover i:where(.svelte-1n46o8q){background:var(--accent);width:4rem}@media (width>=64rem){nav.svelte-1n46o8q{gap:.6rem;margin-top:3.5rem;display:grid}}@media (width<64rem){.side.svelte-1n46o8q{flex-direction:column;align-items:flex-start;display:flex}h1.svelte-1n46o8q em:where(.svelte-1n46o8q){display:inline}.intro.svelte-1n46o8q{max-width:none}.links.svelte-1n46o8q{margin-top:1.5rem}.side.svelte-1n46o8q nav:where(.svelte-1n46o8q){border-top:1px solid var(--line);flex-wrap:wrap;order:1;align-self:stretch;gap:.6rem 1.75rem;margin-top:2.5rem;padding-top:1.25rem;display:flex}nav.svelte-1n46o8q a:where(.svelte-1n46o8q){gap:.5rem;font-size:.75rem}nav.svelte-1n46o8q i:where(.svelte-1n46o8q){display:none}}@media (width<40rem){.side.svelte-1n46o8q nav:where(.svelte-1n46o8q){grid-template-columns:1fr 1fr;display:grid}.side.svelte-1n46o8q nav:where(.svelte-1n46o8q) a:where(.svelte-1n46o8q):first-child{grid-area:1/1}.side.svelte-1n46o8q nav:where(.svelte-1n46o8q) a:where(.svelte-1n46o8q):nth-child(2){grid-area:2/1}.side.svelte-1n46o8q nav:where(.svelte-1n46o8q) a:where(.svelte-1n46o8q):nth-child(3){grid-area:1/2}.side.svelte-1n46o8q nav:where(.svelte-1n46o8q) a:where(.svelte-1n46o8q):nth-child(4){grid-area:2/2}.side.svelte-1n46o8q nav:where(.svelte-1n46o8q) a:where(.svelte-1n46o8q):nth-child(5){grid-area:3/2}}@media (40rem<=width<64rem){.side.svelte-1n46o8q{grid-template-columns:auto 1fr;column-gap:2.5rem;display:grid}.side.svelte-1n46o8q>:where(.svelte-1n46o8q){grid-column:2}.side.svelte-1n46o8q nav:where(.svelte-1n46o8q){grid-column:1/-1}.photo.svelte-1n46o8q{grid-area:1/1/span 5;align-self:center;width:9rem;height:9rem}.kicker.svelte-1n46o8q{margin-top:0}}.links.svelte-1n46o8q{flex-wrap:wrap;gap:.5rem 1.5rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.links.svelte-1n46o8q a:where(.svelte-1n46o8q){background:linear-gradient(var(--accent), var(--accent)) 0 100% / 0 1px no-repeat;font-size:.9rem;text-decoration:none;transition:background-size .3s}.links.svelte-1n46o8q a:where(.svelte-1n46o8q):hover{background-size:100% 1px}main.svelte-1n46o8q{min-width:0;padding-block:0 4rem}@media (width>=64rem){main.svelte-1n46o8q{padding-top:6rem}}section.svelte-1n46o8q{margin-bottom:6rem;scroll-margin-top:3rem}.label.svelte-1n46o8q{text-transform:uppercase;color:var(--accent);letter-spacing:.16em;align-items:center;gap:1rem;margin:0 0 1.75rem;font-weight:500;display:flex}.label.svelte-1n46o8q:after{content:"";background:var(--line);flex:1;height:1px}.label.svelte-1n46o8q:not(:first-child){margin-top:3.5rem}.lede.svelte-1n46o8q{font:300 clamp(1.3rem, 2.4vw, 1.6rem) / 1.45 var(--serif);font-variation-settings:"opsz" 36;text-wrap:pretty;margin:0 0 1.25rem}.stats.svelte-1n46o8q{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:2.5rem 0 0;display:grid}.stats.svelte-1n46o8q div:where(.svelte-1n46o8q){flex-direction:column-reverse;justify-content:flex-end;padding:1.25rem 0 0;display:flex}.stats.svelte-1n46o8q div:where(.svelte-1n46o8q)+div:where(.svelte-1n46o8q){border-left:1px solid var(--line);padding-left:1.25rem}.stats.svelte-1n46o8q dd:where(.svelte-1n46o8q){font:400 clamp(2.25rem, 5vw, 3.25rem) / 1 var(--serif);font-variation-settings:"opsz" 144;letter-spacing:-.03em;margin:0}.stats.svelte-1n46o8q dt:where(.svelte-1n46o8q){font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin-top:.4rem}.timeline.svelte-1n46o8q{--rail:0px;--gap:1rem;margin:0;padding:0;list-style:none;position:relative}@media (width>=40rem){.timeline.svelte-1n46o8q{--year:5rem;--gap:2rem;--rail:calc(var(--year) + var(--gap))}}.timeline.svelte-1n46o8q:before,.timeline.svelte-1n46o8q:after{content:"";top:.6rem;bottom:0;left:calc(var(--rail) + 5px);background:var(--line);width:1px;position:absolute}.timeline.svelte-1n46o8q:after{background:var(--accent);transform-origin:top}.entry.svelte-1n46o8q{column-gap:var(--gap);grid-template-columns:11px 1fr;padding-bottom:3rem;display:grid}@media (width>=40rem){.entry.svelte-1n46o8q{grid-template-columns:var(--year) 11px 1fr}}.year.svelte-1n46o8q{display:none}@media (width>=40rem){.year.svelte-1n46o8q{display:block}}.year.svelte-1n46o8q{text-align:right;color:var(--ink-2);padding-top:.35rem;font-size:.8rem}.node.svelte-1n46o8q{z-index:1;background:var(--paper);border:1.5px solid var(--accent);border-radius:50%;width:11px;height:11px;margin-top:.55rem;transition:background .25s,transform .25s;position:relative}.current.svelte-1n46o8q .node:where(.svelte-1n46o8q){background:var(--accent)}.current.svelte-1n46o8q .node:where(.svelte-1n46o8q):after{content:"";border:1px solid var(--accent);border-radius:50%;animation:2.4s ease-out infinite svelte-1n46o8q-pulse;position:absolute;inset:-6px}.entry.svelte-1n46o8q:hover .node:where(.svelte-1n46o8q){background:var(--accent);transform:scale(1.35)}article.svelte-1n46o8q{min-width:0}article.svelte-1n46o8q header:where(.svelte-1n46o8q){flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;display:flex}h3.svelte-1n46o8q{font:500 1.75rem/1.15 var(--serif);font-variation-settings:"opsz" 72;letter-spacing:-.02em;margin:0}h3.svelte-1n46o8q a:where(.svelte-1n46o8q){text-decoration:none}h3.svelte-1n46o8q a:where(.svelte-1n46o8q):hover{color:var(--accent)}.where.svelte-1n46o8q{color:var(--ink-2);text-transform:uppercase}.roles.svelte-1n46o8q{gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.roles.svelte-1n46o8q li:where(.svelte-1n46o8q){flex-wrap:wrap;justify-content:space-between;gap:0 1rem;display:flex}.roles.svelte-1n46o8q strong:where(.svelte-1n46o8q){font-weight:500}.roles.svelte-1n46o8q .mono:where(.svelte-1n46o8q){color:var(--ink-2);padding-top:.2rem}.roles.svelte-1n46o8q li:where(.svelte-1n46o8q)+li:where(.svelte-1n46o8q) strong:where(.svelte-1n46o8q){color:var(--ink-2);font-weight:400}.summary.svelte-1n46o8q{font:italic 300 1.15rem/1.45 var(--serif);font-variation-settings:"opsz" 24;text-wrap:pretty;margin:.9rem 0 0}.highlights.svelte-1n46o8q{color:var(--ink-2);gap:.45rem;margin:.75rem 0 0;padding:0;font-size:.975rem;list-style:none;display:grid}.highlights.svelte-1n46o8q li:where(.svelte-1n46o8q){text-wrap:pretty;padding-left:1.1rem;position:relative}.highlights.svelte-1n46o8q li:where(.svelte-1n46o8q):before{content:"";background:var(--accent);width:.45rem;height:1px;position:absolute;top:.72em;left:0}details.svelte-1n46o8q summary:where(.svelte-1n46o8q){cursor:pointer;color:var(--accent);width:fit-content;margin-top:.6rem;list-style:none}details.svelte-1n46o8q summary:where(.svelte-1n46o8q)::-webkit-details-marker{display:none}details.svelte-1n46o8q summary:where(.svelte-1n46o8q):hover{text-underline-offset:3px;text-decoration:underline}details[open].svelte-1n46o8q summary:where(.svelte-1n46o8q){display:none}details[open].svelte-1n46o8q .highlights:where(.svelte-1n46o8q){animation:.4s cubic-bezier(.2,.7,.2,1) svelte-1n46o8q-rise}.tags.svelte-1n46o8q{flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.tags.svelte-1n46o8q li:where(.svelte-1n46o8q){border:1px solid var(--line);color:var(--ink-2);border-radius:99px;padding:.2rem .6rem;transition:border-color .2s,color .2s}.entry.svelte-1n46o8q:hover .tags:where(.svelte-1n46o8q) li:where(.svelte-1n46o8q){border-color:var(--accent);color:var(--ink)}.toggle.svelte-1n46o8q{font:inherit;font-family:var(--mono);cursor:pointer;color:var(--accent);background:0 0;border:0;padding:0;font-size:.75rem}.toggle.svelte-1n46o8q:hover{text-underline-offset:3px;text-decoration:underline}.body.svelte-1n46o8q{color:var(--ink-2);text-wrap:pretty;margin:0 0 1rem}.quotes.svelte-1n46o8q{columns:2 18rem;column-gap:2.5rem}figure.svelte-1n46o8q{break-inside:avoid;border-left:1px solid var(--line);margin:0 0 2.25rem;padding-left:1.25rem;transition:border-color .25s}figure.svelte-1n46o8q:hover{border-color:var(--accent)}blockquote.svelte-1n46o8q{font:300 1.15rem/1.5 var(--serif);font-variation-settings:"opsz" 24;text-wrap:pretty;margin:0}blockquote.svelte-1n46o8q:before{content:"“";color:var(--accent)}blockquote.svelte-1n46o8q:after{content:"”";color:var(--accent)}figcaption.svelte-1n46o8q{flex-direction:column;gap:.1rem;margin-top:.75rem;display:flex}figcaption.svelte-1n46o8q strong:where(.svelte-1n46o8q){font-size:.95rem;font-weight:500}figcaption.svelte-1n46o8q .mono:where(.svelte-1n46o8q){color:var(--ink-2)}.more.svelte-1n46o8q{color:var(--accent);margin-top:.5rem;text-decoration:none;display:inline-block}.more.svelte-1n46o8q:hover{text-underline-offset:3px;text-decoration:underline}.beyond.svelte-1n46o8q{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:2.5rem;display:grid}.beyond.svelte-1n46o8q h3:where(.svelte-1n46o8q){font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-2);margin:0 0 1rem}.thing.svelte-1n46o8q{margin-bottom:1.25rem}.thing.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--ink-2);text-wrap:pretty;margin:0;font-size:.95rem}.thing.svelte-1n46o8q p:where(.svelte-1n46o8q):first-child{color:var(--ink);font:500 1.2rem/1.3 var(--serif);margin-bottom:.25rem}.thing.svelte-1n46o8q .mono:where(.svelte-1n46o8q){color:var(--ink-2);margin-left:.4rem}.skills.svelte-1n46o8q{gap:.9rem;margin:0;display:grid}.skills.svelte-1n46o8q div:where(.svelte-1n46o8q){grid-template-columns:7.5rem 1fr;gap:1rem;display:grid}.skills.svelte-1n46o8q dt:where(.svelte-1n46o8q){text-transform:uppercase;color:var(--ink-2);padding-top:.2rem}.skills.svelte-1n46o8q dd:where(.svelte-1n46o8q){margin:0}@media (width<=40rem){.skills.svelte-1n46o8q div:where(.svelte-1n46o8q){grid-template-columns:1fr;gap:.2rem}}.school.svelte-1n46o8q .mono:where(.svelte-1n46o8q){color:var(--ink-2)}.school.svelte-1n46o8q{margin-bottom:1.75rem}.school-head.svelte-1n46o8q{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:.5rem;display:flex}.school.svelte-1n46o8q h3:where(.svelte-1n46o8q){margin:0}.school.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--ink-2);margin:0}.school.svelte-1n46o8q strong:where(.svelte-1n46o8q){color:var(--ink);font-weight:500}.certs.svelte-1n46o8q{margin:0;padding:0;list-style:none}.certs.svelte-1n46o8q li:where(.svelte-1n46o8q){flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.4rem 0;display:flex}.langs.svelte-1n46o8q li:where(.svelte-1n46o8q){justify-content:flex-start;align-items:baseline}.certs.svelte-1n46o8q .mono:where(.svelte-1n46o8q){color:var(--ink-2);padding-top:.2rem}footer.svelte-1n46o8q{color:var(--ink-2);border-top:1px solid var(--line);padding-top:1.5rem}.open-to.svelte-1n46o8q{font:italic 300 1.05rem/1.5 var(--serif);color:var(--ink-2);text-wrap:pretty;margin:0 0 1.5rem}.open-to.svelte-1n46o8q a:where(.svelte-1n46o8q){color:var(--accent);white-space:nowrap}@keyframes svelte-1n46o8q-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes svelte-1n46o8q-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}@keyframes svelte-1n46o8q-draw{0%{transform:scaleY(0)}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.entry.svelte-1n46o8q{animation:linear both svelte-1n46o8q-rise;animation-timeline:view();animation-range:entry entry 35%}.timeline.svelte-1n46o8q:after{animation:linear both svelte-1n46o8q-draw;animation-timeline:view();animation-range:entry 30% exit 60%}}}@media not (prefers-reduced-motion:no-preference){.side.svelte-1n46o8q>:where(.svelte-1n46o8q),.current.svelte-1n46o8q .node:where(.svelte-1n46o8q):after{animation:none}}@supports not (animation-timeline:view()){.timeline.svelte-1n46o8q:after{display:none}}@media print{.side.svelte-1n46o8q{height:auto;position:static}nav.svelte-1n46o8q,.timeline.svelte-1n46o8q:after,.node.svelte-1n46o8q:after{display:none}.entry.svelte-1n46o8q{break-inside:avoid}}
