@font-face{font-family:National Park;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/national-park-vietnamese-400-normal.CvRJNTWo.woff2)format("woff2"),url(/_astro/national-park-vietnamese-400-normal.CacVwMNA.woff)format("woff");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:National Park;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/national-park-latin-ext-400-normal.d6n6DXVW.woff2)format("woff2"),url(/_astro/national-park-latin-ext-400-normal.Mi_NRo6f.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:National Park;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/national-park-latin-400-normal.CIPW5RuM.woff2)format("woff2"),url(/_astro/national-park-latin-400-normal.Bevfuk-w.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:National Park;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/national-park-vietnamese-600-normal.zsPO_75S.woff2)format("woff2"),url(/_astro/national-park-vietnamese-600-normal.4n2ooUeS.woff)format("woff");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:National Park;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/national-park-latin-ext-600-normal.B9Unr_p8.woff2)format("woff2"),url(/_astro/national-park-latin-ext-600-normal.BIA9ZYLN.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:National Park;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/national-park-latin-600-normal.ClakdymN.woff2)format("woff2"),url(/_astro/national-park-latin-600-normal.B6cf1wl_.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{--bg:#fffffd;--ink:#000;--rule:#0003;--sheet:#f1f1f1;--accent:#fb00ff;--accent-soon:#ff7010;--accent-ok:#6a981a;--ease-back:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-back-soft:cubic-bezier(.34, 1.2, .64, 1);--pill-s:.15s;--pill-grow-s:.35s;--copied-s:.5s;--copied-fade-s:.25s;--copied-stagger:40ms;--copied-rise:8px;--copied-reduced-s:.2s;--fs:14px;--lh:1.36;--stage-ref-w:1084;--stage-ref-h:822;--right-w:427px;--right-pad:70px}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);font:400 var(--fs) / var(--lh) "National Park", system-ui, sans-serif;margin:0;overflow:hidden}p{margin:0}a{color:inherit;text-decoration:none}.semibold{font-weight:600}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen{height:100dvh;display:flex}.stage{--stage-scale:1;--stage-offset-x:0px;cursor:default;touch-action:none;flex:1 0 0;min-width:0;position:relative;overflow:hidden}.stage[data-dragging]{cursor:grabbing}.stage:focus{outline:none}.stage__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.divider{background:repeating-linear-gradient(to bottom, transparent 0 12px, var(--rule) 12px 24px);background-position:0 -6.5px;flex:none;align-self:center;width:1px;height:min(703px,100% - 120px)}.right{width:var(--right-w);padding:var(--right-pad);flex:none;grid-template-rows:auto auto minmax(20px,1fr) auto minmax(20px,1fr) auto;display:grid;overflow:hidden auto}.right .greeting{grid-row:1}.right .bio{grid-row:2}.right .cv{grid-row:4}.right .contacts{grid-row:6}@media (max-height:700px){.right{padding-block:40px}}.right .avatar-box{--avatar-blur:6px;--avatar-zoom:1.12;--avatar-blur-out-s:.1s;--avatar-blur-in-s:.155s}.right .avatar{transition:filter var(--avatar-blur-in-s) ease-out, transform var(--avatar-blur-in-s) ease-out}.right .avatar.is-blurring{filter:blur(var(--avatar-blur));transform:scale(var(--avatar-zoom));transition:filter var(--avatar-blur-out-s) ease-in, transform var(--avatar-blur-out-s) ease-in}.right .avatar-box.is-cycling .avatar{will-change:filter, transform}@media (prefers-reduced-motion:reduce){.right .avatar,.right .avatar.is-blurring{filter:none;transition:none;transform:none}}.right .about{display:contents}.right .about__close,.right .about-backdrop{display:none}.pill{font:inherit;color:#fff;-webkit-font-smoothing:antialiased;white-space:nowrap;pointer-events:none;transform-origin:0;opacity:0;transition:opacity var(--pill-s) linear;background:0 0;border:0;border-radius:0;margin:0;padding:1px 1px 4px;line-height:10px;text-decoration:none;position:absolute;top:0;left:0;transform:translateY(-7px)}.pill-bg{background:var(--accent);transform-origin:0;transform:rotate(var(--pill-tilt,0deg)) scaleX(var(--pill-grow,0));transition:transform 0s var(--pill-s);position:absolute;inset:0}.pill-label{align-items:center;gap:var(--pill-gap,3px);clip-path:inset(-4px 100% -4px 0);transition:clip-path 0s var(--pill-s);transform:rotate(var(--pill-tilt,0deg));transform-origin:-1px 6.5px;display:flex;position:relative}.pill-text{display:block}.pill-icon{flex:none;align-self:flex-start;margin:-1px 0 -4px;display:block}.pill.is-shown{opacity:1;transition:none}.pill.is-shown .pill-bg{--pill-grow:1;transition:transform var(--pill-grow-s) var(--ease-back)}.pill.is-shown .pill-label{clip-path:inset(-4px 0);transition:clip-path var(--pill-grow-s) var(--ease-out)}.pill--rtl{opacity:1;transform-origin:100%}.pill--rtl .pill-bg{transform-origin:100%;transform:scaleX(var(--pill-rest,.2));transition:transform var(--pill-grow-s) var(--ease-back-soft)}.pill--rtl .pill-label{clip-path:inset(-4px -1px -4px calc(100% - var(--pill-min,10px) + 1px));transition:clip-path var(--pill-grow-s) var(--ease-out)}.pill--rtl:focus-visible .pill-bg{transition:transform var(--pill-grow-s) var(--ease-back);transform:scaleX(1)}.pill--rtl:focus-visible .pill-label{clip-path:inset(-4px -1px)}@media (hover:hover){.pill--rtl:hover .pill-bg{transition:transform var(--pill-grow-s) var(--ease-back);transform:scaleX(1)}.pill--rtl:hover .pill-label{clip-path:inset(-4px -1px)}}@media (prefers-reduced-motion:reduce){.pill-bg,.pill-label{transition-duration:0s!important}}.work-cursor{z-index:2;pointer-events:none;position:absolute;top:0;left:0}.stage.has-pill:not([data-dragging]){cursor:none}.work-link[data-label=open\ website],.work-link[data-label=open\ gallery],.work-link[data-label=soon]{--pill-gap:4px}.work-cursor.is-static .work-link{left:var(--pill-x,0);top:var(--pill-y,0);pointer-events:auto;transform:translate(-100%,-100%)}.work-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.work-link--soon .pill-bg{background:var(--accent-soon)}.work-cursor.is-static .work-link--soon{pointer-events:none}.cv{--cv-w:458px;--cv-h:640px;--cv-slot-scale:.42;--cv-tilt:-7.37deg;--cv-fold-rest:-132deg;--cv-skew-rest:-22deg;--cv-fold-lifted:-128deg;--cv-skew-lifted:-27deg;--cv-perspective:4000px;--cv-open-s:.7s;--cv-fold-s:.8s;--cv-fold-delay:.1s;--cv-skew-s:.4s;--cv-shadow-blur:19px;--cv-shadow-rest-x:12px;--cv-shadow-rest-y:28px;--cv-shadow-rest-skew:31deg;--cv-shadow-rest-scale:.67;--cv-shadow-rest-opacity:1;--cv-shadow-lifted-x:18px;--cv-shadow-lifted-y:40px;--cv-shadow-lifted-skew:36deg;--cv-shadow-lifted-scale:.62;--cv-shadow-lifted-opacity:.8;--cv-shadow-fade-s:.3s;--cv-blur-s:.9s;--cv-blur-delay:.35s;--cv-close-s:.7s;--cv-close-delay:.15s;--cv-blur-close-s:.5s;--cv-lift-s:.35s;--cv-text-s:.3s;--cv-text-delay:.2s;--cv-fade-s:.2s;--cv-ease-out:var(--ease-out);--cv-ease-fold:cubic-bezier(.34, 1.25, .64, 1);--cv-ease-inout:cubic-bezier(.65, 0, .35, 1);--cv-paper:url(/media/cv-paper-v2.webp)}.cv__slot{left:calc(106.5px - var(--cv-w) * var(--cv-slot-scale) / 2);top:calc(145px - var(--cv-h) / 4 * var(--cv-slot-scale));width:calc(var(--cv-w) * var(--cv-slot-scale));height:calc(var(--cv-h) / 2 * var(--cv-slot-scale));position:absolute}.cv__sheet{width:var(--cv-w);height:var(--cv-h);transform-origin:0 0;transform:translate(calc(var(--cv-w) * var(--cv-slot-scale) / 2), calc(var(--cv-h) / 4 * var(--cv-slot-scale))) rotate(var(--cv-tilt)) scale(var(--cv-slot-scale)) translate(calc(var(--cv-w) / -2), calc(var(--cv-h) * -.75));perspective:var(--cv-perspective);perspective-origin:50%;position:absolute;top:0;left:0}.cv__sheet.is-fixed{z-index:30;position:fixed}.cv__open{z-index:1;cursor:pointer;background:0 0;border:0;width:271px;height:164px;padding:0;position:absolute;top:63px;left:0}.cv__open:focus-visible{outline-offset:2px;outline:2px solid #0006}.cv.is-active .cv__open{visibility:hidden}.cv__flap,.cv__half{width:100%;height:50%;position:absolute;left:0}.cv__half--bottom{top:50%}.cv__flap{z-index:1;transform-origin:50% 100%;transform:rotateX(var(--cv-fold-rest));transform-style:preserve-3d;transition:transform var(--cv-lift-s) var(--cv-ease-out);top:0}.cv__skew{transform-origin:50% 100%;transform:skewX(var(--cv-skew-rest));transform-style:preserve-3d;transition:transform var(--cv-lift-s) var(--cv-ease-out);position:absolute;inset:0}.cv__face{isolation:isolate;background:#fff;position:absolute;inset:0}.cv__face:after{content:"";background:var(--cv-paper) 0 0 / 100% 200% no-repeat;mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:0}.cv__face--front,.cv__face--back{-webkit-backface-visibility:hidden;backface-visibility:hidden}.cv__face--front{visibility:hidden}.cv.is-active .cv__face--front{visibility:visible}.cv.is-opening .cv__face--back,.cv.is-open .cv__face--back{visibility:hidden}.cv.is-opening .cv__face--back{transition:visibility 0s calc(var(--cv-fold-delay) + var(--cv-fold-s) * var(--cv-flip-at))}.cv.is-closing .cv__face--back{transition:visibility 0s calc(var(--cv-close-s) * var(--cv-flip-at))}.cv__face--base .cv__col{opacity:0;transition:opacity var(--cv-text-s) var(--cv-ease-out) var(--cv-text-delay)}.cv.is-opening .cv__face--base .cv__col,.cv.is-open .cv__face--base .cv__col{opacity:1}.cv.is-closing .cv__face--base .cv__col{transition-delay:0s}.cv__face--base{box-shadow:0 4px 3px #0003}.cv:not(.is-active) .cv__face--base{box-shadow:none}.cv__face--base:after{background-position:0 100%}.cv__face--back{transform:rotateX(180deg)}.cv__shadow{width:100%;height:100%;filter:blur(var(--cv-shadow-blur));pointer-events:none;transform-origin:50% 0;transform:translate(var(--cv-shadow-rest-x), var(--cv-shadow-rest-y)) skewX(var(--cv-shadow-rest-skew)) scaleY(var(--cv-shadow-rest-scale));opacity:var(--cv-shadow-rest-opacity);transition:transform var(--cv-lift-s) var(--cv-ease-out), opacity var(--cv-lift-s) var(--cv-ease-out);background:#0000002e;position:absolute;top:0;left:0}.cv.is-opening .cv__shadow,.cv.is-open .cv__shadow{opacity:0;transition:opacity var(--cv-shadow-fade-s) var(--cv-ease-out), transform var(--cv-lift-s) var(--cv-ease-out)}.cv.is-closing .cv__shadow{transition:opacity var(--cv-shadow-fade-s) ease-in calc(var(--cv-close-s) - var(--cv-shadow-fade-s))}.cv__face--back:after{background-position:0 100%}.cv__col{width:330px;margin:0 auto}.cv__face--front .cv__col{flex-direction:column;gap:32px;padding-top:80px;display:flex}.cv__face--base .cv__col{padding-top:38px}.cv__row{justify-content:space-between;display:flex}.cv__exp{grid-template-columns:71px 61px auto;gap:16px 44px;margin:24px 0 0;padding:0;list-style:none;display:grid}.cv__exp li{display:contents}.cv__exp span{white-space:nowrap}.cv__download{z-index:1;pointer-events:none;outline:none;position:absolute;inset:-100% 0 0}.cv.is-open .cv__download{pointer-events:auto}.cv.is-open .cv__sheet{cursor:pointer}.cv.is-static .cv__download:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (hover:hover) and (prefers-reduced-motion:no-preference){.cv:not(.is-active) .cv__open:hover+.cv__dialog .cv__flap{transform:rotateX(var(--cv-fold-lifted))}.cv:not(.is-active) .cv__open:hover+.cv__dialog .cv__skew{transform:skewX(var(--cv-skew-lifted))}.cv:not(.is-active) .cv__open:hover+.cv__dialog .cv__shadow{transform:translate(var(--cv-shadow-lifted-x), var(--cv-shadow-lifted-y)) skewX(var(--cv-shadow-lifted-skew)) scaleY(var(--cv-shadow-lifted-scale));opacity:var(--cv-shadow-lifted-opacity)}}.cv.is-opening .cv__sheet,.cv.is-open .cv__sheet{transition:transform var(--cv-open-s) var(--cv-ease-out)}.cv.is-opening .cv__flap{transition:transform var(--cv-fold-s) var(--cv-ease-fold) var(--cv-fold-delay);transform:rotateX(0)}.cv.is-opening .cv__skew{transition:transform var(--cv-skew-s) var(--cv-ease-out) var(--cv-fold-delay);transform:skew(0)}.cv.is-open .cv__flap,.cv.is-open .cv__skew{transition:none;transform:none}.cv.is-open .cv__sheet{perspective:none}.cv.is-closing .cv__sheet{transition:transform var(--cv-close-s) var(--cv-ease-inout) var(--cv-close-delay)}.cv.is-closing .cv__flap{transition:transform var(--cv-close-s) var(--cv-ease-inout)}.cv.is-closing .cv__skew{transition:transform var(--cv-skew-s) var(--cv-ease-inout) calc(var(--cv-close-s) - var(--cv-skew-s))}.cv.is-snap .cv__sheet,.cv.is-snap .cv__flap,.cv.is-snap .cv__skew,.cv.is-snap .cv__shadow,.cv.is-snap .cv__face,.cv.is-snap .cv__blur-disc{transition:none}.cv__blur{z-index:29;visibility:hidden;cursor:pointer;touch-action:none;overscroll-behavior:contain;position:fixed;inset:0;overflow:hidden}.cv.is-active .cv__blur{visibility:visible}.cv__blur-disc{left:calc(var(--cx,50vw) - var(--d,300vmax) / 2);top:calc(var(--cy,50vh) - var(--d,300vmax) / 2);width:var(--d,300vmax);height:var(--d,300vmax);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px);transition:transform var(--cv-blur-close-s) var(--cv-ease-inout);background:#ffffff0f;border-radius:50%;position:absolute;transform:scale(.02);-webkit-mask-image:radial-gradient(closest-side,#000 80%,#0000);mask-image:radial-gradient(closest-side,#000 80%,#0000)}.cv.is-opening .cv__blur-disc,.cv.is-open .cv__blur-disc{transition:transform var(--cv-blur-s) var(--cv-ease-out) var(--cv-blur-delay);transform:none}.cv.is-open.has-cursor:not(.is-static) :is(.cv__sheet,.cv__sheet *,.cv__blur,.cv__blur *){cursor:none}.cv__cursor{z-index:31;pointer-events:none;visibility:hidden;transition:visibility 0s var(--pill-s);position:fixed;top:0;left:0}.cv.is-open .cv__cursor{visibility:visible;transition:none}.cv__pill--close .pill-bg{background:#004dff}.cv__pill--download{--pill-tilt:1deg}.cv.is-open.has-cursor.is-over-sheet:not(.is-static) .cv__pill--close,.cv.is-open.has-cursor:not(.is-over-sheet,.is-static) .cv__pill--download,.cv.is-open.has-cursor.is-over-sheet:not(.is-static) .cv__pill--close *,.cv.is-open.has-cursor:not(.is-over-sheet,.is-static) .cv__pill--download *{transition:none}.cv.is-static .cv__pill{position:fixed}.cv.is-closing.is-static .cv__pill{opacity:0;transition:opacity var(--pill-s) linear}.cv.is-static .cv__pill--download{left:var(--dl-x,50vw);top:var(--dl-y,90vh);transform:translate(-50%)}.cv.is-static .cv__pill--close{left:auto;top:calc(24px + env(safe-area-inset-top));right:calc(24px + env(safe-area-inset-right));pointer-events:auto;cursor:pointer;transform:none}.cv.is-static .cv__pill--close:before{content:"";position:absolute;inset:-12px}.cv__pill--close:focus-visible{outline-offset:2px;outline:2px solid #004dff}@media (prefers-reduced-motion:reduce){.cv .cv__flap,.cv .cv__skew,.cv .cv__shadow,.cv.is-active .cv__flap,.cv.is-active .cv__skew,.cv.is-active .cv__face{transition:none}.cv.is-active .cv__shadow{opacity:0;transition:none}.cv.is-active .cv__sheet{transition:opacity var(--cv-fade-s) linear}.cv__sheet.is-faded{opacity:0}.cv__blur-disc,.cv.is-active .cv__blur-disc{opacity:0;transition:opacity var(--cv-fade-s) linear;transform:none}.cv.is-opening .cv__blur-disc,.cv.is-open .cv__blur-disc{opacity:1}.cv .cv__face--base .cv__col{transition-delay:0s}}.screen{position:relative}.gallery{--s:var(--stage-scale,1);--g-pad:calc(70px * var(--s));--strip-air:calc(72px * var(--s));z-index:2;width:calc(100% - var(--right-w) - 1px);background:var(--bg);--gallery-slide-s:1s;--gallery-close-s:.8s;position:absolute;top:0;bottom:0;left:0;overflow:hidden;transform:translate(calc(-100% - 48px));box-shadow:4px 0 32px #0000001f}.gallery.is-opening,.gallery.is-open{transform:none}.gallery.is-opening{transition:transform var(--gallery-slide-s) cubic-bezier(.16, 1, .3, 1);will-change:transform}.gallery.is-closing{transition:transform var(--gallery-close-s) cubic-bezier(.45, 0, .15, 1);will-change:transform}.gallery.is-opening .gallery__content,.gallery.is-opening .gallery__close,.gallery.is-pending .gallery__content,.gallery.is-pending .gallery__close{opacity:0}.gallery.is-open .gallery__close{transition:opacity .3s linear}@media (prefers-reduced-motion:reduce){.gallery,.gallery.is-closing{opacity:0;transform:none}.gallery.is-opening,.gallery.is-open{opacity:1}.gallery.is-opening,.gallery.is-closing{will-change:auto;transition:opacity .2s linear}.gallery.is-opening .gallery__content,.gallery.is-opening .gallery__close{opacity:1}}.gallery[hidden]{display:none}.gallery__content{position:absolute;inset:0}.gallery__head{left:var(--g-pad);top:var(--g-pad);right:var(--g-pad);align-items:flex-start;gap:calc(58px * var(--s));margin:0;display:flex;position:absolute}.gallery__head>*{margin:0}.gallery__head>:not(.gallery__text){flex:none}.gallery__layer{display:block}.gallery__filters{width:0;height:0;position:absolute;overflow:hidden}.gallery__lines{white-space:nowrap;flex-direction:column;gap:4px;display:flex}.gallery__field[data-field=tags]{min-width:91px}.gallery__text{width:324px;min-width:0}.gallery__strip{left:0;right:0;top:calc(213px * var(--s) - var(--strip-air));height:calc(547px * var(--s) + 2 * var(--strip-air));overscroll-behavior:contain;scrollbar-width:none;outline:none;position:absolute;overflow:auto hidden}.gallery__strip::-webkit-scrollbar{display:none}.gallery__track{width:calc(var(--track-w) * var(--s) * 1px);height:100%;margin:0;padding:0;list-style:none;position:relative}.g-poster{left:calc((var(--x) - var(--w) / 2) * var(--s) * 1px);top:calc(var(--strip-air) + (var(--y) - var(--h) / 2) * var(--s) * 1px);width:calc(var(--w) * var(--s) * 1px);height:calc(var(--h) * var(--s) * 1px);rotate:var(--r);position:absolute}.g-poster__sheet,.g-poster__media{position:absolute;inset:0}.g-poster__sheet{isolation:isolate}.gallery{--gallery-land-s:.9s;--gallery-stagger:.14s;--gallery-posters-delay:.45s;--gallery-drop:40px;--gallery-lift-s:.4s;--gallery-lifted:translateY(calc(-28px * var(--s))) scale(1.04);--gallery-hover-shift:6px;--shadow-table:0 1px 2px #0000002e, 0 6px 14px #00000024;--shadow-air:0 18px 28px #0000001a, 0 40px 70px #00000029}.g-poster__media{isolation:isolate;transform:translate(var(--hx,0px), var(--hy,0px));transition:transform .35s cubic-bezier(.22,1,.36,1)}.g-poster__media:before,.g-poster__media:after,.g-poster.is-waving .g-poster__sheet:before,.g-poster.is-waving .g-poster__sheet:after{content:"";z-index:-1;position:absolute;inset:0}.g-poster__media:before,.g-poster.is-waving .g-poster__sheet:before{box-shadow:var(--shadow-table)}.g-poster__media:after,.g-poster.is-waving .g-poster__sheet:after{box-shadow:var(--shadow-air);opacity:0}.g-poster--frames .g-poster__media:before,.g-poster--frames .g-poster__media:after,.g-poster--frames.is-waving .g-poster__sheet:before,.g-poster--frames.is-waving .g-poster__sheet:after{box-shadow:none;inset:calc(-1 * var(--cutout-pad) * var(--s) * 1px);background:50%/100% 100% no-repeat}.g-poster--frames .g-poster__media:before,.g-poster--frames.is-waving .g-poster__sheet:before{background-image:var(--cutout-near)}.g-poster--frames .g-poster__media:after,.g-poster--frames.is-waving .g-poster__sheet:after{background-image:var(--cutout-far)}@keyframes g-scroll-sheet{entry 0%{transform:var(--gallery-lifted);animation-timing-function:ease-out}entry 100%,exit 0%{animation-timing-function:ease-in;transform:none}exit 100%{transform:var(--gallery-lifted)}}@keyframes g-scroll-table{entry 0%{opacity:0;animation-timing-function:ease-out}entry 100%,exit 0%{opacity:1;animation-timing-function:ease-in}exit 100%{opacity:0}}@keyframes g-scroll-air{entry 0%{opacity:1;animation-timing-function:ease-out}entry 100%,exit 0%{opacity:0;animation-timing-function:ease-in}exit 100%{opacity:1}}@supports (animation-timeline:view()){.g-poster{view-timeline:--g-poster inline}.g-poster__sheet,.g-poster__media:before,.g-poster__media:after{animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--g-poster;animation-range:entry exit}.g-poster__sheet{animation-name:g-scroll-sheet}.g-poster__media:before{animation-name:g-scroll-table}.g-poster__media:after{animation-name:g-scroll-air}}@supports not (animation-timeline:view()){.g-poster__sheet{transition:transform var(--gallery-land-s) cubic-bezier(.2, .8, .2, 1)}.g-poster__media:before,.g-poster__media:after{transition:opacity var(--gallery-land-s) cubic-bezier(.2, .8, .2, 1)}.g-poster.is-up .g-poster__sheet{transform:var(--gallery-lifted);transition:transform var(--gallery-lift-s) ease-out}.g-poster.is-up .g-poster__media:before,.g-poster.is-up .g-poster__media:after{transition:opacity var(--gallery-lift-s) ease-out}.g-poster.is-up .g-poster__media:before{opacity:0}.g-poster.is-up .g-poster__media:after{opacity:1}}@keyframes g-wave-drop{0%{translate:0 calc(-1 * var(--gallery-drop) * var(--s));scale:1.05}to{translate:none;scale:none}}@keyframes g-wave-fade{0%{opacity:0}to{opacity:1}}@keyframes g-wave-table{0%{opacity:0}to{opacity:1}}@keyframes g-wave-air{0%{opacity:1}to{opacity:0}}.g-poster.is-hidden{opacity:0}.g-poster.is-waving{--wave-delay:calc(var(--gallery-posters-delay) + var(--order,0) * var(--gallery-stagger));animation:g-wave-drop var(--gallery-land-s) cubic-bezier(.2, .8, .2, 1) var(--wave-delay) both, g-wave-fade calc(var(--gallery-land-s) * .35) ease-out var(--wave-delay) both}.g-poster.is-waving .g-poster__sheet:before{animation:g-wave-table var(--gallery-land-s) cubic-bezier(.2, .8, .2, 1) var(--wave-delay) both}.g-poster.is-waving .g-poster__sheet:after{animation:g-wave-air var(--gallery-land-s) cubic-bezier(.2, .8, .2, 1) var(--wave-delay) both}.g-poster.is-waving.is-partial .g-poster__sheet:before,.g-poster.is-waving.is-partial .g-poster__sheet:after{display:none}.g-poster.is-waving .g-poster__media{transform:none}.g-poster.is-waving:not(.is-partial) .g-poster__media:before,.g-poster.is-waving:not(.is-partial) .g-poster__media:after{visibility:hidden}@media (prefers-reduced-motion:reduce){.g-poster__sheet,.g-poster__media,.g-poster__media:before,.g-poster__media:after{transition:none;animation:none}.g-poster__media{transform:none}}.g-poster__media>img,.g-poster__media>video{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}@keyframes g-sprite{to{transform:translateY(-100%)}}.g-frames{position:absolute;inset:0;overflow:hidden}.g-frames>.g-sprite{width:100%;height:calc(var(--frames) * 100%);-webkit-user-select:none;user-select:none;animation:g-sprite calc(var(--frames) * var(--frame-ms)) steps(var(--frames), end) infinite paused;display:block;position:absolute;top:0;left:0}.g-poster.is-playing.is-ready .g-sprite{animation-play-state:running}.g-poster--frames:not(.is-ready) .g-sprite,.g-poster--frames:not(.is-ready) .g-poster__media:before,.g-poster--frames:not(.is-ready) .g-poster__media:after{visibility:hidden}@media (prefers-reduced-motion:reduce){.g-frames>.g-sprite{animation:none}}.gallery .gallery__close{--pill-min:10px;left:auto;top:var(--g-pad);right:var(--g-pad);pointer-events:auto;cursor:pointer;transform:none}.gallery__close .pill-bg{background:#004dff}.gallery__close:focus-visible{outline-offset:2px;outline:2px solid #004dff}.gallery__close:after{content:"";top:50%;right:calc(var(--pill-min) / 2);width:44px;height:44px;position:absolute;transform:translate(50%,-50%)}@media (max-width:900px){.gallery{--s:var(--g-mobile-s,.9);--strip-air:72px;width:100%;box-shadow:4px 0 32px #0000001f}.gallery__content{padding-top:calc(52px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}.gallery__head{padding:0 calc(16px + env(safe-area-inset-right)) 0 calc(16px + env(safe-area-inset-left));flex-wrap:wrap;flex:none;gap:12px 16px;position:static}.gallery__field[data-field=tags]{flex:1 1 0;min-width:0}.gallery__field[data-field=tags] .gallery__lines{white-space:normal;display:block}.gallery__field[data-field=tags] .gallery__lines>span+span:before{content:" · "}.gallery__text{flex:1 0 100%;width:auto;max-width:420px}.gallery__strip{touch-action:pan-x;flex:none;margin-block:auto;position:relative;top:auto}.gallery .gallery__close{top:calc(16px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right))}}.stage[data-fallback]{cursor:auto;touch-action:auto}.stage__dom{overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;position:absolute;inset:0;overflow:hidden auto}.stage__dom::-webkit-scrollbar{display:none}.stage__dom:focus{outline:none}.fb-card{scroll-snap-align:center;margin:0;display:block}.fb-card>img,.fb-card>video{object-fit:cover;width:100%;height:100%;display:block}.fb-card--stack{position:relative}.fb-card>.fb-layer{object-fit:cover;transform:rotate(var(--rotate));position:absolute}.fb-layer.is-diving{animation:fb-dive var(--move-dur,.6s)}.fb-layer.is-sinking{animation:fb-sink var(--move-dur,.6s)}@keyframes fb-dive{0%{transform:translate(0, 0) rotate(var(--rotate)) scale(1);animation-timing-function:cubic-bezier(.65,0,.35,1)}45%{transform:translate(var(--out-x,0), var(--out-y,0)) rotate(var(--rotate)) scale(var(--dive-scale,1));animation-timing-function:cubic-bezier(.65,0,.35,1)}to{transform:translate(0, 0) rotate(var(--rotate)) scale(1)}}@keyframes fb-sink{0%{transform:rotate(var(--rotate)) scale(1);animation-timing-function:cubic-bezier(.65,0,.35,1)}45%{transform:rotate(var(--rotate)) scale(var(--sink-scale,.97));animation-timing-function:cubic-bezier(.65,0,.35,1)}to{transform:rotate(var(--rotate)) scale(1)}}@media (prefers-reduced-motion:reduce){.fb-layer.is-diving,.fb-layer.is-sinking{animation:none}}@media (max-width:900px){body{overscroll-behavior:none}.screen{--gutter-l:calc(16px + env(safe-area-inset-left));--gutter-r:calc(16px + env(safe-area-inset-right));--caption-row-h:66px;flex-direction:column}.screen .divider{display:none}.screen .right{display:contents}.screen .right .greeting{padding:calc(16px + env(safe-area-inset-top)) var(--gutter-r) 12px var(--gutter-l);flex:none;order:-1}.screen .right .name[role=button]{cursor:pointer}.screen .right .name:focus-visible{outline-offset:2px;outline:2px solid #0006}.screen .stage{min-height:320px;margin-bottom:var(--caption-row-h);flex:1 0 0;overflow:visible}.screen .right .contacts{padding:12px var(--gutter-r) calc(12px + env(safe-area-inset-bottom)) var(--gutter-l);flex:none}.screen .right .contacts>a{position:relative}.screen .right .contacts>a:before,.screen .right .contacts>.copy:before{content:"";position:absolute;inset:-12px -8px}.screen .right .about-backdrop{z-index:10;opacity:0;pointer-events:none;background:#0003;transition:opacity .35s cubic-bezier(.22,1,.36,1);display:block;position:fixed;inset:0}.screen .right .about-backdrop.is-open{opacity:1;pointer-events:auto}.screen .right .about{z-index:11;overscroll-behavior:contain;background:var(--bg);border-top:1px dashed var(--rule);max-height:80dvh;padding:20px var(--gutter-r) calc(20px + env(safe-area-inset-bottom)) var(--gutter-l);visibility:hidden;transition:transform .35s cubic-bezier(.22,1,.36,1),visibility 0s .35s;display:block;position:fixed;inset:auto 0 0;overflow:auto;transform:translateY(100%)}.screen .right .about.is-open{visibility:visible;transition:transform .35s cubic-bezier(.22,1,.36,1);transform:none}.screen .right .about__close{top:4px;right:calc(4px + env(safe-area-inset-right));width:44px;height:44px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:20px;line-height:1;display:block;position:absolute}.screen .right .about__close:focus-visible{outline-offset:-6px;outline:2px solid #0006}.screen .right .bio{margin-top:0}.screen .right .cv{margin-top:24px;margin-bottom:0}}@media (max-width:900px) and (max-height:600px){.screen .stage{min-height:200px}}@media (max-width:900px) and (prefers-reduced-motion:reduce){.screen .right .about,.screen .right .about.is-open,.screen .right .about-backdrop{transition:none}}.caption[data-astro-cid-gf2sagqc]{--caption-x:calc(var(--stage-offset-x) + 117px * var(--stage-scale));--caption-y:calc(-82.5px * var(--stage-scale));--caption-meta-y:max(40px, calc(99px * var(--stage-scale)));left:var(--caption-x);top:calc(50% + var(--caption-y));z-index:1;pointer-events:none;position:absolute}.caption__meta[data-astro-cid-gf2sagqc]{top:var(--caption-meta-y);gap:calc(58px * var(--stage-scale));white-space:nowrap;display:flex;position:absolute;left:0}.goo[data-astro-cid-gf2sagqc]{justify-items:start;display:grid}.goo[data-astro-cid-gf2sagqc]>[data-astro-cid-gf2sagqc]{grid-area:1/1}.goo__b[data-astro-cid-gf2sagqc]{opacity:0}.caption__lines[data-astro-cid-gf2sagqc]{flex-direction:column;gap:4px;display:flex}.caption__filters[data-astro-cid-gf2sagqc]{width:0;height:0;position:absolute;overflow:hidden}@media (max-width:900px){.caption[data-astro-cid-gf2sagqc]{height:var(--caption-row-h);padding:12px calc(16px + env(safe-area-inset-right)) 12px calc(16px + env(safe-area-inset-left));gap:16px;display:flex;top:100%;left:0;right:0}.caption__num[data-astro-cid-gf2sagqc]{flex:none}.caption__meta[data-astro-cid-gf2sagqc]{white-space:normal;flex:1;gap:16px;min-width:0;position:static}.caption__col[data-astro-cid-gf2sagqc][data-field=title]{white-space:nowrap;flex:none}.caption__col[data-astro-cid-gf2sagqc][data-field=tags]{flex:1;min-width:0}.caption__col[data-astro-cid-gf2sagqc][data-field=tags] .caption__lines[data-astro-cid-gf2sagqc]{display:block}.caption__col[data-astro-cid-gf2sagqc][data-field=tags] .caption__lines[data-astro-cid-gf2sagqc]>span+span:before{content:" · "}}.greeting[data-astro-cid-5jxs4yma]{justify-content:space-between;align-items:flex-start;display:flex}.hi[data-astro-cid-5jxs4yma]{justify-content:space-between;width:59px;display:flex}.avatar-box[data-astro-cid-5jxs4yma]{flex:none;width:48px;height:38px;display:block;overflow:hidden}.avatar[data-astro-cid-5jxs4yma]{object-fit:cover;width:48px;height:38px;display:block}.bio[data-astro-cid-5jxs4yma]{flex-direction:column;gap:12px;max-width:268px;margin-top:26px;display:flex}.cv[data-astro-cid-5jxs4yma]{flex:none;width:253px;height:218px;margin-bottom:55px;margin-left:17px;padding-top:55px;position:relative}@media (max-height:700px){.cv[data-astro-cid-5jxs4yma]{margin-bottom:0}}.cv__label[data-astro-cid-5jxs4yma]{position:absolute;top:0;left:40px}.cv__arrow[data-astro-cid-5jxs4yma]{width:68.5px;height:43.7px;position:absolute;top:11px;left:74px;transform:rotate(3.26deg)}.contacts[data-astro-cid-5jxs4yma]{justify-content:space-between;display:flex}.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma],.copy__label[data-astro-cid-5jxs4yma]{padding-block:calc((var(--lh) * 1em - 10px) / 2);line-height:10px;display:block;position:relative}.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma]:after,.copy__label[data-astro-cid-5jxs4yma]:after{content:"";inset:calc((var(--lh) * 1em - 10px) / 2) 0;background:var(--accent);transform-origin:0;opacity:0;transition:opacity var(--pill-s) linear, transform 0s var(--pill-s);position:absolute;transform:scaleX(0)}.ink[data-astro-cid-5jxs4yma]{clip-path:inset(-4px 0)}.mark[data-astro-cid-5jxs4yma]{z-index:1;padding-block:inherit;white-space:nowrap;-webkit-user-select:none;user-select:none;color:#fff;opacity:0;clip-path:inset(-4px 100% -4px 0);transition:opacity var(--pill-s) linear, clip-path 0s var(--pill-s);position:absolute;inset:0}.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma]:focus-visible:after{opacity:1;transition:transform var(--pill-grow-s) var(--ease-back);transform:none}.copy[data-astro-cid-5jxs4yma]:not(.is-copied):focus-visible .copy__label[data-astro-cid-5jxs4yma]:after{opacity:1;transition:transform var(--pill-grow-s) var(--ease-back);transform:none}.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma]:focus-visible .mark[data-astro-cid-5jxs4yma]{opacity:1;clip-path:inset(-4px 0);transition:clip-path var(--pill-grow-s) var(--ease-out)}.copy[data-astro-cid-5jxs4yma]:not(.is-copied):focus-visible .mark[data-astro-cid-5jxs4yma]{opacity:1;clip-path:inset(-4px 0);transition:clip-path var(--pill-grow-s) var(--ease-out)}.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma]:focus-visible .ink[data-astro-cid-5jxs4yma]{clip-path:inset(-4px 0 -4px 100%);transition:clip-path var(--pill-grow-s) var(--ease-out)}.copy[data-astro-cid-5jxs4yma]:not(.is-copied):focus-visible .ink[data-astro-cid-5jxs4yma]{clip-path:inset(-4px 0 -4px 100%);transition:clip-path var(--pill-grow-s) var(--ease-out)}@media (hover:hover){.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma]:hover:after,.copy[data-astro-cid-5jxs4yma]:not(.is-copied):hover .copy__label[data-astro-cid-5jxs4yma]:after{opacity:1;transition:transform var(--pill-grow-s) var(--ease-back);transform:none}.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma]:hover .mark[data-astro-cid-5jxs4yma],.copy[data-astro-cid-5jxs4yma]:not(.is-copied):hover .mark[data-astro-cid-5jxs4yma]{opacity:1;clip-path:inset(-4px 0);transition:clip-path var(--pill-grow-s) var(--ease-out)}.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma]:hover .ink[data-astro-cid-5jxs4yma],.copy[data-astro-cid-5jxs4yma]:not(.is-copied):hover .ink[data-astro-cid-5jxs4yma]{clip-path:inset(-4px 0 -4px 100%);transition:clip-path var(--pill-grow-s) var(--ease-out)}}@media (prefers-reduced-motion:reduce){.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma]:after,.copy__label[data-astro-cid-5jxs4yma]:after,.mark[data-astro-cid-5jxs4yma],.ink[data-astro-cid-5jxs4yma]{transition-duration:0s!important}}.contacts[data-astro-cid-5jxs4yma]>a[data-astro-cid-5jxs4yma]:focus-visible{outline:none}.copy[data-astro-cid-5jxs4yma]:focus-visible{outline:none}.copy[data-astro-cid-5jxs4yma]{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;position:relative}.copy__done[data-astro-cid-5jxs4yma]{white-space:nowrap;color:var(--accent-ok);visibility:hidden;position:absolute;top:0;right:0}.copy[data-astro-cid-5jxs4yma].is-copied .copy__label[data-astro-cid-5jxs4yma]{visibility:hidden}.copy[data-astro-cid-5jxs4yma].is-copied .copy__done[data-astro-cid-5jxs4yma]{visibility:visible}.copy__char[data-astro-cid-5jxs4yma]{opacity:0;transform:translateY(var(--copied-rise));display:inline-block}.copy[data-astro-cid-5jxs4yma].is-copied .copy__char[data-astro-cid-5jxs4yma]{animation:copied-rise var(--copied-s) var(--ease-back) calc(var(--i) * var(--copied-stagger)) both, copied-fade var(--copied-fade-s) linear calc(var(--i) * var(--copied-stagger)) both}@keyframes copied-rise{to{transform:none}}@keyframes copied-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.copy__char[data-astro-cid-5jxs4yma],.copy[data-astro-cid-5jxs4yma].is-copied .copy__char[data-astro-cid-5jxs4yma]{opacity:1;animation:none;transform:none}.copy[data-astro-cid-5jxs4yma].is-copied .copy__done[data-astro-cid-5jxs4yma]{animation:copied-fade var(--copied-reduced-s) linear both}}
