.ExperienceList-module__D5Ug6q__list{flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.ExperienceList-module__D5Ug6q__row{justify-content:space-between;align-items:baseline;gap:var(--space-24);min-width:0;padding-block:var(--space-20);border-bottom:1px solid var(--border-subtle);display:flex}.ExperienceList-module__D5Ug6q__row:last-child{border-bottom:none}.ExperienceList-module__D5Ug6q__left{align-items:baseline;gap:var(--space-8);min-width:0;display:flex}.ExperienceList-module__D5Ug6q__company{color:var(--text-primary)}.ExperienceList-module__D5Ug6q__sep,.ExperienceList-module__D5Ug6q__discipline{color:var(--text-tertiary)}@media (max-width:767px){.ExperienceList-module__D5Ug6q__sep,.ExperienceList-module__D5Ug6q__discipline{display:none}}.ExperienceList-module__D5Ug6q__period{white-space:nowrap;text-align:right;color:var(--text-tertiary);flex:none}
.InfoColumn-module__lUQIta__sticky{top:var(--sticky-top);background:var(--bg-page);min-width:0;position:sticky}.InfoColumn-module__lUQIta__content{gap:var(--space-56);flex-direction:column;display:flex}.InfoColumn-module__lUQIta__aboutBlock{gap:var(--space-16);flex-direction:column;display:flex}.InfoColumn-module__lUQIta__greeting{color:var(--text-primary);margin:0}.InfoColumn-module__lUQIta__bio{flex-direction:column;display:flex}.InfoColumn-module__lUQIta__bioText{color:var(--text-secondary);margin:0}.InfoColumn-module__lUQIta__bioText+.InfoColumn-module__lUQIta__bioText{margin-top:var(--b6-line)}@media (max-width:1023px){.InfoColumn-module__lUQIta__sticky{position:static}}@media (max-width:767px){.InfoColumn-module__lUQIta__content{gap:var(--space-40)}}
.PortraitCard-module__pp-bLG__card{aspect-ratio:3/4;min-width:0;padding:var(--space-24);border:1px solid var(--border-subtle);border-radius:var(--radius-about-card);position:relative;overflow:hidden}.PortraitCard-module__pp-bLG__media{position:absolute;inset:0}:is(.PortraitCard-module__pp-bLG__media img,.PortraitCard-module__pp-bLG__media video,.PortraitCard-module__pp-bLG__media [class*=placeholder]){object-fit:cover;object-position:50% 30%;width:100%;height:100%}.PortraitCard-module__pp-bLG__dither{opacity:0;pointer-events:none;-webkit-mask-image:radial-gradient(circle var(--portrait-spotlight-radius) at var(--spot-x,50%) var(--spot-y,50%), #000 0%, #000000eb 25%, #000000b3 45%, #00000073 60%, #00000038 75%, #00000014 87%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--portrait-spotlight-radius) at var(--spot-x,50%) var(--spot-y,50%), #000 0%, #000000eb 25%, #000000b3 45%, #00000073 60%, #00000038 75%, #00000014 87%, transparent 100%);mask-image:radial-gradient(circle var(--portrait-spotlight-radius) at var(--spot-x,50%) var(--spot-y,50%), #000 0%, #000000eb 25%, #000000b3 45%, #00000073 60%, #00000038 75%, #00000014 87%, transparent 100%);transition:opacity .22s ease-out;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.PortraitCard-module__pp-bLG__card:hover .PortraitCard-module__pp-bLG__dither{opacity:1}}@media (prefers-reduced-motion:reduce){.PortraitCard-module__pp-bLG__dither{transition:none}}.PortraitCard-module__pp-bLG__label{z-index:1;max-width:100%;color:var(--text-primary);overflow-wrap:anywhere;text-transform:uppercase;margin:0;position:relative}@media (min-width:1024px){.PortraitCard-module__pp-bLG__card{aspect-ratio:auto;height:458px}}@media (min-width:768px) and (max-width:1023px){.PortraitCard-module__pp-bLG__card{aspect-ratio:16/10}}@media (max-width:767px){.PortraitCard-module__pp-bLG__card{aspect-ratio:auto;border-radius:var(--radius-about-card);height:458px;max-height:none}}
.ToolStackCard-module__53eQVG__card{gap:var(--space-16);width:100%;padding:var(--space-24);border:1px solid var(--border-subtle);border-radius:var(--radius-about-card);background:var(--bg-card-light);flex-direction:column;display:flex;position:relative}.ToolStackCard-module__53eQVG__header{color:var(--text-secondary);text-transform:uppercase}.ToolStackCard-module__53eQVG__stage{aspect-ratio:324/428;width:100%;margin:0;padding:0;list-style:none;position:relative;overflow:visible;container-type:inline-size}.ToolStackCard-module__53eQVG__folder{width:100%;position:absolute;left:0}.ToolStackCard-module__53eQVG__folder:first-child{height:40.123cqw;top:0}.ToolStackCard-module__53eQVG__folder:nth-child(2){height:41.358cqw;top:29.63cqw}.ToolStackCard-module__53eQVG__folder:nth-child(3){height:41.358cqw;top:62.346cqw}.ToolStackCard-module__53eQVG__folder:nth-child(4){height:40.123cqw;top:91.975cqw}.ToolStackCard-module__53eQVG__btn{background:var(--folder-color);cursor:pointer;width:100%;font:inherit;text-align:left;border:0;margin:0;padding:0;transition:background-color .18s ease-in;position:absolute;inset:0}.ToolStackCard-module__53eQVG__folder[data-side=left] .ToolStackCard-module__53eQVG__btn{clip-path:polygon(0 0,53.1% 0,calc(53.1% + 8.025cqw) 8.025cqw,100% 8.025cqw,100% 100%,0 100%)}.ToolStackCard-module__53eQVG__folder[data-side=right] .ToolStackCard-module__53eQVG__btn{clip-path:polygon(0 8.025cqw,39.2% 8.025cqw,calc(39.2% + 8.025cqw) 0,100% 0,100% 100%,0 100%)}@supports (clip-path:shape(from 0 0, line to 100% 100%)){.ToolStackCard-module__53eQVG__folder:first-child[data-side=left] .ToolStackCard-module__53eQVG__btn{clip-path:shape(from 0 2.469cqw, arc to 2.469cqw 0 of 2.469cqw cw, line to 53.1% 0, line to calc(53.1% + 8.025cqw) 8.025cqw, line to calc(100% - 2.469cqw) 8.025cqw, arc to 100% 10.494cqw of 2.469cqw cw, line to 100% 100%, line to 0 100%, close)}.ToolStackCard-module__53eQVG__folder:nth-child(4)[data-side=right] .ToolStackCard-module__53eQVG__btn{clip-path:shape(from 0 8.025cqw, line to 39.2% 8.025cqw, line to calc(39.2% + 8.025cqw) 0, line to 100% 0, line to 100% calc(100% - 2.469cqw), arc to calc(100% - 2.469cqw) 100% of 2.469cqw cw, line to 2.469cqw 100%, arc to 0 calc(100% - 2.469cqw) of 2.469cqw cw, close)}}.ToolStackCard-module__53eQVG__folder[data-active] .ToolStackCard-module__53eQVG__btn{background:var(--bg-card-dark);transition:background-color .2s ease-out}.ToolStackCard-module__53eQVG__folder:has(>.ToolStackCard-module__53eQVG__btn:focus-visible){border-radius:var(--space-4);outline:2px solid var(--text-primary);outline-offset:2px}.ToolStackCard-module__53eQVG__num{font-family:var(--font-mono);color:var(--text-tertiary);font-size:3.086cqw;line-height:normal;transition:color .18s ease-in,opacity .18s ease-in;position:absolute;top:3.086cqw;left:6.173cqw}.ToolStackCard-module__53eQVG__folder[data-side=right] .ToolStackCard-module__53eQVG__num{left:54.321cqw}.ToolStackCard-module__53eQVG__folder[data-active] .ToolStackCard-module__53eQVG__num{color:var(--inverse-secondary);transition:color .2s ease-out,opacity .2s ease-out}.ToolStackCard-module__53eQVG__title{font-family:var(--font-editorial);color:var(--text-primary);font-size:9.877cqw;font-weight:200;line-height:normal;transition:color .18s ease-in,opacity .18s ease-in;position:absolute;top:19.136cqw;left:6.173cqw}.ToolStackCard-module__53eQVG__folder[data-active] .ToolStackCard-module__53eQVG__title{color:var(--text-inverse-primary);transition:color .2s ease-out,opacity .2s ease-out}.ToolStackCard-module__53eQVG__stage:has(.ToolStackCard-module__53eQVG__folder[data-active]) .ToolStackCard-module__53eQVG__folder:not([data-active]) .ToolStackCard-module__53eQVG__title{opacity:.16}.ToolStackCard-module__53eQVG__stage:has(.ToolStackCard-module__53eQVG__folder[data-active]) .ToolStackCard-module__53eQVG__folder:not([data-active]) .ToolStackCard-module__53eQVG__num{opacity:.38}.ToolStackCard-module__53eQVG__tools{font-family:var(--font-mono);text-transform:lowercase;color:var(--inverse-secondary);opacity:0;font-size:3.086cqw;line-height:4.321cqw;transition:opacity .18s ease-in,transform .18s ease-in;position:absolute;top:13.889cqw;left:6.173cqw;transform:translateY(1.235cqw)}.ToolStackCard-module__53eQVG__folder[data-active] .ToolStackCard-module__53eQVG__tools{opacity:1;transition:opacity .18s ease-out .12s,transform .18s ease-out .12s;transform:translateY(0)}.ToolStackCard-module__53eQVG__icons{pointer-events:none;position:absolute;inset:0}.ToolStackCard-module__53eQVG__icon{top:var(--iy);left:var(--ix);width:var(--is);height:var(--is);filter:drop-shadow(0 1.6cqw 4.4cqw color-mix(in srgb, var(--text-primary) 22%, transparent));transform:translateY(calc(9.5cqw - var(--iy))) rotate(0deg);transition:transform .18s ease-in;position:absolute}.ToolStackCard-module__53eQVG__folder[data-active] .ToolStackCard-module__53eQVG__icon{transform:translateY(0) rotate(var(--rot));transition:transform .38s cubic-bezier(.3,1.45,.55,1);transition-delay:calc(var(--i) * 45ms)}.ToolStackCard-module__53eQVG__mark{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.ToolStackCard-module__53eQVG__hint{align-items:center;gap:var(--space-8);font-family:var(--font-mono);color:var(--text-tertiary);text-transform:uppercase;font-size:10px;display:flex}.ToolStackCard-module__53eQVG__hintIcon{opacity:.75;width:15px;height:auto;display:block}.ToolStackCard-module__53eQVG__hint[data-bob] .ToolStackCard-module__53eQVG__hintIcon{animation:1.1s ease-in-out .4s 3 ToolStackCard-module__53eQVG__hint-bob}@keyframes ToolStackCard-module__53eQVG__hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.ToolStackCard-module__53eQVG__hintTap{display:none}@media (hover:none){.ToolStackCard-module__53eQVG__hintHover{display:none}.ToolStackCard-module__53eQVG__hintTap{display:inline}}@media (prefers-reduced-motion:reduce){.ToolStackCard-module__53eQVG__btn,.ToolStackCard-module__53eQVG__num,.ToolStackCard-module__53eQVG__title,.ToolStackCard-module__53eQVG__tools,.ToolStackCard-module__53eQVG__icon{transition-duration:.15s;transition-delay:0s}.ToolStackCard-module__53eQVG__icon{opacity:0;transform:translateY(0) rotate(var(--rot));transition-property:opacity}.ToolStackCard-module__53eQVG__folder[data-active] .ToolStackCard-module__53eQVG__icon{opacity:1}.ToolStackCard-module__53eQVG__tools{transition-property:opacity;transform:none}.ToolStackCard-module__53eQVG__title{transition-property:color,opacity}.ToolStackCard-module__53eQVG__hint[data-bob] .ToolStackCard-module__53eQVG__hintIcon{animation:none}}
.MapCard-module__gkU4ia__card{--map-chip-gap:var(--switcher-chip-gap);--map-chip-min-block:var(--switcher-chip-min-block);--map-chip-padding-block:var(--switcher-chip-padding-block);--map-chip-padding-inline:var(--switcher-chip-padding-inline);--map-chip-backdrop-blur:var(--switcher-chip-backdrop-blur);--map-chip-code-padding-block:var(--switcher-chip-code-padding-block);--map-marker-width:var(--map-marker-icon-size);--map-marker-height:var(--map-marker-icon-size);--map-marker-label-line:18px;--map-marker-stage-width:320px;aspect-ratio:auto;border-radius:var(--radius-about-card);background:var(--bg-card-dark);isolation:isolate;min-width:0;height:271px;position:relative;overflow:hidden}.MapCard-module__gkU4ia__mapFallback,.MapCard-module__gkU4ia__mapCanvas{position:absolute;inset:0}.MapCard-module__gkU4ia__mapFallback{z-index:0;background:radial-gradient(circle at 52% 38%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 22%), linear-gradient(color-mix(in srgb, var(--text-inverse-primary) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--text-inverse-primary) 5%, transparent) 1px, transparent 1px), var(--bg-card-dark);background-size:auto, var(--space-24) var(--space-24), var(--space-24) var(--space-24), auto}.MapCard-module__gkU4ia__fallbackImage{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.MapCard-module__gkU4ia__card[data-fallback-image=true] .MapCard-module__gkU4ia__mapFallback{background:var(--bg-card-dark)}.MapCard-module__gkU4ia__card[data-fallback-image=true] .MapCard-module__gkU4ia__mapFallback:before,.MapCard-module__gkU4ia__card[data-fallback-image=true] .MapCard-module__gkU4ia__mapFallback:after{display:none}.MapCard-module__gkU4ia__mapFallback:before,.MapCard-module__gkU4ia__mapFallback:after{content:"";background:color-mix(in srgb, var(--text-inverse-primary) 8%, transparent);filter:blur(var(--space-8));border-radius:50%;position:absolute}.MapCard-module__gkU4ia__mapFallback:before{width:48%;height:58%;top:-14%;left:-12%}.MapCard-module__gkU4ia__mapFallback:after{width:56%;height:62%;bottom:-18%;right:-16%}.MapCard-module__gkU4ia__mapCanvas{z-index:1;opacity:0;cursor:grab;transition:opacity .28s}.MapCard-module__gkU4ia__mapCanvas:active{cursor:grabbing}.MapCard-module__gkU4ia__mapCanvas.maplibregl-map{width:100%;height:100%;position:absolute;inset:0}.MapCard-module__gkU4ia__mapCanvas[data-ready=true]{opacity:1}.MapCard-module__gkU4ia__mapCanvas .maplibregl-canvas{outline:none;width:100%!important;height:100%!important}.MapCard-module__gkU4ia__mapCanvas .maplibregl-marker{z-index:2}.MapCard-module__gkU4ia__mapMarker{width:max-content;max-width:var(--map-marker-stage-width);height:var(--map-marker-height);justify-content:center;align-items:center;gap:var(--space-8);pointer-events:none;transform-origin:bottom;display:inline-flex;position:relative}.MapCard-module__gkU4ia__markerPin{width:var(--map-marker-width);height:var(--map-marker-height);flex:none;position:relative}.MapCard-module__gkU4ia__pinDot,.MapCard-module__gkU4ia__pinRing{will-change:opacity, transform;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.MapCard-module__gkU4ia__pinDot{width:calc(var(--map-marker-width) * 7 / 24);height:calc(var(--map-marker-height) * 7 / 24);background:var(--accent)}.MapCard-module__gkU4ia__pinRing{width:calc(var(--map-marker-width) * 17 / 24);height:calc(var(--map-marker-height) * 17 / 24);border:1px solid color-mix(in srgb, var(--accent) 55%, transparent)}.MapCard-module__gkU4ia__markerLabel{min-width:0;color:var(--text-inverse-primary);font-family:var(--font-mono);font-size:var(--b7-size);line-height:var(--map-marker-label-line);text-overflow:ellipsis;text-shadow:0 1px var(--space-8) var(--bg-card-dark);white-space:nowrap;will-change:opacity, transform;overflow:hidden}.MapCard-module__gkU4ia__markerCoordinates{top:var(--map-marker-height);left:calc(var(--map-marker-width) + var(--space-8));color:color-mix(in srgb, var(--text-inverse-primary) 45%, transparent);font-family:var(--font-mono);font-size:calc(var(--b7-size) * .75);text-shadow:0 1px var(--space-8) var(--bg-card-dark);white-space:nowrap;will-change:opacity, transform;line-height:1;position:absolute}.MapCard-module__gkU4ia__mapMarker[data-animate=exit] .MapCard-module__gkU4ia__pinDot,.MapCard-module__gkU4ia__mapMarker[data-animate=exit] .MapCard-module__gkU4ia__pinRing{animation:.16s ease-in both MapCard-module__gkU4ia__markerPinOut}.MapCard-module__gkU4ia__mapMarker[data-animate=exit] .MapCard-module__gkU4ia__markerLabel,.MapCard-module__gkU4ia__mapMarker[data-animate=exit] .MapCard-module__gkU4ia__markerCoordinates{animation:.14s ease-in both MapCard-module__gkU4ia__markerLabelOut}.MapCard-module__gkU4ia__mapMarker[data-animate=hidden] .MapCard-module__gkU4ia__markerPin,.MapCard-module__gkU4ia__mapMarker[data-animate=hidden] .MapCard-module__gkU4ia__markerLabel,.MapCard-module__gkU4ia__mapMarker[data-animate=hidden] .MapCard-module__gkU4ia__markerCoordinates{opacity:0}.MapCard-module__gkU4ia__mapMarker[data-animate=drop] .MapCard-module__gkU4ia__pinDot{animation:.3s cubic-bezier(.34,1.56,.64,1) both MapCard-module__gkU4ia__markerDotGrow}.MapCard-module__gkU4ia__mapMarker[data-animate=drop] .MapCard-module__gkU4ia__pinRing{animation:.36s cubic-bezier(.22,1,.36,1) .22s both MapCard-module__gkU4ia__markerRingIn}.MapCard-module__gkU4ia__mapMarker[data-animate=drop] .MapCard-module__gkU4ia__markerLabel,.MapCard-module__gkU4ia__mapMarker[data-animate=drop] .MapCard-module__gkU4ia__markerCoordinates{animation:.32s .12s both MapCard-module__gkU4ia__markerLabelIn}.MapCard-module__gkU4ia__attribution{right:var(--space-12);bottom:var(--space-8);z-index:3;max-width:calc(100% - var(--space-24));color:var(--text-inverse-primary);font-family:var(--font-mono);font-size:calc(var(--b7-size) * .75);opacity:0;pointer-events:none;text-shadow:0 1px var(--space-8) var(--bg-card-dark);white-space:nowrap;background:0 0;border:0;align-items:center;padding:0;line-height:1;display:inline-flex;position:absolute}.MapCard-module__gkU4ia__attribution a{color:inherit;text-decoration:none}.MapCard-module__gkU4ia__attribution a:hover{opacity:.82}.MapCard-module__gkU4ia__chips{left:var(--space-24);bottom:var(--space-24);z-index:3;align-items:center;gap:var(--space-8);display:flex;position:absolute}.MapCard-module__gkU4ia__chip{justify-content:center;align-items:center;gap:var(--map-chip-gap);min-height:var(--map-chip-min-block);padding:var(--map-chip-padding-block) var(--map-chip-padding-inline);border:1px solid var(--border-on-dark);border-radius:var(--radius-pill);background:var(--surface-on-dark-default);-webkit-backdrop-filter:blur(var(--map-chip-backdrop-blur));backdrop-filter:blur(var(--map-chip-backdrop-blur));color:var(--inverse-secondary);cursor:pointer;margin:0;transition:background .15s,color .15s,transform .12s;display:inline-flex}.MapCard-module__gkU4ia__chip:hover{background:var(--surface-on-dark-hover)}.MapCard-module__gkU4ia__chip:active{transform:translateY(1px)}.MapCard-module__gkU4ia__chip:focus-visible{outline:2px solid var(--text-inverse-primary);outline-offset:2px}.MapCard-module__gkU4ia__chip[data-active=true],.MapCard-module__gkU4ia__chip[data-active=true]:hover{background:var(--bg-image-frame);-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--text-primary)}.MapCard-module__gkU4ia__countryCode{padding:var(--map-chip-code-padding-block) var(--space-4);border:1px solid color-mix(in srgb, var(--text-inverse-primary) 35%, transparent);border-radius:var(--space-4);color:color-mix(in srgb, var(--text-inverse-primary) 60%, transparent);font-family:var(--font-mono);font-size:calc(var(--b7-size) * .75);justify-content:center;align-items:center;line-height:1;display:inline-flex}.MapCard-module__gkU4ia__chip[data-active=true] .MapCard-module__gkU4ia__countryCode{border-color:color-mix(in srgb, var(--text-primary) 30%, transparent);color:color-mix(in srgb, var(--text-primary) 80%, transparent)}.MapCard-module__gkU4ia__srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes MapCard-module__gkU4ia__markerPinOut{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.4)}}@keyframes MapCard-module__gkU4ia__markerLabelOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateX(calc(-1 * var(--space-8)))}}@keyframes MapCard-module__gkU4ia__markerDotGrow{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes MapCard-module__gkU4ia__markerRingIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes MapCard-module__gkU4ia__markerLabelIn{0%{opacity:0;transform:translateX(calc(-1 * var(--space-8)))}to{opacity:1;transform:translate(0)}}@media (min-width:1024px){.MapCard-module__gkU4ia__card{aspect-ratio:auto;height:271px}}@media (max-width:767px){.MapCard-module__gkU4ia__card{aspect-ratio:auto;height:271px}.MapCard-module__gkU4ia__chips{left:var(--space-16);right:var(--space-16);bottom:var(--space-16);flex-wrap:wrap}.MapCard-module__gkU4ia__attribution{right:var(--space-16);bottom:var(--space-4)}}@media (prefers-reduced-motion:reduce){.MapCard-module__gkU4ia__mapCanvas,.MapCard-module__gkU4ia__chip{transition:none}.MapCard-module__gkU4ia__mapMarker[data-animate=exit] .MapCard-module__gkU4ia__pinDot,.MapCard-module__gkU4ia__mapMarker[data-animate=exit] .MapCard-module__gkU4ia__pinRing,.MapCard-module__gkU4ia__mapMarker[data-animate=exit] .MapCard-module__gkU4ia__markerLabel,.MapCard-module__gkU4ia__mapMarker[data-animate=hidden] .MapCard-module__gkU4ia__markerPin,.MapCard-module__gkU4ia__mapMarker[data-animate=hidden] .MapCard-module__gkU4ia__markerLabel,.MapCard-module__gkU4ia__mapMarker[data-animate=drop] .MapCard-module__gkU4ia__pinDot,.MapCard-module__gkU4ia__mapMarker[data-animate=drop] .MapCard-module__gkU4ia__pinRing,.MapCard-module__gkU4ia__mapMarker[data-animate=drop] .MapCard-module__gkU4ia__markerLabel{animation:none}}
