.camci-project .client-project-visual img { width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; }
.camci-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; }
.camci-thumb { border:0; padding:0; text-align:left; background:none; color:inherit; font:inherit; font-size:.85rem; cursor:zoom-in; }
.camci-frame { display:block; position:relative; overflow:hidden; aspect-ratio:4/3; container-type:inline-size; background:#12242c; }
.camci-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.camci-frame.turned img { position:absolute; left:50%; top:50%; width:75cqw; height:100cqw; max-width:none; transform:translate(-50%,-50%) rotate(var(--photo-angle)); }
.camci-dialog { max-width:calc(100% - 24px); width:min(880px, 106vh); margin:auto; border:0; padding:16px; background:#12242c; color:white; }
.camci-dialog::backdrop { background:#000b; }
.camci-dialog button { padding:8px 12px; margin-bottom:12px; }
.camci-dialog figure { margin:0; }
.camci-dialog .camci-frame img { object-fit:contain; }
.camci-dialog .foundation img { object-fit:cover; }
.camci-dialog figcaption { margin-top:8px; }

.camci-cover-link { display:block; width:100%; height:100%; }
.camci-cover-link:focus-visible { outline:3px solid #fff; outline-offset:-6px; }
.camci-detail { max-width:1040px; }
.camci-back { display:inline-block; margin-bottom:32px; font-weight:600; color:var(--red); }
.camci-intro { margin-bottom:44px; }
.camci-intro h1 { margin:8px 0; }
.camci-intro h2 { margin:0 0 16px; font-size:clamp(20px,3vw,30px); }
.camci-intro p { max-width:72ch; line-height:1.7; }
.camci-detail-photos { display:grid; gap:28px; }
.camci-detail-photos figure { margin:0; }
.camci-detail-photos .camci-thumb { display:block; width:100%; }
.camci-detail-photos figcaption { margin-top:9px; font-size:.9rem; }
