.project-end[data-astro-cid-ux4ohb44]{padding-bottom:clamp(4rem,9vw,8rem)}.project-end__inner[data-astro-cid-ux4ohb44]{border-top:1px solid var(--rule);gap:clamp(3rem,6vw,5rem);padding-top:clamp(3rem,7vw,6rem);display:grid}@media (width>=56rem){.project-end__inner[data-astro-cid-ux4ohb44]{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}}.project-end__title[data-astro-cid-ux4ohb44]{letter-spacing:-.02em;max-width:16ch;font-size:clamp(2rem,1rem + 3.6vw,4.5rem);font-weight:300;font-stretch:90%;line-height:1.08}.project-end__text[data-astro-cid-ux4ohb44]{max-width:44ch;color:var(--muted);margin-top:1.25rem;line-height:1.75}.project-end__mail[data-astro-cid-ux4ohb44]{margin-top:clamp(1.75rem,3.5vw,2.5rem)}.project-end__next[data-astro-cid-ux4ohb44]{color:inherit;gap:.6rem;text-decoration:none;display:grid}.project-end__media[data-astro-cid-ux4ohb44]{background:var(--rule);margin-bottom:.65rem;display:block;overflow:hidden}.project-end__media[data-astro-cid-ux4ohb44] img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;transition:scale .9s var(--ease);display:block}.project-end__media--whole[data-astro-cid-ux4ohb44] img{aspect-ratio:4/3}.project-end__arrow[data-astro-cid-ux4ohb44]{transition:translate .5s var(--ease);margin-left:.4em;display:inline-block}.project-end__name[data-astro-cid-ux4ohb44]{max-width:24ch;font-size:var(--step-1);text-underline-offset:.2em;font-stretch:88%;line-height:1.25;text-decoration:underline 1px #0000;transition:text-decoration-color .3s}.project-end__figure[data-astro-cid-ux4ohb44]{font-family:var(--font-display);font-size:var(--step-2);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:300;font-stretch:80%;line-height:1.1}.project-end__figure[data-astro-cid-ux4ohb44] small[data-astro-cid-ux4ohb44]{line-height:1.4;font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);margin-top:.4rem;font-size:.75rem;display:block}.project-end__field[data-astro-cid-ux4ohb44]{color:var(--accent)}.project-end__next[data-astro-cid-ux4ohb44]:hover .project-end__media[data-astro-cid-ux4ohb44] img,.project-end__next[data-astro-cid-ux4ohb44]:focus-visible .project-end__media[data-astro-cid-ux4ohb44] img{scale:1.04}.project-end__next[data-astro-cid-ux4ohb44]:hover .project-end__arrow[data-astro-cid-ux4ohb44],.project-end__next[data-astro-cid-ux4ohb44]:focus-visible .project-end__arrow[data-astro-cid-ux4ohb44]{translate:.35em}.project-end__next[data-astro-cid-ux4ohb44]:hover .project-end__name[data-astro-cid-ux4ohb44],.project-end__next[data-astro-cid-ux4ohb44]:focus-visible .project-end__name[data-astro-cid-ux4ohb44]{text-decoration-color:currentColor}@media (prefers-reduced-motion:reduce){.project-end__media[data-astro-cid-ux4ohb44] img,.project-end__arrow[data-astro-cid-ux4ohb44]{transition:none}}.project-head[data-astro-cid-egugkiuf]{padding-block:clamp(2.5rem,6vw,5rem) clamp(2rem,5vw,4rem)}.project-back[data-astro-cid-egugkiuf]{margin-bottom:2rem;text-decoration:none;display:inline-block}.project-flag[data-astro-cid-egugkiuf]{color:var(--accent);margin-bottom:1rem}.project-head[data-astro-cid-egugkiuf] .title[data-astro-cid-egugkiuf]{max-width:18ch}.project-head[data-astro-cid-egugkiuf] .lead[data-astro-cid-egugkiuf]{margin-top:1.5rem}.project-video[data-astro-cid-egugkiuf] video[data-astro-cid-egugkiuf]{aspect-ratio:16/9;background:#000;width:100%;max-height:80vh;display:block}.project-video__frame[data-astro-cid-egugkiuf]{position:relative}.project-video__play[data-astro-cid-egugkiuf]{color:var(--stage-ink,#ece6dc);cursor:pointer;background:radial-gradient(circle,#00000040,#0009);border:0;place-content:center;justify-items:center;gap:1.1rem;display:grid;position:absolute;inset:0}.project-video__play[data-astro-cid-egugkiuf][hidden],.project-video[data-astro-cid-egugkiuf].is-playing .project-video__play[data-astro-cid-egugkiuf]{display:none}.project-video__icon[data-astro-cid-egugkiuf]{aspect-ratio:1;background:var(--accent);width:clamp(4.5rem,9vw,7rem);box-shadow:0 0 0 .6rem color-mix(in srgb, var(--accent) 22%, transparent);transition:scale .4s var(--ease), box-shadow .4s var(--ease);border-radius:50%;place-items:center;display:grid}.project-video__icon[data-astro-cid-egugkiuf]:before{content:"";border-style:solid;border-width:.95em 0 .95em 1.6em;border-color:transparent transparent transparent var(--accent-ink);width:0;height:0;margin-left:12%;font-size:clamp(.9rem,1.6vw,1.25rem)}.project-video__label[data-astro-cid-egugkiuf]{color:inherit;background:#000000b8;border-radius:999px;padding:.5em 1.1em}.project-video__play[data-astro-cid-egugkiuf]:hover .project-video__icon[data-astro-cid-egugkiuf],.project-video__play[data-astro-cid-egugkiuf]:focus-visible .project-video__icon[data-astro-cid-egugkiuf]{box-shadow:0 0 0 .9rem color-mix(in srgb, var(--accent) 28%, transparent);scale:1.08}@media (prefers-reduced-motion:reduce){.project-video__icon[data-astro-cid-egugkiuf]{transition:none}}.project-video[data-astro-cid-egugkiuf] figcaption[data-astro-cid-egugkiuf]{margin-top:.9rem}.project-cover[data-astro-cid-egugkiuf]{object-fit:cover;width:100%;max-height:70vh}.project-meta[data-astro-cid-egugkiuf]{align-content:start;gap:1.5rem;display:grid}.project-meta[data-astro-cid-egugkiuf] dd[data-astro-cid-egugkiuf]{margin-top:.3rem}.project-main[data-astro-cid-egugkiuf]{min-width:0}.project-side[data-astro-cid-egugkiuf]{align-content:start;gap:2rem;display:grid}.project-repo[data-astro-cid-egugkiuf]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-self:start;font-size:.8rem}.project-meta__result[data-astro-cid-egugkiuf]{font-family:var(--font-display);font-size:var(--step-1);color:var(--accent);line-height:1.2}.read-progress[data-astro-cid-egugkiuf]{z-index:45;pointer-events:none;height:2px;position:fixed;inset:0 0 auto}.read-progress[data-astro-cid-egugkiuf] i[data-astro-cid-egugkiuf]{background:var(--accent);height:100%;transform:scaleX(var(--read,0));transform-origin:0;display:block}.project-toc[data-astro-cid-egugkiuf]{margin-top:1rem;display:none;position:sticky;top:6rem}@media (width>=56rem){.project-toc[data-astro-cid-egugkiuf]{display:block}}.project-toc[data-astro-cid-egugkiuf] ol[data-astro-cid-egugkiuf]{border-left:1px solid var(--rule);margin-top:1rem;list-style:none;display:grid}.project-toc[data-astro-cid-egugkiuf] a[data-astro-cid-egugkiuf]{color:var(--muted);transition:color .4s var(--ease);gap:.9rem;padding:.45rem 0 .45rem 1.1rem;font-size:.92rem;line-height:1.35;text-decoration:none;display:flex;position:relative}.project-toc[data-astro-cid-egugkiuf] a[data-astro-cid-egugkiuf] span[data-astro-cid-egugkiuf]{font-family:var(--font-mono);letter-spacing:.1em;flex:none;padding-top:.15em;font-size:.68rem}.project-toc[data-astro-cid-egugkiuf] a[data-astro-cid-egugkiuf]:before{content:"";background:var(--accent);width:1px;transition:transform .5s var(--ease);position:absolute;top:0;bottom:0;left:-1px;transform:scaleY(0)}.project-toc[data-astro-cid-egugkiuf] a[data-astro-cid-egugkiuf]:hover,.project-toc[data-astro-cid-egugkiuf] a[data-astro-cid-egugkiuf][aria-current]{color:var(--ink)}.project-toc[data-astro-cid-egugkiuf] a[data-astro-cid-egugkiuf][aria-current] span[data-astro-cid-egugkiuf]{color:var(--accent)}.project-toc[data-astro-cid-egugkiuf] a[data-astro-cid-egugkiuf][aria-current]:before{transform:scaleY(1)}.project-body[data-astro-cid-egugkiuf]{counter-reset:chapter}.project-body[data-astro-cid-egugkiuf] h2{scroll-margin-top:6rem}.project-body[data-astro-cid-egugkiuf] h2:before{counter-increment:chapter;content:counter(chapter, decimal-leading-zero);font-family:var(--font-mono);letter-spacing:.14em;color:var(--accent);margin-bottom:.9rem;font-size:.7rem;display:block}.project-body[data-astro-cid-egugkiuf] blockquote{border-left:1px solid var(--accent);font-family:var(--font-display);font-size:var(--step-1);margin:2.25em 0;padding-left:1.5rem;font-weight:300;font-stretch:90%;line-height:1.3}.project-body[data-astro-cid-egugkiuf] blockquote p{margin:0}.project-body[data-astro-cid-egugkiuf] td:last-child,.project-body[data-astro-cid-egugkiuf] th:last-child{text-align:right;padding-left:2.5rem;padding-right:0}.project-body[data-astro-cid-egugkiuf] tr:last-child:has(strong) td{border-top:1px solid var(--accent);color:var(--accent);border-bottom:0;font-size:1.08em}.project-result[data-astro-cid-egugkiuf]{border-top:1px solid var(--accent);max-width:62ch;margin-top:clamp(3.5rem,8vw,6.5rem);padding-top:1.75rem}.project-result[data-astro-cid-egugkiuf] .eyebrow[data-astro-cid-egugkiuf]{color:var(--accent)}.project-result__text[data-astro-cid-egugkiuf]{max-width:20ch;font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin-top:1.1rem;font-size:clamp(2rem,1rem + 3.6vw,3.9rem);font-weight:300;font-stretch:86%;line-height:1.05}.project-result[data-astro-cid-egugkiuf].is-armed{background:linear-gradient(var(--accent), var(--accent)) no-repeat 0 0 / 0 1px;border-top-color:#0000}.project-result[data-astro-cid-egugkiuf].is-armed .project-result__text[data-astro-cid-egugkiuf]{opacity:0;font-stretch:62%;transform:translateY(1.5rem)}.project-result[data-astro-cid-egugkiuf].is-armed.is-in{transition:background-size 1.1s var(--ease);background-size:100% 1px}.project-result[data-astro-cid-egugkiuf].is-armed.is-in .project-result__text[data-astro-cid-egugkiuf]{opacity:1;transition:opacity .9s var(--ease) .2s, transform .9s var(--ease) .2s, font-stretch 1.6s var(--ease) .2s;font-stretch:86%;transform:none}.viewer[data-astro-cid-wtcqywq5]{color:#ece6dc;background:#000;border:0;width:min(92vw,80rem);max-height:92vh;padding:0;overflow:visible}.viewer[data-astro-cid-wtcqywq5]::backdrop{background:#000000e0}.viewer__body[data-astro-cid-wtcqywq5][hidden],.viewer__show[data-astro-cid-wtcqywq5][hidden],.viewer__nav[data-astro-cid-wtcqywq5][hidden],.viewer__strip[data-astro-cid-wtcqywq5][hidden]{display:none}.viewer__body[data-astro-cid-wtcqywq5] video,.viewer__body[data-astro-cid-wtcqywq5] img{object-fit:contain;width:100%;max-height:92vh;display:block}.viewer__close[data-astro-cid-wtcqywq5]{color:#fff;cursor:pointer;background:0 0;border:0;width:2.5rem;height:2.5rem;font-size:2rem;line-height:1;position:absolute;top:-2.75rem;right:0}.viewer__stage[data-astro-cid-wtcqywq5]{touch-action:pan-y;user-select:none;height:min(92vh - 9.5rem,52vw);display:grid;position:relative;overflow:hidden}.viewer__stage[data-astro-cid-wtcqywq5] img{object-fit:contain;opacity:0;-webkit-user-drag:none;width:100%;height:100%;transition:opacity .9s var(--ease);grid-area:1/1}.viewer__stage[data-astro-cid-wtcqywq5] img.is-shown{opacity:1}.viewer__stage[data-astro-cid-wtcqywq5] img.is-leaving{opacity:0}@media (prefers-reduced-motion:no-preference){.viewer__stage[data-astro-cid-wtcqywq5] img.is-shown{animation:14s both viewer-drift}}@media (prefers-reduced-motion:reduce){.viewer__stage[data-astro-cid-wtcqywq5] img{transition-duration:.15s}}@keyframes viewer-drift{0%{transform:scale(1.06)translate(-.8%,.5%)}to{transform:scale(1)}}.viewer__bar[data-astro-cid-wtcqywq5]{justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem 1.25rem .75rem;display:flex}.viewer__caption[data-astro-cid-wtcqywq5]{color:#b9b2a6;min-width:0;font-size:.92rem;line-height:1.4}.viewer__nav[data-astro-cid-wtcqywq5]{font-family:var(--font-mono);letter-spacing:.08em;font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:1rem;font-size:.75rem;display:flex}.viewer__step[data-astro-cid-wtcqywq5]{color:#fff;cursor:pointer;width:2.5rem;height:2.5rem;transition:background-color .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);background:0 0;border:1px solid #ffffff2e;border-radius:50%;font-size:1.1rem}.viewer__step[data-astro-cid-wtcqywq5]:hover,.viewer__step[data-astro-cid-wtcqywq5]:focus-visible{border-color:var(--stage-accent);background:var(--stage-accent);color:#0b0907}.viewer__strip[data-astro-cid-wtcqywq5]{padding:0 1.25rem .6rem}.viewer__frames[data-astro-cid-wtcqywq5]{scrollbar-width:none;gap:.5rem;padding-bottom:.6rem;display:flex;position:relative;overflow-x:auto}.viewer__frames[data-astro-cid-wtcqywq5] .viewer__frame{aspect-ratio:16/10;cursor:pointer;opacity:.45;width:5.5rem;transition:opacity .4s var(--ease);background:#111;border:0;flex:none;padding:0}.viewer__frames[data-astro-cid-wtcqywq5] .viewer__frame img{object-fit:cover;width:100%;height:100%;display:block}.viewer__frames[data-astro-cid-wtcqywq5] .viewer__frame:hover,.viewer__frames[data-astro-cid-wtcqywq5] .viewer__frame[aria-current]{opacity:1}.viewer__frames[data-astro-cid-wtcqywq5] .viewer__frame:focus-visible{outline:1px solid var(--stage-accent);outline-offset:2px}.viewer__mark[data-astro-cid-wtcqywq5]{width:var(--w,0px);background:var(--stage-accent);height:1px;transform:translateX(var(--x,0px));position:absolute;bottom:0;left:0}.viewer__mark[data-astro-cid-wtcqywq5].is-ready{transition:transform .6s var(--ease), width .6s var(--ease)}@media (width<=40rem){.viewer[data-astro-cid-wtcqywq5]{width:100vw;max-width:100vw}.viewer__stage[data-astro-cid-wtcqywq5]{height:min(60vh,75vw)}.viewer__bar[data-astro-cid-wtcqywq5]{flex-direction:column;align-items:flex-start;gap:.75rem}}.side-head[data-astro-cid-qcsicxzr]{padding-block:clamp(2.5rem,6vw,5rem) clamp(2rem,5vw,4rem)}.side-back[data-astro-cid-qcsicxzr]{margin-bottom:2rem;text-decoration:none;display:inline-block}.side-head__field[data-astro-cid-qcsicxzr]{color:var(--accent);margin-bottom:1rem}.side-head[data-astro-cid-qcsicxzr] .title[data-astro-cid-qcsicxzr]{max-width:18ch}.side-head[data-astro-cid-qcsicxzr] .lead[data-astro-cid-qcsicxzr]{margin-top:1.5rem}.side-hero[data-astro-cid-qcsicxzr]{background:var(--rule);border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.side-hero[data-astro-cid-qcsicxzr] img{object-fit:cover;width:100%;height:auto;max-height:75vh;display:block}.side-hero--play[data-astro-cid-qcsicxzr]{cursor:pointer}.side-hero__play[data-astro-cid-qcsicxzr]{aspect-ratio:1;width:clamp(4rem,7vw,6rem);transition:background .2s, scale .3s var(--ease);background:#0000008c;border-radius:50%;outline:1px solid #ffffff80;position:absolute;bottom:clamp(1rem,3vw,2.5rem);left:clamp(1rem,3vw,2.5rem)}.side-hero__play[data-astro-cid-qcsicxzr]:after{content:"";border:.9rem solid #0000;border-left:1.5rem solid #fff;border-right-width:0;position:absolute;top:50%;left:54%;translate:-50% -50%}.side-hero--frame{aspect-ratio:16/9;border:0;width:100%;height:auto;display:block}.side-hero--link[data-astro-cid-qcsicxzr] img{transition:scale .6s var(--ease)}.side-hero--link[data-astro-cid-qcsicxzr]:hover img,.side-hero--link[data-astro-cid-qcsicxzr]:focus-visible img{scale:1.02}.side-hero--play[data-astro-cid-qcsicxzr]:hover .side-hero__play[data-astro-cid-qcsicxzr],.side-hero--play[data-astro-cid-qcsicxzr]:focus-visible .side-hero__play[data-astro-cid-qcsicxzr]{background:var(--accent);scale:1.06}.side-parts[data-astro-cid-qcsicxzr]{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=48rem){.side-parts[data-astro-cid-qcsicxzr]{grid-template-columns:repeat(2,minmax(0,1fr))}}.side-part[data-astro-cid-qcsicxzr]{background:var(--rule);color:#fff;cursor:pointer;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.side-part[data-astro-cid-qcsicxzr] img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto;transition:scale .9s var(--ease);display:block}.side-part[data-astro-cid-qcsicxzr]:after{content:"";pointer-events:none;background:linear-gradient(#0000,#000000bf);position:absolute;inset:55% 0 0}.side-part__name[data-astro-cid-qcsicxzr],.side-part__count[data-astro-cid-qcsicxzr]{z-index:1;position:absolute;bottom:1rem}.side-part__name[data-astro-cid-qcsicxzr]{font-size:var(--step-1);text-align:left;font-stretch:88%;left:1.25rem}.side-part__count[data-astro-cid-qcsicxzr]{color:#fff;right:1.25rem}.side-part[data-astro-cid-qcsicxzr]:hover img,.side-part[data-astro-cid-qcsicxzr]:focus-visible img{scale:1.04}.side-aside[data-astro-cid-qcsicxzr]{align-content:start;gap:2rem;display:grid}.side-meta[data-astro-cid-qcsicxzr]{align-content:start;gap:1.5rem;display:grid}.side-meta[data-astro-cid-qcsicxzr] dd[data-astro-cid-qcsicxzr]{margin-top:.3rem}.side-link[data-astro-cid-qcsicxzr]{justify-self:start}.side-main[data-astro-cid-qcsicxzr]{min-width:0}.side-gallery[data-astro-cid-qcsicxzr]{margin-top:clamp(3rem,6vw,5rem)}.side-gallery__grid[data-astro-cid-qcsicxzr]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}@media (width>=48rem){.side-gallery__grid[data-astro-cid-qcsicxzr]{grid-template-columns:repeat(3,minmax(0,1fr))}}.side-thumb[data-astro-cid-qcsicxzr]{background:var(--rule);cursor:pointer;border:0;width:100%;padding:0;display:block}.side-thumb[data-astro-cid-qcsicxzr] img,.side-thumb[data-astro-cid-qcsicxzr] video[data-astro-cid-qcsicxzr]{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;transition:opacity .2s;display:block}.side-thumb[data-astro-cid-qcsicxzr]:hover img,.side-thumb[data-astro-cid-qcsicxzr]:hover video[data-astro-cid-qcsicxzr]{opacity:.8}
