.prose-shell{inline-size:var(--container-prose);max-inline-size:100%;font:var(--type-prose);min-width:0}.prose-shell>:first-child{margin-block-start:0}.prose-shell>:last-child{margin-block-end:0}.prose-shell h2,.prose-shell h3{font-family:var(--font-family-editorial);letter-spacing:0;text-wrap:balance;margin-block:2.4em .7em}.prose-shell h2{font:var(--type-prose-heading)}.prose-shell h3{font-size:1.35rem;font-weight:800;line-height:1.12}.prose-shell p,.prose-shell ul,.prose-shell ol,.prose-shell pre{margin-block:1.1em}.prose-shell ul,.prose-shell ol{padding-inline-start:1.3em}.prose-shell li+li{margin-block-start:.35em}.prose-shell a{text-decoration-thickness:.08em}.prose-shell code{font-family:var(--mono);font-size:.9em}.prose-shell pre{border:1px solid var(--rule);background:var(--surface);font-family:var(--mono);padding:1rem;font-size:.9rem;line-height:1.55;overflow-x:auto}.prose-shell pre code{font-size:inherit}.article-page{padding-block:0 clamp(4rem,8vw,7rem)}.article-header{width:min(var(--max), calc(100% - 32px));padding-block:5.5rem var(--space-48);margin-inline:auto}.article-header__meta{color:var(--color-text-accent);font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:.5rem 1rem;display:flex}.article-header__meta time{display:inline}.article-header h1{max-width:760px;margin:var(--space-20) 0 0;font:700 72px/76px var(--font-family-editorial);letter-spacing:0;overflow-wrap:anywhere;text-wrap:wrap}.article-header p{max-width:660px;margin:var(--space-20) 0 0;color:var(--muted);font:400 18px/31px var(--font-family-editorial)}.article-header__tags{font-family:var(--sans);flex-wrap:wrap;gap:.5rem;margin:1.35rem 0 0;padding:0;list-style:none;display:flex}.article-header__tags li{border:1px solid var(--rule);color:var(--muted);text-transform:uppercase;padding:4px 8px;font-size:12px;font-weight:400;line-height:16px}.detail-grid,.article-grid{--article-grid-gap:var(--space-48);--article-side-rail-width:calc(var(--container-main) - var(--container-toc) - var(--container-prose) - (2 * var(--article-grid-gap)));width:min(var(--max), calc(100% - 32px));grid-template-columns:var(--container-toc) var(--container-prose) minmax(0, var(--article-side-rail-width));gap:var(--article-grid-gap);grid-template-areas:"toc prose notes";margin:0 auto;display:grid}.article-grid--no-toc{grid-template-areas:".prose notes"}.article-grid--no-notes{grid-template-areas:"toc prose."}.article-grid--no-toc.article-grid--no-notes{grid-template-areas:".prose."}.reading-toc{grid-area:toc;align-self:start;position:sticky;top:1rem}.prose-shell{grid-area:prose}.article-grid>.marginalia,.detail-grid>.marginalia{grid-area:notes;align-self:start}.article-cover{width:min(var(--max), calc(100% - 32px));margin:0 auto var(--space-128);border:1px solid var(--rule);background:var(--surface);position:relative}.article-cover:after{inset-inline:-1px;top:calc(100% + var(--space-64));border-bottom:1px solid var(--rule);content:"";position:absolute}.article-cover img{aspect-ratio:16/8;object-fit:cover;inline-size:100%;display:block}.article-cover--fallback img{object-fit:cover;background:var(--color-surface-media)}.article-cover figcaption,.article-figure figcaption{color:var(--muted);font-family:var(--sans);padding:.85rem 1rem;font-size:.92rem;line-height:1.5}.article-figure{border:1px solid var(--rule);background:var(--surface);margin:2.5rem 0}.article-figure img{aspect-ratio:16/9;object-fit:cover;inline-size:100%;display:block}.inline-media{border:1px solid var(--rule);background:var(--rule);font-family:var(--sans);gap:1px;margin-block:clamp(1.5rem,4vw,2.5rem);display:grid}.inline-media__figure{background:var(--surface);min-width:0;margin:0}.inline-media__link{color:inherit;outline-offset:4px;text-decoration:none;display:block}.inline-media__figure img{aspect-ratio:16/9;object-fit:cover;background:color-mix(in srgb, var(--ink) 6%, var(--paper));inline-size:100%;display:block}.inline-media__figure--screenshot img{object-position:top center}.inline-media__figure figcaption{border-top:1px solid var(--rule);color:var(--muted);margin:0;padding:.85rem 1rem;font-size:.92rem;line-height:1.5}.project-inline-media .inline-media__figure--screenshot img{aspect-ratio:16/10}.project-screenshots{margin-block:clamp(2rem,5vw,3rem)}.project-screenshots>h2{margin-block-end:1rem}.project-screenshots__media{margin-block:0}.article-inline-media{margin-block:clamp(2rem,5vw,3rem)}.post-lead{color:var(--ink);text-wrap:balance;margin-block:0 clamp(1.6rem,4vw,2.4rem);font-size:clamp(1.25rem,2.3vw,1.55rem);line-height:1.55}.post-lead>:first-child,.post-block__body>:first-child,.post-diagram__body>:first-child,.post-code-block__body>:first-child,.post-sidenote__body>:first-child{margin-block-start:0}.post-lead>:last-child,.post-block__body>:last-child,.post-diagram__body>:last-child,.post-code-block__body>:last-child,.post-sidenote__body>:last-child{margin-block-end:0}.post-block,.post-diagram,.post-code-block{border-block:1px solid var(--rule);font-family:var(--sans);margin-block:clamp(1.7rem,4vw,2.6rem);padding-block:clamp(1rem,3vw,1.35rem)}.post-claim,.post-note-block{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--rule));padding:var(--space-20) var(--space-24);background:var(--surface)}.post-claim .post-block__title,.post-note-block .post-block__title{font-size:24px;line-height:30px}.post-claim .post-block__body,.post-note-block .post-block__body{font-size:16px;line-height:26px}.post-evidence,.post-decision,.post-diagram,.post-code-block{background:color-mix(in srgb, var(--surface) 76%, transparent);padding-inline:clamp(1rem,3vw,1.25rem)}.post-block__eyebrow{color:var(--color-text-accent);font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem}.post-block__title{font-family:var(--sans);letter-spacing:0;text-wrap:balance;margin:0;font-size:1.12rem;font-weight:800;line-height:1.28}.post-block__title a{color:inherit;text-decoration-color:var(--accent);text-decoration-thickness:.08em}.post-block__meta{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:.35rem 0 0;font-size:.72rem;font-weight:700;line-height:1.4}.post-block__body,.post-diagram__body{color:var(--muted);margin-block-start:.85rem;font-size:.98rem;line-height:1.65}.post-media{border:1px solid var(--rule);background:var(--surface);font-family:var(--sans);margin:clamp(1.7rem,4vw,2.8rem) 0}.post-media--wide{width:min(100% + 290px,100vw - 2rem)}.post-media--full{width:min(var(--max), calc(100vw - 2rem));margin-inline:calc((var(--measure) - min(var(--max), calc(100vw - 2rem))) / 2)}.post-media__link{color:inherit;outline-offset:4px;text-decoration:none;display:block}.post-media img{aspect-ratio:16/9;object-fit:cover;background:color-mix(in srgb, var(--ink) 6%, var(--paper));inline-size:100%;display:block}.post-media--screenshot img{object-position:top center}.post-media--portrait img{aspect-ratio:4/5}.post-media figcaption{border-top:1px solid var(--rule);color:var(--muted);margin:0;padding:.85rem 1rem;font-size:.92rem;line-height:1.5}.post-interactive{border:1px solid var(--rule);background:var(--surface);font-family:var(--sans);margin:clamp(1.7rem,4vw,2.8rem) 0;padding:clamp(1rem,3vw,1.35rem)}.post-interactive--wide{width:min(100% + 290px,100vw - 2rem)}.post-interactive__mount{min-width:0;margin-block-start:1rem}.post-interactive__fallback{color:var(--muted);margin:0;font-size:.92rem}.post-interactive figcaption{border-top:1px solid var(--rule);color:var(--muted);margin:1rem calc(-1*clamp(1rem,3vw,1.35rem)) calc(-1*clamp(1rem,3vw,1.35rem));padding:.85rem clamp(1rem,3vw,1.35rem);font-size:.92rem;line-height:1.5}.post-sidenote{z-index:2;float:right;clear:right;width:var(--article-side-rail-width);margin:0 calc(-1 * (var(--article-side-rail-width) + var(--article-grid-gap))) var(--space-24) var(--article-grid-gap);font-family:var(--sans);position:relative}.post-sidenote:has(details[open]){z-index:3}.post-sidenote details{border:1px solid var(--rule);background:color-mix(in srgb, var(--surface) 70%, transparent);transition:border-color .16s,background-color .16s}.post-sidenote details[open]{border-color:color-mix(in srgb, var(--accent) 55%, var(--rule));background:var(--surface)}.post-sidenote details:hover,.post-sidenote details:focus-within{border-color:var(--accent);background:var(--surface)}.post-sidenote summary{gap:var(--space-10);padding:var(--space-20) var(--space-24) 0;cursor:pointer;line-height:1.35;list-style:none;display:grid}.post-sidenote details:not([open]) summary{padding-block-end:var(--space-20)}.post-sidenote summary::-webkit-details-marker{display:none}.post-sidenote summary span{color:var(--color-text-accent);font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase}.post-sidenote summary strong{overflow-wrap:break-word;min-inline-size:0;font-size:18px;line-height:24px}.post-sidenote__body{padding:var(--space-10) var(--space-24) var(--space-20);color:var(--muted);border-top:0;font-size:16px;line-height:26px}.prose-shell{--post-code-surface:#fff;--post-code-ink:#24292f}:root[data-theme=graphite] .prose-shell{--post-code-surface:#22272e;--post-code-ink:#adbac7}.post-code-block{background:var(--post-code-surface);min-width:0}.post-code-block--wide{width:min(949px,100vw - 32px)}.reading-toc a[aria-current=location]{color:var(--color-text-primary);font-weight:var(--font-weight-bold);text-decoration:underline;text-decoration-color:var(--color-text-accent);text-underline-offset:.2em}@media (width>=981px) and (width<=1439px){.article-grid{--article-grid-gap:var(--space-24);--article-side-rail-width:180px;inline-size:min(var(--container-main), calc(100% - 32px));grid-template-columns:160px minmax(0, var(--container-prose)) minmax(var(--article-side-rail-width), 1fr);gap:var(--article-grid-gap);grid-template-areas:"toc prose notes"}.article-grid .prose-shell{inline-size:100%}.article-grid--no-toc{grid-template-areas:".prose notes"}.article-grid--no-notes{grid-template-areas:"toc prose."}.article-grid--no-toc.article-grid--no-notes{grid-template-areas:".prose."}.article-grid .reading-toc{background:0 0;border:0;inline-size:100%;padding:0;position:sticky}.article-grid .post-code-block--wide{inline-size:calc(100% + var(--article-grid-gap) + var(--article-side-rail-width))}}@media (width<=520px){.article-grid{inline-size:min(358px,100% - 16px)}}.prose-shell pre.astro-code{background-color:var(--post-code-surface)!important;color:var(--shiki-light,var(--post-code-ink))!important}.prose-shell pre.astro-code code{color:inherit;display:block;background:0 0!important}.prose-shell pre.astro-code .line,.prose-shell pre.astro-code span{background:0 0!important}.prose-shell pre.astro-code span{color:color-mix(in srgb, var(--shiki-light,inherit) 78%, #000)!important}:root[data-theme=graphite] .prose-shell pre.astro-code{color:var(--shiki-dark,var(--post-code-ink))!important}:root[data-theme=graphite] .prose-shell pre.astro-code span{color:color-mix(in srgb, var(--shiki-dark,inherit) 80%, #fff)!important}.post-code-block__header{justify-content:space-between;align-items:center;gap:1rem;margin-block-end:.9rem;display:flex}.post-code-block__header .post-block__eyebrow{margin:0}.post-code-block__language{border:1px solid var(--rule);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:.3rem .5rem;font-size:.72rem;font-weight:800;line-height:1.3}.post-code-block pre{border:0;margin-block:0}.post-code-block__output{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--rule));border-inline-start:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 5%, var(--post-code-surface));margin-block-start:.9rem;padding:.7rem .8rem .75rem}:root[data-theme=graphite] .post-code-block__output{background:var(--color-surface-page)}.post-code-block__output-label{color:var(--color-text-accent);font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.45rem;margin:0 0 .45rem;display:flex}.post-code-block__output-label:before{content:">";border:1px solid color-mix(in srgb, var(--accent) 44%, var(--rule));block-size:1rem;inline-size:1rem;color:var(--accent);place-items:center;font-size:.72rem;line-height:1;display:inline-grid}.post-code-block__output pre{color:var(--post-code-ink);font-family:var(--mono);white-space:pre-wrap;background:0 0;border:0;margin-block:0;padding:0;font-size:.9rem;line-height:1.55;overflow-x:auto}.post-code-block__output code{font-size:inherit}.post-glossary{border-bottom:1px dotted var(--accent);font-weight:700;position:relative}.post-glossary__definition{z-index:2;inset-inline-start:0;border:1px solid var(--rule);background:var(--surface);width:min(240px,80vw);box-shadow:0 18px 40px color-mix(in srgb, var(--ink) 12%, transparent);color:var(--muted);font-family:var(--sans);opacity:0;pointer-events:none;transition:opacity .18s ease, transform .18s ease, display .18s allow-discrete;padding:.65rem .75rem;font-size:.85rem;font-weight:500;line-height:1.45;display:none;position:absolute;bottom:calc(100% + .4rem);transform:translateY(.25rem)}.post-glossary:hover .post-glossary__definition,.post-glossary:focus-within .post-glossary__definition{opacity:1;display:block;transform:translateY(0)}@starting-style{.post-glossary:hover .post-glossary__definition,.post-glossary:focus-within .post-glossary__definition{opacity:0;transform:translateY(.25rem)}}.annotated-prose{gap:clamp(1.4rem,4vw,2.4rem);margin-block:0 clamp(1.5rem,4vw,2.2rem);display:grid}.annotated-paragraph{grid-template-columns:minmax(0,1fr) minmax(180px,250px);align-items:start;gap:clamp(1rem,3vw,1.5rem);width:min(100% + 290px,100vw - 2rem);display:grid}.annotated-paragraph>p{margin:0}.annotation-marker{border-bottom:1px solid var(--accent);color:var(--accent);font-family:var(--mono);letter-spacing:.06em;justify-content:center;align-items:center;margin-inline-end:.45rem;font-size:.68em;font-weight:800;line-height:1.1;display:inline-flex;transform:translateY(-.08em)}.annotated-block{gap:clamp(1rem,3vw,1.5rem);margin-block:1.2rem clamp(2rem,5vw,3rem);display:grid}.annotated-block--has-note{grid-template-columns:minmax(0,1fr) minmax(180px,250px);align-items:start;width:min(100% + 290px,100vw - 2rem)}.annotated-block__body{min-width:0}.annotated-block__body>:first-child{margin-top:0}.annotated-block__body>:last-child{margin-bottom:0}.reading-toc{font-family:var(--sans);font-size:.9rem;line-height:1.45}.reading-toc p{color:var(--color-text-accent);font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .75rem}.reading-toc ol{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.reading-toc li{min-width:0}.reading-toc .depth-3{padding-inline-start:.85rem}.reading-toc a{color:var(--muted);text-decoration:none}.reading-toc a:hover,.reading-toc a:focus-visible{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent)}.marginalia{font-family:var(--sans);gap:.75rem;display:grid}.marginalia__title{color:var(--color-text-accent);font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase;margin:0}.marginalia__item{border:1px solid var(--rule);background:color-mix(in srgb, var(--surface) 70%, transparent)}.marginalia__item[open]{border-color:color-mix(in srgb, var(--accent) 55%, var(--rule));background:var(--surface)}.marginalia__item summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.65rem;padding:.8rem;line-height:1.35;list-style:none;display:grid}.marginalia__item summary::-webkit-details-marker{display:none}.marginalia__item summary span{color:var(--color-text-accent);font:var(--type-eyebrow);letter-spacing:.08em}.marginalia__item summary strong{font-size:.92rem}.marginalia__item p{border-top:1px solid var(--rule);color:var(--muted);margin:0;padding:.8rem;font-size:.92rem;line-height:1.6}@media (width<=980px){.detail-grid,.article-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"toc""prose""notes"}.article-grid{inline-size:min(var(--container-prose), calc(100% - 48px));row-gap:var(--space-32)}.article-grid .prose-shell{inline-size:100%}.article-grid--no-toc{grid-template-areas:"prose""notes"}.article-grid--no-notes{grid-template-areas:"toc""prose"}.article-grid--no-toc.article-grid--no-notes{grid-template-areas:"prose"}.reading-toc{position:static}.article-grid .reading-toc{border:1px solid var(--color-border-subtle);inline-size:100%;padding:var(--space-24);background:var(--color-surface-raised)}.annotated-block--has-note,.annotated-paragraph{grid-template-columns:1fr;width:100%}.post-media--wide,.post-media--full,.post-interactive--wide{width:100%;margin-inline:0}.post-code-block--wide{width:100%}.article-grid .post-sidenote{float:none;clear:none;inline-size:100%;margin:var(--space-16) 0 var(--space-24)}.post-sidenote{float:none;clear:none;width:100%;margin:1rem 0 1.4rem}.post-sidenote summary strong{font-size:24px;line-height:30px}.post-code-block__header{flex-direction:column;align-items:flex-start}}@media (width<=900px){.article-header{padding-block:var(--space-64) var(--space-48)}.article-header h1{font-size:56px;line-height:60px}.article-header p{font-size:18px;line-height:31px}.article-cover{margin-block-end:calc(var(--space-48) + var(--space-64))}.article-cover:after{top:calc(100% + var(--space-48))}}@media (width<=520px){.article-header{width:min(358px,100% - 16px);padding-block:var(--space-48) var(--space-16)}.article-cover{width:min(358px,100% - 16px);margin-block-end:calc(var(--space-40) + var(--space-48))}.article-cover:after{top:calc(100% + var(--space-40))}.article-header h1{font-size:42px;line-height:46px}.article-header p{font-size:18px;line-height:31px}.detail-grid,.article-grid{width:min(358px,100% - 16px)}.prose-shell{font-size:1.05rem}.post-claim,.post-note-block{padding:var(--space-16) var(--space-18)}.post-sidenote summary{padding:var(--space-16) var(--space-18) 0}.post-sidenote__body{padding:var(--space-10) var(--space-18) var(--space-16)}}@media print{.reading-toc,.theme-toggle{display:none}.article-page{padding-block:0}.article-grid{width:100%;display:block}.post-sidenote{float:none;width:100%;margin:1rem 0}.post-sidenote details{border-color:#999}.post-sidenote details:not([open]) .post-sidenote__body{display:block}}.detail-grid{--article-grid-gap:var(--space-48);--detail-toc-track:var(--container-toc);grid-template-columns:var(--detail-toc-track) var(--container-prose) minmax(0, 1fr);column-gap:var(--article-grid-gap);grid-template-areas:"toc prose."}.detail-grid .post-code-block--wide{width:calc(min(var(--max), 100vw - 32px) - var(--detail-toc-track) - var(--article-grid-gap))}.project-flow{gap:var(--space-20);padding-block:var(--space-40);font-family:var(--font-family-editorial);border:0;margin:0;display:grid}.project-flow__header{gap:var(--space-20);display:grid}.prose-shell .project-flow__header h2{font:var(--type-prose-heading);letter-spacing:0;margin:0}.project-flow__header p{max-inline-size:none;color:var(--color-text-secondary);font:400 16px/26px var(--font-family-editorial);margin:0}.prose-shell .project-flow__steps{background:0 0;border:0;grid-template-columns:minmax(0,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.project-flow__steps li{align-content:start;align-items:start;gap:var(--space-6) var(--space-24);min-block-size:116px;padding:var(--space-18);background:var(--color-surface-page);box-shadow:inset 0 0 0 1px var(--color-border-subtle);border:0;grid-template-rows:auto auto;grid-template-columns:36px minmax(0,1fr);display:grid}.prose-shell .project-flow__steps li+li{border-top:0;margin-block-start:0}.project-flow__steps span{border:1px solid var(--color-border-subtle);background:var(--color-surface-raised);block-size:36px;inline-size:36px;color:var(--color-text-accent);font:700 12px/17px var(--font-family-editorial);letter-spacing:.96px;border-radius:999px;grid-row:1/span 2;place-items:center;display:grid}.project-flow__steps strong{font:700 24px/30px var(--font-family-editorial);grid-column:2}.project-flow__steps p{color:var(--color-text-secondary);font:400 14px/22px var(--font-family-editorial);grid-column:2;margin:0}.project-visual__identity{gap:var(--space-10);padding:var(--space-20) var(--space-24)}.project-visual__band h1{font:700 42.3px/41.45px var(--font-family-editorial)}.project-visual__band strong{font:600 18.9px/27.38px var(--font-family-editorial)}.project-visual__band li,.project-visual__meta dt{font-family:var(--font-family-editorial);font-size:12px;font-weight:800;line-height:16px}.project-visual__band li{letter-spacing:.634px;padding:6px 8px}.project-visual__meta dt{letter-spacing:.672px}.project-visual{margin-block-start:0}.project-visual--no-cover .project-visual__image-shell{min-block-size:420px}.engineering-notes.project-detail__highlight-grid{margin-block:var(--space-40);background:0 0;border:0;display:block}.prose-shell .engineering-notes>h2{margin:0 0 var(--space-20);font:var(--type-prose-heading)}.engineering-notes__list{gap:var(--space-20);display:grid}.engineering-notes details{border:1px solid var(--color-border-subtle);background:var(--color-surface-raised)}.engineering-notes details[open]{border-color:color-mix(in srgb, var(--color-accent-rust) 62%, var(--color-border-subtle))}.engineering-notes summary{gap:var(--space-14);padding:var(--space-24);cursor:pointer;list-style:none;display:grid}.engineering-notes summary::-webkit-details-marker{display:none}.engineering-notes summary strong{font-size:1.5rem;font-weight:var(--font-weight-bold);line-height:1.25}.engineering-notes details[open] summary strong{color:var(--color-text-accent)}.engineering-notes__toggle{color:var(--color-text-accent);font:var(--type-code-label);text-transform:none}.engineering-notes__toggle--closed,.engineering-notes details:not([open]) .engineering-notes__toggle--open{display:none}.engineering-notes details:not([open]) .engineering-notes__toggle--closed{display:inline}.engineering-notes details ul{border-top:1px solid var(--color-border-subtle);padding:var(--space-20) var(--space-24) var(--space-24) calc(var(--space-24) + 1.2em);margin:0}.engineering-notes details li+li{margin-block-start:var(--space-8)}.post-code-block pre.astro-code{white-space:pre;max-inline-size:100%;overflow-x:auto}.post-diagram pre.astro-code,.post-diagram pre.astro-code code{white-space:pre!important;word-break:normal!important}.post-diagram pre.astro-code{max-inline-size:100%;overflow-x:auto}@media (width>=981px) and (width<=1439px){.detail-grid{--article-grid-gap:var(--space-24);--detail-toc-track:160px;grid-template-columns:var(--detail-toc-track) minmax(0, var(--container-prose)) minmax(0, 1fr)}.detail-grid .prose-shell{inline-size:100%}}@media (width<=980px){.detail-grid{inline-size:min(var(--container-main), calc(100% - 48px));row-gap:var(--space-32);grid-template-columns:minmax(0,1fr);grid-template-areas:"toc""prose"}.detail-grid .post-code-block--wide{width:100%;margin-left:0}.detail-grid .reading-toc{border:1px solid var(--color-border-subtle);padding:var(--space-24);background:var(--color-surface-raised)}.project-visual__image{aspect-ratio:720/352;block-size:auto;min-block-size:0}.project-visual--fallback-artwork .project-visual__image{aspect-ratio:auto}.project-visual{inline-size:min(var(--container-main), calc(100% - 48px))}.project-visual__band{grid-template-columns:minmax(0,1fr)}.project-visual__meta{border-inline-start:0;border-block-start:1px solid var(--color-plate-border);padding:var(--space-24)}.project-flow__steps li{gap:var(--space-6) var(--space-24);grid-template-columns:36px minmax(0,1fr)}.project-flow__steps p{grid-column:2}}@media (width<=520px){.detail-grid{inline-size:min(358px,100% - 16px)}.project-visual{inline-size:366px;max-inline-size:calc(100% - 9px);margin-block:var(--space-16) var(--space-64)}.project-visual__image{aspect-ratio:366/208}.project-visual--fallback-artwork .project-visual__image{aspect-ratio:auto}.project-visual__identity,.project-visual__meta{padding:var(--space-16)}.project-visual__band h1{font:700 36.8px/36px var(--font-family-editorial)}.project-visual__band strong{font:600 16px/23.2px var(--font-family-editorial)}.project-visual__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.project-visual__meta :is(dt,dd){white-space:normal}.project-visual__repo{gap:var(--space-8);padding-inline:var(--space-16);font-size:14px}.project-visual__repo-handle{display:none}.project-flow__steps li{gap:var(--space-6);min-block-size:0;padding:var(--space-18);box-shadow:inset 0 0 0 1px var(--color-border-subtle);grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);display:grid}.project-flow__steps span{grid-row:auto;margin-block-end:var(--space-4)}.project-flow__steps strong,.project-flow__steps p{grid-column:1}.engineering-notes summary{padding:var(--space-16)}.engineering-notes details ul{padding:var(--space-16) var(--space-16) var(--space-16) calc(var(--space-16) + 1.2em)}}.contact-card h2,.contact-card p,.contact-card ul,.contact-card li{margin:0;padding:0}.contact-card ul{list-style:none}.contact-card a{text-decoration:none}.contact-card{gap:var(--space-10);border:1px solid var(--rule);padding:var(--space-26) var(--space-28);background:var(--surface);margin-block-start:var(--space-48);display:grid}.contact-card__eyebrow{color:var(--color-text-accent);font:var(--type-eyebrow);letter-spacing:.08em;text-transform:uppercase}.contact-card__title{font:var(--type-prose-heading);letter-spacing:0}.contact-card__lead{max-width:56ch;color:var(--color-text-primary);font:var(--type-body)}.contact-card__chips{gap:var(--space-8);margin-block:var(--space-6) var(--space-2);flex-wrap:wrap;display:flex}.contact-card__chips li{border:1px solid var(--color-text-accent);padding:var(--space-5) var(--space-12);color:var(--color-text-accent);font:var(--type-technical-tag);letter-spacing:.04em;text-transform:uppercase;align-items:center;display:inline-flex}.contact-card__chips li+li{margin-block-start:0}.contact-card__mail{align-items:center;gap:var(--space-10);color:var(--color-text-primary);font-family:var(--font-family-editorial);font-size:1.0625rem;font-weight:var(--font-weight-bold);margin-block-start:var(--space-6);line-height:1.5;display:inline-flex}.contact-card__mail .icon{block-size:20px;inline-size:20px;color:var(--color-text-accent)}.contact-card__mail:hover,.contact-card__mail:focus-visible{color:var(--color-interactive-hover)}
