.section-title[data-astro-cid-ta2fbyqs]{font-size:var(--text-h1-size);line-height:var(--text-h1-line);font-weight:var(--font-weight-semibold)}.about-hero[data-astro-cid-ta2fbyqs]{max-width:var(--layout-max-width);height:800px;margin:0 auto;position:relative}.hero-photo[data-astro-cid-ta2fbyqs]{object-fit:cover;object-position:60% center;background:var(--color-surface-subtle);width:calc(720px + max(0px,50vw - 640px));height:800px;position:absolute;top:0;left:560px}.hero-block[data-astro-cid-ta2fbyqs]{background:var(--color-accent-block);width:200px;height:160px;position:absolute;top:560px;left:528px}.hero-text[data-astro-cid-ta2fbyqs]{left:var(--space-page-x);gap:var(--space-24);flex-direction:column;width:384px;display:flex;position:absolute;top:264px}.hero-title[data-astro-cid-ta2fbyqs]{font-size:var(--text-display-size);line-height:var(--text-display-line);font-weight:var(--font-weight-semibold);white-space:nowrap}.mask-line[data-astro-cid-ta2fbyqs]{width:max-content;padding-bottom:var(--space-4);margin-bottom:calc(-1 * var(--space-4));display:block;overflow:hidden}.mask-inner[data-astro-cid-ta2fbyqs]{display:block}.hero-lead[data-astro-cid-ta2fbyqs]{font-size:var(--text-lead-size);line-height:var(--text-lead-line);text-wrap:pretty}.age[data-astro-cid-ta2fbyqs]{cursor:default;transition:color var(--duration-fast) var(--ease-standard);align-items:flex-end;display:inline-flex}.age[data-astro-cid-ta2fbyqs]:hover,.age[data-astro-cid-ta2fbyqs].is-live{color:var(--color-accent)}.age[data-astro-cid-ta2fbyqs] .digit{height:var(--text-display-line);vertical-align:bottom;flex-shrink:0;display:inline-block;position:relative;overflow:hidden}.age[data-astro-cid-ta2fbyqs] .digit-current,.age[data-astro-cid-ta2fbyqs] .digit-leaving{height:var(--text-display-line);line-height:var(--text-display-line);display:block}.age[data-astro-cid-ta2fbyqs] .digit-leaving{position:absolute;top:0;left:0}.age-clip[data-astro-cid-ta2fbyqs]{white-space:nowrap;vertical-align:bottom;opacity:0;width:0;transition:width var(--duration-standard) var(--ease-standard), opacity var(--duration-standard) var(--ease-standard);display:inline-block;overflow:hidden}.age[data-astro-cid-ta2fbyqs].is-live .age-clip[data-astro-cid-ta2fbyqs]{opacity:1}.age-fraction[data-astro-cid-ta2fbyqs]{width:max-content;font-size:var(--text-h1-size);display:inline-flex}.age-fraction[data-astro-cid-ta2fbyqs] .digit,.age-fraction[data-astro-cid-ta2fbyqs] .digit-current,.age-fraction[data-astro-cid-ta2fbyqs] .digit-leaving{height:var(--text-h1-line);line-height:var(--text-h1-line)}@media (prefers-reduced-motion:no-preference){.mask-inner[data-astro-cid-ta2fbyqs]{animation:rise var(--duration-slow) var(--ease-standard) var(--mask-delay,0s) both}.hero-lead[data-astro-cid-ta2fbyqs]{animation:fade-in var(--duration-standard) var(--ease-standard) var(--duration-slow) both}.hero-photo[data-astro-cid-ta2fbyqs],.hero-block[data-astro-cid-ta2fbyqs]{animation:enter-block var(--duration-slow) var(--ease-standard) both}}@keyframes enter-block{0%{opacity:0;transform:translateY(var(--offset-reveal))}to{opacity:1;transform:none}}@keyframes rise{0%{transform:translateY(100%)}to{transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.timeline[data-astro-cid-ta2fbyqs]{--step-when-column:144px;--rail-day-column:48px;padding-top:var(--space-section);gap:var(--space-48);flex-direction:column;display:flex}.timeline-head[data-astro-cid-ta2fbyqs],.tl[data-astro-cid-ta2fbyqs]{max-width:var(--layout-max-width);width:100%;padding-inline:var(--space-page-x);margin:0 auto}.tl-meta[data-astro-cid-ta2fbyqs]{display:none}.tl-list[data-astro-cid-ta2fbyqs]{list-style:none}.step[data-astro-cid-ta2fbyqs]{grid-template-columns:var(--step-when-column) minmax(0, 1fr);gap:var(--space-8) var(--space-32);padding-block:var(--space-32);border-bottom:var(--line-hairline);display:grid}.step-when[data-astro-cid-ta2fbyqs]{gap:var(--space-4);flex-direction:column;display:flex}.step-year[data-astro-cid-ta2fbyqs]{font-size:var(--text-h2-size);line-height:var(--text-h2-line);font-weight:var(--font-weight-semibold);color:var(--color-accent)}.step-day[data-astro-cid-ta2fbyqs],.step-figure[data-astro-cid-ta2fbyqs] figcaption[data-astro-cid-ta2fbyqs]{font-size:var(--text-small-size);line-height:var(--text-small-line);color:var(--color-ink-secondary)}.step-body[data-astro-cid-ta2fbyqs]{gap:var(--space-12);flex-direction:column;min-width:0;display:flex}.step-title[data-astro-cid-ta2fbyqs]{font-size:var(--text-h2-size);line-height:var(--text-h2-line);font-weight:var(--font-weight-semibold);text-wrap:pretty}.step-description[data-astro-cid-ta2fbyqs]{font-size:var(--text-p-size);line-height:var(--text-p-line);color:var(--color-ink-secondary);max-width:var(--layout-content-column)}.step-quote[data-astro-cid-ta2fbyqs]{font-size:var(--text-h1-size);line-height:var(--text-h1-line);font-weight:var(--font-weight-semibold);color:var(--color-accent);text-wrap:pretty}.step-figure[data-astro-cid-ta2fbyqs]{gap:var(--space-8);max-width:var(--layout-content-column);flex-direction:column;display:flex}.step-figure[data-astro-cid-ta2fbyqs] img[data-astro-cid-ta2fbyqs]{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-media);width:100%}.tl[data-astro-cid-ta2fbyqs].is-pinned .tl-sticky[data-astro-cid-ta2fbyqs]{gap:var(--space-64);grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:center;height:100vh;display:grid;position:sticky;top:0}.tl[data-astro-cid-ta2fbyqs].is-pinned .tl-meta[data-astro-cid-ta2fbyqs]{gap:var(--space-12);flex-direction:column;display:flex}.tl-label[data-astro-cid-ta2fbyqs]{font-size:var(--text-display-size);line-height:var(--text-display-line);font-weight:var(--font-weight-semibold)}.tl-day[data-astro-cid-ta2fbyqs]{min-height:var(--text-p-line);font-size:var(--text-p-size);line-height:var(--text-p-line);color:var(--color-accent)}.tl[data-astro-cid-ta2fbyqs].is-pinned .tl-list[data-astro-cid-ta2fbyqs]{height:min(76vh,680px);position:relative}.tl[data-astro-cid-ta2fbyqs].is-pinned .step[data-astro-cid-ta2fbyqs]{justify-content:center;gap:var(--space-16);opacity:0;visibility:hidden;will-change:transform, opacity;border:0;flex-direction:column;padding:0;display:flex;position:absolute;inset:0}.tl[data-astro-cid-ta2fbyqs].is-pinned .step-when[data-astro-cid-ta2fbyqs]{display:none}.tl[data-astro-cid-ta2fbyqs].is-pinned .step-title[data-astro-cid-ta2fbyqs],.tl[data-astro-cid-ta2fbyqs].is-pinned .step-quote[data-astro-cid-ta2fbyqs]{font-size:var(--text-h1-size);line-height:var(--text-h1-line)}.tl[data-astro-cid-ta2fbyqs].is-pinned .step-figure[data-astro-cid-ta2fbyqs] img[data-astro-cid-ta2fbyqs]{width:auto;max-width:100%;max-height:40vh}.tl-rail[data-astro-cid-ta2fbyqs]{display:none}.tl[data-astro-cid-ta2fbyqs].is-pinned .tl-rail[data-astro-cid-ta2fbyqs]{gap:var(--space-32);margin-top:var(--space-24);flex-direction:column;display:flex}.tl-rail[data-astro-cid-ta2fbyqs] .rail-group-name{margin-bottom:var(--space-8);font-size:var(--text-p-size);line-height:var(--text-p-line);font-weight:var(--font-weight-semibold);color:var(--color-ink);transition:color var(--duration-fast) var(--ease-standard);display:block}.tl-rail[data-astro-cid-ta2fbyqs] .rail-group.is-current .rail-group-name{color:var(--color-accent)}.tl[data-astro-cid-ta2fbyqs].is-pinned .tl-rail[data-astro-cid-ta2fbyqs]{padding-left:var(--space-24);position:relative}.tl-rail[data-astro-cid-ta2fbyqs]:before{content:"";top:0;bottom:0;left:var(--space-4);border-left:var(--line-hairline);position:absolute}.tl-rail[data-astro-cid-ta2fbyqs] .rail-step{position:relative}.tl-rail[data-astro-cid-ta2fbyqs] .rail-step:before{content:"";left:calc(-1 * var(--space-24));width:var(--space-8);height:var(--space-8);border-radius:var(--radius-ui);background:var(--color-line);transition:background var(--duration-fast) var(--ease-standard);position:absolute;top:50%;transform:translateY(-50%)}.tl-rail[data-astro-cid-ta2fbyqs] .rail-step.is-past:before{background:var(--color-ink)}.tl-rail[data-astro-cid-ta2fbyqs] .rail-step.is-current:before{background:var(--color-accent)}.tl-rail[data-astro-cid-ta2fbyqs] .rail-step{grid-template-columns:var(--rail-day-column) minmax(0, 1fr);gap:var(--space-8);width:100%;padding-block:var(--space-4);text-align:left;font-size:var(--text-small-size);line-height:var(--text-small-line);color:var(--color-ink-secondary);transition:color var(--duration-fast) var(--ease-standard);display:grid}.tl-rail[data-astro-cid-ta2fbyqs] .rail-step span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tl-rail[data-astro-cid-ta2fbyqs] .rail-step.is-past{color:var(--color-ink)}.tl-rail[data-astro-cid-ta2fbyqs] .rail-step.is-current{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.tl-rail[data-astro-cid-ta2fbyqs] .rail-step:hover{color:var(--color-accent)}.roll[data-astro-cid-ta2fbyqs]{vertical-align:bottom;display:inline-grid;overflow:hidden}.roll[data-astro-cid-ta2fbyqs]>span{white-space:pre;grid-area:1/1}.roll[data-astro-cid-ta2fbyqs] .roll-in{animation:roll-in var(--duration-slow) var(--ease-slot) both}.roll[data-astro-cid-ta2fbyqs] .roll-out{animation:roll-out var(--duration-slow) var(--ease-slot) both}@keyframes roll-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes roll-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-100%)}}.projects[data-astro-cid-ta2fbyqs]{max-width:var(--layout-max-width);padding:var(--space-section) var(--space-page-x) 0;gap:var(--space-48);flex-direction:column;margin:0 auto;display:flex}.project-list[data-astro-cid-ta2fbyqs]{border-bottom:var(--line-hairline);flex-direction:column;display:flex}.project-row[data-astro-cid-ta2fbyqs]{justify-content:space-between;align-items:center;gap:var(--space-48);padding:var(--space-48) 0;border-top:var(--line-hairline);display:flex}.project-name[data-astro-cid-ta2fbyqs]{gap:var(--space-16);font-size:var(--text-display-size);line-height:var(--text-display-line);font-weight:var(--font-weight-semibold);transition:transform var(--duration-standard) var(--ease-standard);align-items:center;display:flex}.project-row[data-astro-cid-ta2fbyqs]:hover .project-name[data-astro-cid-ta2fbyqs]{transform:translateX(var(--offset-nudge))}.project-name[data-astro-cid-ta2fbyqs] .is-plain[data-astro-cid-ta2fbyqs]{transition:color var(--duration-fast) var(--ease-standard)}.project-row[data-astro-cid-ta2fbyqs]:hover .is-plain[data-astro-cid-ta2fbyqs]{color:var(--color-accent)}.project-summary[data-astro-cid-ta2fbyqs]{gap:var(--space-16);text-align:right;max-width:400px;font-size:var(--text-p-size);line-height:var(--text-p-line);color:var(--color-ink-secondary);text-wrap:pretty;align-items:center;display:flex}.project-summary[data-astro-cid-ta2fbyqs] .project-arrow{color:var(--color-accent);opacity:0;transform:translate(calc(-1 * var(--offset-appear)), var(--offset-appear));transition:opacity var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard);flex-shrink:0}.project-row[data-astro-cid-ta2fbyqs]:hover .project-summary[data-astro-cid-ta2fbyqs] .project-arrow{opacity:1;transform:none}.tech[data-astro-cid-ta2fbyqs]{max-width:var(--layout-max-width);margin:var(--space-section) auto 0;padding:var(--space-page-x);background:var(--color-surface-subtle);gap:var(--space-48);flex-direction:column;display:flex;overflow:hidden}.marquee[data-astro-cid-ta2fbyqs]{margin-inline:calc(-1 * var(--space-page-x));gap:var(--space-24);-webkit-mask-image:linear-gradient(90deg, transparent, var(--color-ink) 160px, var(--color-ink) calc(100% - 160px), transparent);mask-image:linear-gradient(90deg, transparent, var(--color-ink) 160px, var(--color-ink) calc(100% - 160px), transparent);flex-direction:column;display:flex}.marquee-row[data-astro-cid-ta2fbyqs]{width:max-content;padding-bottom:var(--space-32);display:flex}@media (prefers-reduced-motion:no-preference){.marquee-row[data-astro-cid-ta2fbyqs]{animation:marquee-left var(--marquee-duration) linear infinite}.marquee-row[data-astro-cid-ta2fbyqs].is-reverse{animation-name:marquee-right}.marquee-row[data-astro-cid-ta2fbyqs]:hover{animation-play-state:paused}}@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.tech-chip[data-astro-cid-ta2fbyqs]{width:120px;height:120px;margin-right:var(--space-24);border-radius:var(--radius-ui);background:var(--color-surface);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.tech-name[data-astro-cid-ta2fbyqs]{margin-top:var(--space-8);white-space:nowrap;font-size:var(--text-small-size);line-height:var(--text-small-line);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);position:absolute;top:100%;left:50%;transform:translate(-50%)}.tech-chip[data-astro-cid-ta2fbyqs]:hover .tech-name[data-astro-cid-ta2fbyqs]{opacity:1}@media (width<=960px){.about-hero[data-astro-cid-ta2fbyqs]{height:auto;padding:var(--space-48) var(--space-page-x) 0}.hero-photo[data-astro-cid-ta2fbyqs],.hero-block[data-astro-cid-ta2fbyqs]{display:none}.hero-text[data-astro-cid-ta2fbyqs]{width:auto;position:static}.project-row[data-astro-cid-ta2fbyqs]{flex-direction:column;align-items:flex-start}.project-summary[data-astro-cid-ta2fbyqs]{text-align:left}}
