.project[data-astro-cid-pznzci7v]{--p-text:var(--p-ink)}.p-hero[data-astro-cid-pznzci7v]{padding-top:clamp(6.5rem,5rem + 5vw,9.5rem);padding-bottom:var(--space-2xl);background:var(--p-surface);color:var(--p-ink)}.p-cover[data-astro-cid-pznzci7v]{margin-top:calc(var(--space-2xl) * -1);position:relative}.project[data-astro-cid-pznzci7v]:has(.p-cover) .p-hero[data-astro-cid-pznzci7v]{padding-bottom:calc(var(--space-2xl) * 2)}.p-cover[data-astro-cid-pznzci7v] .cover{box-shadow:var(--shadow-lifted)}.project--dark[data-astro-cid-pznzci7v] .p-hero[data-astro-cid-pznzci7v]{background-color:var(--p-surface);background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:24px 24px}.project--dark[data-astro-cid-pznzci7v] .p-hero[data-astro-cid-pznzci7v] .btn[data-astro-cid-pznzci7v]{--btn-bg:#fff;--btn-fg:var(--ink)}.crumbs[data-astro-cid-pznzci7v] ol[data-astro-cid-pznzci7v]{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:.5rem;display:flex}.crumbs[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]+li[data-astro-cid-pznzci7v]:before{content:"/";opacity:.5;margin-right:.5rem}.crumbs[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]{opacity:.75;text-decoration:none}.crumbs[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]:hover{opacity:1;text-decoration:underline}.p-hero-grid[data-astro-cid-pznzci7v]{gap:var(--space-xl) var(--space-2xl);margin-top:var(--space-xl);grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);align-items:end;display:grid}.p-id[data-astro-cid-pznzci7v]{align-items:center;gap:var(--space-s);display:flex}.p-icon[data-astro-cid-pznzci7v]{border-radius:18px;width:72px;height:72px;box-shadow:0 14px 24px -14px #0000008c}.p-name[data-astro-cid-pznzci7v]{margin-top:var(--space-m);letter-spacing:-.055em;font-size:clamp(3rem,1.5rem + 7vw,8rem);font-weight:750;line-height:.9}.p-tagline[data-astro-cid-pznzci7v]{margin-top:var(--space-m);max-width:26ch;font-family:var(--font-serif);font-style:italic;font-size:var(--step-3);opacity:.9;line-height:1.1}.p-meta[data-astro-cid-pznzci7v]{border-top:1.5px solid}.p-meta[data-astro-cid-pznzci7v] div[data-astro-cid-pznzci7v]{border-bottom:1px solid color-mix(in srgb, currentColor 25%, transparent);font-size:var(--step--1);grid-template-columns:7.5rem 1fr;gap:1rem;padding:.6rem 0;display:grid}.p-meta[data-astro-cid-pznzci7v] dt[data-astro-cid-pznzci7v]{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;opacity:.75;padding-top:.15rem}.p-meta[data-astro-cid-pznzci7v] dd[data-astro-cid-pznzci7v]{margin:0;font-weight:600}.p-links[data-astro-cid-pznzci7v]{margin-top:var(--space-m);flex-wrap:wrap;gap:.5rem;display:flex}.p-hero[data-astro-cid-pznzci7v] .btn[data-astro-cid-pznzci7v]{--btn-bg:var(--p-ink);--btn-fg:var(--p-surface);--btn-hover:var(--p-accent)}.p-hero[data-astro-cid-pznzci7v] .btn--ghost[data-astro-cid-pznzci7v]{--btn-bg:transparent;--btn-fg:var(--p-ink);--btn-hover:var(--p-ink);box-shadow:inset 0 0 0 1.5px var(--p-ink)}.p-hero[data-astro-cid-pznzci7v] .btn--ghost[data-astro-cid-pznzci7v]:hover{color:var(--p-surface)}.project--dark[data-astro-cid-pznzci7v] .p-hero[data-astro-cid-pznzci7v] .btn--ghost[data-astro-cid-pznzci7v]{--btn-fg:#fff;--btn-hover:#fff;box-shadow:inset 0 0 0 1.5px #fff}.project--dark[data-astro-cid-pznzci7v] .p-hero[data-astro-cid-pznzci7v] .btn--ghost[data-astro-cid-pznzci7v]:hover{color:var(--ink)}.p-note[data-astro-cid-pznzci7v]{max-width:70ch;margin-top:var(--space-xl);padding:var(--space-s) var(--space-m);border-radius:var(--radius-m);color:#5c4300;background:#fff4d9;align-items:flex-start;gap:.8rem;display:flex;box-shadow:inset 0 0 0 1px #ecd18f}.p-note-icon[data-astro-cid-pznzci7v]{background:repeating-linear-gradient(45deg, var(--marigold) 0 3px, var(--ink) 3px 6px);border-radius:3px;flex:none;width:1.1rem;height:1.1rem;margin-top:.25rem}.p-body[data-astro-cid-pznzci7v]{gap:var(--space-2xl);padding-block:var(--space-2xl) var(--space-3xl);grid-template-columns:13rem minmax(0,1fr);display:grid}.toc[data-astro-cid-pznzci7v]{align-self:start;position:sticky;top:6.5rem}.toc[data-astro-cid-pznzci7v] ol[data-astro-cid-pznzci7v]{margin-top:var(--space-xs);border-left:1px solid var(--line-strong);gap:.15rem;display:grid}.toc[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]{font-size:var(--step--1);color:var(--ink-2);border-left:2px solid #0000;margin-left:-1px;padding:.3rem 0 .3rem .9rem;text-decoration:none;transition:color .15s linear,border-color .15s linear;display:block}.toc[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]:hover{color:var(--ink);border-left-color:var(--p-accent)}.p-content[data-astro-cid-pznzci7v]{max-width:52rem}.p-section[data-astro-cid-pznzci7v]+.p-section[data-astro-cid-pznzci7v]{margin-top:var(--space-2xl)}.p-h2[data-astro-cid-pznzci7v]{font-size:var(--step-3);letter-spacing:-.035em;margin-bottom:var(--space-m);font-weight:700}.p-text[data-astro-cid-pznzci7v]{max-width:62ch;color:var(--ink-2)}.p-text[data-astro-cid-pznzci7v]+.p-text[data-astro-cid-pznzci7v]{margin-top:var(--space-s)}.p-lead[data-astro-cid-pznzci7v],.p-role[data-astro-cid-pznzci7v]{font-size:var(--step-1);color:var(--ink);line-height:1.5}.p-pair[data-astro-cid-pznzci7v]{gap:var(--space-m);grid-template-columns:1fr 1fr;display:grid}.p-card[data-astro-cid-pznzci7v]{padding:var(--space-l);border-radius:var(--radius-l)}.p-card--problem[data-astro-cid-pznzci7v]{background:var(--paper-raised);box-shadow:inset 0 0 0 1px var(--line)}.p-card--idea[data-astro-cid-pznzci7v]{background:var(--p-surface);color:var(--p-ink)}.p-card-label[data-astro-cid-pznzci7v]{margin-bottom:var(--space-xs);font-family:var(--font-display);font-size:var(--step-2);letter-spacing:-.03em;font-weight:700}.p-features[data-astro-cid-pznzci7v]{gap:0 var(--space-l);border-top:1.5px solid var(--ink);grid-template-columns:1fr 1fr;display:grid}.p-features[data-astro-cid-pznzci7v] li[data-astro-cid-pznzci7v]{padding:var(--space-m) 0;border-bottom:1px solid var(--line-strong)}.p-features-note[data-astro-cid-pznzci7v]{margin-bottom:var(--space-m)}.p-feature-n[data-astro-cid-pznzci7v]{font-family:var(--font-mono);font-size:var(--step--2);color:var(--ink-3)}.p-features[data-astro-cid-pznzci7v] h3[data-astro-cid-pznzci7v]{font-size:var(--step-1);letter-spacing:-.02em;margin-top:.3rem;font-weight:650}.p-features[data-astro-cid-pznzci7v] p[data-astro-cid-pznzci7v]{color:var(--ink-2);font-size:var(--step--1);margin-top:.35rem}.p-gallery[data-astro-cid-pznzci7v]{gap:var(--space-m);grid-template-columns:1fr 1fr;display:grid}.p-shot[data-astro-cid-pznzci7v]{border-radius:var(--radius-m);background:var(--paper-raised);box-shadow:0 0 0 1px var(--line), 0 20px 40px -30px #1a191580;overflow:hidden}.p-shot[data-astro-cid-pznzci7v].wide{grid-column:1/-1}.p-shot[data-astro-cid-pznzci7v] img{width:100%;height:auto}.p-shot[data-astro-cid-pznzci7v] figcaption[data-astro-cid-pznzci7v]{font-size:var(--step--1);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:.3rem 1rem;padding:.7rem 1rem;display:flex}.p-source[data-astro-cid-pznzci7v]{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.04em;color:var(--ink-3)}.p-concept[data-astro-cid-pznzci7v]{margin-top:var(--space-m);border-radius:var(--radius-l);background-color:#2142c8;background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff1a 1px,#0000 1px);background-size:24px 24px;padding:clamp(1rem,.5rem + 2vw,2rem)}.p-tech[data-astro-cid-pznzci7v] div[data-astro-cid-pznzci7v]{gap:var(--space-m);padding:var(--space-m) 0;border-top:1px solid var(--line-strong);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.p-tech[data-astro-cid-pznzci7v] dt[data-astro-cid-pznzci7v]{font-family:var(--font-display);font-weight:650;font-size:var(--step-1);letter-spacing:-.02em;line-height:1.2}.p-tech[data-astro-cid-pznzci7v] dd[data-astro-cid-pznzci7v]{color:var(--ink-2);margin:0}.p-status-box[data-astro-cid-pznzci7v]{gap:var(--space-s);padding:var(--space-l);border-radius:var(--radius-l);background:var(--paper-raised);box-shadow:inset 0 0 0 1px var(--line);justify-items:start;display:grid}.p-status-links[data-astro-cid-pznzci7v]{flex-wrap:wrap;gap:.5rem 1.5rem;font-weight:600;display:flex}.next[data-astro-cid-pznzci7v]{padding-block:var(--space-2xl);background:var(--n-surface);color:var(--n-ink);text-decoration:none;display:block}.next-inner[data-astro-cid-pznzci7v]{gap:.4rem;display:grid}.next-label[data-astro-cid-pznzci7v]{color:inherit;opacity:.75}.next-name[data-astro-cid-pznzci7v]{font-family:var(--font-display);font-size:var(--step-6);letter-spacing:-.05em;font-weight:750;line-height:.95}.next-arrow[data-astro-cid-pznzci7v]{transition:transform .5s var(--ease-spring);display:inline-block}.next[data-astro-cid-pznzci7v]:hover .next-arrow[data-astro-cid-pznzci7v]{transform:translate(.2em)}.next-tagline[data-astro-cid-pznzci7v]{font-family:var(--font-serif);font-style:italic;font-size:var(--step-2);opacity:.85}@media (width<=1000px){.p-hero-grid[data-astro-cid-pznzci7v]{grid-template-columns:minmax(0,1fr)}.p-body[data-astro-cid-pznzci7v]{gap:var(--space-l);grid-template-columns:minmax(0,1fr)}.toc[data-astro-cid-pznzci7v]{position:static}.toc[data-astro-cid-pznzci7v] ol[data-astro-cid-pznzci7v]{border:0;flex-wrap:wrap;gap:.4rem;display:flex}.toc[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]{border:1px solid var(--line-strong);border-radius:var(--radius-pill);margin:0;padding:.35rem .8rem}.toc[data-astro-cid-pznzci7v] a[data-astro-cid-pznzci7v]:hover{border-color:var(--ink)}}@media (width<=700px){.p-pair[data-astro-cid-pznzci7v],.p-features[data-astro-cid-pznzci7v],.p-gallery[data-astro-cid-pznzci7v]{grid-template-columns:minmax(0,1fr)}.p-tech[data-astro-cid-pznzci7v] div[data-astro-cid-pznzci7v]{grid-template-columns:minmax(0,1fr);gap:.4rem}.p-meta[data-astro-cid-pznzci7v] div[data-astro-cid-pznzci7v]{grid-template-columns:6.5rem 1fr}}
