.case-row[data-astro-cid-ylh3gccm][hidden]{display:none}.case-row[data-astro-cid-ylh3gccm]{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,3fr);gap:24px var(--gutter);padding-block:clamp(28px,3.5vw,48px);border-top:1px solid var(--border);align-items:start}@media (min-width: 1101px){.case-row[data-astro-cid-ylh3gccm]:has(.has-shot){grid-template-columns:minmax(0,4fr) minmax(0,5fr) minmax(0,3fr)}}.case-row[data-astro-cid-ylh3gccm]:last-child{border-bottom:1px solid var(--border)}.case-thumb[data-astro-cid-ylh3gccm]{position:relative;display:block;aspect-ratio:16 / 10;border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border);overflow:hidden}.has-shot[data-astro-cid-ylh3gccm] img[data-astro-cid-ylh3gccm]{position:absolute;top:9%;left:7%;width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top left;border-radius:6px 0 0;border:1px solid var(--border-strong);box-shadow:0 12px 32px -18px #0f1c2e73;transition:transform .4s ease}.case-thumb[data-astro-cid-ylh3gccm]:hover img[data-astro-cid-ylh3gccm]{transform:translate(-4px,-4px)}.has-logo[data-astro-cid-ylh3gccm]{display:grid;place-items:center}.thumb-logo[data-astro-cid-ylh3gccm]{width:96px;height:96px;object-fit:contain;border-radius:var(--radius-md);transition:transform .4s ease}.has-logo[data-astro-cid-ylh3gccm]:hover .thumb-logo[data-astro-cid-ylh3gccm]{transform:scale(1.05)}.case-title[data-astro-cid-ylh3gccm]{display:flex;align-items:baseline;gap:12px}.case-index[data-astro-cid-ylh3gccm]{font-family:var(--font-mono);font-size:.75rem;color:var(--text-dim)}.case-title[data-astro-cid-ylh3gccm] h3[data-astro-cid-ylh3gccm]{font-size:clamp(1.2rem,1.6vw,1.5rem)}.case-title[data-astro-cid-ylh3gccm] a[data-astro-cid-ylh3gccm]:hover{color:var(--accent)}.case-cat[data-astro-cid-ylh3gccm]{font-size:.85rem;color:var(--text-dim);margin-top:4px}.case-outcome[data-astro-cid-ylh3gccm]{margin-top:14px;font-size:1rem;line-height:1.55;color:var(--text-main);max-width:52ch}.case-links[data-astro-cid-ylh3gccm]{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px;font-size:.9rem}.muted[data-astro-cid-ylh3gccm]{color:var(--text-muted)}.repo-slot[data-astro-cid-ylh3gccm]{display:inline-flex;align-items:center}.repo-slot[data-astro-cid-ylh3gccm]:empty{display:none}.repo-slot[data-astro-cid-ylh3gccm] .repo-link{display:inline-flex;align-items:center;color:var(--text-muted);transition:color .2s ease}.repo-slot[data-astro-cid-ylh3gccm] .repo-link:hover{color:var(--accent)}.case-meta[data-astro-cid-ylh3gccm]{display:grid;grid-template-columns:64px 1fr;gap:8px 12px;font-size:.85rem}.case-meta[data-astro-cid-ylh3gccm] dt[data-astro-cid-ylh3gccm]{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);padding-top:2px}.case-meta[data-astro-cid-ylh3gccm] dd[data-astro-cid-ylh3gccm]{color:var(--text-muted)}.case-meta[data-astro-cid-ylh3gccm] .pill-chip[data-astro-cid-ylh3gccm]{padding:0;font-size:.8rem}@media (max-width: 1100px){.case-row[data-astro-cid-ylh3gccm]{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.case-meta[data-astro-cid-ylh3gccm]{grid-column:2}}@media (max-width: 700px){.case-row[data-astro-cid-ylh3gccm]{grid-template-columns:1fr}.case-meta[data-astro-cid-ylh3gccm]{grid-column:1}}.page-stats[data-astro-cid-vs3yeob2]{margin-top:36px}.filter-bar[data-astro-cid-vs3yeob2]{display:flex;flex-wrap:wrap;gap:8px 28px;margin-bottom:8px;position:sticky;top:var(--header-h);z-index:5;background:var(--bg);padding-block:16px}.filter-btn[data-astro-cid-vs3yeob2]{background:none;border:0;border-bottom:2px solid transparent;padding:6px 0;font:500 .95rem var(--font-sans);color:var(--text-muted);cursor:pointer;transition:color .18s ease,border-color .18s ease}.filter-btn[data-astro-cid-vs3yeob2] span[data-astro-cid-vs3yeob2]{font-family:var(--font-mono);font-size:.75rem;color:var(--text-dim);margin-left:4px}.filter-btn[data-astro-cid-vs3yeob2]:hover{color:var(--text-main)}.filter-btn[data-astro-cid-vs3yeob2].active{color:var(--text-main);border-color:var(--accent)}#project-list .case-row[hidden]{display:none}#project-list .case-row:not([hidden])~.case-row:not([hidden]){border-top:1px solid var(--border)}
