.project-prose{--prose-space:var(--space-5);--prose-code-bg:var(--color-surface);--prose-code-border:color-mix(in srgb, var(--color-border) 55%, transparent);--prose-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;min-inline-size:0;color:var(--color-text-muted);line-height:1.8}.project-prose>*{margin-block:0 var(--prose-space)}.project-prose>:last-child{margin-block-end:0}.project-prose :is(h3,h4,h5,h6){color:var(--color-text);font-size:var(--text-lead);margin-block:var(--space-5) var(--space-3)}.project-prose>:is(h3,h4,h5,h6):first-child{margin-block-start:0}.project-prose strong{color:var(--color-text);font-weight:600}.project-prose a{color:var(--color-text);transition:color var(--motion-fast) var(--ease-standard);font-weight:500;text-decoration:none}.project-prose a:hover{color:var(--color-text-muted)}.project-prose :is(ul,ol){padding-inline-start:var(--space-5)}.project-prose li{padding-inline-start:var(--space-1)}.project-prose li+li{margin-block-start:var(--space-2)}.project-prose li::marker{color:var(--color-text-faint)}.project-prose li>:is(ul,ol){margin-block:var(--space-2) 0}.project-prose li>p{margin-block:0 var(--space-2)}.project-prose code{font-family:var(--prose-mono);font-size:.9em}.project-prose :not(pre)>code{border-radius:var(--radius-small);background:var(--prose-code-bg);color:var(--color-text);overflow-wrap:anywhere;padding:.12em .32em}.project-prose pre{scrollbar-color:var(--color-border) var(--color-surface);max-inline-size:100%;padding:var(--space-5);border:1px solid var(--prose-code-border);border-inline-start-color:var(--color-red-dim);border-radius:var(--radius-small);tab-size:4;line-height:1.65;overflow-x:auto;background:var(--prose-code-bg)!important}.project-prose pre code{white-space:pre;overflow-wrap:normal;word-break:normal;display:block}.project-prose blockquote{border-inline-start:2px solid var(--color-red-dim);margin-inline:0;padding-inline-start:var(--space-5)}.project-prose blockquote>*{margin-block:0 var(--space-3)}.project-prose blockquote>:last-child{margin-block-end:0}.project-prose .prose-table{scrollbar-color:var(--color-border) var(--color-surface);max-inline-size:100%;overflow-x:auto}.project-prose table{border-collapse:collapse;inline-size:100%;font-size:var(--text-small)}.project-prose :is(th,td){padding:var(--space-3) var(--space-4);text-align:start;border-block-end:1px solid var(--prose-code-border);min-inline-size:8rem}.project-prose th{color:var(--color-text);font-weight:500}.project-prose hr{border:0;border-block-start:1px solid var(--prose-code-border);margin-block:var(--space-7)}ul[data-astro-cid-i7n6x4wi]{gap:var(--space-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}a[data-astro-cid-i7n6x4wi]{align-items:center;gap:var(--space-3);min-block-size:var(--target-size);color:var(--color-text);text-decoration:none;display:inline-flex}figure[data-astro-cid-j6u6ogab]{margin:var(--space-8) 0;max-inline-size:50rem}figure[data-astro-cid-j6u6ogab].wide{max-inline-size:none}img[data-astro-cid-j6u6ogab]{block-size:auto;inline-size:100%;display:block}figcaption[data-astro-cid-j6u6ogab]{max-inline-size:65ch;color:var(--color-text-muted);font-size:var(--text-small);margin-block-start:var(--space-4)}.project-page[data-astro-cid-s35pujdj]{--mask-top-fade:54px;--mask-bottom-fade:72px;isolation:isolate;padding-block-start:calc(var(--nav-height) + clamp(3rem, 7vw, 6rem));position:relative;overflow-x:clip}.project-atmosphere[data-astro-cid-s35pujdj]{z-index:-1;opacity:.45;pointer-events:none;block-size:55rem;position:absolute;inset:0 0 auto}.project-foreground[data-astro-cid-s35pujdj]{position:relative}.project-foreground[data-astro-cid-s35pujdj].has-viewport-mask{mask-image:linear-gradient(to bottom, transparent var(--nav-height), black calc(var(--nav-height) + var(--mask-top-fade)), black calc(100% - var(--mask-bottom-fade)), transparent 100%);mask-size:100% var(--viewport-height);mask-position:0 var(--viewport-offset);mask-repeat:no-repeat}.back-link[data-astro-cid-s35pujdj]{align-items:center;gap:var(--space-3);min-block-size:var(--target-size);font-size:var(--text-small);color:var(--color-text-muted);display:inline-flex}.back-link[data-astro-cid-s35pujdj]:hover{color:var(--color-text)}.masthead-meta[data-astro-cid-s35pujdj]{gap:var(--space-5);margin-block:var(--space-7) var(--space-5);color:var(--color-text-muted);font-size:var(--text-small);flex-wrap:wrap;display:flex}.masthead-meta[data-astro-cid-s35pujdj]>[data-astro-cid-s35pujdj]:first-child{color:var(--color-text-faint)}h1[data-astro-cid-s35pujdj]{letter-spacing:-.06em;overflow-wrap:anywhere;font-size:clamp(3rem,8.6vw,7.5rem)}.project-summary[data-astro-cid-s35pujdj]{max-inline-size:48ch;font-size:var(--text-lead);color:var(--color-text-muted);margin-block-start:var(--space-6)}.technologies[data-astro-cid-s35pujdj]{gap:var(--space-5);margin-block:var(--space-6) 0;font-size:var(--text-small);color:var(--color-text-muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.case-study[data-astro-cid-s35pujdj]{margin-block-start:clamp(5rem,10vw,9rem)}.editorial-section[data-astro-cid-s35pujdj]{padding-block:var(--space-7) clamp(4rem, 8vw, 7rem);border-block-start:1px solid color-mix(in srgb, var(--color-border) 45%, transparent);grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,3vw,2rem);display:grid}.editorial-section[data-astro-cid-s35pujdj] h2{grid-column:1/span 4;max-inline-size:15ch;font-size:clamp(1.7rem,3vw,2.75rem)}.editorial-copy[data-astro-cid-s35pujdj]{grid-column:6/-1;max-inline-size:62ch}.editorial-section[data-astro-cid-s35pujdj]:nth-child(2) h2{max-inline-size:24ch;grid-area:auto/1/auto/-1;margin-block-end:var(--space-7);font-size:clamp(2.25rem,4.8vw,4rem)}.project-end[data-astro-cid-s35pujdj]{border-block-start:1px solid var(--color-border);padding-block:var(--space-6)}footer[data-astro-cid-s35pujdj]{text-align:center;padding-block:var(--space-8) calc(var(--mask-bottom-fade) + var(--space-5));color:var(--color-text-faint);font-size:var(--text-small)}@media (width<=47.99rem){.project-page[data-astro-cid-s35pujdj]{padding-block-start:calc(var(--nav-height) + var(--space-6))}.masthead-meta[data-astro-cid-s35pujdj]{margin-block-start:var(--space-6)}.editorial-section[data-astro-cid-s35pujdj]{grid-template-columns:minmax(0,1fr)}.editorial-section[data-astro-cid-s35pujdj] h2,.editorial-copy[data-astro-cid-s35pujdj],.editorial-section[data-astro-cid-s35pujdj]:nth-child(2) h2{grid-area:auto/1}.editorial-section[data-astro-cid-s35pujdj] h2{max-inline-size:20ch;margin-block-end:var(--space-6)}}
