@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-vietnamese-wght-normal.DsUdksa4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-latin-ext-wght-normal.BqSk0Z3x.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-latin-wght-normal.Pz49MTQZ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-normal.C2je3j2s.woff2)format("woff2"),url(/_astro/instrument-serif-latin-ext-400-normal.CFCUzsTy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-italic.C9HzH3YL.woff2)format("woff2"),url(/_astro/instrument-serif-latin-ext-400-italic.D7-lnxEk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-italic.u__WvvIK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lime:#d2ff00;--white:#f4f4ed;--dark-green:#282c20;--black:#111112;--orange:#ff6b00;--grey-tint:#efefef;--grey-line:#d6d6d6;--grey-label:#b9bbad;--yellow:#f5c518;--scene-ink:#f4f4ed;--stage-bg:#fff;--contour-ink:var(--black);--contour-alpha:.12;--avatar-filter:none;color-scheme:light;--ink:var(--black);--menu-bg:#1c1c1e;--scene-bg:#1c1c1e;--band:#e6e6e6;--stage-glow:0;--wall-bg:#17171a;--wall-ink:var(--white);--wall-alpha:.07;--foot-bg:#252527;--foot-ink:#f5f5f7;--foot-muted:#a1a1a6;--foot-line:#48484a;--font-serif:"Instrument Serif", Georgia, serif;--font-sans:"Mona Sans Variable", system-ui, sans-serif;--text-body:16px;--text-label:12px;--text-heading:28px;--text-display:clamp(40px, 8vw, 88px);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--bar:calc(100lvh - 100svh);--ease-out:cubic-bezier(.215, .61, .355, 1);--dur-ui:.4s;--dur-reveal:.8s;--dur-scene:2s}:root[data-theme=dark]{color-scheme:dark;--stage-bg:#1c1c1e;--ink:var(--white);--contour-ink:#e5e5ea;--contour-alpha:.16;--menu-bg:#121212;--scene-bg:#121212;--band:#2c2c2e;--stage-glow:1;--foot-bg:#1c1c1e;--foot-ink:#f5f5f7;--foot-muted:#a1a1a6;--foot-line:#48484a;--grey-tint:#3a3a3c;--grey-line:#48484a;--avatar-filter:drop-shadow(0 0 28px #e5e5ea38)}*,:before,:after{box-sizing:border-box}body{background:var(--stage-bg);color:var(--ink);transition:background-color var(--dur-ui) var(--ease-out), color var(--dur-ui) var(--ease-out);font:var(--text-body) / 1.5 var(--font-sans);margin:0;overflow-x:clip}img{display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--lime);outline-offset:2px;box-shadow:0 0 0 2px var(--black)}.site-header[data-astro-cid-nen7h5rs]{top:0;z-index:50;padding:var(--space-md);color:#fff;mix-blend-mode:difference;grid-template-columns:1fr auto;align-items:start;display:grid;position:fixed;inset-inline:0}@media (width>=768px){.site-header[data-astro-cid-nen7h5rs]{padding:var(--space-lg)}}a[data-astro-cid-nen7h5rs]{color:inherit;text-decoration:none}.logo[data-astro-cid-nen7h5rs]{text-transform:uppercase;justify-self:start;line-height:.82;display:grid}.first[data-astro-cid-nen7h5rs]{font:400 52px / .82 var(--font-serif);letter-spacing:-.01em}.last[data-astro-cid-nen7h5rs]{font:800 29.3px / .9 var(--font-sans);letter-spacing:-.03em}.right[data-astro-cid-nen7h5rs]{justify-content:end;gap:var(--space-sm);display:flex}button[data-astro-cid-nen7h5rs]{width:48px;height:48px;color:inherit;cursor:pointer;background:0 0;border:2px solid;border-radius:8px;place-items:center;padding:0;display:grid}button[data-astro-cid-nen7h5rs]:hover{color:#000;background:#fff}a[data-astro-cid-nen7h5rs]:focus-visible,button[data-astro-cid-nen7h5rs]:focus-visible{box-shadow:none;outline:2px solid #fff}button[data-astro-cid-nen7h5rs]:active{transform:scale(.96)}.glyph-close[data-astro-cid-nen7h5rs],button[data-astro-cid-nen7h5rs][aria-expanded=true] .glyph-open[data-astro-cid-nen7h5rs]{display:none}button[data-astro-cid-nen7h5rs][aria-expanded=true] .glyph-close[data-astro-cid-nen7h5rs]{display:block}.glyph-sun[data-astro-cid-nen7h5rs],:root[data-theme=dark] .glyph-moon[data-astro-cid-nen7h5rs]{display:none}:root[data-theme=dark] .glyph-sun[data-astro-cid-nen7h5rs]{display:block}.menu-panel[data-astro-cid-xrc56gie]{z-index:40;padding:calc(48px + 2 * var(--space-md) + var(--space-xl)) var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom));background:var(--menu-bg);color:var(--white);visibility:hidden;clip-path:inset(0 0 100%);flex-direction:column;transition:clip-path .5s cubic-bezier(.76,0,.24,1),visibility 0s .6s;display:flex;position:fixed;inset:0;overflow-y:auto}.menu-lead[data-astro-cid-xrc56gie]{z-index:39;background:var(--yellow);clip-path:inset(0 0 100%);pointer-events:none;transition:clip-path .5s cubic-bezier(.76,0,.24,1) .1s;position:fixed;inset:0}.menu-panel[data-astro-cid-xrc56gie][data-open]+.menu-lead[data-astro-cid-xrc56gie]{clip-path:inset(0);transition:clip-path .65s cubic-bezier(.76,0,.24,1)}:root:is([data-menu-open],[data-menu-closing]) .site-header{color:#fff;mix-blend-mode:normal}@media (width>=768px){.menu-panel[data-astro-cid-xrc56gie]{padding:calc(48px + 2 * var(--space-lg) + var(--space-xl)) var(--space-lg) var(--space-lg)}}.menu-panel[data-astro-cid-xrc56gie][data-open]{visibility:visible;clip-path:inset(0);transition:clip-path .65s cubic-bezier(.76,0,.24,1) .12s,visibility}ul[data-astro-cid-xrc56gie]{margin:0;padding:0;list-style:none}a[data-astro-cid-xrc56gie]{color:inherit;text-decoration:none}.contact[data-astro-cid-xrc56gie]{padding-top:var(--space-xl);margin-top:auto}@media (width>=768px){.menu-panel[data-astro-cid-xrc56gie]{justify-content:space-between;align-items:flex-end;gap:var(--space-xl);flex-direction:row}.contact[data-astro-cid-xrc56gie]{text-align:right;margin-top:0;padding-top:0}}.links[data-astro-cid-xrc56gie] li[data-astro-cid-xrc56gie]{overflow-y:clip}.links[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]{width:fit-content;font-size:var(--text-display);text-transform:uppercase;line-height:1.1;transition:translate 0s .6s,color .15s,padding-left .25s cubic-bezier(.22,.8,.2,1);display:block;translate:0 105%}.menu-panel[data-astro-cid-xrc56gie][data-open] .links[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]{transition:translate .75s calc(.38s + var(--i) * 70ms) cubic-bezier(.22, .8, .2, 1), color .15s, padding-left .25s cubic-bezier(.22, .8, .2, 1);translate:0}.contact[data-astro-cid-xrc56gie]{opacity:0;transition:opacity .2s}.menu-panel[data-astro-cid-xrc56gie][data-open] .contact[data-astro-cid-xrc56gie]{opacity:1;transition:opacity .5s .75s}html:not([data-js]) .links[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]{translate:0}html:not([data-js]) .contact[data-astro-cid-xrc56gie]{opacity:1}.serif[data-astro-cid-xrc56gie]{font-family:var(--font-serif);font-weight:400}.sans[data-astro-cid-xrc56gie]{font-family:var(--font-sans);font-weight:700}.links[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]:hover,.links[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]:focus-visible{color:var(--yellow);font-family:var(--font-serif);padding-left:28px;font-style:italic;font-weight:400}.contact[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]{min-height:44px;font:400 clamp(28px, 3.4vw, 48px) / 1.1 var(--font-serif);align-items:center;gap:.25em;display:inline-flex}.contact[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]:after{content:"↗";font:500 .5em var(--font-sans);opacity:.7}.contact[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]:hover,.contact[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]:focus-visible{color:var(--yellow)}@media (prefers-reduced-motion:reduce){.menu-panel[data-astro-cid-xrc56gie],.menu-panel[data-astro-cid-xrc56gie][data-open],.menu-lead[data-astro-cid-xrc56gie],.menu-panel[data-astro-cid-xrc56gie][data-open]+.menu-lead[data-astro-cid-xrc56gie]{transition:none}.links[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie],.menu-panel[data-astro-cid-xrc56gie][data-open] .links[data-astro-cid-xrc56gie] a[data-astro-cid-xrc56gie]{transition:none;translate:0}.contact[data-astro-cid-xrc56gie],.menu-panel[data-astro-cid-xrc56gie][data-open] .contact[data-astro-cid-xrc56gie]{transition:none}}.xp-bg[data-astro-cid-bl6cniha]{z-index:-1;background:var(--yellow);display:none;position:absolute;inset:0}html.has-story .xp-bg[data-astro-cid-bl6cniha]{display:block}.experience[data-astro-cid-bl6cniha]{--edge:var(--space-md);--side:min(20vw, 10svh);padding:var(--space-3xl) var(--edge);background:var(--scene-bg);color:var(--scene-ink)}@media (width>=768px){.experience[data-astro-cid-bl6cniha]{--edge:var(--space-lg);--side:min(7.2vw, 11.5svh)}}.experience[data-astro-cid-bl6cniha]:focus{box-shadow:none;outline:none}.big[data-astro-cid-bl6cniha]{font:800 min(14vw, 13svh) / 1 var(--font-sans);letter-spacing:-.035em;margin:0}.companies[data-astro-cid-bl6cniha]{gap:var(--space-lg) var(--space-md);margin:var(--space-3xl) 0 0;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}@media (width>=768px){.companies[data-astro-cid-bl6cniha]{gap:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr))}}.box[data-astro-cid-bl6cniha]{height:calc(var(--side) + var(--space-xl));border-bottom:1px solid #ffffff29;align-items:center;display:flex}.box[data-astro-cid-bl6cniha] img[data-astro-cid-bl6cniha]{width:calc(var(--side) * var(--r));max-width:85%;height:auto;transition:opacity var(--dur-ui) var(--ease-out)}.company[data-astro-cid-bl6cniha].has-3d img[data-astro-cid-bl6cniha]{opacity:0}.caption[data-astro-cid-bl6cniha]{gap:2px var(--space-sm);margin-top:var(--space-sm);flex-direction:column;font-size:14px;line-height:1.3;display:flex}@media (width>=768px){.caption[data-astro-cid-bl6cniha]{flex-direction:row;justify-content:space-between}}.name[data-astro-cid-bl6cniha]{font-weight:600}.dates[data-astro-cid-bl6cniha]{color:var(--yellow);font-weight:500}.dates[data-astro-cid-bl6cniha] strong[data-astro-cid-bl6cniha]{font-weight:800}html.has-story .experience[data-astro-cid-bl6cniha]{z-index:5;row-gap:var(--space-lg);padding-block:calc(var(--edge) + 69px + 40px) calc(40px + var(--bar));--side:min(16vw, 7.4svh);color:var(--dark-green);background:0 0;grid-template-rows:auto minmax(0,1fr);display:grid;position:absolute;inset:0}html.has-story .companies[data-astro-cid-bl6cniha]{grid-template-columns:1fr;grid-auto-rows:1fr;gap:0;margin:0}html.has-story .company[data-astro-cid-bl6cniha]{grid-template-columns:1fr 1fr;align-items:center;display:grid;position:relative}html.has-story .company[data-astro-cid-bl6cniha]:before{content:"";inset-block:0;background:currentColor;width:2px;margin-left:-1px;position:absolute;left:50%}html.has-story .company[data-astro-cid-bl6cniha]:after{content:"";width:14px;height:14px;box-shadow:0 0 0 5px var(--yellow);background:currentColor;border-radius:50%;margin:-7px 0 0 -7px;position:absolute;top:50%;left:50%}html.has-story .caption[data-astro-cid-bl6cniha]{text-align:right;flex-direction:column;order:1;align-items:flex-end;gap:3px;margin:0;padding-right:28px}html.has-story .box[data-astro-cid-bl6cniha]{border:0;order:2;height:auto;padding-left:28px}html.has-story .box[data-astro-cid-bl6cniha] img[data-astro-cid-bl6cniha]{filter:brightness(0)}html.has-story .company[data-astro-cid-bl6cniha][data-logo=stripe] .box[data-astro-cid-bl6cniha] img[data-astro-cid-bl6cniha]{filter:none}html.has-story .dates[data-astro-cid-bl6cniha]{color:inherit}@media (width>=768px){html.has-story .experience[data-astro-cid-bl6cniha]{--side:min(5vw, 8svh);column-gap:var(--space-lg);grid-template-rows:minmax(0,1fr);grid-template-columns:5fr 7fr;align-items:center}html.has-story .big[data-astro-cid-bl6cniha]{font-size:min(7.4vw,14svh)}html.has-story .companies[data-astro-cid-bl6cniha]{height:100%}html.has-story .name[data-astro-cid-bl6cniha]{font-size:18px}html.has-story .dates[data-astro-cid-bl6cniha]{font-size:16px}}:root:not([data-menu-open],[data-menu-closing]) .site-header.on-yellow{color:var(--black);mix-blend-mode:normal}html.has-story .w[data-astro-cid-bl6cniha]{clip-path:inset(-.1em 100% -.1em -.1em);width:fit-content;position:relative}html.has-story .w[data-astro-cid-bl6cniha]:after{content:"";background:var(--black);transform-origin:100%;position:absolute;inset:0}html.has-story .experience[data-astro-cid-bl6cniha].wiped .w[data-astro-cid-bl6cniha]{animation:.6s cubic-bezier(.215,.61,.355,1) forwards wipe-clip;animation-delay:calc(var(--n) * .15s)}html.has-story .experience[data-astro-cid-bl6cniha].wiped .w[data-astro-cid-bl6cniha]:after{animation:.6s cubic-bezier(.455,.03,.515,.955) forwards wipe-block;animation-delay:calc(var(--n) * .15s + .3s)}html.has-story .company[data-astro-cid-bl6cniha]:before{transform-origin:50% 0;transform:scaleY(0)}html.has-story .company[data-astro-cid-bl6cniha]:after{transform:scale(0)}html.has-story .experience[data-astro-cid-bl6cniha].wiped .company[data-astro-cid-bl6cniha]:before{animation:line-draw .34s linear calc(var(--i) * .34s) forwards}html.has-story .experience[data-astro-cid-bl6cniha].wiped .company[data-astro-cid-bl6cniha]:after{animation:dot-pop .5s cubic-bezier(.3, 1.9, .5, 1) calc(var(--i) * .34s + 80ms) forwards}html.has-story .experience[data-astro-cid-bl6cniha].wiped .caption[data-astro-cid-bl6cniha] .w[data-astro-cid-bl6cniha]{animation-delay:calc(var(--i) * .34s)}html.has-story .experience[data-astro-cid-bl6cniha].wiped .caption[data-astro-cid-bl6cniha] .w[data-astro-cid-bl6cniha]:after{animation-delay:calc(var(--i) * .34s + .3s)}html.has-story .experience[data-astro-cid-bl6cniha]:not(.wiped) .box[data-astro-cid-bl6cniha] img[data-astro-cid-bl6cniha]{opacity:0}html.has-story .experience[data-astro-cid-bl6cniha].wiped .box[data-astro-cid-bl6cniha] img[data-astro-cid-bl6cniha]{transition-delay:calc(var(--i) * .34s + .1s)}@keyframes line-draw{to{transform:scaleY(1)}}@keyframes dot-pop{to{transform:scale(1)}}@keyframes wipe-clip{to{clip-path:inset(-.1em)}}@keyframes wipe-block{to{transform:scaleX(0)}}.site-header:focus-within{translate:none!important}.site-footer[data-astro-cid-jo6i4kqk]{padding:var(--space-3xl) var(--space-md) var(--space-lg);background:var(--foot-bg);color:var(--foot-muted);transition:background-color var(--dur-ui) var(--ease-out);font-size:14px;line-height:1.4;position:relative}@media (width>=768px){.site-footer[data-astro-cid-jo6i4kqk]{padding-inline:var(--space-lg)}}.top[data-astro-cid-jo6i4kqk]{gap:var(--space-xl);flex-direction:column;display:flex}@media (width>=768px){.top[data-astro-cid-jo6i4kqk]{flex-direction:row;justify-content:space-between;align-items:flex-start}}.name[data-astro-cid-jo6i4kqk]{width:fit-content;color:var(--foot-ink);margin:0;display:grid}.name[data-astro-cid-jo6i4kqk] span[data-astro-cid-jo6i4kqk]:first-child{font:400 52px / .82 var(--font-serif);letter-spacing:-.01em}.name[data-astro-cid-jo6i4kqk] span[data-astro-cid-jo6i4kqk]:last-child{font:800 29.3px / .9 var(--font-sans);letter-spacing:-.03em}.columns[data-astro-cid-jo6i4kqk]{gap:var(--space-3xl);display:flex}h2[data-astro-cid-jo6i4kqk]{margin:0 0 var(--space-sm);font-size:inherit;color:var(--foot-ink);font-weight:700}ul[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}li[data-astro-cid-jo6i4kqk]{padding-block:5px}a[data-astro-cid-jo6i4kqk]{color:inherit;text-decoration:none}a[data-astro-cid-jo6i4kqk]:hover{color:var(--foot-ink);text-underline-offset:.2em;text-decoration:underline}.legal[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:var(--space-xs) var(--space-lg);margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--foot-line);flex-wrap:wrap;display:flex}.hero-contours[data-astro-cid-lalb5rbx]{width:100%;height:100%;transition:opacity var(--dur-reveal) var(--ease-out);position:absolute;inset:0}canvas[data-astro-cid-lalb5rbx]{color:var(--contour-ink);opacity:0}canvas[data-astro-cid-lalb5rbx].is-live{opacity:1}canvas[data-astro-cid-lalb5rbx].is-live+svg[data-astro-cid-lalb5rbx]{opacity:0}path[data-astro-cid-lalb5rbx]{fill:none;stroke:var(--contour-ink);stroke-opacity:var(--contour-alpha);stroke-width:1px;vector-effect:non-scaling-stroke}.info-card[data-astro-cid-akds2wd5]{right:var(--space-lg);bottom:var(--space-lg);width:min(340px, calc(50vw - .423 * min(86svh, 92vw) - 1.5 * var(--space-lg)));text-align:right;display:none;position:absolute}@media (width>=1024px) and (aspect-ratio>=5/4){.info-card[data-astro-cid-akds2wd5]{display:block}}@media (hover:none){.info-card[data-astro-cid-akds2wd5]{bottom:calc(var(--space-lg) + 64px)}}.label[data-astro-cid-akds2wd5]{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.08em;margin:0;font-weight:700;line-height:1.2}.info-card[data-astro-cid-akds2wd5]>.label[data-astro-cid-akds2wd5]:first-child{margin-bottom:var(--space-sm)}.degree[data-astro-cid-akds2wd5]{font:clamp(22px, 2vw, 28px) / 1 var(--font-serif);text-wrap:balance;margin:0}hr[data-astro-cid-akds2wd5]{margin:var(--space-sm) 0;border:0;border-top:1px solid var(--grey-line)}.hero[data-astro-cid-ge2uvauf]{min-height:100lvh;position:relative;overflow:hidden}.hero-bg[data-astro-cid-ge2uvauf]{background:var(--stage-bg);transition:background-color var(--dur-ui) var(--ease-out);position:absolute;inset:0}.hero-bg[data-astro-cid-ge2uvauf]:before{content:"";opacity:var(--stage-glow);transition:opacity var(--dur-ui) var(--ease-out);background:radial-gradient(45% 75% at 50% 62%,#48484a,#0000);position:absolute;inset:0}.hero-frame[data-astro-cid-ge2uvauf],.hero-figure[data-astro-cid-ge2uvauf]{position:absolute;inset:0}.hero-stage[data-astro-cid-ge2uvauf]{bottom:0;aspect-ratio:1241/1268;height:min(78svh,102.176vw);margin-inline:auto;position:absolute;inset-inline:0}@media (width>=768px){.hero-stage[data-astro-cid-ge2uvauf]{height:min(86svh,91.9581vw)}}@media (width<=767px){.hero-stage[data-astro-cid-ge2uvauf]{--h:78lvh;height:var(--h);left:calc(50% - var(--h) * 1241 / 1268 / 2);margin-inline:0;right:auto}}.hero-stage[data-astro-cid-ge2uvauf] picture{height:100%;display:block}.hero-stage[data-astro-cid-ge2uvauf] img{object-fit:contain;object-position:bottom;width:100%;height:100%;filter:var(--avatar-filter)}.hero[data-astro-cid-ge2uvauf].has-3d .hero-stage[data-astro-cid-ge2uvauf]{opacity:0;transition:opacity var(--dur-ui) var(--ease-out)}.figure-wait[data-astro-cid-ge2uvauf]{z-index:45;width:100%;height:100lvh;padding-bottom:var(--bar);background:var(--yellow);color:var(--dark-green);font:italic 400 clamp(72px, 9vw, 130px) / 1 var(--font-serif);-webkit-text-stroke:.018em currentColor;visibility:hidden;justify-content:center;align-items:center;transition:transform .9s cubic-bezier(.76,0,.24,1),visibility 0s .9s;display:flex;position:fixed;top:0;left:0;transform:translateY(-101%)}:root:has(.hero.figure-pending) .figure-wait[data-astro-cid-ge2uvauf]{visibility:visible;transition:none;transform:none}:root:has(.hero.figure-pending){overflow:hidden}:root:has(.hero.figure-pending) .site-header .right{visibility:hidden}:root:has(body>.figure-wait) .site-header{color:var(--dark-green);mix-blend-mode:normal}.figure-wait[data-astro-cid-ge2uvauf] span[data-astro-cid-ge2uvauf]{visibility:hidden;transform-origin:50% 62%;margin-inline:-.16em;padding-inline:.16em;animation:1.5s ease-in-out infinite swap-d;display:inline-block}.figure-wait[data-astro-cid-ge2uvauf] span[data-astro-cid-ge2uvauf]+span[data-astro-cid-ge2uvauf]{margin-left:-.18em;animation-name:swap-t}.figure-wait[data-astro-cid-ge2uvauf].ready span[data-astro-cid-ge2uvauf]{visibility:inherit}@keyframes swap-d{0%,to{transform:scale(1.22)}50%{transform:scale(.78)}}@keyframes swap-t{0%,to{transform:scale(.78)}50%{transform:scale(1.22)}}.hero-figure[data-astro-cid-ge2uvauf]{transition:translate 1.3s cubic-bezier(.22,.8,.2,1)}.hero[data-astro-cid-ge2uvauf].figure-pending .hero-figure[data-astro-cid-ge2uvauf]{transition:none;translate:0 60px}.hero[data-astro-cid-ge2uvauf].figure-pending .hero-stage[data-astro-cid-ge2uvauf],.hero[data-astro-cid-ge2uvauf].figure-pending canvas[data-astro-cid-ge2uvauf][data-reveal]{opacity:0}.hero-frame[data-astro-cid-ge2uvauf] .hero-contours{translate:var(--parallax-x,0px) var(--parallax-y,0px)}canvas[data-astro-cid-ge2uvauf][data-reveal]{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity var(--dur-ui) var(--ease-out);position:absolute;inset:0}canvas[data-astro-cid-ge2uvauf][data-reveal].is-ready{opacity:1}.hero[data-astro-cid-ge2uvauf].is-locked{touch-action:none}.tap-lock[data-astro-cid-ge2uvauf]{right:var(--space-md);bottom:calc(var(--space-md) + var(--bar) + env(safe-area-inset-bottom));z-index:1;align-items:center;gap:var(--space-sm);display:flex;position:absolute}.tap-lock[data-astro-cid-ge2uvauf][hidden]{display:none}.tap-lock-label[data-astro-cid-ge2uvauf]{border:2px solid var(--black);color:var(--black);text-transform:uppercase;letter-spacing:.06em;background:#fff;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:700}.tap-lock-note[data-astro-cid-ge2uvauf]{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;background:#111112ad;border-radius:7px;padding:5px 9px;font-size:13px;font-weight:500;transition:opacity .2s,transform .2s,visibility 0s .2s;position:absolute;bottom:calc(100% + 8px);right:0;transform:translateY(6px)}.tap-lock-note[data-astro-cid-ge2uvauf].on{opacity:1;visibility:visible;transition-delay:0s;transform:none}.tap-lock-btn[data-astro-cid-ge2uvauf]{background:var(--yellow);width:48px;height:48px;color:var(--black);border:0;border-radius:8px;place-items:center;display:grid}.tap-lock-btn[data-astro-cid-ge2uvauf][aria-pressed=true]{background:var(--black);color:var(--yellow)}html.has-story .hero[data-astro-cid-ge2uvauf]{z-index:2;will-change:clip-path, transform;position:absolute;inset:0}html.has-story .hero-figure[data-astro-cid-ge2uvauf]{transform-origin:0 0}.hero-shadow[data-astro-cid-ge2uvauf]{width:40%;height:6svh;translate:calc(-50% + var(--shadow-x,0px)) 40%;background:radial-gradient(closest-side,#1111122e,#0000);position:absolute;bottom:0;left:50%}.projects[data-astro-cid-ftq3vvlr]{--edge:var(--space-md);padding:var(--space-3xl) var(--edge);background:var(--scene-bg);color:var(--scene-ink)}@media (width>=768px){.projects[data-astro-cid-ftq3vvlr]{--edge:var(--space-lg)}}.projects[data-astro-cid-ftq3vvlr]:focus{box-shadow:none;outline:none}.projects[data-astro-cid-ftq3vvlr] [data-astro-cid-ftq3vvlr]:focus-visible{outline-color:var(--yellow);box-shadow:none}.tiles[data-astro-cid-ftq3vvlr]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.projects[data-astro-cid-ftq3vvlr] .tile{min-width:0;min-height:0;color:inherit;border-radius:14px;flex-direction:column;padding:16px;text-decoration:none;display:flex;position:relative;overflow:hidden}.projects[data-astro-cid-ftq3vvlr] .glass{--tint:color-mix(in srgb, var(--yellow) 55%, #8e8e8e);background:linear-gradient(145deg, color-mix(in srgb, var(--tint) 13%, transparent), color-mix(in srgb, var(--tint) 3%, transparent));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--tint) 60%, #fff), inset 0 0 0 1px color-mix(in srgb, var(--tint) 24%, transparent);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--sc,1));transition:transform .14s ease-out,background-color .18s,opacity .2s}.projects[data-astro-cid-ftq3vvlr] .glass:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--lx,20%) var(--ly,0%), color-mix(in srgb, var(--yellow) 40%, #ffffff45), transparent 58%);transition:opacity .18s;position:absolute;inset:0}.projects[data-astro-cid-ftq3vvlr] .glass:hover,.projects[data-astro-cid-ftq3vvlr] .glass:focus-visible{--sc:1.025;z-index:3;box-shadow:inset 0 1px 0 #fff, inset 0 0 0 1px color-mix(in srgb, var(--yellow) 65%, transparent), 0 22px 50px #00000080}.projects[data-astro-cid-ftq3vvlr] .glass:hover:after,.projects[data-astro-cid-ftq3vvlr] .glass:focus-visible:after{opacity:1}.projects[data-astro-cid-ftq3vvlr] .glass:hover h3[data-astro-cid-ftq3vvlr],.projects[data-astro-cid-ftq3vvlr] .glass:focus-visible h3[data-astro-cid-ftq3vvlr]{color:var(--yellow)}.projects[data-astro-cid-ftq3vvlr] .glass:hover .go[data-astro-cid-ftq3vvlr],.projects[data-astro-cid-ftq3vvlr] .glass:focus-visible .go[data-astro-cid-ftq3vvlr]{opacity:1;color:var(--yellow);translate:3px -3px}.projects[data-astro-cid-ftq3vvlr] .head{text-align:center;background:color-mix(in srgb, var(--yellow) 86%, transparent);color:var(--black);grid-column:span 2;justify-content:center;align-items:center;padding:20px}h2[data-astro-cid-ftq3vvlr]{font:800 clamp(40px, 5vw, 72px) / 1 var(--font-sans);letter-spacing:-.04em;margin:0}.head[data-astro-cid-ftq3vvlr] span[data-astro-cid-ftq3vvlr]{font-weight:600;display:none}h3[data-astro-cid-ftq3vvlr]{font:800 clamp(16px, 1.55vw, 22px) / 1.12 var(--font-sans);letter-spacing:-.02em;margin:0 20px 6px 0;transition:color .15s}.about[data-astro-cid-ftq3vvlr]{color:#ffffffc2;margin:0;font-size:14px;line-height:1.35}small[data-astro-cid-ftq3vvlr]{color:#fff9;white-space:nowrap;text-overflow:ellipsis;margin-top:auto;padding-top:8px;font-size:12px;overflow:hidden}.go[data-astro-cid-ftq3vvlr]{opacity:.55;transition:translate .18s,opacity .18s;position:absolute;top:14px;right:14px}.projects[data-astro-cid-ftq3vvlr] .feature{grid-column:span 2}.projects[data-astro-cid-ftq3vvlr] .feature h3[data-astro-cid-ftq3vvlr]{letter-spacing:-.035em;font-size:clamp(30px,3.6vw,52px)}.projects[data-astro-cid-ftq3vvlr] .feature .about[data-astro-cid-ftq3vvlr]{font-size:min(17px,2.2svh);line-height:1.4}html.has-story .projects[data-astro-cid-ftq3vvlr]{z-index:5;padding-block:calc(var(--edge) + 69px + 24px) calc(var(--space-xl) + var(--bar));background:0 0;flex-direction:column;display:flex;position:absolute;inset:0}html.has-story .tiles[data-astro-cid-ftq3vvlr]{flex:1;grid-auto-rows:minmax(0,1fr);min-height:0}.card-nav[data-astro-cid-ftq3vvlr]{display:none}@media (width<=767px){html.has-story .projects[data-astro-cid-ftq3vvlr]{justify-content:center;overflow:clip}html.has-story .card-nav[data-astro-cid-ftq3vvlr]{justify-content:center;gap:12px;margin-top:12px;display:flex}.card-nav[data-astro-cid-ftq3vvlr] button[data-astro-cid-ftq3vvlr]{border:1px solid color-mix(in srgb, var(--yellow) 45%, transparent);width:56px;height:48px;color:var(--scene-ink);touch-action:manipulation;transition:opacity var(--dur-ui) var(--ease-out);background:0 0;border-radius:10px;font-size:20px}.card-nav[data-astro-cid-ftq3vvlr] button[data-astro-cid-ftq3vvlr]:disabled{opacity:.3}html.has-story .tiles[data-astro-cid-ftq3vvlr]{margin-inline:calc(-1 * var(--edge));touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:0 520px;gap:12px;display:flex}html.has-story .projects[data-astro-cid-ftq3vvlr] .tile{flex:0 0 84%;grid-area:auto;padding:22px}html.has-story .projects[data-astro-cid-ftq3vvlr] h2[data-astro-cid-ftq3vvlr]{font-size:min(64px,17vw)}html.has-story .projects[data-astro-cid-ftq3vvlr] .head[data-astro-cid-ftq3vvlr] span[data-astro-cid-ftq3vvlr]{margin-top:8px;font-size:16px;display:block}html.has-story .projects[data-astro-cid-ftq3vvlr] .head[data-astro-cid-ftq3vvlr] span[data-astro-cid-ftq3vvlr]:after{content:"swipe →"}html.has-story .projects[data-astro-cid-ftq3vvlr] h3[data-astro-cid-ftq3vvlr],html.has-story .projects[data-astro-cid-ftq3vvlr] .feature h3[data-astro-cid-ftq3vvlr]{margin:0 28px 14px 0;font-size:min(32px,8.4vw,4.6svh);line-height:1.08}html.has-story .projects[data-astro-cid-ftq3vvlr] .about[data-astro-cid-ftq3vvlr],html.has-story .projects[data-astro-cid-ftq3vvlr] .feature .about[data-astro-cid-ftq3vvlr]{flex:1 1 0;min-height:0;font-size:min(17px,2.5svh);line-height:1.45;overflow:hidden;-webkit-mask-image:linear-gradient(#000 calc(100% - 22px),#0000);mask-image:linear-gradient(#000 calc(100% - 22px),#0000)}html.has-story .projects[data-astro-cid-ftq3vvlr] small[data-astro-cid-ftq3vvlr]{white-space:normal;font-size:14px}html.has-story .projects[data-astro-cid-ftq3vvlr] .go[data-astro-cid-ftq3vvlr]{opacity:1;font-size:20px;top:20px;right:20px}}@media (width>=768px){.tiles[data-astro-cid-ftq3vvlr]{grid-template-columns:repeat(4,minmax(0,1fr))}.projects[data-astro-cid-ftq3vvlr] .feature{grid-row:span 2;padding:24px}html.has-story .projects[data-astro-cid-ftq3vvlr]{padding-block-end:clamp(32px,6svh,64px)}html.has-story .about[data-astro-cid-ftq3vvlr],html.has-story .projects[data-astro-cid-ftq3vvlr] .feature .about[data-astro-cid-ftq3vvlr]{-webkit-box-orient:vertical;flex:1 1 0;min-height:0;display:-webkit-box;overflow:hidden}html.has-story .projects[data-astro-cid-ftq3vvlr]:not(.arrived) .tile{opacity:0}}@media (width>=768px) and (hover:hover){.projects[data-astro-cid-ftq3vvlr] .tiles[data-astro-cid-ftq3vvlr]:has(.glass:hover) .glass:not(:hover){opacity:.4}}@media (width>=1100px){.tiles[data-astro-cid-ftq3vvlr]{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=768px) and (height<=760px){html.has-story small[data-astro-cid-ftq3vvlr]{display:none}}.glass[data-astro-cid-kenkipkp],.scanline[data-astro-cid-kenkipkp],.win[data-astro-cid-kenkipkp]{pointer-events:none;display:none;position:absolute}html.has-story .glass[data-astro-cid-kenkipkp],html.has-story .scanline[data-astro-cid-kenkipkp],html.has-story .win[data-astro-cid-kenkipkp]{display:block}.wall[data-astro-cid-kenkipkp]{z-index:1;background:var(--wall-bg);color:var(--wall-ink);font:800 21svh / 1 var(--font-sans);letter-spacing:-.04em;text-transform:uppercase;pointer-events:none;transition:background-color var(--dur-ui) var(--ease-out);flex-direction:column;justify-content:center;display:none;position:absolute;inset:0;overflow:hidden}html.has-story .wall[data-astro-cid-kenkipkp]{display:flex}.wall[data-astro-cid-kenkipkp] p[data-astro-cid-kenkipkp]{white-space:nowrap;width:max-content;opacity:var(--wall-alpha);margin:0;animation:90s linear infinite wall-drift}.wall[data-astro-cid-kenkipkp] p[data-astro-cid-kenkipkp]:nth-child(2n){animation-direction:reverse}.wall[data-astro-cid-kenkipkp] span[data-astro-cid-kenkipkp]{padding-right:.5em}@keyframes wall-drift{to{transform:translate(-50%)}}.glass[data-astro-cid-kenkipkp]{z-index:1;opacity:0;background:#1c1c1e;border-radius:11px;box-shadow:0 28px 80px #0000008c}.scanline[data-astro-cid-kenkipkp]{z-index:3;background:var(--yellow);height:1.5px;box-shadow:0 0 14px var(--yellow);opacity:0;top:0}.win[data-astro-cid-kenkipkp]{z-index:4;opacity:0;color:#f2f2f2;border-radius:11px;font:13px/1.5 SF Mono,Menlo,Monaco,monospace;overflow:hidden;box-shadow:0 0 0 .5px #ffffff47}.bar[data-astro-cid-kenkipkp]{background:#3a3a3ce0;align-items:center;gap:8px;height:28px;padding-left:9px;display:flex;position:relative;box-shadow:inset 0 -.5px #0009}.bar[data-astro-cid-kenkipkp] i[data-astro-cid-kenkipkp]{background:#ff5f57;border-radius:50%;width:12px;height:12px}.bar[data-astro-cid-kenkipkp] i[data-astro-cid-kenkipkp]:nth-child(2){background:#febc2e}.bar[data-astro-cid-kenkipkp] i[data-astro-cid-kenkipkp]:nth-child(3){background:#28c840}.bar[data-astro-cid-kenkipkp] span[data-astro-cid-kenkipkp]{color:#ffffffb8;place-items:center;font:500 12.5px -apple-system,SF Pro Text,system-ui,sans-serif;display:grid;position:absolute;inset:0}.out[data-astro-cid-kenkipkp]{white-space:pre-wrap;text-shadow:0 1px 2px #000000a6;padding:9px 11px}.cur[data-astro-cid-kenkipkp]{vertical-align:-3px;background:#f2f2f2;width:.62em;height:1.15em;display:inline-block}html.has-story .story-track[data-astro-cid-lcdefpme]{height:calc(var(--screens) * 100lvh);background:var(--scene-bg)}html.has-story .story-stage[data-astro-cid-lcdefpme]{background:var(--scene-bg);height:100lvh;transition:background-color var(--dur-ui) var(--ease-out);position:sticky;top:0;overflow:clip}html.has-story :is(.hero-figure,.xp-bg,#experience,#projects,.glass,.win,.scanline,.wall){will-change:transform}html.has-story :is(.hero-bg,.hero-shadow,.info-card,.tap-lock){will-change:opacity}.story-gl{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}
