.visual-project .project-cover{position:relative;text-decoration:none}
.review-page .wide-projects .work-grid,.review-page.home-identity .home-showcase-grid{row-gap:24px}
.review-page.home-identity .artist-opening:has(+ .wide-projects){padding-bottom:24px}
.review-page .artist-opening+.wide-projects{padding-top:0}
.visual-project .project-cover img{display:block;width:100%;height:100%;object-fit:contain}
.project-open{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--paper);color:var(--ink);font:22px/1 var(--sans);transition:transform .2s}
.project-cover:hover .project-open{transform:translate(2px,-2px)}
.review-page .visual-project>h3{font-size:28px;margin:14px 0 4px;line-height:1.15}
.review-page.home-identity main .visual-project>.project-context,.project-context{font:14px/1.5 var(--sans);color:var(--muted);margin:0;max-width:none}
.visual-project h3 a:hover{color:var(--ink);text-decoration:underline!important}
.project-detail-heading{padding:40px 4% 28px;max-width:1600px;margin:auto}
.project-detail-heading .project-context{margin-top:32px}
.review-page .project-detail-heading h1{font-size:72px;line-height:1.04;margin:12px 0 0;overflow-wrap:anywhere}
.project-film{padding:0 4%;max-width:1600px;margin:auto}
.project-film .work-image{width:100%;aspect-ratio:16/9;max-height:78svh}
.project-still-main{margin:0;background:var(--ink)}
.project-still-main img{display:block;width:100%;height:auto;max-height:78svh;object-fit:contain}
.project-description{padding:40px 4% 48px;max-width:1600px;margin:auto;box-sizing:border-box}
.project-description p{font:18px/1.65 var(--sans);max-width:75ch;margin:0 0 20px}
.project-description .text-link{display:inline-block;margin-top:10px}
.project-case-study{margin-top:40px;padding-top:32px;border-top:1px solid var(--muted);max-width:85ch}
.review-page .project-case-study h2{font-size:40px;margin:0 0 28px}
.review-page .project-case-study h3{font-size:28px;margin:32px 0 12px;line-height:1.2}
.project-case-study .case-study-source{font-size:14px;color:var(--muted);line-height:1.5}
.project-case-study dl{font:18px/1.65 var(--sans);margin:0}
.project-case-study dt{font-weight:bold;margin-top:16px}
.project-case-study dd{margin:0}
.project-photographs{padding:0 4%;max-width:1600px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.project-photographs figure{margin:0;min-width:0}
.project-photographs figure:only-child{grid-column:1/-1}
.project-photographs img{display:block;width:100%;height:auto;max-height:80svh;object-fit:contain;background:var(--ink)}
.project-return{padding:48px 4%;max-width:1600px;margin:auto}
@media(max-width:700px){.review-page .visual-project>h3{font-size:26px}.review-page.home-identity main .visual-project>.project-context{font-size:13px}.project-detail-heading{padding:28px 6% 24px}.review-page .project-detail-heading h1{font-size:44px}.project-film{padding:0}.project-film .work-image{max-height:none}.project-description{padding:28px 6% 32px}.project-description p{font-size:16px}.project-photographs{padding:0 6%;grid-template-columns:1fr;gap:20px}.project-return{padding:36px 6%}}
@media(prefers-reduced-motion:reduce){.project-open{transition:none}}