.public-breadcrumb ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 2rem;color:var(--vv-ink-soft);font-size:.8125rem}
.public-breadcrumb li+li::before{content:"/";margin-right:.5rem;color:var(--vv-ink-soft)}
.public-breadcrumb a{color:var(--vv-ink-soft)}.public-breadcrumb a:hover{color:var(--vv-accent)}
.work-hero,.project-case-heading{padding-bottom:3rem}.work-hero h1,.project-case-heading h1{max-width:17ch}
.work-catalog{padding-top:0}
.work-collection{display:grid;gap:5rem}
.work-entry{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding-bottom:4rem;border-bottom:1px solid var(--vv-line)}
.work-entry:nth-child(even) .work-preview{order:2}.work-entry-no-media{grid-template-columns:1fr}.work-entry-lead{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.work-preview{display:block;overflow:hidden;aspect-ratio:1.5;border:1px solid var(--vv-line);border-radius:8px;background:var(--vv-surface);box-shadow:0 8px 24px rgba(var(--vv-shadow-color),.04)}
.work-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 160ms ease}.work-entry:hover .work-preview img{transform:scale(1.015)}
.work-story{min-width:0}.work-story .technical-label{font-size:.75rem;margin-bottom:1rem}.work-story h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0 0 1rem;letter-spacing:-.04em}.work-story h2 a{color:var(--vv-ink)}.work-story h2 a:hover{color:var(--vv-accent)}
.work-story>p:not(.technical-label){font-size:1rem;line-height:1.7}.work-story .work-subtitle{color:var(--vv-ink);font-weight:500}
.work-stack{display:flex;flex-wrap:wrap;list-style:none;gap:.5rem 1rem;padding:0;margin:1.5rem 0;color:var(--vv-ink-soft);font:400 .8125rem/1.7 var(--vv-font-mono)}.work-stack li{max-width:100%;overflow-wrap:anywhere}.work-stack li+li::before{content:"/";color:var(--vv-line-strong);margin-right:1rem}
.work-explore{display:inline-flex;gap:1rem;align-items:center;min-height:2.75rem;color:var(--vv-ink);font-size:.9375rem;font-weight:500}.work-explore>span{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--vv-line-strong);border-radius:50%;font-size:1.2rem}.work-explore:hover>span{color:var(--vv-on-accent);background:var(--vv-accent);border-color:var(--vv-accent)}
.work-next{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-block:3rem}.work-next h2{font-size:clamp(1.5rem,3vw,2.25rem);margin:0;max-width:22ch}.work-empty{padding:3rem 0}
.project-case-heading .page-hero-lead{max-width:50ch}.project-case-links{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}
.project-case-image{margin-top:0;margin-bottom:0}.project-case-image>a{display:block;max-height:clamp(22rem,55vw,44rem);overflow:auto;border:1px solid var(--vv-line);border-radius:8px;background:var(--vv-surface);cursor:zoom-in}.project-case-image img{display:block;width:100%;height:auto}.project-case-image figcaption{margin-top:.75rem;font-size:.8125rem;color:var(--vv-ink-soft)}
.project-case-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,.35fr);gap:clamp(2rem,8vw,8rem);align-items:start}.project-case-narrative h2{font-size:clamp(1.75rem,3vw,2.5rem);margin-bottom:1.75rem}.project-case-copy{font-size:1.0625rem;line-height:1.85;max-width:68ch;overflow-wrap:anywhere}.project-case-copy p{margin-bottom:1.5rem}.project-case-copy h3{font-size:1.4rem;margin:2rem 0 1rem}.project-case-copy h4{font-size:1.125rem;margin:1.5rem 0 .75rem}.project-case-stack{padding-top:1.5rem;border-top:1px solid var(--vv-line-strong)}.project-case-stack h2{font-size:1.125rem}.project-case-stack .work-stack{display:grid;gap:.5rem;font-size:.875rem}.project-case-stack .work-stack li+li::before{display:none}
@media(max-width:991.98px){.work-entry,.work-entry-lead{grid-template-columns:1fr;gap:1.5rem;padding-bottom:2.5rem}.work-entry:nth-child(even) .work-preview{order:0}.work-collection{gap:3rem}.project-case-body{grid-template-columns:1fr;gap:2rem}.project-case-stack .work-stack{display:flex}.project-case-copy{font-size:1rem}}
@media(max-width:575.98px){.work-entry{gap:1.25rem}.work-preview{aspect-ratio:1.3}.work-story h2{font-size:2rem}.work-stack{font-size:.8125rem;gap:.4rem .6rem}.work-stack li+li::before{margin-right:.6rem}.public-breadcrumb ol{font-size:.75rem}.project-case-image>a{max-height:26rem}.work-next{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.work-preview img{transition:none}.work-entry:hover .work-preview img{transform:none}}
