.timeline[data-astro-cid-uaw2m7ba]{--marker:20px;--marker-gap:.875rem;--marker-top:calc((var(--text-name) * var(--leading-name) - var(--marker)) / 2 + 1px);--rail-gap:6px;--timeline-rail:var(--color-rail);gap:var(--space-row);flex-direction:column;padding:0;list-style:none;display:flex;container-type:inline-size}.timeline-item[data-astro-cid-uaw2m7ba]{grid-template-columns:var(--marker) minmax(0, 1fr) auto;column-gap:var(--marker-gap);grid-template-areas:"marker title dates"".role role"".summary summary";align-items:baseline;display:grid;position:relative}.timeline-item[data-astro-cid-uaw2m7ba]:not(:last-child):before{content:"";background:linear-gradient(to bottom, var(--timeline-rail) 1px, transparent 1px) 0 0 / 1px 4px repeat-y;pointer-events:none;inline-size:1px;position:absolute;inset-block-start:calc(var(--marker-top) + var(--marker) + var(--rail-gap));inset-block-end:calc(-1 * (var(--space-row) + var(--marker-top) - var(--rail-gap)));inset-inline-start:calc(var(--marker) / 2 - 1px)}.timeline-marker[data-astro-cid-uaw2m7ba]{inline-size:var(--marker);block-size:var(--marker);grid-area:marker;align-self:start;place-items:center;margin-block-start:var(--marker-top);display:grid}.timeline-logo[data-astro-cid-uaw2m7ba]{object-fit:contain;background-color:var(--color-bg-logo-tile);border-radius:5px;block-size:100%;inline-size:100%}:root[data-theme=dark] .timeline-logo[data-astro-cid-uaw2m7ba]{padding:2px}@media (prefers-color-scheme:dark){:root:not([data-theme]) .timeline-logo[data-astro-cid-uaw2m7ba]{padding:2px}}.timeline-dot[data-astro-cid-uaw2m7ba]{border:1px solid var(--timeline-rail);border-radius:50%;block-size:8px;inline-size:8px}.timeline-title[data-astro-cid-uaw2m7ba]{font-size:var(--text-name);line-height:var(--leading-name);letter-spacing:var(--tracking-name);text-wrap:pretty;grid-area:title}.timeline-org[data-astro-cid-uaw2m7ba]{font-weight:500}.timeline-org[data-astro-cid-uaw2m7ba]:has(+.timeline-org-ar){margin-inline-end:.2em}.timeline-org-ar[data-astro-cid-uaw2m7ba]{font-family:var(--font-ar);letter-spacing:0;white-space:nowrap;color:var(--color-text-muted);font-weight:400;line-height:1}.timeline-role[data-astro-cid-uaw2m7ba]{color:var(--color-text-secondary);grid-area:role}.timeline-dates[data-astro-cid-uaw2m7ba]{text-align:end;white-space:nowrap;grid-area:dates}.timeline-summary[data-astro-cid-uaw2m7ba]{max-inline-size:62ch;color:var(--color-text-muted);grid-area:summary;margin-block-start:.375rem}@container (width<36rem){.timeline-item[data-astro-cid-uaw2m7ba]{grid-template-columns:var(--marker) minmax(0, 1fr);grid-template-areas:"marker title"".role"".dates"".summary"}.timeline-dates[data-astro-cid-uaw2m7ba]{text-align:start}.timeline-summary[data-astro-cid-uaw2m7ba]{margin-block-start:.25rem}}.intro-chip[data-astro-cid-vcuigbis]{--chip-height:22px;--chip-pad:7px;--chip-gap:5px;--chip-text:.8125em;--chip-surface:color-mix(in oklab, var(--color-text-primary) 5%, transparent);--chip-surface-hover:color-mix(in oklab, var(--color-text-primary) 10%, transparent);--chip-ink:var(--color-text-primary);--logo:14px;--card-width:min(288px, 100vw - 32px);--card-pad:12px;--card-radius:24px;--card-gap:8px;--card-logo:22px;--card-surface:var(--color-bg-raised);--card-edge:light-dark(oklch(0% 0 0/.08),oklch(100% 0 0/.08));--card-shadow:drop-shadow(0 1px 2px light-dark(#1818180d,#0000004d)) drop-shadow(0 8px 20px light-dark(#18181817,#00000073));--card-ease:cubic-bezier(.32, .72, 0, 1);--card-open:.46s;--card-close:.26s;line-height:var(--chip-height);white-space:nowrap;display:inline-block;position:relative}.intro-chip[data-astro-cid-vcuigbis][data-tint=blue]{--chip-surface:var(--color-tint-blue-surface);--chip-ink:var(--color-tint-blue-text)}.intro-chip[data-astro-cid-vcuigbis][data-tint=sage]{--chip-surface:var(--color-tint-sage-surface);--chip-ink:var(--color-tint-sage-text)}.intro-chip-link[data-astro-cid-vcuigbis]{padding-inline:var(--chip-pad);border-radius:calc(var(--chip-height) / 2);font-size:var(--chip-text);color:var(--chip-ink);background-color:var(--chip-surface);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background-image:none;font-weight:700;text-decoration:none;transition:background-color .15s;display:block;position:relative}@media (hover:hover){.intro-chip[data-astro-cid-vcuigbis]:not([data-tint])>.intro-chip-link[data-astro-cid-vcuigbis]:hover{background-color:var(--chip-surface-hover)}}.intro-chip-link[data-astro-cid-vcuigbis]:before{content:"";position:absolute;inset:-3px}.intro-chip-link[data-astro-cid-vcuigbis]:focus-visible{border-radius:calc(var(--chip-height) / 2)}.intro-chip[data-astro-cid-vcuigbis][data-open]>.intro-chip-link[data-astro-cid-vcuigbis]:focus-visible{outline-color:#0000}.intro-chip[data-astro-cid-vcuigbis] :is(.intro-chip-logo,.intro-card-logo){object-fit:contain}.intro-chip[data-astro-cid-vcuigbis] .intro-chip-logo{vertical-align:top;inline-size:var(--logo);block-size:var(--logo);margin-block-start:calc((var(--chip-height) - var(--logo)) / 2);margin-inline-end:var(--chip-gap);display:inline-block}.intro-card[data-astro-cid-vcuigbis]{background-image:none;display:none}.intro-chip[data-astro-cid-vcuigbis][data-live]>.intro-card[data-astro-cid-vcuigbis]{z-index:5;inline-size:var(--card-width);translate:var(--card-shift,0px) 0;font-weight:400;line-height:var(--leading-body);white-space:normal;filter:var(--card-shadow);opacity:0;visibility:hidden;pointer-events:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;text-decoration:none;transition:opacity .12s,visibility 0s .12s;display:block;position:absolute;inset-block-start:calc(-1 * var(--card-outset,0px));inset-inline-start:calc(var(--chip-pad) - var(--card-pad))}.intro-chip[data-astro-cid-vcuigbis][data-placement=above]>.intro-card[data-astro-cid-vcuigbis]{inset-block:auto calc(-1 * var(--card-outset,0px))}.intro-chip[data-astro-cid-vcuigbis][data-open]>.intro-card[data-astro-cid-vcuigbis]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .16s,visibility}.intro-chip[data-astro-cid-vcuigbis][data-open=focus]>.intro-card[data-astro-cid-vcuigbis]{pointer-events:none}.intro-card-body[data-astro-cid-vcuigbis]{padding:var(--card-pad);border-radius:var(--card-radius);font-size:var(--chip-text);background-color:var(--card-surface);box-shadow:inset 0 0 0 1px var(--card-edge);display:block}.intro-chip[data-astro-cid-vcuigbis]:has(>.intro-chip-link:focus-visible) .intro-card-body[data-astro-cid-vcuigbis]{box-shadow:inset 0 0 0 2px var(--color-border-focus)}.intro-card-head[data-astro-cid-vcuigbis]{align-items:center;gap:var(--card-gap);min-block-size:22px;color:var(--color-text-primary);font-weight:600;line-height:1.3;display:flex}.intro-card[data-astro-cid-vcuigbis] .intro-card-logo{inline-size:var(--card-logo);block-size:var(--card-logo);transform-origin:0;flex:none}.intro-card-title[data-astro-cid-vcuigbis]{text-wrap:balance;min-inline-size:0}.intro-card-text[data-astro-cid-vcuigbis]{color:var(--color-text-secondary);text-wrap:pretty;margin-block-start:.5rem;font-size:.875rem;line-height:1.45;display:block}.intro-card-lead[data-astro-cid-vcuigbis]{color:var(--color-text-primary);font-weight:500}.intro-card-dates[data-astro-cid-vcuigbis]{font-size:var(--text-meta);color:var(--color-text-muted);font-variant-numeric:tabular-nums;display:block}.intro-card-text[data-astro-cid-vcuigbis]:has(.intro-card-dates) .intro-card-lead[data-astro-cid-vcuigbis]{display:block}.intro-card-shot[data-astro-cid-vcuigbis]{aspect-ratio:16/10;border-radius:calc(var(--card-radius) - var(--card-pad));background-color:var(--color-bg-page-start);margin-block-start:.75rem;display:block;overflow:hidden}.intro-chip[data-astro-cid-vcuigbis][data-compact] .intro-card-shot[data-astro-cid-vcuigbis]{display:none}.intro-card-shot[data-astro-cid-vcuigbis] img{object-fit:cover;object-position:var(--shot-position,center);border-radius:inherit;outline:1px solid var(--color-image-outline);outline-offset:-1px;block-size:100%;inline-size:100%}.intro-card-shot[data-astro-cid-vcuigbis] img[data-scheme=dark],:root[data-theme=dark] .intro-card-shot[data-astro-cid-vcuigbis] img[data-scheme=light]{display:none}:root[data-theme=dark] .intro-card-shot[data-astro-cid-vcuigbis] img[data-scheme=dark]{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .intro-card-shot[data-astro-cid-vcuigbis] img[data-scheme=light]{display:none}:root:not([data-theme]) .intro-card-shot[data-astro-cid-vcuigbis] img[data-scheme=dark]{display:block}}.intro-card-host[data-astro-cid-vcuigbis]{font-size:var(--text-meta);color:var(--color-text-muted);margin-block-start:.5rem;line-height:1.5;display:block}@media (prefers-reduced-motion:no-preference){.intro-chip[data-astro-cid-vcuigbis][data-live]>.intro-card[data-astro-cid-vcuigbis]{opacity:1;transition:visibility 0s var(--card-close)}.intro-chip[data-astro-cid-vcuigbis][data-open]>.intro-card[data-astro-cid-vcuigbis]{transition:visibility}.intro-chip[data-astro-cid-vcuigbis][data-live] .intro-card-body[data-astro-cid-vcuigbis]{clip-path:var(--card-from,inset(0 round var(--card-radius)));background-color:var(--chip-surface);transition-property:clip-path,background-color;transition-duration:var(--card-close);transition-timing-function:var(--ease-out)}.intro-chip[data-astro-cid-vcuigbis][data-open] .intro-card-body[data-astro-cid-vcuigbis]{clip-path:inset(0 round var(--card-radius));background-color:var(--card-surface);transition-duration:var(--card-open);transition-timing-function:var(--card-ease)}.intro-chip[data-astro-cid-vcuigbis][data-live] .intro-card-logo{transform:var(--logo-from,none);transition:transform var(--card-close) var(--ease-out)}.intro-chip[data-astro-cid-vcuigbis][data-live] .intro-card-title[data-astro-cid-vcuigbis]{color:var(--chip-ink);transform:var(--title-from,none);transition-property:transform,color;transition-duration:var(--card-close);transition-timing-function:var(--ease-out)}.intro-chip[data-astro-cid-vcuigbis][data-open] .intro-card-logo{transition:transform var(--card-open) var(--card-ease);transform:none}.intro-chip[data-astro-cid-vcuigbis][data-open] .intro-card-title[data-astro-cid-vcuigbis]{color:var(--color-text-primary);transition-duration:var(--card-open);transition-timing-function:var(--card-ease);transform:none}.intro-chip[data-astro-cid-vcuigbis][data-live] [data-astro-cid-vcuigbis]:is(.intro-card-text,.intro-card-shot,.intro-card-host){opacity:0;transition:opacity .12s}.intro-chip[data-astro-cid-vcuigbis][data-open] [data-astro-cid-vcuigbis]:is(.intro-card-text,.intro-card-shot,.intro-card-host){opacity:1;transition:opacity .28s .1s}}@media (prefers-reduced-motion:reduce){.intro-chip[data-astro-cid-vcuigbis][data-live]>.intro-card[data-astro-cid-vcuigbis]{transition-duration:.12s,0s!important;transition-delay:0s,.12s!important}.intro-chip[data-astro-cid-vcuigbis][data-open]>.intro-card[data-astro-cid-vcuigbis]{transition-duration:.16s,0s!important;transition-delay:0s,0s!important}}@media (forced-colors:active){.intro-chip-link[data-astro-cid-vcuigbis],.intro-card-body[data-astro-cid-vcuigbis]{border:1px solid canvastext}}.intro-icon-link[data-astro-cid-kwpghhxc]{--icon-size:.8em;--icon-gap:.3em;white-space:nowrap;color:var(--color-text-primary);-webkit-tap-highlight-color:transparent;text-decoration:none}.intro-icon-link[data-astro-cid-kwpghhxc][data-icon=github]{--icon-size:.875em}.intro-icon-link[data-astro-cid-kwpghhxc][data-icon=email]{--icon-size:1.0625em;--icon-gap:.2em}.intro-icon-link[data-astro-cid-kwpghhxc][data-icon=copy]{--icon-size:.875em;--icon-gap:.25em}.intro-icon-link[data-astro-cid-kwpghhxc] .intro-icon,.intro-copy-icons[data-astro-cid-kwpghhxc]{inline-size:var(--icon-size);block-size:var(--icon-size);vertical-align:calc((1cap - var(--icon-size)) / 2);margin-inline-end:var(--icon-gap);display:inline-block}.intro-icon-link[data-astro-cid-kwpghhxc] .intro-icon{stroke-width:1.5px}@supports not (vertical-align:1cap){.intro-icon-link[data-astro-cid-kwpghhxc] .intro-icon,.intro-copy-icons[data-astro-cid-kwpghhxc]{vertical-align:calc((.705em - var(--icon-size)) / 2)}}.intro-email[data-astro-cid-kwpghhxc]{white-space:nowrap;position:relative}.intro-copy[data-astro-cid-kwpghhxc]{font:inherit;letter-spacing:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0;display:none}@media (scripting:enabled){.intro-email-link[data-astro-cid-kwpghhxc]{display:none}.intro-copy[data-astro-cid-kwpghhxc]{display:inline}}.intro-email[data-astro-cid-kwpghhxc][data-ready] .intro-email-link[data-astro-cid-kwpghhxc]{display:none}.intro-email[data-astro-cid-kwpghhxc][data-ready] .intro-copy[data-astro-cid-kwpghhxc]{display:inline}.intro-copy-icons[data-astro-cid-kwpghhxc]{position:relative}.intro-copy-icons[data-astro-cid-kwpghhxc] .intro-icon{block-size:100%;inline-size:100%;margin:0;transition-property:opacity,scale,filter;transition-duration:.3s;transition-timing-function:cubic-bezier(.2,0,0,1);position:absolute;inset:0}.intro-copy-icons[data-astro-cid-kwpghhxc] .intro-check-icon,.intro-copy[data-astro-cid-kwpghhxc][data-copied] .intro-copy-icon{opacity:0;filter:blur(4px);scale:.25}.intro-copy[data-astro-cid-kwpghhxc][data-copied] .intro-check-icon{opacity:1;filter:none;scale:1}@media (prefers-reduced-motion:reduce){.intro-copy-icons[data-astro-cid-kwpghhxc] .intro-icon{filter:none!important;transition:opacity .15s ease-out!important;scale:none!important}}.intro-copy-tip[data-astro-cid-kwpghhxc]{z-index:6;font-size:var(--text-meta);color:var(--color-bg-page-start);background-color:var(--color-text-primary);translate:calc(-50% + var(--tip-shift,0px)) .25rem;opacity:0;visibility:hidden;pointer-events:none;border-radius:999px;padding:.125rem .5rem;font-weight:600;line-height:1.5;transition:opacity .15s ease-out,translate .15s ease-out,visibility 0s .15s;position:absolute;inset-block-end:calc(100% + .25rem);inset-inline-start:50%}.intro-copy-tip[data-astro-cid-kwpghhxc][data-state]{translate:calc(-50% + var(--tip-shift,0px)) 0;opacity:1;visibility:visible;transition:opacity .15s ease-out,translate .15s ease-out,visibility}.intro-copy-tip[data-astro-cid-kwpghhxc][data-state=failed]{user-select:all;pointer-events:auto}.intro-copy-tip[data-astro-cid-kwpghhxc]::selection{color:var(--color-text-primary);background-color:var(--color-bg-page-start)}@media (prefers-reduced-motion:reduce){.intro-copy-tip[data-astro-cid-kwpghhxc],.intro-copy-tip[data-astro-cid-kwpghhxc][data-state]{translate:calc(-50% + var(--tip-shift,0px)) 0}}@media (forced-colors:active){.intro-copy-tip[data-astro-cid-kwpghhxc]{border:1px solid canvastext}}.intro-tie[data-astro-cid-zm27xi3k]{white-space:nowrap}.wall-pile[data-astro-cid-fbpyig26]{--pile-sticker:2.5rem;--pile-ring:3px;--pile-face-radius:5px;--pile-radius:calc(var(--pile-face-radius) + var(--pile-ring));--pile-overlap:.875rem;--pile-surface:var(--color-bg-page-start);--pile-edge:light-dark(var(--color-border),oklch(100% 0 0/.12));--pile-shadow-near:light-dark(#00000012,#0006);--pile-shadow-far:light-dark(#00000021,#0000008c);--pile-lift:0 0 0 1px var(--pile-edge), 0 1px 2px var(--pile-shadow-near), 0 4px 10px -3px var(--pile-shadow-far);--pile-lifted:0 0 0 1px var(--pile-edge), 0 2px 4px var(--pile-shadow-near), 0 10px 18px -6px var(--pile-shadow-far);border-radius:var(--radius-control);color:var(--color-text-secondary);-webkit-tap-highlight-color:transparent;transition:scale .15s var(--ease-out);background-image:none;align-items:center;gap:.125rem;padding-block:.25rem;padding-inline:.25rem 0;text-decoration:none;display:inline-flex}.wall-pile[data-astro-cid-fbpyig26]:focus-visible{border-radius:var(--radius-control)}.wall-pile-note[data-astro-cid-fbpyig26]{min-inline-size:0;transition:color .15s var(--ease-out);flex:0 auto;align-items:center;display:flex}.wall-pile-note-text[data-astro-cid-fbpyig26]{font:400 1.125rem / 1 var(--font-note);text-align:end;text-wrap:balance;text-box:trim-both cap alphabetic;-webkit-text-stroke:.3em var(--pile-surface);paint-order:stroke fill;margin-inline-end:.25rem}@supports not (text-box:trim-both cap alphabetic){.wall-pile-note-text[data-astro-cid-fbpyig26]{translate:0 .073em}}.wall-pile-arrow[data-astro-cid-fbpyig26]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;block-size:.875rem;inline-size:1.75rem;overflow:visible}.pile-halo[data-astro-cid-fbpyig26]{stroke:var(--pile-surface);stroke-width:5px}.wall-pile-stack[data-astro-cid-fbpyig26]{flex:none;padding:.125rem;display:flex}.wall-pile-sticker[data-astro-cid-fbpyig26]{--tilt:-6deg;--spread:0px;z-index:3;inline-size:var(--pile-sticker);block-size:var(--pile-sticker);padding:var(--pile-ring);border-radius:var(--pile-radius);background-color:var(--pile-surface);box-shadow:var(--pile-lift);rotate:var(--tilt);transition-property:rotate,translate,box-shadow;transition-duration:.2s;transition-timing-function:var(--ease-out);flex:none;display:block;position:relative}.wall-pile-sticker[data-astro-cid-fbpyig26]+.wall-pile-sticker[data-astro-cid-fbpyig26]{margin-inline-start:calc(-1 * var(--pile-overlap))}.wall-pile-sticker[data-astro-cid-fbpyig26]:nth-child(2){--tilt:4deg;--spread:.3125rem;z-index:2}.wall-pile-sticker[data-astro-cid-fbpyig26]:nth-child(3){--tilt:-2deg;--spread:.625rem;z-index:1}.wall-pile-face[data-astro-cid-fbpyig26]{border-radius:var(--pile-face-radius);background-color:var(--color-bg-sunken);place-items:center;block-size:100%;inline-size:100%;display:grid;position:relative;overflow:hidden}.wall-pile-face[data-astro-cid-fbpyig26]:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px var(--color-image-outline);pointer-events:none;position:absolute;inset:0}.wall-pile-face[data-astro-cid-fbpyig26] .wall-pile-photo{object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}.wall-pile-face[data-astro-cid-fbpyig26] .wall-pile-letter{color:var(--color-text-secondary);font-size:.875rem;font-weight:600;line-height:1}.wall-pile-face[data-astro-cid-fbpyig26] :is(.wall-pile-photo,.wall-pile-letter){transition:opacity .3s var(--ease-out)}@starting-style{.wall-pile-face[data-astro-cid-fbpyig26] :is(.wall-pile-photo,.wall-pile-letter){opacity:0}}@media (hover:hover){.wall-pile[data-astro-cid-fbpyig26]:hover{color:var(--color-text-primary)}}.wall-pile[data-astro-cid-fbpyig26]:focus-visible{color:var(--color-text-primary)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.wall-pile[data-astro-cid-fbpyig26]:hover .wall-pile-sticker[data-astro-cid-fbpyig26]{rotate:calc(var(--tilt) / 2);translate:var(--spread) -.125rem;box-shadow:var(--pile-lifted)}}@media (prefers-reduced-motion:no-preference){.wall-pile[data-astro-cid-fbpyig26]:focus-visible .wall-pile-sticker[data-astro-cid-fbpyig26]{rotate:calc(var(--tilt) / 2);translate:var(--spread) -.125rem;box-shadow:var(--pile-lifted)}.wall-pile[data-astro-cid-fbpyig26]:active{scale:.96}}@media (width<=35rem){.wall-pile[data-astro-cid-fbpyig26]{--pile-sticker:2.25rem;--pile-overlap:.8125rem}.wall-pile-note-text[data-astro-cid-fbpyig26]{font-size:1rem}.wall-pile-arrow[data-astro-cid-fbpyig26]{block-size:.6875rem;inline-size:1.375rem}}@media (forced-colors:active){.wall-pile-sticker[data-astro-cid-fbpyig26]{border:1px solid canvastext}}.intro[data-astro-cid-ge2uvauf]{--hero-banner-ratio:5 / 2;--hero-banner-max-height:calc(var(--column) / 4);--hero-banner-radius:var(--radius-preview);--hero-banner-edge:light-dark(#0000,oklch(100% 0 0/.12));--hero-avatar:104px;--hero-avatar-radius:var(--radius-portrait);--hero-overlap:32px;--hero-ring:4px;--hero-gap:18px;--hero-name-offset:.375rem;--hero-leading-short-line:1.5;--hero-measure:30rem;--hero-intro-size:1rem;--hero-intro-leading:1.625}.hero-banner[data-astro-cid-ge2uvauf]{border-radius:var(--hero-banner-radius);background-color:var(--color-bg-banner);position:relative;container-type:inline-size}.hero-banner[data-astro-cid-ge2uvauf]:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px var(--hero-banner-edge);pointer-events:none;position:absolute;inset:0}signal-scene[data-astro-cid-ge2uvauf]{inline-size:100%;max-block-size:var(--hero-banner-max-height);aspect-ratio:var(--hero-banner-ratio);border-radius:inherit;display:block}@container (width<700px){signal-scene[data-astro-cid-ge2uvauf]{max-block-size:none}}signal-scene[data-astro-cid-ge2uvauf]:focus-visible{border-radius:inherit}.banner-fallback[data-astro-cid-ge2uvauf]{object-fit:cover;object-position:50% 27%;border-radius:inherit;pointer-events:none;block-size:100%;inline-size:100%;position:absolute;inset:0}@media (width<=46.7rem){.banner-fallback[data-astro-cid-ge2uvauf]{object-fit:none;object-position:61.43% calc(28% - .52vw)}}@media (prefers-contrast:more){.intro[data-astro-cid-ge2uvauf]{--hero-banner-edge:light-dark(#0000,oklch(100% 0 0/.3))}}@media (forced-colors:active){.hero-banner[data-astro-cid-ge2uvauf]:after{border:1px solid canvastext}}@media (scripting:enabled){.banner-fallback[data-astro-cid-ge2uvauf]{display:none}}signal-scene[data-astro-cid-ge2uvauf]:defined+.banner-fallback[data-astro-cid-ge2uvauf]{display:none}.profile[data-astro-cid-ge2uvauf]{z-index:1;align-items:flex-start;gap:var(--hero-gap);padding-inline:var(--gutter);pointer-events:none;margin-block-start:calc(-1 * var(--hero-overlap));display:flex;position:relative}.avatar[data-astro-cid-ge2uvauf]{inline-size:var(--hero-avatar);block-size:var(--hero-avatar);border:1px solid var(--color-border);border-radius:var(--hero-avatar-radius);background-color:var(--color-bg-sunken);box-shadow:0 0 0 var(--hero-ring) var(--color-bg-page-start);flex:none;position:relative;overflow:hidden}.avatar-image[data-astro-cid-ge2uvauf]{left:var(--crop-x);top:var(--crop-y);inline-size:var(--crop-width);block-size:auto;max-inline-size:none;position:absolute}.who[data-astro-cid-ge2uvauf]{min-inline-size:0;pointer-events:auto;margin-block-start:calc(var(--hero-overlap) + var(--hero-name-offset))}.name[data-astro-cid-ge2uvauf]{font-size:var(--text-title);font-weight:600;line-height:var(--leading-title);letter-spacing:var(--tracking-title);overflow-wrap:break-word}.name[data-astro-cid-ge2uvauf]:has(>.name-flag){white-space:nowrap}.name-flag[data-astro-cid-ge2uvauf]{vertical-align:calc(.5cap - .25em);outline:1px solid var(--color-image-outline);outline-offset:-1px;border-radius:.12em;block-size:.5em;inline-size:auto;margin-inline-start:.3em;display:inline}@supports not (vertical-align:1cap){.name-flag[data-astro-cid-ge2uvauf]{vertical-align:.12em}}.short-line[data-astro-cid-ge2uvauf]{font-size:var(--text-name);font-weight:500;line-height:var(--hero-leading-short-line);color:var(--color-text-muted);margin-block-start:.25rem}.short-line-tie[data-astro-cid-ge2uvauf]{white-space:nowrap}.short-line[data-astro-cid-ge2uvauf] .short-line-logo{object-fit:contain;vertical-align:calc(.5cap - .46875em);block-size:.9375em;inline-size:.9375em;margin-inline-end:.3em;display:inline}@supports not (vertical-align:1cap){.short-line[data-astro-cid-ge2uvauf] .short-line-logo{vertical-align:-.096em}}.hero-pile[data-astro-cid-ge2uvauf]{flex:none;margin-block-start:calc(var(--hero-overlap) + .5rem);margin-inline:auto -.125rem;padding-inline-start:.375rem}.hero-pile[data-astro-cid-ge2uvauf] .wall-pile{pointer-events:auto}.intro-text[data-astro-cid-ge2uvauf]{padding-inline:var(--gutter);font-family:var(--font-intro);font-size:var(--hero-intro-size);line-height:var(--hero-intro-leading);color:var(--color-text-secondary);text-transform:lowercase;margin-block-start:1.5rem}.intro-text[data-astro-cid-ge2uvauf] :is(.intro-chip,.intro-icon-link[data-icon=x],.intro-copy-tip){text-transform:none}.intro-text[data-astro-cid-ge2uvauf]>*{max-inline-size:var(--hero-measure)}.intro-text[data-astro-cid-ge2uvauf]>*+*{margin-block-start:.75em}.intro-text[data-astro-cid-ge2uvauf] a:not([class]){color:var(--color-text-primary)}@media (width<=35rem){.intro[data-astro-cid-ge2uvauf]{--hero-banner-radius:0px;--hero-avatar:88px;--hero-avatar-radius:18px;--hero-overlap:36px;--hero-gap:14px}.hero-banner[data-astro-cid-ge2uvauf]:after{box-shadow:inset 0 1px var(--hero-banner-edge), inset 0 -1px var(--hero-banner-edge)}.profile[data-astro-cid-ge2uvauf]{grid-template-columns:auto minmax(0,1fr);display:grid}.avatar[data-astro-cid-ge2uvauf]{grid-area:1/1}.hero-pile[data-astro-cid-ge2uvauf]{grid-area:1/2;place-self:end;margin-block:0;padding:0}.who[data-astro-cid-ge2uvauf]{grid-area:2/1/auto/-1;margin-block-start:0}}.postcard-painting[data-astro-cid-h2g24kmb]{block-size:100%;inline-size:100%;display:block}.postcard-sun[data-astro-cid-h2g24kmb]{transform:translate(var(--sun-x), var(--sun-y))}.postcard-glow[data-astro-cid-h2g24kmb]{opacity:var(--glow-o)}.postcard-windows[data-astro-cid-h2g24kmb]{opacity:var(--window-o)}.postcard-grain[data-astro-cid-h2g24kmb]{mix-blend-mode:multiply}.postcard-card[data-paint=pending] .postcard-step[data-astro-cid-h2g24kmb]{opacity:0}.postcard-card[data-paint=done] .postcard-step[data-astro-cid-h2g24kmb]{transition:opacity .6s var(--ease-out) calc(var(--step) * .4s)}.postcard[data-astro-cid-c55q6fg4]{perspective:1600px;container-type:inline-size}.postcard-card[data-astro-cid-c55q6fg4]{--card-paper:#fffdf9;--card-edge:#0000001a;--stamp-paper:#fff;--postmark:#2b2a2980;inline-size:min(100%,30rem);color:var(--color-text-primary);color-scheme:light;transform-style:preserve-3d;display:grid;rotate:-1deg}:root[data-theme=dark] .postcard-card[data-astro-cid-c55q6fg4]{--card-paper:#f1ebdd;--card-edge:#ffffff1a}@media (prefers-color-scheme:dark){:root:not([data-theme]) .postcard-card[data-astro-cid-c55q6fg4]{--card-paper:#f1ebdd;--card-edge:#ffffff1a}}.postcard-face[data-astro-cid-c55q6fg4]{background-color:var(--card-paper);min-inline-size:0;box-shadow:0 0 0 1px var(--card-edge), 0 1px 2px #0000000d, 0 12px 28px -10px #00000038;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:8px;grid-area:1/1}.postcard-front[data-astro-cid-c55q6fg4],.postcard-card[data-astro-cid-c55q6fg4][data-side=front]{transform:rotateY(180deg)}.postcard-back[data-astro-cid-c55q6fg4]{aspect-ratio:3/2;grid-template-columns:minmax(0,1.15fr) 1px minmax(0,1fr);gap:0 1.25rem;padding:1.125rem 1.375rem 1.25rem;display:grid}.postcard-msg[data-astro-cid-c55q6fg4],.postcard-side[data-astro-cid-c55q6fg4]{flex-direction:column;min-inline-size:0;display:flex}.postcard-caption[data-astro-cid-c55q6fg4],.postcard-frontcap[data-astro-cid-c55q6fg4]{font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-weight:500;line-height:1.5}.postcard-note[data-astro-cid-c55q6fg4],.postcard-sign[data-astro-cid-c55q6fg4],.postcard-ps[data-astro-cid-c55q6fg4],.postcard-to[data-astro-cid-c55q6fg4]{font-family:var(--font-note)}.postcard-note[data-astro-cid-c55q6fg4]{text-wrap:balance;margin-block-start:1rem;font-size:1.5rem;line-height:1.3}.postcard-sign[data-astro-cid-c55q6fg4]{margin-block-start:.625rem;font-size:1.5rem;line-height:1.3}.postcard-ps[data-astro-cid-c55q6fg4]{color:var(--color-text-secondary);margin-block-start:auto;padding-block-start:.75rem;font-size:1rem;line-height:1.35}.postcard-rule[data-astro-cid-c55q6fg4]{background-color:var(--color-separator);margin-block:.25rem}.postcard-stampwrap[data-astro-cid-c55q6fg4]{align-self:flex-end;position:relative}.postcard-stampshadow[data-astro-cid-c55q6fg4]{filter:drop-shadow(0 0 .5px #00000073)drop-shadow(0 1px 2px #00000024)}.postcard-stamp[data-astro-cid-c55q6fg4]{background-color:var(--stamp-paper);block-size:112px;inline-size:88px;padding:5px;rotate:2deg;mask:radial-gradient(circle,#0000 0 2.6px,#000 3px) -4px -4px/8px 8px,linear-gradient(#000 0 0) content-box}.postcard-postmark[data-astro-cid-c55q6fg4]{inline-size:7.5rem;color:var(--postmark);pointer-events:none;position:absolute;inset-block-start:3.25rem;inset-inline-end:3.75rem;rotate:-12deg}.postcard-postmark[data-astro-cid-c55q6fg4] text[data-astro-cid-c55q6fg4]{font-family:var(--font-body);font-weight:600}.postcard-address[data-astro-cid-c55q6fg4]{margin-block-start:auto}.postcard-to[data-astro-cid-c55q6fg4]{border-block-end:1px solid var(--color-separator);padding-block-end:.125rem;font-size:1.125rem;line-height:1.3}.postcard-line[data-astro-cid-c55q6fg4]{background-color:var(--color-separator);block-size:1px;margin-block-start:1.5rem;display:block}.postcard-front[data-astro-cid-c55q6fg4]{flex-direction:column;padding:.625rem .625rem .5rem;display:flex}.postcard-frontart[data-astro-cid-c55q6fg4]{min-block-size:0;box-shadow:0 0 0 1px var(--color-image-outline);border-radius:3px;flex:1;overflow:hidden}.postcard-frontcap[data-astro-cid-c55q6fg4]{padding-block-start:.375rem}.postcard[data-astro-cid-c55q6fg4]:has(>.postcard-turn:not([hidden])) .postcard-card[data-astro-cid-c55q6fg4]{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.postcard-turn[data-astro-cid-c55q6fg4]{min-block-size:1.75rem;font:inherit;font-size:var(--text-meta);color:var(--color-text-muted);border-radius:var(--radius-control);cursor:pointer;background-color:#0000;border:0;align-items:center;gap:.375rem;margin-block-start:1rem;margin-inline-start:-.5rem;padding:.25rem .5rem;font-weight:500;line-height:1.2;transition-property:color,background-color,scale;transition-duration:.15s;transition-timing-function:ease-out;display:inline-flex;position:relative}.postcard-turn[data-astro-cid-c55q6fg4][hidden]{display:none}.postcard-turn-icon[data-astro-cid-c55q6fg4]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;block-size:.875rem;inline-size:.875rem}.postcard-turn[data-astro-cid-c55q6fg4]:before{content:"";position:absolute;inset:-.5rem -.25rem}@media (hover:hover){.postcard-turn[data-astro-cid-c55q6fg4]:hover{color:var(--color-text-primary)}}.postcard-turn[data-astro-cid-c55q6fg4]:active{scale:.96}@container (width<26rem){.postcard-card[data-astro-cid-c55q6fg4]{inline-size:min(100%,20rem)}.postcard-back[data-astro-cid-c55q6fg4]{aspect-ratio:auto;grid-template:"caption stamp""note stamp"1fr"sign sign""ps ps""address address"/minmax(0,1fr) auto;gap:0 .875rem;padding:.875rem 1rem 1.125rem}.postcard-msg[data-astro-cid-c55q6fg4],.postcard-side[data-astro-cid-c55q6fg4]{display:contents}.postcard-rule[data-astro-cid-c55q6fg4]{display:none}.postcard-caption[data-astro-cid-c55q6fg4]{grid-area:caption}.postcard-note[data-astro-cid-c55q6fg4]{grid-area:note;margin-block-start:.625rem;font-size:1.25rem}.postcard-sign[data-astro-cid-c55q6fg4]{grid-area:sign;font-size:1.25rem}.postcard-ps[data-astro-cid-c55q6fg4]{grid-area:ps;margin-block-start:.25rem;padding-block-start:.375rem;font-size:.9375rem}.postcard-to[data-astro-cid-c55q6fg4]{font-size:1rem}.postcard-line[data-astro-cid-c55q6fg4]{margin-block-start:1.25rem}.postcard-stampwrap[data-astro-cid-c55q6fg4]{grid-area:stamp;align-self:start}.postcard-address[data-astro-cid-c55q6fg4]{grid-area:address;margin-block-start:1rem}.postcard-stamp[data-astro-cid-c55q6fg4]{block-size:96px;inline-size:72px}.postcard-postmark[data-astro-cid-c55q6fg4]{inline-size:5.75rem;inset-block-start:3.25rem;inset-inline:-.875rem auto}}.postcard-card[data-astro-cid-c55q6fg4]{--paper-art:#faf6ec;--window-o:0;--glow-o:1;--sun-x:124px}.postcard-card[data-astro-cid-c55q6fg4][data-mood=dawn]{--sky-1:#8f9cc6;--sky-2:#e6b8a8;--sky-3:#f8dcb2;--glow:#ffe3bd;--sun:#fff2d9;--sun-y:150px;--far:#a08e98;--near:#5b5066;--globe:#e2b878;--window:#f6d58e;--ground:#dcbc93}.postcard-card[data-astro-cid-c55q6fg4][data-mood=day]{--sky-1:#8fc0e2;--sky-2:#bedbec;--sky-3:#efe7d0;--glow:#fff7db;--sun:#fffbea;--sun-y:48px;--far:#bcae98;--near:#8a7e6e;--globe:#d9b16b;--window:#f6d58e;--ground:#e2c89b}.postcard-card[data-astro-cid-c55q6fg4][data-mood=afternoon]{--sky-1:#9ec2de;--sky-2:#e7d5ae;--sky-3:#f4c886;--glow:#ffda9d;--sun:#ffe8b3;--sun-y:104px;--far:#a98f76;--near:#6f5b49;--globe:#e1a95b;--window:#f6d58e;--ground:#ddb582}.postcard-card[data-astro-cid-c55q6fg4][data-mood=dusk]{--sky-1:#4b578b;--sky-2:#c87e8f;--sky-3:#f2a46d;--glow:#ffb97c;--sun:#ffd095;--sun-y:156px;--far:#725a6c;--near:#302b40;--globe:#eaa560;--window:#f6d58e;--window-o:.65;--ground:#bc8c73}.postcard-card[data-astro-cid-c55q6fg4][data-mood=night]{--sky-1:#0f1834;--sky-2:#21305b;--sky-3:#3c4c79;--glow:#e9e2c8;--sun:#f3ecd4;--sun-y:50px;--glow-o:.45;--far:#1e2440;--near:#0c0f1d;--globe:#f2c46d;--window:#f6d58e;--window-o:1;--ground:#1f2238;--paper-art:#e9e4d6}@media (prefers-reduced-motion:no-preference){.postcard-card[data-astro-cid-c55q6fg4]{transition:transform .5s var(--ease-out)}.postcard-face[data-astro-cid-c55q6fg4]{transition:visibility 0s .1s}.postcard-card[data-astro-cid-c55q6fg4][data-side=back] .postcard-front[data-astro-cid-c55q6fg4],.postcard-card[data-astro-cid-c55q6fg4][data-side=front] .postcard-back[data-astro-cid-c55q6fg4]{visibility:hidden}}@media (prefers-reduced-motion:reduce){.postcard-front[data-astro-cid-c55q6fg4],.postcard-card[data-astro-cid-c55q6fg4][data-side=front]{transform:none}.postcard-face[data-astro-cid-c55q6fg4]{transition:opacity .15s ease-out!important}.postcard-front[data-astro-cid-c55q6fg4],.postcard-card[data-astro-cid-c55q6fg4][data-side=front] .postcard-back[data-astro-cid-c55q6fg4]{opacity:0}.postcard-card[data-astro-cid-c55q6fg4][data-side=front] .postcard-front[data-astro-cid-c55q6fg4]{opacity:1}.postcard-turn[data-astro-cid-c55q6fg4]:active{scale:none}}@media (forced-colors:active){.postcard-face[data-astro-cid-c55q6fg4]{border:1px solid canvastext}}.projects[data-astro-cid-pf5okai3]{--preview-gap:18px;--preview-width:min(360px, calc(100vw - 48px));--preview-shadow:0 1px 2px light-dark(#1818180f,#0000004d), 0 12px 36px light-dark(#1818181a,#00000073)}.project-list[data-astro-cid-pf5okai3]{padding:0;list-style:none}.project[data-astro-cid-pf5okai3]{z-index:0;isolation:isolate;position:relative}.project[data-astro-cid-pf5okai3]+.project[data-astro-cid-pf5okai3]{margin-block-start:var(--space-row)}.project-link[data-astro-cid-pf5okai3]{z-index:1;min-block-size:2.5rem;max-inline-size:calc(100% + .75rem);font-size:var(--text-name);font-weight:500;line-height:var(--leading-name);letter-spacing:var(--tracking-name);color:var(--color-text-primary);margin:-.5rem -.375rem;padding:.5rem .375rem;text-decoration:none;display:inline-block;position:relative}.project-link[data-astro-cid-pf5okai3]:focus-visible{outline-offset:-2px;border-radius:var(--radius-control)}.project-name[data-astro-cid-pf5okai3]:has(+.project-name-ar){margin-inline-end:.2em}.project-name-ar[data-astro-cid-pf5okai3]{font-family:var(--font-ar);letter-spacing:0;white-space:nowrap;color:var(--color-text-muted);font-weight:400;line-height:1}.project-summary[data-astro-cid-pf5okai3]{color:var(--color-text-muted);margin-block-start:.375rem}.project-tagline[data-astro-cid-pf5okai3]{color:var(--color-text-secondary)}.project-meta[data-astro-cid-pf5okai3]{color:var(--color-text-secondary);margin-block-start:.25rem;font-weight:600}.project-meta[data-astro-cid-pf5okai3]>span[data-astro-cid-pf5okai3]{max-inline-size:100%;display:inline-block}.project-meta[data-astro-cid-pf5okai3]>span[data-astro-cid-pf5okai3]:not(:last-child):after{content:" ·"}@supports (content:"x" / ""){.project-meta[data-astro-cid-pf5okai3]>span[data-astro-cid-pf5okai3]:not(:last-child):after{content:" ·" / ""}}.all-projects[data-astro-cid-pf5okai3]{margin-block:calc(var(--space-row) - .5rem) -.5rem;color:var(--color-text-primary);background-image:none;align-items:baseline;gap:.25rem;padding-block:.5rem;font-weight:500;display:inline-flex}@media (prefers-reduced-motion:no-preference){.all-projects-label[data-astro-cid-pf5okai3]{color:#0000;background-image:linear-gradient(90deg, transparent 40%, var(--color-text-muted), transparent 60%), linear-gradient(var(--color-text-primary), var(--color-text-primary));background-repeat:no-repeat;background-size:250% 100%,auto;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite all-projects-shimmer}}@media (forced-colors:active){.all-projects-label[data-astro-cid-pf5okai3]{color:linktext;background:0 0;text-decoration-line:underline;animation:none}}@keyframes all-projects-shimmer{0%{background-position:100%}to{background-position:0%}}.all-projects-arrow[data-astro-cid-pf5okai3]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;block-size:.625rem;inline-size:.625rem;overflow:visible}.all-projects-shaft[data-astro-cid-pf5okai3]{transform-box:fill-box;transform-origin:0;transition:scale .3s var(--ease-out);scale:0 1}.all-projects-head[data-astro-cid-pf5okai3]{transition:translate .3s var(--ease-out)}.all-projects[data-astro-cid-pf5okai3]:focus-visible .all-projects-shaft[data-astro-cid-pf5okai3]{scale:1}.all-projects[data-astro-cid-pf5okai3]:focus-visible .all-projects-head[data-astro-cid-pf5okai3]{translate:4px}@media (hover:hover){.all-projects[data-astro-cid-pf5okai3]:hover .all-projects-shaft[data-astro-cid-pf5okai3]{scale:1}.all-projects[data-astro-cid-pf5okai3]:hover .all-projects-head[data-astro-cid-pf5okai3]{translate:4px}}@media (hover:none){.all-projects-shaft[data-astro-cid-pf5okai3]{scale:1}.all-projects-head[data-astro-cid-pf5okai3]{translate:4px}}.project-preview[data-astro-cid-pf5okai3]{z-index:0;inline-size:var(--preview-width);aspect-ratio:4/3;background-color:var(--color-bg-sunken);border-radius:var(--radius-preview);box-shadow:var(--preview-shadow);opacity:0;pointer-events:none;translate:var(--preview-shift,0px) 0;margin:0;transition:opacity .28s,visibility .28s;display:none;position:absolute;inset-block-end:calc(100% + var(--preview-gap));inset-inline-start:0}.project-preview[data-astro-cid-pf5okai3][data-placement=below]{inset-block-start:calc(100% + var(--preview-gap));inset-block-end:auto}.project-preview[data-astro-cid-pf5okai3] picture{block-size:100%;display:block}.project-preview[data-astro-cid-pf5okai3] img{object-fit:cover;object-position:var(--preview-position,center);border-radius:var(--radius-preview);outline:1px solid var(--color-image-outline);outline-offset:-1px;block-size:100%;inline-size:100%;display:block}.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active{z-index:20}.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active>.project-preview[data-astro-cid-pf5okai3]{opacity:1}@media (hover:hover) and (pointer:fine){.project-preview[data-astro-cid-pf5okai3]{display:block}.project[data-astro-cid-pf5okai3]:has(>.project-preview):before{content:"";block-size:var(--preview-gap);pointer-events:none;position:absolute;inset-block-end:100%;inset-inline:0}.project[data-astro-cid-pf5okai3]:has(>.project-preview[data-placement=below]):before{inset-block:100% auto}.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover,.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:has(>.project-link:focus-visible){z-index:20}.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover>.project-preview[data-astro-cid-pf5okai3],.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project-link[data-astro-cid-pf5okai3]:focus-visible~.project-preview[data-astro-cid-pf5okai3]{opacity:1}.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active:hover:before,.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active:hover>.project-preview[data-astro-cid-pf5okai3],.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover:before,.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover>.project-preview[data-astro-cid-pf5okai3]{pointer-events:auto}}.project-cue[data-astro-cid-pf5okai3]{display:none}.projects[data-astro-cid-pf5okai3].is-touch .project-cue[data-astro-cid-pf5okai3]{display:inline}.project-summary[data-astro-cid-pf5okai3] .project-summary-toggle{inline-size:100%;font:inherit;letter-spacing:inherit;color:inherit;text-align:start;cursor:pointer;user-select:text;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;margin:0;padding:0;display:block}.project-summary[data-astro-cid-pf5okai3] .project-summary-toggle:focus-visible{outline-offset:4px;border-radius:var(--radius-control)}.projects[data-astro-cid-pf5okai3].is-touch .project-preview[data-astro-cid-pf5okai3]{visibility:hidden;display:block}.projects[data-astro-cid-pf5okai3].is-touch .project[data-astro-cid-pf5okai3].is-active>.project-preview[data-astro-cid-pf5okai3]{visibility:visible}.projects[data-astro-cid-pf5okai3] .project-scrim{z-index:10;background-color:color-mix(in oklab, var(--color-bg-page-mid) 76%, transparent);backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;-webkit-tap-highlight-color:transparent;transition:opacity .36s var(--ease-out), visibility .36s;position:fixed;inset:0}.projects[data-astro-cid-pf5okai3].is-touch:has(.project.is-active) .project-scrim{opacity:1;visibility:visible;pointer-events:auto}@media (prefers-reduced-motion:no-preference){.project-preview[data-astro-cid-pf5okai3]{filter:blur(8px);transform-origin:24px 100%;transition:opacity .28s ease, filter .36s var(--ease-out), transform .36s var(--ease-out), visibility .36s;transform:translateY(10px)scale(.98)}.project-preview[data-astro-cid-pf5okai3][data-placement=below]{transform-origin:24px 0;transform:translateY(-10px)scale(.98)}.projects[data-astro-cid-pf5okai3].is-enhanced .project[data-astro-cid-pf5okai3].is-active>.project-preview[data-astro-cid-pf5okai3]{filter:none;transform:none}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project[data-astro-cid-pf5okai3]:hover>.project-preview[data-astro-cid-pf5okai3],.projects[data-astro-cid-pf5okai3]:not(.is-enhanced) .project-link[data-astro-cid-pf5okai3]:focus-visible~.project-preview[data-astro-cid-pf5okai3]{filter:none;transform:none}}@media (hover:hover) and (pointer:fine){[data-dimmable],.projects :is(.section-label,.project,.all-projects){transition:filter .36s var(--ease-out), opacity .36s var(--ease-out)}:root:has(.projects.is-enhanced .project.is-active) [data-dimmable],.projects.is-enhanced:has(.project.is-active) :is(.section-label,.all-projects,.project:not(.is-active)),:root:has(.projects:not(.is-enhanced) .project:hover>.project-preview) [data-dimmable],.projects:not(.is-enhanced):has(.project:hover>.project-preview) :is(.section-label,.all-projects,.project:not(:hover)),:root:has(.projects:not(.is-enhanced) .project-link:focus-visible~.project-preview) [data-dimmable],.projects:not(.is-enhanced):has(.project-link:focus-visible~.project-preview) :is(.section-label,.all-projects,.project:not(:has(>.project-link:focus-visible))){filter:blur(6px);opacity:.24}}
