/* Square, edge-to-edge thumbnails; full images remain intact in viewers. */
body .thumbnails .card-image,body .archive-thumb{position:relative;display:block;aspect-ratio:1 / 1;height:auto;padding:0;overflow:hidden}
body .thumbnails .card-image img,body .archive-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
body .archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

body dialog.expo-viewer{width:min(1050px,94vw);height:min(760px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:0!important;box-shadow:none!important}
body dialog.expo-viewer[open]{display:flex;flex-direction:column}
body .expo-viewer .viewer-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
body .expo-viewer .viewer-image-wrap{position:relative;min-width:0;min-height:0;padding:16px;background:#0b0b0b}
body .expo-viewer .viewer-image-wrap img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:contain}
body .expo-viewer .viewer-info{padding:48px 24px 14px;align-self:center;min-width:0}
body .expo-viewer .viewer-info h2{font-size:clamp(25px,3.2vw,42px);line-height:1.02;margin:8px 0 10px;letter-spacing:-.03em}
body .expo-viewer .viewer-info p{font-size:12px;line-height:1.35;margin:0 0 6px}
body .expo-viewer #viewer-artist{font-size:16px}
body .expo-viewer #viewer-price{font-size:32px;line-height:1.1;margin:14px 0 8px}
body .expo-viewer .viewer-link{font-size:12px;line-height:1.3;margin:0;padding-bottom:3px}
body .expo-viewer .viewer-inquiry{margin:14px 0 0}
body .expo-viewer .viewer-inquiry .viewer-inquiry-label{font-size:13px;color:#f3f2ef;margin:0 0 8px}
body .expo-viewer .viewer-inquiry-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
body .expo-viewer .viewer-inquiry-actions a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;font-size:13px;line-height:1.2;background:#292929;color:#fff;border:0}
body .expo-viewer .viewer-inquiry-actions a:hover{background:#414141}
body .expo-viewer .viewer-controls{flex:none;min-height:44px;padding:0 12px;border:0!important}
body .expo-viewer .viewer-controls button{min-height:44px;padding:8px;font-size:13px}
body .expo-viewer .viewer-close,body .expo-viewer .viewer-close:hover{width:44px;height:44px;top:0;right:0;padding:0;font-size:28px;border:0!important;background:transparent!important;box-shadow:none!important}
body .expo-viewer .viewer-close:focus:not(:focus-visible){outline:none}
body .expo-viewer .viewer-close:focus-visible{outline:1px dashed #aaa;outline-offset:-4px}
@media(max-width:650px){
 body .archive-grid{gap:24px 8px}
 body .archive-card h2{font-size:12px;line-height:1.2;margin-top:10px}
 body .archive-card p{font-size:10px}
 body dialog.expo-viewer{width:94vw;height:calc(100dvh - 24px)}
 body .expo-viewer .viewer-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(80px,1fr) auto;flex:1 0 auto;height:calc(100% - 44px)}
 body .expo-viewer .viewer-image-wrap img{inset:8px 40px;width:calc(100% - 80px);height:calc(100% - 16px)}
 body .expo-viewer .viewer-info{align-self:stretch;padding:10px 16px 4px}
 body .expo-viewer .viewer-info .eyebrow{font-size:9px;line-height:1.2;margin:0 0 4px}
 body .expo-viewer .viewer-info h2{font-size:26px;line-height:1.02;margin:0 0 6px}
 body .expo-viewer .viewer-info p{font-size:11px;line-height:1.25;margin:0 0 4px}
 body .expo-viewer #viewer-artist{font-size:14px}
 body .expo-viewer #viewer-price{font-size:28px;margin:8px 0 5px}
 body .expo-viewer .viewer-link{font-size:11px;padding:0 0 2px}
 body .expo-viewer .viewer-inquiry{margin-top:9px}
 body .expo-viewer .viewer-inquiry .viewer-inquiry-label{font-size:12px;margin-bottom:6px}
}
@media(max-height:520px) and (min-width:520px){
 body .expo-viewer .viewer-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:auto;flex:1}
 body .expo-viewer .viewer-info{padding:16px 42px 6px 12px}
 body .expo-viewer .viewer-info h2{font-size:24px;margin:3px 0 6px}
 body .expo-viewer #viewer-price{font-size:26px;margin:7px 0 5px}
 body .expo-viewer .viewer-inquiry{margin-top:8px}
}
