.sketch-mark[data-astro-cid-2obgbvr4]{pointer-events:none;max-width:none;color:var(--color-cobalt);overflow:visible}.sketch-mark--circle[data-astro-cid-2obgbvr4],.sketch-mark--loop[data-astro-cid-2obgbvr4]{z-index:0;width:calc(100% + 1.2em);height:calc(100% + 1.12em);position:absolute;inset-block-start:-.56em;inset-inline-start:-.6em}.sketch-mark--circle[data-astro-cid-2obgbvr4]{transform:rotate(-.6deg)}.sketch-mark--loop[data-astro-cid-2obgbvr4]{transform:rotate(.9deg)}.sketch-mark--loop[data-astro-cid-2obgbvr4] .mark-path[data-astro-cid-2obgbvr4]{stroke-width:1.65px}.sketch-mark--underline[data-astro-cid-2obgbvr4]{width:calc(100% + .16em);height:.48em;position:absolute;inset-block-end:-.4em;inset-inline-start:-.08em}.sketch-mark--arrow[data-astro-cid-2obgbvr4]{width:1.7rem;height:.8rem;position:relative}.sketch-mark--bracket[data-astro-cid-2obgbvr4]{width:.8rem;height:3rem;position:absolute;inset-block-start:1.5rem;inset-inline-start:-1.25rem}.sketch-mark--strike[data-astro-cid-2obgbvr4]{width:calc(100% + .2rem);height:.8rem;position:absolute;inset-block-start:50%;inset-inline:-.1rem;transform:translateY(-50%)}.mark-path[data-astro-cid-2obgbvr4]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0;transition:stroke-dashoffset var(--duration-erase) var(--ease-out), opacity var(--duration-erase) ease}.sketch-trigger.is-active .mark-path[data-astro-cid-2obgbvr4],.sketch-trigger[aria-pressed=true] .mark-path[data-astro-cid-2obgbvr4],.sketch-trigger:focus-visible .mark-path[data-astro-cid-2obgbvr4],.sketch-mark[data-astro-cid-2obgbvr4].is-visible .mark-path[data-astro-cid-2obgbvr4]{stroke-dashoffset:0;opacity:1;transition:none}@media (hover:hover) and (pointer:fine){.sketch-trigger:hover .mark-path[data-astro-cid-2obgbvr4]{stroke-dashoffset:0;opacity:1;transition-duration:var(--duration-draw)}}@media (hover:none),(pointer:coarse){.sketch-trigger.is-active .mark-path[data-astro-cid-2obgbvr4]{stroke-dashoffset:0;opacity:1}}@media (prefers-reduced-motion:reduce){.mark-path[data-astro-cid-2obgbvr4]{transition:none}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.pointer-trail[data-astro-cid-ea3fei2b]{z-index:80;pointer-events:none;position:fixed;inset:0;overflow:hidden}.pointer-trail__mark[data-astro-cid-ea3fei2b]{color:var(--color-cobalt);font-family:var(--font-mono);opacity:0;will-change:transform, opacity;font-size:.9rem;font-weight:500;line-height:1;position:absolute;inset:0 auto auto 0}@media (hover:none),(pointer:coarse){.pointer-trail[data-astro-cid-ea3fei2b]{display:none}}@media (prefers-reduced-motion:reduce){.pointer-trail[data-astro-cid-ea3fei2b]{display:none}}.site-footer[data-astro-cid-nns7i3if]{justify-content:space-between;align-items:flex-end;gap:var(--space-6);padding-block:var(--space-12) var(--space-8);border-top:1px solid var(--color-rule);color:var(--color-ink-muted);font-size:.82rem;display:flex}.footer-note[data-astro-cid-nns7i3if]{font-family:var(--font-mono);letter-spacing:.02em;font-size:.68rem}.footer-links[data-astro-cid-nns7i3if]{gap:var(--space-6);display:flex}.footer-links[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{align-items:center;min-height:2rem;display:inline-flex}.footer-links[data-astro-cid-nns7i3if] span[data-astro-cid-nns7i3if]{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:.68rem}.footer-links[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{color:var(--color-cobalt)}@media (width<=36rem){.site-footer[data-astro-cid-nns7i3if]{flex-direction:column;align-items:flex-start}}.site-header[data-astro-cid-fzpbxy5g]{min-height:6rem;padding-block:var(--space-4);justify-content:space-between;align-items:center;display:flex}.wordmark[data-astro-cid-fzpbxy5g]{min-height:2rem;color:var(--color-ink);align-items:center;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.nav-list[data-astro-cid-fzpbxy5g]{align-items:center;gap:clamp(var(--space-4), 3vw, var(--rhythm-major));margin:0;padding:0;list-style:none;display:flex}.nav-link[data-astro-cid-fzpbxy5g]{min-width:2.5rem;min-height:2rem;color:var(--color-ink-muted);transition:color var(--duration-hover) ease;place-items:center;font-size:.8rem;text-decoration:none;display:grid;position:relative}.nav-link[data-astro-cid-fzpbxy5g]:is(:hover,.is-active){color:var(--color-ink)}@media (width<=30rem){.site-header[data-astro-cid-fzpbxy5g]{min-height:5rem}.nav-list[data-astro-cid-fzpbxy5g]{gap:var(--space-4)}}:root{--color-canvas:#f4f3f2;--color-ink:#2a222c;--color-ink-muted:#706b72;--color-ink-faint:#aaa7ab;--color-rule:#dedbdd;--color-surface:#eeeceb;--color-cobalt:#315cff;--color-cobalt-wash:#e8eeff;--font-sans:"Figtree", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--text-display:clamp(2rem, 6vw, 3.25rem);--text-h1:clamp(1.75rem, 5vw, 2.75rem);--text-h2:clamp(1.2rem, 3vw, 1.55rem);--text-lead:clamp(1.05rem, 2vw, 1.25rem);--text-body:.875rem;--text-meta:.72rem;--rhythm-minor:.5rem;--rhythm-major:1.5rem;--space-2:var(--rhythm-minor);--space-4:calc(var(--rhythm-minor) * 2);--space-6:var(--rhythm-major);--space-8:calc(var(--rhythm-minor) * 4);--space-12:calc(var(--rhythm-major) * 2);--space-16:calc(var(--rhythm-minor) * 8);--space-24:calc(var(--rhythm-major) * 4);--space-36:calc(var(--rhythm-major) * 6);--page-gutter:2.5rem;--grid-gap:1rem;--content-width:72.5rem;--reading-width:37.5rem;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-move:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--ease-rubber:cubic-bezier(.34, 1.28, .64, 1);--duration-press:80ms;--duration-return:.22s;--duration-hover:.16s;--duration-draw:.22s;--duration-erase:.14s;--duration-page:.19s}*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans);font-synthesis:none;line-height:var(--rhythm-major);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;overflow-x:clip}body{min-width:20rem;min-height:100vh;font-size:var(--text-body);font-weight:300;line-height:var(--rhythm-major);margin:0;overflow-x:clip}body,button,a{cursor:default}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration-color:var(--color-ink-faint);text-decoration-skip-ink:auto;text-underline-offset:.2em}.sketch-label{line-height:1.15;display:inline-block;position:relative}button,input,textarea,select{font:inherit}img,picture,svg,video{max-width:100%;display:block}h1,h2,h3,p{margin-block:0}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;font-weight:500;line-height:1.08}p,li{text-wrap:pretty}::selection{background:var(--color-cobalt-wash);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-cobalt);outline-offset:4px}.page-shell{width:min(100%, var(--content-width));padding-inline:var(--page-gutter);margin-inline:0}.eyebrow{color:var(--color-ink-muted);font-family:var(--font-mono);font-size:var(--text-meta);letter-spacing:.02em;font-weight:500;line-height:1.4}.reading-rail{max-width:var(--reading-width)}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-ink);color:var(--color-canvas);position:fixed;inset-block-start:var(--space-4);inset-inline-start:var(--space-4);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (width<=63.99rem){:root{--page-gutter:var(--rhythm-major)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (hover:hover) and (pointer:fine){a,button,[role=button]{cursor:pointer}}.pressable{transition:transform var(--duration-return) var(--ease-rubber), opacity var(--duration-hover) ease}.pressable:active{transition-duration:var(--duration-press);transition-timing-function:var(--ease-out);transform:scale(.98)}::view-transition-old(root){animation:page-out .14s var(--ease-out) both}::view-transition-new(root){animation:page-in .14s var(--ease-out) both}::view-transition-old(project-drawer){animation:drawer-out .16s var(--ease-out) both}::view-transition-new(project-drawer){animation:drawer-in .22s var(--ease-drawer) both}::view-transition-group(.project-card-move){animation-duration:.22s;animation-timing-function:var(--ease-move)}::view-transition-old(.project-card-move),::view-transition-new(.project-card-move){animation-duration:.16s;animation-timing-function:var(--ease-out);mix-blend-mode:normal}::view-transition-group(.project-art-move){animation-duration:.22s;animation-timing-function:var(--ease-move)}::view-transition-old(.project-art-move),::view-transition-new(.project-art-move){width:100%;height:100%;animation-duration:.16s;animation-timing-function:var(--ease-out);mix-blend-mode:normal;object-fit:cover;object-position:center}html[data-project-transition-phase=open]::view-transition-old(root){animation:staged-background-out .18s var(--ease-out) .22s both}html[data-project-transition-phase=open]::view-transition-new(root){animation:staged-background-in .18s var(--ease-out) .22s both}html[data-project-transition-phase=close]::view-transition-group(root){animation-duration:.24s}html[data-project-transition-phase=close]::view-transition-old(root){animation:staged-background-out .18s var(--ease-out) both}html[data-project-transition-phase=close]::view-transition-new(root){animation:staged-background-in .18s var(--ease-out) both}html[data-project-transition-phase=close]::view-transition-old(project-drawer){animation:drawer-out .18s var(--ease-out) both}html[data-project-transition-phase=close]::view-transition-group(.project-card-move),html[data-project-transition-phase=close]::view-transition-group(.project-art-move){animation-duration:.24s;animation-timing-function:var(--ease-move)}html[data-project-transition-phase=close]::view-transition-old(.project-card-move),html[data-project-transition-phase=close]::view-transition-new(.project-card-move),html[data-project-transition-phase=close]::view-transition-old(.project-art-move),html[data-project-transition-phase=close]::view-transition-new(.project-art-move){animation-duration:.18s;animation-timing-function:var(--ease-out)}html[data-project-transition-phase=open]::view-transition-group(.project-art-move){animation-duration:.22s}html[data-project-transition-phase=open]::view-transition-old(.project-art-move),html[data-project-transition-phase=open]::view-transition-new(.project-art-move){animation-duration:.16s}html[data-project-transition-phase=open]::view-transition-group(.project-card-move){animation-duration:.28s;animation-delay:.27s;animation-fill-mode:both;animation-timing-function:var(--ease-move)}html[data-project-transition-phase=open]::view-transition-old(.project-card-move),html[data-project-transition-phase=open]::view-transition-new(.project-card-move){animation-duration:.18s;animation-delay:.27s;animation-fill-mode:both}@keyframes page-out{to{opacity:.96}}@keyframes page-in{0%{opacity:.96}}@keyframes staged-background-out{to{opacity:0}}@keyframes staged-background-in{0%{opacity:0}}@keyframes drawer-in{0%{opacity:.96;transform:translate(6%)}}@keyframes drawer-out{to{opacity:0;transform:translate(4%)}}html[data-project-navigation-input=keyboard]::view-transition-group(*),html[data-project-navigation-input=keyboard]::view-transition-old(*),html[data-project-navigation-input=keyboard]::view-transition-new(*){animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.pressable,.pressable:active{transition:opacity var(--duration-hover) ease, color var(--duration-hover) ease!important;transform:none!important}.pressable:active{opacity:.72}::view-transition-old(root),::view-transition-new(root),::view-transition-old(project-drawer),::view-transition-new(project-drawer),::view-transition-group(.project-card-move),::view-transition-old(.project-card-move),::view-transition-new(.project-card-move),::view-transition-group(.project-art-move),::view-transition-old(.project-art-move),::view-transition-new(.project-art-move){animation:none}}
