.projects-index{padding-bottom:clamp(64px,9vw,112px)}.projects-intro{max-width:40em;margin-bottom:24px;font-size:16px}.projects-filters{justify-content:flex-start}.filters[hidden]{display:none}.filters button:hover{color:var(--text);border-color:var(--muted)}.filters button[aria-pressed=true]:hover{color:var(--bg);border-color:var(--text)}.project-card[hidden]{display:none}.project-head{padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,40px)}.project-badges{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.project-head h1{max-width:20em;font-size:clamp(34px,5vw,54px)}.project-head .lede{margin-top:16px}.project-tools{max-width:48rem;margin-top:22px}.project-actions{margin-top:24px}.project-cover .figure img{aspect-ratio:2;object-fit:cover;max-height:560px;box-shadow:var(--shadow)}@media (width<=700px){.project-cover .figure img{aspect-ratio:4/3}}.project-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:clamp(32px,5vw,56px);padding-bottom:clamp(56px,8vw,96px);display:grid}@media (width>=1000px){.project-layout{grid-template-columns:300px minmax(0,1fr);gap:48px}}.project-aside{flex-direction:column;gap:16px;display:flex}.project-aside .card{padding:20px}.project-aside-title{letter-spacing:0;margin-bottom:12px;font-size:16px;font-weight:650}.project-facts dl>div{border-top:1px solid var(--border);padding:10px 0}.project-facts dl>div:first-child{border-top:0;padding-top:0}.project-facts dt{color:var(--muted);font-size:13px}.project-facts dd{margin-top:2px;font-size:15px;font-weight:600}.project-facts dd .chips{margin-top:6px;font-weight:400}.project-list-card ul{padding-left:1.1em;font-size:15px}.project-list-card li+li{margin-top:8px}.project-list-card li::marker{color:var(--accent)}.project-toc{display:none}@media (width>=1000px){.project-toc{border-top:1px solid var(--border);margin-top:8px;padding:16px 0 0;display:block;position:sticky;top:88px}}.project-toc ol{border-left:1px solid var(--border);list-style:none}.project-toc a{color:var(--muted);border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 14px;font-size:14px;line-height:1.4;text-decoration:none;display:block}.project-toc a:hover{color:var(--text);border-left-color:var(--accent)}.project-main{min-width:0}.project-prose h2,.project-prose h3{scroll-margin-top:88px}.project-prose>h2:first-child{margin-top:0}.project-demo{max-width:var(--text-w);margin-top:clamp(48px,6vw,72px);scroll-margin-top:88px}.project-demo h2{margin-bottom:18px;font-size:clamp(24px,2.6vw,30px)}.project-prose .figure{margin-top:2em;margin-bottom:2em}.project-prose td{vertical-align:top}.project-prose .wide{width:100%;max-width:none}.project-prose .wide>.figure{margin-top:0;margin-bottom:0}.project-prose .photo-grid{margin-top:2em;margin-bottom:2em}.project-prose .photo-grid .figure{margin:0}.project-prose .photo-grid img{aspect-ratio:4/3;object-fit:cover}.project-prose .photo-grid.tall img{aspect-ratio:3/4}.project-prose .photo-grid.drawings img{aspect-ratio:auto;object-fit:contain;background:var(--surface-2)}.project-prose .grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.project-prose .grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.project-prose .spread{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-top:2.4em;margin-bottom:2.4em;padding:clamp(20px,3vw,32px)}.project-prose .spread-inner>*+*{margin-top:1em}.project-prose .spread-text{max-width:var(--text-w)}.project-prose .spread .photo-grid{margin-bottom:0}.project-prose .spread .photo-grid:first-child{margin-top:0}.project-prose .figures-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:1.6em;margin-bottom:1.6em;padding-left:0;list-style:none;display:grid}.project-prose .figures-row li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);margin:0;padding:16px}.project-prose .figures-row li::marker{content:none}.project-prose .figures-row b{color:var(--accent);font-size:clamp(24px,2.8vw,30px);font-weight:750;line-height:1.1;display:block}.project-prose .figures-row span{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.4;display:block}.project-prose .aside{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:12px 16px;font-size:16px}.project-pager{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;display:grid}.pager-card{color:var(--text);align-items:center;gap:16px;padding:12px;text-decoration:none;display:flex}.pager-card img{object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-2);flex:none;width:96px;height:72px}.pager-card>span{flex-direction:column;min-width:0;display:flex}.pager-label{color:var(--muted);font-size:13px}.pager-title{font-weight:650;line-height:1.3}.pager-card:hover .pager-title{color:var(--accent)}.pager-next{text-align:right;flex-direction:row-reverse}@media (width<=700px){.pager-next{text-align:left;flex-direction:row}}.project-contact{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin-top:40px;padding-top:28px;display:flex}.project-contact p{max-width:36em}@media (width<=640px){.prose figure:has(>svg){overflow-x:auto}.prose figure>svg{min-width:620px}}
