.heading[data-astro-cid-ofrg5rh5]{margin:0;font-family:var(--font-mincho);font-weight:400}.mask[data-astro-cid-ofrg5rh5]{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.16em;margin-bottom:-.16em}.char[data-astro-cid-ofrg5rh5]{display:inline-block}@media(prefers-reduced-motion:no-preference){.char[data-astro-cid-ofrg5rh5]{transform:translateY(100%);transition:transform .6s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--char-index) * 30ms)}[data-reveal-group].is-visible .char[data-astro-cid-ofrg5rh5]{transform:none}}.hero[data-astro-cid-ct3bgug4]{display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:calc(var(--nav-height) + 2rem) var(--page-gutter) 4rem}.name-row[data-astro-cid-ct3bgug4]{display:flex;align-items:center;gap:clamp(1rem,2.5vw,1.75rem);margin:.2em 0 0}.name[data-astro-cid-ct3bgug4]{margin:0;min-height:1lh;font-weight:400}.photo[data-astro-cid-ct3bgug4]{flex-shrink:0;width:clamp(5rem,9vw,8.5rem);height:clamp(5rem,9vw,8.5rem);border:1px solid var(--line-strong);border-radius:50%;box-shadow:0 0 0 4px var(--surface),0 0 0 5px var(--line);object-fit:cover}@media(hover:hover)and (prefers-reduced-motion:no-preference){.photo[data-astro-cid-ct3bgug4]{transition:transform .3s ease}.photo[data-astro-cid-ct3bgug4]:hover{transform:scale(1.04)}}.role[data-astro-cid-ct3bgug4]{margin:1.2em 0 0;min-height:1lh;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.2em;font-size:var(--fs-small)}.name[data-astro-cid-ct3bgug4].is-typing:after,.role[data-astro-cid-ct3bgug4].is-typing:after,.tagline[data-astro-cid-ct3bgug4].is-typing:after{content:"|";margin-left:.1em;animation:caret 1s step-end infinite}@keyframes caret{50%{opacity:0}}.tagline[data-astro-cid-ct3bgug4]{margin:1.6em 0 0;min-height:1lh;max-width:52ch;color:var(--ink-muted)}.cta[data-astro-cid-ct3bgug4]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.5rem}.cta-link[data-astro-cid-ct3bgug4]{border:1px solid var(--line-strong);border-radius:999px;padding:.6em 1.8em;font-size:var(--fs-small);letter-spacing:.14em;text-transform:uppercase;transition:background-color .3s ease,color .3s ease}.cta-link[data-astro-cid-ct3bgug4]:hover{background-color:var(--ink);color:var(--surface)}.scroll[data-astro-cid-ct3bgug4]{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.9rem;margin-top:4rem;color:var(--ink-faint);font-size:var(--fs-small);line-height:1.2;letter-spacing:.2em;text-transform:uppercase;transition:opacity .4s ease}.scroll[data-astro-cid-ct3bgug4]:after{content:"";width:1px;height:3.5rem;background-color:var(--line-strong);transform:scaleY(0);transform-origin:top;animation:scroll-line 1.8s ease-in-out infinite}@keyframes scroll-line{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}50.01%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}html[data-scrolled] .scroll[data-astro-cid-ct3bgug4]{opacity:0}.eyebrow[data-astro-cid-ct3bgug4]{margin:0;color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.24em;text-transform:uppercase}.block[data-astro-cid-ct3bgug4]{border-top:1px solid var(--line);padding-block:clamp(5rem,20vh,14rem);padding-inline:var(--page-gutter)}.section-head[data-astro-cid-ct3bgug4]{display:flex;align-items:baseline;flex-wrap:wrap;gap:clamp(1rem,3vw,2.5rem);margin-bottom:clamp(2.5rem,7vh,5rem)}.panel[data-astro-cid-ct3bgug4]{padding:clamp(1.5rem,4vw,3rem)}.panel[data-astro-cid-ct3bgug4]+.panel[data-astro-cid-ct3bgug4]{margin-top:clamp(1rem,2vw,1.75rem)}.prose[data-astro-cid-ct3bgug4]{margin:0;max-width:68ch;color:var(--ink-muted);overflow-wrap:anywhere}.prose[data-astro-cid-ct3bgug4]+.prose[data-astro-cid-ct3bgug4]{margin-top:1.6em}.badge[data-astro-cid-ct3bgug4]{border:1px solid var(--line);border-radius:999px;padding:.25em .9em;color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.14em;white-space:nowrap}.tags[data-astro-cid-ct3bgug4]{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]{position:relative;border:1px solid var(--line);border-radius:.5rem;padding:.2em .75em;color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.1em}@media(hover:hover){.tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]{transition:border-color .25s ease}.tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]:hover{border-color:var(--line-strong)}}.tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]:focus-within{border-color:var(--line-strong)}.tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]>a[data-astro-cid-ct3bgug4]{display:block;margin:-.2em -.75em;padding:.2em .75em}.tag-tip[data-astro-cid-ct3bgug4]{--tip-x: -50%;position:absolute;left:50%;bottom:calc(100% + .5rem);translate:var(--tip-x) 4px;z-index:20;display:block;width:max-content;max-width:16rem;padding:.6em .85em;border:1px solid var(--line);border-radius:.5rem;background-color:color-mix(in srgb,var(--surface) 90%,transparent);font-size:var(--fs-small);letter-spacing:normal;opacity:0;visibility:hidden;pointer-events:none}.tag-tip[data-astro-cid-ct3bgug4][data-align=start]{--tip-x: 0%;left:0}.tag-tip[data-astro-cid-ct3bgug4][data-align=end]{--tip-x: 0%;left:auto;right:0}.tag-tip-name[data-astro-cid-ct3bgug4]{display:block;color:var(--ink);font-weight:500}.tag-tip-host[data-astro-cid-ct3bgug4]{display:block;margin-top:.15em;color:var(--ink-faint)}.tag-tip-note[data-astro-cid-ct3bgug4]{display:block;margin-top:.35em;color:var(--ink-muted);line-height:1.5}.tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]:focus-within .tag-tip[data-astro-cid-ct3bgug4]{opacity:1;visibility:visible;translate:var(--tip-x) 0}@media(prefers-reduced-motion:no-preference){.tag-tip[data-astro-cid-ct3bgug4]{transition:opacity .15s ease,translate .15s ease,visibility .15s}}@media(hover:hover){.tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]:hover .tag-tip[data-astro-cid-ct3bgug4]{opacity:1;visibility:visible;translate:var(--tip-x) 0}}.cards[data-astro-cid-ct3bgug4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem);margin:0;padding:0;list-style:none}.card[data-astro-cid-ct3bgug4]{display:flex;flex-direction:column;gap:1.25rem;padding:clamp(1.5rem,3vw,2.5rem);transition:transform .25s ease,border-color .25s ease}@media(hover:hover){.card[data-astro-cid-ct3bgug4]:hover{border-color:var(--line-strong)}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.card[data-astro-cid-ct3bgug4]:hover{transform:translateY(-4px)}.card[data-astro-cid-ct3bgug4] .tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]{transition:transform .25s ease,border-color .25s ease}.card[data-astro-cid-ct3bgug4]:hover .tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]{transform:translateY(-2px);transition-delay:calc(var(--i) * 30ms)}.card[data-astro-cid-ct3bgug4]:hover .card-link[data-astro-cid-ct3bgug4]:after{transform:translate(4px)}}.card-head[data-astro-cid-ct3bgug4]{display:flex;align-items:center;flex-wrap:wrap;gap:1rem}.year[data-astro-cid-ct3bgug4]{color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.24em}.card-title[data-astro-cid-ct3bgug4]{margin:0;font-family:var(--font-mincho);font-weight:400}.card-body[data-astro-cid-ct3bgug4]{margin:0;color:var(--ink-muted);overflow-wrap:anywhere}.card-link[data-astro-cid-ct3bgug4]{margin-top:auto;align-self:flex-start;border-bottom:1px solid var(--line-strong);padding-bottom:.3em;color:var(--ink-muted);font-size:var(--fs-small);letter-spacing:.14em;transition:color .3s ease}.card-link[data-astro-cid-ct3bgug4]:hover{color:var(--ink)}.card-link[data-astro-cid-ct3bgug4]:after{content:"→";display:inline-block;margin-left:.6em;transition:transform .25s ease}.about-meta[data-astro-cid-ct3bgug4]{margin:2.5em 0 0;color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.14em}.timeline[data-astro-cid-ct3bgug4]{position:relative;margin:0;padding:0;list-style:none}.timeline[data-astro-cid-ct3bgug4].is-animated:after{content:"";position:absolute;left:var(--line-left, 0);top:var(--line-top, 0);width:1px;height:var(--line-height, 0);background-color:var(--line);transform:scaleY(var(--timeline-progress, 0));transform-origin:top}.timeline[data-astro-cid-ct3bgug4].is-animated .entry-body[data-astro-cid-ct3bgug4]{border-left-color:transparent}.timeline[data-astro-cid-ct3bgug4].is-animated .entry-body[data-astro-cid-ct3bgug4]:before{transform:scale(0);transition:transform .45s cubic-bezier(.34,1.56,.64,1)}.timeline[data-astro-cid-ct3bgug4].is-animated .entry[data-astro-cid-ct3bgug4].is-on .entry-body[data-astro-cid-ct3bgug4]:before{transform:scale(1)}.entry[data-astro-cid-ct3bgug4]{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(.75rem,3vw,2.5rem);padding-block:clamp(1.75rem,4vh,3rem)}.entry[data-astro-cid-ct3bgug4]+.entry[data-astro-cid-ct3bgug4]{border-top:1px solid var(--line)}.period[data-astro-cid-ct3bgug4]{display:flex;flex-wrap:wrap;align-items:center;align-self:start;gap:.75rem;padding-top:.5em;color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.14em}.entry-body[data-astro-cid-ct3bgug4]{position:relative;border-left:1px solid var(--line);padding-left:clamp(1.25rem,3vw,2.5rem)}.entry-body[data-astro-cid-ct3bgug4]:before{content:"";position:absolute;left:-.3125rem;top:.6em;width:.625rem;height:.625rem;border-radius:50%;background-color:var(--line-strong)}.entry-role[data-astro-cid-ct3bgug4]{margin:0;font-weight:400}.entry-org[data-astro-cid-ct3bgug4]{margin:.4em 0 0;color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.14em}.entry-org[data-astro-cid-ct3bgug4] a[data-astro-cid-ct3bgug4]{border-bottom:1px solid var(--line);transition:color .3s ease}.entry-org[data-astro-cid-ct3bgug4] a[data-astro-cid-ct3bgug4]:hover{color:var(--ink)}.entry-blurb[data-astro-cid-ct3bgug4]{margin:1.2em 0 0;max-width:60ch;color:var(--ink-muted);overflow-wrap:anywhere}.entry-highlights[data-astro-cid-ct3bgug4]{display:flex;flex-direction:column;gap:.5em;margin:.9em 0 0;padding:0;max-width:60ch;list-style:none;color:var(--ink-muted)}.entry-highlights[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]{padding-left:1.1em;position:relative;line-height:1.5;overflow-wrap:anywhere}.entry-highlights[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]:before{content:"—";position:absolute;left:0;color:var(--ink-faint)}.entry-highlights[data-astro-cid-ct3bgug4] strong[data-astro-cid-ct3bgug4]{color:var(--ink);font-weight:500}.kaggle-links[data-astro-cid-ct3bgug4]{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}.sub-title[data-astro-cid-ct3bgug4]{margin:0 0 2rem;color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.24em;text-transform:uppercase;font-weight:400}.capabilities[data-astro-cid-ct3bgug4]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.75rem);margin:0;padding:0;list-style:none}.capability-title[data-astro-cid-ct3bgug4]{margin:0 0 .6em;font-family:var(--font-mincho)}.groups[data-astro-cid-ct3bgug4]{display:grid;gap:clamp(1.25rem,3vw,2rem);margin:0}.stack[data-astro-cid-ct3bgug4][data-spotlight]{overflow:visible}.stack[data-astro-cid-ct3bgug4][data-spotlight]:before{border-radius:inherit}.group[data-astro-cid-ct3bgug4]{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:.75rem clamp(1rem,2vw,2rem);align-items:baseline}.group[data-astro-cid-ct3bgug4] dt[data-astro-cid-ct3bgug4]{color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.2em;text-transform:uppercase}.group[data-astro-cid-ct3bgug4] dd[data-astro-cid-ct3bgug4]{margin:0}@media(prefers-reduced-motion:no-preference){.group[data-astro-cid-ct3bgug4] .tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]{opacity:0;transform:scale(.9);transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1),border-color .25s ease;transition-delay:calc(var(--i) * 25ms)}[data-astro-cid-ct3bgug4][data-reveal-group].is-visible .group[data-astro-cid-ct3bgug4] .tags[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]{opacity:1;transform:none}}.links[data-astro-cid-ct3bgug4]{display:grid;gap:1rem;margin:2.5rem 0 0;padding:0;list-style:none}.links[data-astro-cid-ct3bgug4] li[data-astro-cid-ct3bgug4]{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem clamp(1rem,2vw,2rem);border-top:1px solid var(--line);padding-top:1rem}.link-label[data-astro-cid-ct3bgug4]{min-width:8rem;color:var(--ink-faint);font-size:var(--fs-small);letter-spacing:.2em;text-transform:uppercase}.links[data-astro-cid-ct3bgug4] a[data-astro-cid-ct3bgug4]{color:var(--ink-muted);overflow-wrap:anywhere;transition:color .3s ease}.links[data-astro-cid-ct3bgug4] a[data-astro-cid-ct3bgug4]:hover{color:var(--ink)}@media(prefers-reduced-motion:reduce){.scroll[data-astro-cid-ct3bgug4]:after{animation:none;transform:scaleY(1)}}@media(max-width:768px){.name-row[data-astro-cid-ct3bgug4]{flex-direction:column;align-items:flex-start}.photo[data-astro-cid-ct3bgug4]{width:5rem;height:5rem}.cards[data-astro-cid-ct3bgug4],.capabilities[data-astro-cid-ct3bgug4],.entry[data-astro-cid-ct3bgug4],.group[data-astro-cid-ct3bgug4]{grid-template-columns:minmax(0,1fr)}.entry-body[data-astro-cid-ct3bgug4]{border-left:0;padding-left:0}.entry-body[data-astro-cid-ct3bgug4]:before{display:none}.timeline[data-astro-cid-ct3bgug4].is-animated:after{display:none}.link-label[data-astro-cid-ct3bgug4]{min-width:0}}
