/* Full, undistorted images and a touch-friendly lightbox. */
.case-dialog{width:min(760px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px)}
.dialog-stage{display:flex;align-items:center;justify-content:center;padding:0 18px;touch-action:pan-y pinch-zoom}
.dialog-stage .dialog-image{display:block;height:auto;width:auto;max-width:100%;max-height:calc(100dvh - 176px);object-fit:contain}
.dialog-controls{display:flex;align-items:center;justify-content:center;gap:28px;padding:10px 18px}
.dialog-controls button{width:48px;min-height:44px;border:1px solid var(--line);background:transparent;font-size:19px}
.dialog-controls button:hover,.dialog-close:hover{color:#c9161c}
.dialog-counter{min-width:70px;margin:0}
.dialog-instructions{margin:0 10px 10px;text-align:center;font-size:10px;color:var(--muted)}
@media(max-width:700px){
 .dialog-toolbar{font-size:9px;padding:8px 10px}.dialog-stage{padding:0 10px}.dialog-stage .dialog-image{max-height:calc(100dvh - 170px)}.dialog-controls{gap:22px;padding:9px 10px}
}

/* One aligned gallery, with no individual offsets or image cropping. */
.case-lead{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:24px;padding:32px 0}
.case-lead>div{min-width:0}
.case-lead h3{font-size:clamp(100px,14vw,215px);line-height:.85;letter-spacing:-.105em;font-weight:840;margin:0}
.case-kind{margin-bottom:16px}
.case-intro{max-width:540px}
.case-screens{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.case-screen-button{display:block;min-width:0;width:100%;margin:0;padding:0;border:0;background:transparent;text-align:left}
.case-screen-button img{display:block;width:100%;height:auto;aspect-ratio:736 / 1600;object-fit:contain}
.screen-label{display:block;padding:10px 0 0;font-size:10px;color:var(--muted)}
.case-screen-button:hover .screen-label{color:#c9161c}
.case-details{margin-top:36px}
@media(max-width:1000px){
 .case-screens{grid-template-columns:repeat(2,minmax(0,1fr))}
 .case-lead h3{font-size:clamp(86px,12vw,145px)}
 .case-kind{font-size:clamp(22px,3vw,28px)}
}
@media(max-width:600px){
 .case-lead{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 0}
 .case-lead h3{font-size:clamp(89px,25vw,150px)}
 .case-kind{font-size:26px}
 .case-intro{max-width:none}
 .case-screens{gap:20px}
}
