html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
.cursor-tooltip-module__ps9_LW__tooltip{z-index:10000;color:#f4f4f1;min-width:138px;max-width:min(260px,100vw - 24px);font-family:var(--font-geist-sans), sans-serif;pointer-events:none;will-change:transform;background:#151514;border:1px solid #50504b;border-radius:12px;gap:8px;padding:13px 16px;font-size:.8rem;line-height:1.35;display:grid;position:fixed;top:0;left:0;box-shadow:0 8px 24px #0005}.cursor-tooltip-module__ps9_LW__tooltip span{color:#bdbdb6}.cursor-tooltip-module__ps9_LW__tooltip strong{font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:500}@media (prefers-reduced-motion:reduce){.cursor-tooltip-module__ps9_LW__tooltip{will-change:auto}}
.wakatime-card-module__uTPQuW__card{color:#f4f4f1;background:#111110eb;border:1px solid #ffffff26;border-radius:14px;margin-bottom:32px;padding:clamp(20px,3vw,36px)}.wakatime-card-module__uTPQuW__header{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.wakatime-card-module__uTPQuW__header h3{letter-spacing:-.025em;margin:0;font-size:clamp(1.15rem,2vw,1.5rem)}.wakatime-card-module__uTPQuW__header a{color:#c5c5be;text-underline-offset:4px;font-size:.85rem}.wakatime-card-module__uTPQuW__meta{color:#aaa9a3;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:10px 0 24px;font-size:.8rem;display:flex}.wakatime-card-module__uTPQuW__chart{gap:14px;margin:0;padding:0;list-style:none;display:grid}.wakatime-card-module__uTPQuW__row{outline-offset:5px;border-radius:3px;grid-template-columns:28px 90px minmax(20px,1fr) 76px;align-items:center;gap:14px;display:grid;position:relative}.wakatime-card-module__uTPQuW__icon{justify-content:center;display:flex}.wakatime-card-module__uTPQuW__language{color:#d5d5ce;font-size:.8rem}.wakatime-card-module__uTPQuW__track{background:#ffffff09;border-radius:6px;min-width:0;height:30px}.wakatime-card-module__uTPQuW__bar{background:#ededeb;border-radius:6px;min-width:2px;height:100%;display:block}.wakatime-card-module__uTPQuW__duration{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8rem}.wakatime-card-module__uTPQuW__row:focus-visible,.wakatime-card-module__uTPQuW__toggle:focus-visible,.wakatime-card-module__uTPQuW__header a:focus-visible{outline-offset:5px;outline:2px solid #f4f4f1}.wakatime-card-module__uTPQuW__toggle{color:#d5d5ce;text-underline-offset:5px;font:inherit;cursor:pointer;background:0 0;border:0;margin:24px 0 0;padding:8px 0;font-size:.8rem;text-decoration:underline;display:block}.wakatime-card-module__uTPQuW__status{color:#aaa9a3;min-height:100px;font-size:.9rem;line-height:1.6}@media (max-width:540px){.wakatime-card-module__uTPQuW__row{grid-template-columns:24px minmax(20px,1fr) 70px;gap:10px}.wakatime-card-module__uTPQuW__language{grid-area:1/2;font-size:.75rem}.wakatime-card-module__uTPQuW__icon{grid-row:1/3}.wakatime-card-module__uTPQuW__track{grid-area:2/2;height:22px}.wakatime-card-module__uTPQuW__duration{grid-area:2/3;font-size:.75rem}.wakatime-card-module__uTPQuW__row{row-gap:5px}}
.coding-hours-popover-module__Ofw0IG__trigger{color:#d5d5ce;font:inherit;cursor:pointer;text-underline-offset:4px;white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-size:.75rem;text-decoration:underline;display:inline-flex}.coding-hours-popover-module__Ofw0IG__trigger:hover{color:#f4f4f1}.coding-hours-popover-module__Ofw0IG__trigger:focus-visible{outline-offset:4px;outline:2px solid #f4f4f1}.coding-hours-popover-module__Ofw0IG__panel{color:#f4f4f1;background:#111110;border:1px solid #50504b;border-radius:14px;width:min(440px,100vw - 24px);max-height:calc(100dvh - 24px);margin:0;padding:0;position:fixed;inset:0 auto auto 0;overflow:auto;box-shadow:0 12px 32px #0006}.coding-hours-popover-module__Ofw0IG__panel::backdrop{pointer-events:none;background:0 0}.coding-hours-popover-module__Ofw0IG__panel>section{background:0 0;border:0;margin:0;padding:22px}.coding-hours-popover-module__Ofw0IG__panel h3{font-size:1.1rem}.coding-hours-popover-module__Ofw0IG__panel ul{gap:10px}
.experience-module__ZVhj9a__page{--foreground:#f4f4f1;--secondary:#b5b5b0;--rule:#3a3a38;width:min(100%,1400px);color:var(--foreground);background:0 0;margin:0 auto;padding:36px 0 96px}.experience-module__ZVhj9a__page ::selection{color:#171717;background:var(--foreground)}.experience-module__ZVhj9a__page :is(a,button,select):focus-visible{outline:2px solid var(--foreground);outline-offset:4px}.experience-module__ZVhj9a__pageHeader{border-bottom:1px solid var(--rule);margin-bottom:40px;padding-bottom:26px}.experience-module__ZVhj9a__pageHeader h1{font-family:var(--font-geist-sans), sans-serif;letter-spacing:-.035em;margin:0;font-size:clamp(2.25rem,4vw,3.5rem);font-weight:600;line-height:1.1}.experience-module__ZVhj9a__layout{grid-template-columns:256px minmax(0,1fr);align-items:start;gap:48px;display:grid}.experience-module__ZVhj9a__roleNav{min-width:0}.experience-module__ZVhj9a__yearGroup+.experience-module__ZVhj9a__yearGroup{margin-top:32px}.experience-module__ZVhj9a__year{font-family:var(--font-geist-mono), monospace;color:var(--secondary);margin:0 0 12px;font-size:.875rem;font-weight:500}.experience-module__ZVhj9a__roleList{margin:0;padding:0;list-style:none}.experience-module__ZVhj9a__roleList li+li{margin-top:4px}.experience-module__ZVhj9a__roleLink{border-left:1px solid var(--rule);color:var(--secondary);gap:5px;padding:12px 0 12px 16px;line-height:1.5;display:grid}.experience-module__ZVhj9a__roleLink:hover{color:var(--foreground);border-color:var(--secondary)}.experience-module__ZVhj9a__roleLink[aria-current]{color:var(--foreground);border-color:var(--foreground)}.experience-module__ZVhj9a__role{overflow-wrap:anywhere;font-size:.9375rem;font-weight:500}.experience-module__ZVhj9a__organization{color:var(--secondary);font-size:.8125rem}.experience-module__ZVhj9a__mobileNav{display:none}.experience-module__ZVhj9a__detail{min-width:0}.experience-module__ZVhj9a__detailHeader{margin-bottom:32px}.experience-module__ZVhj9a__detailHeader h2{letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere;max-width:28ch;margin:0 0 12px;font-size:clamp(1.65rem,2.6vw,2.35rem);font-weight:550;line-height:1.2}.experience-module__ZVhj9a__detailOrganization{margin:0 0 12px;font-size:1.0625rem;line-height:1.5}.experience-module__ZVhj9a__detailOrganization a{text-underline-offset:4px;text-decoration:underline}.experience-module__ZVhj9a__metadata,.experience-module__ZVhj9a__employmentType{color:var(--secondary);margin:0;font-size:.875rem;line-height:1.7}.experience-module__ZVhj9a__narrative{color:#d5d5d0;overflow-wrap:anywhere;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;max-width:none;font-size:1rem;line-height:1.85;display:grid}.experience-module__ZVhj9a__narrative p{margin:0}.experience-module__ZVhj9a__impact{margin-top:0}.experience-module__ZVhj9a__impact h3{color:var(--foreground);margin:0 0 14px;font-size:1rem;font-weight:600;line-height:1.5}.experience-module__ZVhj9a__impact ul{margin:0;padding-left:21px;list-style:outside}.experience-module__ZVhj9a__impact li{padding-left:5px}.experience-module__ZVhj9a__impact li+li{margin-top:14px}.experience-module__ZVhj9a__impact li::marker{color:var(--secondary)}.experience-module__ZVhj9a__gallery{margin:0 0 36px}.experience-module__ZVhj9a__photoFrame{margin-inline:-8px;padding:8px;position:relative}.experience-module__ZVhj9a__photoFrame:before,.experience-module__ZVhj9a__photoFrame:after{border-color:var(--secondary);pointer-events:none;content:"";border-style:solid;width:20px;height:20px;position:absolute}.experience-module__ZVhj9a__photoFrame:before{border-width:1px 0 0 1px;top:0;left:0}.experience-module__ZVhj9a__photoFrame:after{border-width:0 1px 1px 0;bottom:0;right:0}.experience-module__ZVhj9a__photo{aspect-ratio:16/7;background:0 0;max-height:390px;position:relative;overflow:hidden}.experience-module__ZVhj9a__image{object-fit:contain}.experience-module__ZVhj9a__photoControls{border-bottom:1px solid var(--rule);color:var(--secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-top:8px;padding-block:8px;font-size:.8125rem;display:flex}.experience-module__ZVhj9a__photoCount{font-variant-numeric:tabular-nums;font-family:var(--font-geist-mono), monospace}.experience-module__ZVhj9a__photoButtons{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.experience-module__ZVhj9a__control,.experience-module__ZVhj9a__photoNumber{min-width:44px;min-height:44px;color:var(--secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:8px;font-size:.8125rem}.experience-module__ZVhj9a__control:hover,.experience-module__ZVhj9a__photoNumber:hover{color:var(--foreground);background:#242424}.experience-module__ZVhj9a__photoNumber[aria-pressed=true]{text-underline-offset:5px;color:var(--foreground);text-decoration:underline}@media (max-width:1000px){.experience-module__ZVhj9a__narrative{grid-template-columns:minmax(0,1fr);gap:28px}.experience-module__ZVhj9a__layout{grid-template-columns:240px minmax(0,1fr);gap:36px}}@media (max-width:760px){.experience-module__ZVhj9a__photo{aspect-ratio:16/10}.experience-module__ZVhj9a__page{padding-top:24px;padding-bottom:64px}.experience-module__ZVhj9a__pageHeader{margin-bottom:24px;padding-bottom:22px}.experience-module__ZVhj9a__layout{grid-template-columns:minmax(0,1fr);gap:32px}.experience-module__ZVhj9a__roleNav{display:none}.experience-module__ZVhj9a__mobileNav{gap:10px;min-width:0;display:grid}.experience-module__ZVhj9a__mobileNav label{color:var(--secondary);font-size:.875rem}.experience-module__ZVhj9a__mobileNav select{width:100%;min-width:0;min-height:48px;color:var(--foreground);font:inherit;text-overflow:ellipsis;background:#242424;border:1px solid #62625e;border-radius:4px;padding:12px}.experience-module__ZVhj9a__photoControls{align-items:flex-start}.experience-module__ZVhj9a__photoCount{padding-top:13px}}
