@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.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}:root{font-optical-sizing:auto;color:#30302e;-webkit-font-smoothing:antialiased;--muted:#767570;--line:#eeede9;--text-small:12px;--text-body:14px;--ease-out:cubic-bezier(.22, 1, .36, 1);background:#f4f3ef;font-family:DM Sans Variable,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline-offset:5px;border-radius:2px;outline:2px solid #707666}::selection{color:#30302e;background:#e9ecdf}h1,h2,h3,p{margin:0}p{text-wrap:pretty;line-height:1.6}.paper{z-index:2;background:#fff;border-radius:0 0 12px 12px;position:relative;box-shadow:0 12px 24px -20px #39372855}.site-grid{width:min(100% - 48px,660px);margin:auto;position:relative}.page{min-width:0;padding:96px 20px 0}.skip-link{z-index:20;background:#fff;padding:12px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.intro{padding:0 0 42px;position:relative}h1{letter-spacing:-.65px;font-size:22px;font-weight:500;line-height:1.25}.subtitle{font-size:var(--text-body);color:var(--muted);margin-top:5px}.intro-copy{max-width:450px;font-size:var(--text-body);margin-top:28px}.intro-copy p+p{color:var(--muted);margin-top:14px}.ink{color:#30302e}.text-link{min-height:44px;font-size:var(--text-body);text-underline-offset:4px;align-items:center;gap:7px;margin-top:14px;text-decoration:underline 1px #c4c3bd;transition:text-decoration-color .16s;display:inline-flex}.arrow{transition:transform .22s var(--ease-out);text-decoration:none;display:inline-block}.section-row{border-top:1px solid var(--line);grid-template-columns:84px 1fr;gap:20px;padding:32px 0;display:grid}.section-row h2{font-size:var(--text-body);color:var(--muted);font-weight:400;line-height:1.6}.entries{gap:32px;margin:0;padding:0;list-style:none;display:grid}.entry{min-width:0}.entry-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}h3{font-size:var(--text-body);font-weight:500;line-height:1.6}.period{color:var(--muted);font-size:var(--text-small);white-space:nowrap;font-variant-numeric:tabular-nums}.role{font-size:var(--text-small);color:var(--muted);margin-top:3px}.description{font-size:var(--text-body);margin-top:12px}.education{padding-bottom:72px}.page-signoff{font-size:var(--text-small);color:var(--muted);align-items:center;gap:10px;padding:15px 0 46px 104px;display:flex}.page-signoff .sketch{color:#91957d;width:32px;height:38px}.sketch{display:block}.intro-plant{color:#7d856b;width:65px;height:76px;position:absolute;top:-12px;right:14px;transform:rotate(5deg)}.intro-plant path{stroke-dasharray:1;stroke-dashoffset:1px;animation:ink-in .85s var(--ease-out) 1.53s forwards}.footer{z-index:1;background:#f4f3ef;position:sticky;bottom:0}.footer-inner{max-width:850px;margin:auto;padding:45px 36px 20px}.footer-top{justify-content:space-between;align-items:center;gap:28px;display:flex}.footer-name{letter-spacing:-.075em;white-space:nowrap;color:#41463b;margin:26px 0 22px;font-size:clamp(64px,11.8vw,130px);font-weight:500;line-height:1.1}.footer-name .name-period{color:#9b9f8e}.footer-bottom{font-size:var(--text-small);color:#6c6e63;border-top:1px solid #deded5;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;display:flex;position:relative}.footer-bottom a{align-items:center;gap:8px;min-height:44px;display:inline-flex}.splash{z-index:10;pointer-events:none;animation:splash-exit .65s var(--ease-out) 1.2s both;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.splash-name{letter-spacing:-.06em;gap:.24em;padding:0 5px;font-size:clamp(36px,7vw,58px);font-weight:400;line-height:1.3;display:flex;overflow:hidden}.splash-name>span{animation:name-enter .8s var(--ease-out) both;display:block}.splash-name>span:nth-child(2){animation-delay:.1s}.splash-dot{color:#939986}.splash-caption{color:var(--muted);font-size:var(--text-small);animation:.4s ease-out .18s both content-enter}.intro-reveal{animation:content-enter .6s var(--ease-out) var(--delay,.8s) both}@keyframes name-enter{0%{opacity:0;filter:blur(5px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes splash-exit{to{opacity:0;visibility:hidden;transform:translateY(-12px)}}@keyframes content-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ink-in{to{stroke-dashoffset:0}}body:has(:focus-visible) .splash{display:none}body:has(:focus-visible) .intro-reveal{animation:none}@media (hover:hover) and (pointer:fine){.text-link:hover{text-decoration-color:#444}.text-link:hover .arrow{transform:translate(2px,-2px)}}@media (width<=700px){.site-grid{width:min(100% - 40px,580px);display:block}.page{border:0;padding:52px 0 0}.intro{padding-bottom:32px}.intro-plant{right:8px}.section-row{grid-template-columns:1fr;gap:22px}.entries{gap:28px}.page-signoff{padding-left:0}.footer-inner{padding:36px 24px 14px}.footer-name{margin:28px 0 22px;font-size:clamp(55px,14vw,94px)}.footer-bottom{font-size:11px}.footer-bottom>span:nth-child(2){display:none}}@media (height<=580px){.footer{position:relative}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.splash{display:none}.intro-reveal,.intro-plant path{animation:none}.intro-plant path{stroke-dashoffset:0}.motion-ready{opacity:1;transition:none;transform:none}.arrow{transition:none}.footer{position:relative}}@media print{.splash{display:none}.site-grid{width:100%;display:block}.page{border:0;padding:0}.intro-reveal,.intro-plant path{stroke-dashoffset:0;animation:none}.motion-ready{opacity:1;transform:none}.footer{position:relative}}html.lenis{scroll-behavior:auto}.page:focus{outline:none}.footer:has(:focus-visible){position:relative}.profile-line{flex-wrap:wrap;align-items:baseline;column-gap:18px;padding-right:85px;display:flex}.profile-social{font-size:var(--text-small);color:var(--muted);align-items:center;gap:3px;padding:5px 0;display:inline-flex}.profile-social svg{width:12px;height:12px}.profile-social:hover{color:#30302e;text-underline-offset:3px;text-decoration:underline}@media (width<=480px){.profile-line{column-gap:12px}}.intro>h1,.intro>.profile-line,.intro-copy>p{animation:content-enter .58s var(--ease-out) both}.intro>h1{animation-delay:1.4s}.intro>.profile-line{animation-delay:1.48s}.intro-copy>p:first-child{animation-delay:1.56s}.intro-copy>p:nth-child(2){animation-delay:1.64s}.intro-plant .plant-stems{animation-delay:1.75s}.intro-plant .plant-veins{animation-delay:1.92s}.motion-ready>*{opacity:0;transition:opacity .52s var(--ease-out), transform .65s var(--ease-out);transition-delay:var(--entry-delay,0s);transform:translateY(9px)}.motion-ready>:nth-child(2){transition-delay:calc(var(--entry-delay,0s) + 45ms)}.motion-ready>:nth-child(3){transition-delay:calc(var(--entry-delay,0s) + 90ms)}.motion-ready.is-visible>*,.motion-ready:focus-within>*{opacity:1;transform:translateY(0)}.footer{--reveal:1}.footer-top{transform:translateY(calc((1 - var(--reveal)) * 22px))}.footer-name{margin-bottom:12px;padding-bottom:.08em;overflow:hidden}.footer-name .name-word{color:inherit;transform:translateY(calc((1 - var(--reveal)) * 65px));display:inline-block}.footer-name .name-word:nth-child(2){transform:translateY(calc((1 - var(--reveal)) * 88px))}.profile-social svg{transition:transform .18s var(--ease-out)}@media (hover:hover) and (pointer:fine){.profile-social:hover svg{transform:translate(1.5px,-1.5px)}}body:has(:focus-visible) .intro>h1,body:has(:focus-visible) .intro>.profile-line,body:has(:focus-visible) .intro-copy>p{animation:none}.footer:has(:focus-visible) .footer-top,.footer:has(:focus-visible) .name-word{transform:none}@media (prefers-reduced-motion:reduce){.intro>h1,.intro>.profile-line,.intro-copy>p{animation:none}.motion-ready>*{opacity:1;transition:none;transform:none}.footer-top,.footer-name .name-word,.footer-name .name-word:nth-child(2){transform:none}.profile-social svg{transition:none}}@media print{.intro>h1,.intro>.profile-line,.intro-copy>p{animation:none}.motion-ready>*{opacity:1;transform:none}.footer-top,.footer-name .name-word,.footer-name .name-word:nth-child(2){transform:none}}.intro-plant{transition:color .2s}.intro-plant .plant-leaves{transform-box:view-box;transform-origin:50px 76px;transition:transform .7s cubic-bezier(.22,1,.36,1)}@media (hover:hover) and (pointer:fine){.intro-plant:hover{color:#596a47}.intro-plant:hover .plant-leaves{transition-duration:.6s;transition-timing-function:cubic-bezier(.2,1.35,.4,1);transform:rotate(-9deg)scaleY(1.035)}}@media (prefers-reduced-motion:reduce){.intro-plant,.intro-plant .plant-leaves{transition:none}.intro-plant:hover .plant-leaves{transform:none}}.profile-line{align-items:center;column-gap:12px;margin-top:5px}.profile-line .subtitle{margin-top:0}.profile-social{color:#767570;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;margin-block:-4px;padding:5px;transition:color .16s;display:inline-flex}.profile-social svg{width:16px;height:16px;transition:none}.profile-social:hover svg{transform:none}.footer-top{justify-content:flex-end}.footer-window{color:#858a75;width:185px;height:139px}.footer-window path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--reveal))}@media (width<=700px){.footer-window{width:145px;height:109px}}@media (prefers-reduced-motion:reduce){.footer-window path{stroke-dashoffset:0}.profile-social{transition:none}}@media print{.footer-window path{stroke-dashoffset:0}}button{font:inherit;color:inherit}button:focus-visible,summary:focus-visible{outline-offset:5px;border-radius:3px;outline:2px solid #707666}.location{flex-wrap:wrap;align-items:center;gap:7px;display:inline-flex}.local-time{font-size:var(--text-small);font-variant-numeric:tabular-nums;color:#92938a;white-space:nowrap}.local-time[hidden]{display:none}.photo-trigger{text-align:left;cursor:pointer;font-weight:inherit;letter-spacing:inherit;background:0 0;border:0;padding:0;position:relative}.photo-trigger>span:first-child{z-index:2;position:relative}.photo-card{z-index:4;opacity:0;visibility:hidden;transform-origin:0 80%;pointer-events:none;background:#fff;border:1px solid #eeece5;width:106px;padding:5px 5px 7px;transition:transform .38s cubic-bezier(.2,1.3,.4,1),opacity .18s,visibility .18s;position:absolute;top:-30px;left:calc(100% + 18px);transform:translate(-20px,8px)rotate(-9deg)scale(.92);box-shadow:0 2px 3px #302a1910,0 8px 24px #302a1920}.photo-card img{object-fit:cover;outline-offset:-1px;outline:1px solid #00000010;width:94px;height:94px;display:block}.photo-caption{text-align:center;letter-spacing:0;color:#77796c;font-size:11px;font-weight:400;line-height:1.7;display:block}.photo-trigger[aria-expanded=true] .photo-card,.photo-trigger:focus-visible .photo-card{opacity:1;visibility:visible;transform:translateY(-3px)rotate(5deg)scale(1)}@media (hover:hover) and (pointer:fine){.photo-trigger:hover .photo-card{opacity:1;visibility:visible;transform:translateY(-3px)rotate(5deg)scale(1)}}.window-scene{--sky:#e4edf0;--sun:#e7c67c;--light:#f1dba4;color:#858a75;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;width:210px;height:158px;padding:0;position:relative}.window-scene svg{width:100%;height:100%;overflow:visible}.window-sky{fill:var(--sky);transition:fill 1s}.window-sun{fill:var(--sun)}.window-moon{fill:#f5edcb;opacity:0}.window-stars{stroke:#f5edcb;opacity:0}.window-city{stroke:#82918b;opacity:.7}.window-light{fill:var(--light);opacity:0;transition:opacity .55s}.shutter{transform-box:view-box;transition:transform .65s cubic-bezier(.22,1,.36,1)}.shutter-fill{fill:#eeede6}.shutter-left{transform-origin:79px 82px}.shutter-right{transform-origin:161px 82px}.window-scene[aria-pressed=true] .shutter-left{transform:perspective(350px)rotateY(-110deg)}.window-scene[aria-pressed=true] .shutter-right{transform:perspective(350px)rotateY(110deg)}.window-scene[aria-pressed=true] .window-light{opacity:.35}.window-steam{opacity:.55;transition:transform .6s var(--ease-out), opacity .6s ease}.window-scene[aria-pressed=true] .window-steam{opacity:.8;transform:translateY(-3px)}@media (hover:hover) and (pointer:fine){.window-scene:hover .shutter-left{transform:perspective(350px)rotateY(-110deg)}.window-scene:hover .shutter-right{transform:perspective(350px)rotateY(110deg)}.window-scene:hover .window-light{opacity:.35}.window-scene:hover .window-steam{opacity:.8;transform:translateY(-3px)}}:root[data-daypart=morning] .window-scene{--sky:#f3e3d6;--sun:#e1b27b;--light:#ebcb93}:root[data-daypart=evening] .window-scene{--sky:#e7ccc1;--sun:#d58f72;--light:#edbe8e}:root[data-daypart=night] .window-scene{--sky:#596772;--light:#a8bacc}:root[data-daypart=night] .window-sun,:root[data-daypart=night] .window-cloud{opacity:0}:root[data-daypart=night] .window-moon,:root[data-daypart=night] .window-stars{opacity:1}:root[data-daypart=night] .window-city{stroke:#c2cec6}@media (width<=700px){.window-scene{width:170px;height:128px}}@media (prefers-reduced-motion:reduce){.photo-card,.shutter,.window-light,.window-sky,.window-steam{transition:none}}@media print{.photo-card,.window-scene{display:none}}.intro>h1{z-index:3;position:relative}@media (width>=701px){.photo-card{transform-origin:100% 60%;top:-20px;left:auto;right:calc(100% + 20px)}}.photo-trigger.is-dismissed .photo-card{opacity:0;visibility:hidden}.intro-plant.pointer-plant .plant-leaves,.intro-plant.pointer-plant:hover .plant-leaves{transform:rotate(var(--leaf-lean,0deg)) scaleY(var(--leaf-stretch,1));transition:none}.photo-card{box-shadow:none;background:0 0;border:0;padding:0}.photo-tilt{transform:perspective(450px) rotateX(var(--photo-pitch,0deg)) rotateY(var(--photo-yaw,0deg));background:#fff;border:1px solid #eeece5;padding:5px 5px 7px;display:block;box-shadow:0 2px 3px #302a1910,0 8px 24px #302a1920}.photo-trigger[aria-expanded=true] .photo-card,.photo-trigger:focus-visible .photo-card{pointer-events:auto}@media (hover:hover) and (pointer:fine){.photo-trigger:hover .photo-card{pointer-events:auto}}.photo-card:before{content:"";z-index:-1;position:absolute;inset:0 -24px}.window-steam,.window-scene:hover .window-steam,.window-scene[aria-pressed=true] .window-steam{opacity:1;transition:none;transform:none}.window-steam path{opacity:.3;transform-box:fill-box;transform-origin:bottom}@media (prefers-reduced-motion:reduce){.intro-plant.pointer-plant .plant-leaves,.intro-plant.pointer-plant:hover .plant-leaves,.photo-tilt{transform:none}}.window-steam path{stroke:#737966;stroke-width:1.5px;animation:2.8s linear infinite steam-rise}.window-steam path:nth-child(2){animation-delay:-1.4s}@keyframes steam-rise{0%{opacity:0;transform:translate(-1px,3px)scaleY(.8)}20%{opacity:.75}55%{opacity:.65;transform:translate(2px,-4px)scaleY(1.05)}to{opacity:0;transform:translate(-1px,-11px)scaleY(1.2)}}@media (prefers-reduced-motion:reduce){.window-steam path{opacity:.55;animation:none}}.plant-button{z-index:5;width:65px;height:76px;color:inherit;touch-action:manipulation;background:0 0;border:0;padding:0;position:absolute;top:-12px;right:14px}.plant-button .intro-plant{pointer-events:none;width:100%;height:100%;position:static}.plant-button:focus-visible{outline-offset:5px;border-radius:8px;outline:1px dashed #7d856b}.intro-plant .plant-color{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.intro-plant defs .pencil-reveal{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.1s linear}.plant-button[aria-pressed=true] .pencil-reveal{stroke-dashoffset:0}.plant-button[aria-pressed=true] .pencil-reveal-pot{transition-duration:.7s;transition-delay:.65s}@media (width<=700px){.plant-button{right:8px}}@media (prefers-reduced-motion:reduce){.intro-plant defs .pencil-reveal{transition:none}}.intro-plant defs path{stroke-dasharray:none;stroke-dashoffset:0;animation:none}.custom-cursor{display:none}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.has-custom-cursor,html.has-custom-cursor *{cursor:none!important}.custom-cursor{z-index:100;pointer-events:none;mix-blend-mode:difference;opacity:0;display:block;position:fixed;top:0;left:0}.has-custom-cursor .custom-cursor{opacity:1}.custom-cursor span{width:32px;height:32px;display:block;transform:translate(-50%,-50%)}.custom-cursor svg{width:100%;height:100%;transition:transform .36s cubic-bezier(.22,1.18,.36,1),scale .12s ease-out;display:block;transform:scale(.55)rotate(-12deg)}.custom-cursor path{stroke:#fff;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.custom-cursor .cursor-loop{stroke-dasharray:1;stroke-dashoffset:.22px;transition:stroke-dashoffset .32s cubic-bezier(.22,1,.36,1)}.custom-cursor .cursor-pencil{opacity:.15;stroke-width:.65px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .42s cubic-bezier(.22,1,.36,1),opacity .18s ease-out}.custom-cursor.is-interactive .cursor-loop{stroke-dashoffset:0}.custom-cursor.is-interactive .cursor-pencil{stroke-dashoffset:0;opacity:.4}.custom-cursor circle{transition:opacity .18s ease-out}.custom-cursor.is-interactive circle{opacity:.4}.custom-cursor.is-interactive svg{transform:scale(1.08)rotate(16deg)}.custom-cursor.is-pressed svg{scale:.96}}@media print{.custom-cursor{display:none}}.sunlight[data-astro-cid-ai22a6ry]{pointer-events:none;border-radius:inherit;background:radial-gradient(at 95% 12%,#ffedc730,#0000 65%);position:absolute;inset:0;overflow:hidden}.sunlight-canvas[data-astro-cid-ai22a6ry]{opacity:.85;width:100%;height:100%;display:block;position:absolute;inset:0}@media (width<=700px){.sunlight-canvas[data-astro-cid-ai22a6ry]{opacity:.6}}@media print{.sunlight[data-astro-cid-ai22a6ry]{display:none}}.tiger-track[data-astro-cid-23zm3cc6]{pointer-events:none;height:42px;position:absolute;top:-42px;left:0;right:0;overflow:hidden}.tiger-runner[data-astro-cid-23zm3cc6]{width:calc(100% - 76px);height:42px;animation:22s linear infinite tiger-travel}.tiger[data-astro-cid-23zm3cc6]{width:76px;height:42px;animation:22s step-end infinite tiger-turn;display:block;overflow:visible}.tiger-bounce[data-astro-cid-23zm3cc6]{animation:.72s ease-in-out infinite tiger-bound}.tiger-leg[data-astro-cid-23zm3cc6]{transform-origin:0 0;animation:.72s ease-in-out infinite tiger-stride;animation-delay:var(--phase)}.tiger-shin[data-astro-cid-23zm3cc6]{transform-origin:0 0;animation:.72s ease-in-out infinite tiger-fold;animation-delay:var(--phase,0s)}.tiger-tail[data-astro-cid-23zm3cc6]{transform-origin:27px 29px;animation:.72s ease-in-out infinite alternate tiger-tail}.tiger-head[data-astro-cid-23zm3cc6]{transform-origin:70px 28px;animation:.72s ease-in-out infinite tiger-nod}@keyframes tiger-travel{0%,to{transform:translate(0)}50%{transform:translate(100%)}}@keyframes tiger-turn{0%,to{transform:scaleX(1)}50%{transform:scaleX(-1)}}@keyframes tiger-bound{0%,50%,to{transform:translateY(-1px)}25%,75%{transform:translateY(-3px)}}@keyframes tiger-stride{0%,to{transform:rotate(-32deg)}45%{transform:rotate(32deg)}75%{transform:rotate(5deg)}}@keyframes tiger-fold{0%,to{transform:rotate(-8deg)}35%{transform:rotate(8deg)}70%{transform:rotate(-55deg)}}@keyframes tiger-tail{0%{transform:rotate(-6deg)}to{transform:rotate(7deg)}}@keyframes tiger-nod{0%,50%,to{transform:rotate(0)}25%,75%{transform:rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.tiger-runner[data-astro-cid-23zm3cc6],.tiger[data-astro-cid-23zm3cc6],.tiger-bounce[data-astro-cid-23zm3cc6],.tiger-leg[data-astro-cid-23zm3cc6],.tiger-shin[data-astro-cid-23zm3cc6],.tiger-tail[data-astro-cid-23zm3cc6],.tiger-head[data-astro-cid-23zm3cc6]{animation:none}}@media print{.tiger-track[data-astro-cid-23zm3cc6]{display:none}}.sketch-clock[data-astro-cid-pmuio7o6]{vertical-align:middle;color:#7f826f;flex:none;width:25px;height:25px;display:inline-flex}.sketch-clock[data-astro-cid-pmuio7o6] svg[data-astro-cid-pmuio7o6]{width:100%;height:100%;display:block}@media (prefers-reduced-motion:reduce){.clock-second[data-astro-cid-pmuio7o6]{display:none}}
