.proj-list{padding-bottom:80px;display:flex;flex-direction:column;gap:16px}.site .proj-case{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:32px;align-items:center;padding:32px;border:1px solid var(--site-hair);border-radius:8px;color:var(--vs-bone);text-decoration:none;transition:border-color .25s,background-color .25s}.site .proj-case:hover{color:var(--vs-bone);border-color:var(--vs-smoke);background:var(--site-raised)}.proj-case-copy{display:flex;flex-direction:column;gap:16px}.proj-case h2{margin:0;font-size:36px;font-weight:600;letter-spacing:-.01em}.proj-case p{margin:0;font-size:17px;line-height:1.6;color:var(--vs-steel)}.proj-specs{display:flex;flex-wrap:wrap;gap:8px 24px;font-family:var(--site-mono);font-size:13px;color:var(--vs-steel)}.proj-more{color:var(--site-ember);font-size:15px}.proj-figure{margin:0;border:1px solid var(--site-hair);border-radius:6px;background:var(--site-raised);padding:14px}.proj-figure svg{width:100%;display:block}.proj-figure figcaption{margin-top:8px;font-family:var(--site-mono);font-size:11px;color:var(--vs-smoke);text-transform:uppercase}.proj-trace{stroke-dasharray:420;stroke-dashoffset:420;animation:proj-draw 2.4s var(--site-ease) .3s forwards}@keyframes proj-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.proj-trace{stroke-dashoffset:0}}.proj-build{flex:1;padding-top:72px;padding-bottom:120px;display:flex;flex-direction:column;gap:24px}.site .proj-crumb{font-family:var(--site-mono);font-size:17px;letter-spacing:.12em;color:var(--vs-steel);text-decoration:none;text-transform:uppercase;align-self:flex-start}.site .proj-crumb:hover{color:var(--vs-bone)}.proj-build-lead{font-size:21px;line-height:1.5;max-width:720px}.proj-term{margin-top:24px;max-width:720px;padding:20px 24px;border:1px solid var(--site-hair);border-radius:6px;background:var(--site-card);font-family:var(--site-mono);font-size:15px;line-height:1.8;color:var(--vs-steel)}.proj-prompt{color:var(--vs-smoke)}.proj-state{color:var(--site-ember)}.proj-cursor{color:var(--vs-bone);animation:proj-blink 1.1s steps(2,start) infinite}@keyframes proj-blink{to{visibility:hidden}}.site .proj-back{margin-top:8px;font-size:15px;text-decoration:none;align-self:flex-start}@media (max-width:720px){.site .proj-case{padding:22px;gap:24px}.proj-case h2{font-size:30px}.proj-build{padding-top:40px;padding-bottom:72px}.site .proj-crumb{font-size:14px}.proj-build-lead{font-size:18px}.proj-term{padding:16px;font-size:13px;overflow-x:auto}}