/* Portfolio files keep their own geometry. No fixed crop or lens filter is applied. */
.cj-work-grid .project-cover{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;transition:filter .16s}
.cj-work-grid .project-link:is(:hover,:focus-visible) .project-cover{filter:brightness(.3)}
.cj-work-grid .logo-collection .logo-preview{aspect-ratio:808/632}
.project-source{margin-top:22px}
main>.project-case{background:var(--brand-carbon);padding:0;overflow:visible}
main>.project-case::before{content:none}
.project-case>.project-media,.project-case>.project-media-row{max-width:min(1600px,var(--media-width,1600px));margin-inline:auto}
.project-media{min-width:0;width:100%;max-width:var(--media-width,100%);margin:0 auto}
.project-media-image img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
.project-image-link{display:block;cursor:zoom-in}
.project-image-link:focus-visible{outline:3px solid var(--brand-acid);outline-offset:-4px}
.project-media-row{display:flex;align-items:flex-start;gap:12px}
.project-media-row>.project-media{flex:var(--media-grow,1) 1 0;min-width:0}
.project-video-frame{width:100%;aspect-ratio:var(--media-ratio);position:relative;background:#000}
.project-video-frame iframe{display:block;position:absolute;inset:0;width:100%;height:100%;border:0}
.project-media-video figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:12px 20px;color:var(--brand-paper);background:var(--brand-carbon);font:500 14px/1.5 var(--button-font)}
.project-media-video figcaption a{text-decoration:underline;text-underline-offset:4px;color:var(--brand-paper)}
.project-case-text{padding:72px max(24px,var(--page-pad));max-width:960px;margin:0 auto;color:var(--brand-paper)}
.project-case-text>.eyebrow{color:var(--brand-dust);display:block;margin-bottom:22px}
.project-case-text h2{font-size:clamp(32px,4vw,56px);margin:0 0 28px}
.project-case-text p{font-size:18px;line-height:1.65;max-width:64ch;margin:0 0 24px}
.project-case-text .inline-link{color:var(--brand-paper)}
@media(max-width:620px){
  .project-media-row{display:block}
  .project-media-row>.project-media+.project-media{margin-top:12px}
  .project-media-video figcaption{padding:10px 16px;font-size:13px}
  .project-case-text{padding:42px 20px}
  .project-case-text p{font-size:17px}
}
