.projects-intro{max-width:46rem;color:var(--muted-foreground);margin:0 0 32px}.project-grid{gap:24px;display:grid}.project-card{border:1px solid var(--border);background:var(--background);min-width:0}.project-card-link{height:100%;color:inherit;text-decoration:none;display:grid}.project-card-link:hover{background:color-mix(in srgb, var(--paper-deep) 60%, transparent);text-decoration:none}.project-card-image{aspect-ratio:16/9;border-bottom:1px solid var(--border);background:var(--paper-deep);display:block;overflow:hidden}.project-card-image img,.project-cover img,.project-screenshot-grid img{object-fit:cover;width:100%;height:100%}.project-card-copy{flex-direction:column;min-width:0;padding:22px;display:flex}.project-card-meta{color:var(--muted-foreground);font-family:var(--font-mono,monospace);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;font-size:.66rem;display:flex}.project-status{align-items:center;gap:6px;display:inline-flex}.project-status:before{background:var(--olive);content:"";border-radius:50%;width:7px;height:7px}.project-status-planned:before,.project-status-archived:before{background:var(--base-400)}.project-card-copy>strong{font-size:1.35rem;line-height:1.3}.project-card-summary,.project-card-contribution{color:var(--muted-foreground);margin-top:10px;font-size:.9rem;line-height:1.6}.project-card-contribution b{color:var(--foreground);font-weight:500}.project-card-action{color:var(--muted-foreground);font-family:var(--font-mono,monospace);text-transform:uppercase;margin-top:24px;font-size:.7rem}.project-card-link:hover .project-card-action,.project-card-link:hover>.project-card-copy>strong{color:var(--foreground);text-underline-offset:.18em;text-decoration:underline}.project-back{padding-top:28px}.project-back a{color:var(--muted-foreground);font-family:var(--font-mono,monospace);font-size:.72rem;text-decoration:none}.project-hero{border-bottom:1px solid var(--border);gap:32px;padding-block:42px 36px;display:grid}.project-hero h1{overflow-wrap:anywhere;letter-spacing:-.055em;margin-bottom:18px;font-size:clamp(2.4rem,8vw,4.5rem);line-height:1.07}.project-lead{max-width:42rem;color:var(--muted-foreground);margin:0;font-size:clamp(1rem,2.2vw,1.18rem)}.project-facts{gap:16px;margin:0;display:grid}.project-facts div{border-top:1px solid var(--border);padding-top:10px}.project-facts dt,.project-links .eyebrow{color:var(--muted-foreground);font-family:var(--font-mono,monospace);letter-spacing:.05em;text-transform:uppercase;font-size:.66rem}.project-facts dd{margin:3px 0 0;font-size:.86rem}.project-cover{border:1px solid var(--border);background:var(--paper-deep);margin:32px 0 0;overflow:hidden}.project-case-study{gap:0;max-width:48rem;margin-top:48px;display:grid}.project-case-study>section{border-top:1px solid var(--border);padding-block:28px}.project-case-study>section>:last-child{margin-bottom:0}.project-case-study ul{padding-left:1.2rem}.decision-list{gap:24px;display:grid}.decision-list h2{margin-bottom:6px;font-size:1.15rem}.decision-list p{color:var(--muted-foreground);margin:0}.project-screenshots{margin-top:48px}.project-screenshot-grid{gap:24px;margin-top:16px;display:grid}.project-screenshot-grid figure{margin:0}.project-cover img,.project-screenshot-grid img{aspect-ratio:16/9;object-fit:contain;background:var(--paper-deep);border:1px solid var(--border);height:auto;display:block}.project-cover figcaption,.project-screenshot-grid figcaption{color:var(--muted-foreground);font-family:var(--font-mono,monospace);margin:0;padding:12px 14px;font-size:.68rem}.project-body{border-top:1px solid var(--border);margin-top:24px;padding-bottom:24px}.project-links{border-block:1px solid var(--border);margin-top:32px;padding-block:24px}.project-links>div{flex-wrap:wrap;gap:12px 24px;display:flex}.project-links a{font-family:var(--font-mono,monospace);font-size:.75rem}@media (width>=700px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-hero{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:end}.project-screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.lab-badge{color:#294d73;font-family:var(--font-mono,monospace);letter-spacing:.06em;vertical-align:middle;background:#edf3fa;border:1px solid #b8c8d9;padding:3px 8px;font-size:.68rem;font-weight:500;display:inline-block}.project-demo-link{margin-top:20px;display:inline-block}.project-status-active:before{background:#a16207}.project-status-completed:before{background:#356f63}
