.hero[data-astro-cid-bbe6dxrz]{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:40px 72px;align-items:end;padding-top:80px}.hero__text[data-astro-cid-bbe6dxrz]{display:grid;gap:20px;align-content:end}.hero__name[data-astro-cid-bbe6dxrz]{font-size:clamp(2.75rem,6.4vw,5rem);font-weight:700;letter-spacing:-.055em;line-height:.98}.hero__lede[data-astro-cid-bbe6dxrz]{display:grid;gap:6px;margin-bottom:6px}.hero__role[data-astro-cid-bbe6dxrz]{font-size:clamp(1.35rem,2.4vw,1.75rem);font-weight:550;line-height:1.25;letter-spacing:-.025em;color:var(--ink)}.hero__claim[data-astro-cid-bbe6dxrz]{font-size:clamp(1.15rem,1.9vw,1.375rem);font-weight:400;line-height:1.35;letter-spacing:-.015em;color:color-mix(in oklab,var(--ink-2) 55%,var(--ink-3))}.hero__bio[data-astro-cid-bbe6dxrz]{display:grid;gap:12px;max-width:62ch;color:var(--ink-2);font-size:1.0625rem}.hero__links[data-astro-cid-bbe6dxrz]{margin-top:4px}.hero__photo[data-astro-cid-bbe6dxrz]{margin:0}.hero__photo[data-astro-cid-bbe6dxrz] img[data-astro-cid-bbe6dxrz]{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:18px;background:var(--bg-sunk);box-shadow:var(--shadow)}@media(max-width:860px){.hero[data-astro-cid-bbe6dxrz]{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:40px}.hero__photo[data-astro-cid-bbe6dxrz]{order:-1;width:160px}.hero__photo[data-astro-cid-bbe6dxrz] img[data-astro-cid-bbe6dxrz]{border-radius:14px}}html.no-scroll{overflow:hidden}.path{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,330px);gap:36px;align-items:start}.scrim{display:none}.term{margin-bottom:36px;background:#141517;color:#e8e6e1;border-radius:12px;box-shadow:0 1px 2px #00000014,0 16px 40px -20px #00000073;overflow:hidden;font-family:var(--mono);font-size:.8125rem}.term__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px 14px;border-bottom:1px solid rgb(255 255 255 / .07);color:#ffffff73;font-size:.72rem}.term__dots{display:flex;gap:6px}.term__dots i{width:9px;height:9px;border-radius:50%;background:#e5534b}.term__dots i:nth-child(2){background:#e0a53a}.term__dots i:nth-child(3){background:#4a8be0}.term__step{all:unset;justify-self:end;cursor:pointer}.term__step b{color:#ffffffd9;font-weight:500}.term__replay{margin-left:6px;opacity:0;transition:opacity .15s}.term:hover .term__replay{opacity:1}.term__line{padding:22px 18px 24px;min-height:1.6em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.term__prompt{color:#6fd3a6;margin-right:8px}.term__caret{display:inline-block;width:8px;height:1.15em;margin-left:1px;vertical-align:text-bottom;background:#e5534b;animation:caret 1s steps(1) infinite}@keyframes caret{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.term__caret{animation:none}}.legend__item{all:unset;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);cursor:pointer;padding:4px 0}.legend__item:focus-visible{outline:2px solid var(--career);outline-offset:3px;border-radius:4px}.legend__item[aria-pressed=false]{color:var(--ink-3);text-decoration:line-through}.legend__item[aria-pressed=false] .dot{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.legend__note{display:inline-flex;align-items:center;gap:8px;color:var(--ink-3);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.legend__dash{width:18px;border-top:2px dashed var(--education)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--career);flex:none}.dot[data-cat=education]{background:var(--education)}.dot[data-cat=builder]{background:var(--builder)}.pg{display:grid;grid-template-columns:104px var(--graph-w, 100px) minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr)}.ph{display:contents}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;margin-bottom:14px}.legend__note{margin-left:auto}.ph__when{grid-row:var(--r);grid-column:1;align-self:center;color:var(--ink-3);font-size:.75rem;white-space:nowrap}.ph__graph{grid-row:var(--r);grid-column:2;position:relative;min-height:88px}.ph__graph svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.ph__cell{grid-row:var(--r) / span var(--span);grid-column:var(--c) / span var(--cs, 1);display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 4px;border-top:1px solid var(--rule);isolation:isolate}.ph__cell:not([data-col=work]){border-left:1px solid var(--rule)}.ph:last-child .ph__cell{border-bottom:1px solid var(--rule)}.ph__cell .item{flex:1}.item:after{content:"";position:absolute;left:4px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--career);opacity:.45;transition:opacity .15s}.item[data-cat=education]:after{background:var(--education)}.item[data-cat=builder]:after{background:var(--builder)}.item.item--progress:after{background:repeating-linear-gradient(to bottom,var(--education) 0 4px,transparent 4px 8px);opacity:.7}.item[data-join~=up]:after{top:-7px;border-top-left-radius:0;border-top-right-radius:0}.item[data-join~=down]:after{bottom:-6px;border-bottom-left-radius:0;border-bottom-right-radius:0}.item:hover:after,.item.is-lit:after,.item.is-active:after,.path[data-hl^=retinsight] .item[data-join]:after{opacity:1}.seg{fill:none;stroke:var(--career);stroke-width:2;stroke-linecap:round;transition:opacity .2s}.seg[data-cat=education]{stroke:var(--education)}.seg[data-cat=builder]{stroke:var(--builder)}.seg--dashed{stroke-dasharray:4 5;stroke-linecap:butt;opacity:.75}.node{--c: var(--career);position:absolute;z-index:2;top:50%;width:15px;height:15px;margin:-7.5px 0 0 -7.5px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 2px var(--c);transition:transform .2s,opacity .2s,box-shadow .2s}.node:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--c)}.node[data-cat=education]{--c: var(--education)}.node[data-cat=builder]{--c: var(--builder)}.node--head{background:var(--c)}.node--head:after{inset:4.5px;background:var(--bg)}.node--head:before{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--c);opacity:0;animation:halo 2.4s ease-out infinite}@keyframes halo{0%{transform:scale(.6);opacity:.55}to{transform:scale(1.4);opacity:0}}@media(prefers-reduced-motion:reduce){.node--head:before{animation:none}}.node.is-hl,.node.is-lit,.node.is-active{transform:scale(1.3)}.node.is-lit{box-shadow:inset 0 0 0 2px var(--c),0 0 0 5px color-mix(in oklab,var(--c) 22%,transparent)}.pg.will-draw .ph__graph svg{clip-path:inset(100% -20px 0 -20px)}.pg.will-draw .node{opacity:0}.pg.will-draw.is-drawn .ph__graph svg{clip-path:inset(0 -20px 0 -20px);transition:clip-path .42s ease-in-out calc(var(--i) * .22s)}.pg.will-draw.is-drawn .node{opacity:1;transition:opacity .3s calc(var(--i) * .22s + .25s),transform .2s,box-shadow .2s}.item{all:unset;box-sizing:border-box;position:relative;display:grid;align-content:center;gap:2px;width:100%;padding:10px 12px 10px 16px;cursor:pointer}.item:before{content:"";position:absolute;inset:0 4px;border-radius:10px;background:transparent;transition:background .15s;z-index:-1}.item:hover:before,.item.is-lit:before{background:var(--bg-sunk)}.item.is-active:before{background:var(--bg-elev);box-shadow:inset 0 0 0 1px var(--rule)}.item:focus-visible{outline:none}.item:focus-visible:before{box-shadow:0 0 0 2px var(--career)}.item__title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;font-size:.975rem;line-height:1.3;letter-spacing:-.01em}.item__meta{color:var(--ink-2);font-size:.875rem;line-height:1.35}.item__foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:4px;color:var(--ink-3)}.item__foot .mono{font-size:.72rem}.badge{padding:1px 8px;border-radius:999px;background:var(--career-soft);color:var(--career);font-size:.72rem;font-weight:500;line-height:1.6}.item[data-cat=education] .badge{background:var(--education-soft);color:var(--education)}.item[data-cat=builder] .badge{background:var(--builder-soft);color:var(--builder)}.pill{padding:0 6px;border-radius:4px;background:var(--career);color:var(--bg);font-size:.65rem;font-weight:600;line-height:1.7;letter-spacing:.05em}.path[data-hide~=career] :is(.seg,.node,.item)[data-cat=career],.path[data-hide~=education] :is(.seg,.node,.item)[data-cat=education],.path[data-hide~=builder] :is(.seg,.node,.item)[data-cat=builder]{opacity:.15}.panel{position:sticky;top:84px;max-height:calc(100vh - 104px);overflow:auto;overscroll-behavior:contain;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow)}.card{position:relative;display:grid;gap:12px;padding:24px 24px 28px}html.js .card:not(.is-open){display:none}html:not(.js) .card+.card{border-top:1px solid var(--rule)}html:not(.js) .panel{position:static;max-height:none}.card__close{display:none}.card__kicker{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.card__title{font-size:1.5rem}.card__org{color:var(--ink-2)}.card__org strong{color:var(--ink);font-weight:600}.card__note{color:var(--ink-3);font-size:.875rem;line-height:1.5}.card__tags{margin-top:2px;display:flex;flex-wrap:wrap;gap:6px}.card__tags li{padding:2px 10px;border-radius:999px;background:var(--career-soft);color:var(--career);font-size:.8rem;font-weight:500}.card[data-cat=education] .card__tags li{background:var(--education-soft);color:var(--education)}.card[data-cat=builder] .card__tags li{background:var(--builder-soft);color:var(--builder)}.card__story{display:grid;gap:10px;margin-top:2px;color:var(--ink-2);font-size:.95rem;line-height:1.65}.card__block{display:grid;gap:8px;margin-top:8px;padding-top:14px;border-top:1px solid var(--rule)}.card__h{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.card__roles li{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:.9rem}.card__roles .mono{color:var(--ink-3);font-size:.72rem;white-space:nowrap}.card__projects a{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;margin-inline:-12px;border-radius:8px;text-decoration:none;font-weight:500;font-size:.925rem;line-height:1.35}.card__projects a:hover{background:var(--bg-sunk)}.card__pubs{display:grid;gap:12px}.card__pubs li{display:grid;gap:2px;font-size:.875rem;line-height:1.4}.card__pubs .mono{color:var(--ink-3);font-size:.7rem}.card__first{color:var(--career)}.card__links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px;font-size:.9rem}.card__links a{color:var(--ink-2);text-decoration:none}.card__links a:hover{color:var(--ink)}@media(max-width:959px){.path{grid-template-columns:minmax(0,1fr)}html.js .panel{position:fixed;z-index:50;inset:auto 0 0;max-height:min(82vh,720px);border-radius:18px 18px 0 0;border-bottom:0;transform:translateY(105%);visibility:hidden;transition:transform .32s cubic-bezier(.3,.8,.2,1),visibility 0s .32s}html.js .path.is-sheet-open .panel{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.3,.8,.2,1)}html.js .scrim{display:block;position:fixed;inset:0;z-index:49;background:#00000052;opacity:0;pointer-events:none;transition:opacity .25s}html.js .path.is-sheet-open .scrim{opacity:1;pointer-events:auto}html.js .card__close{display:grid;place-items:center;position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--rule);background:var(--bg-elev);color:var(--ink-2);font-size:1.4rem;line-height:1;cursor:pointer}.card__title{padding-right:44px}}@media(max-width:720px){.pg{display:block}.legend__note{margin-left:0}.ph{--graph-w: 88px;display:block;position:relative;padding:0 0 8px var(--graph-w);border-top:1px solid var(--rule)}.ph:last-child{border-bottom:1px solid var(--rule)}.ph__graph{position:absolute;left:0;top:0;bottom:0;width:var(--graph-w);min-height:0}.ph__when{padding:14px 0 2px 12px}.pg .ph__cell,.pg .ph:last-child .ph__cell{border:0;padding:0}.pg .node--edge{top:50%!important}.ph__cell.is-empty{display:none}.pg .item[data-join]:after{top:10px;bottom:10px;border-radius:3px}.item{padding:8px 12px}.term__title{display:none}}@media(prefers-reduced-motion:reduce){html.js .panel{transition:none}}.work[data-astro-cid-wkx7uqji]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.work[data-astro-cid-wkx7uqji] li[data-astro-cid-wkx7uqji]{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.work__card[data-astro-cid-wkx7uqji]{height:100%;display:grid;align-content:start;gap:12px;padding:28px 26px 32px;text-decoration:none;transition:background .2s}.work__card[data-astro-cid-wkx7uqji]:hover{background:var(--bg-elev)}.work__top[data-astro-cid-wkx7uqji]{display:flex;justify-content:space-between;gap:12px}.work__arrow[data-astro-cid-wkx7uqji]{color:var(--ink-3);transition:transform .2s,color .2s}.work__card[data-astro-cid-wkx7uqji]:hover .work__arrow[data-astro-cid-wkx7uqji]{color:var(--ink);transform:translate(2px,-2px)}.work__title[data-astro-cid-wkx7uqji]{font-size:1.25rem;letter-spacing:-.025em;line-height:1.2}.work__tagline[data-astro-cid-wkx7uqji]{color:var(--ink-2);font-size:.95rem;line-height:1.5}@media(prefers-reduced-motion:reduce){.work__card[data-astro-cid-wkx7uqji]:hover .work__arrow[data-astro-cid-wkx7uqji]{transform:none}}
