.about-image-open{display:block;width:100%;height:100%;cursor:zoom-in}
.about-image-open:focus-visible{outline-offset:-5px}
.artwork-watermark{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%) rotate(-24deg);font:700 clamp(22px,3.4vw,46px)/1.2 Arial,sans-serif;letter-spacing:.14em;white-space:nowrap;color:#ffffff42;text-shadow:0 1px 3px #0008;pointer-events:none;user-select:none;-webkit-touch-callout:none}
.image-viewport .artwork-watermark{visibility:hidden}
.image-viewport.is-loaded .artwork-watermark{visibility:visible}
.gallery-stage .artwork-watermark{display:none}
.gallery-stage:has(img[src$="halo4-chief.jpg"]) .artwork-watermark{display:block}
.project-image .artwork-watermark{font-size:clamp(18px,2.2vw,32px)}
.about-visual:after,.about-visual .visual-label,.about-visual .visual-cross{pointer-events:none}
.about-image-actions{position:absolute;z-index:2;left:24px;right:24px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.about-image-actions button{min-height:44px;display:flex;align-items:center;gap:12px;font-size:16px;text-align:left;text-shadow:0 1px 8px #000}
.about-image-actions .process-link{position:static}
.image-detail-link span{font-size:26px;color:var(--blue)}
.image-detail-link:hover{color:var(--blue)}
.image-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#080c11;color:var(--text);overflow:hidden}
.image-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.image-viewer::backdrop{background:#030609f5}
.image-viewer-toolbar{display:flex;align-items:center;gap:24px;padding:16px 24px;border-bottom:1px solid #293a4c;background:#101821;z-index:1}
.image-viewer-heading{margin-right:auto;min-width:0}
.image-viewer-eyebrow{font-size:13px;letter-spacing:1.5px;color:#a1b6c9}
.image-viewer-heading h2{font-family:var(--body);font-size:20px;line-height:1.5;letter-spacing:0;font-weight:600;margin:0}
.image-zoom-controls{display:flex;align-items:center;gap:8px}
.image-zoom-controls button,.image-viewer-close{min-width:44px;min-height:44px;padding:6px 12px;border:1px solid #40576c;border-radius:3px;font-size:16px;line-height:1.3}
.image-zoom-controls [data-image-zoom="in"],.image-zoom-controls [data-image-zoom="out"],.image-viewer-close{font-size:26px;padding-inline:10px}
.image-zoom-controls button:hover,.image-viewer-close:hover{background:#1d3449;border-color:var(--blue)}
.image-zoom-controls button:disabled{opacity:.35;cursor:default}
#image-zoom-value{min-width:56px;text-align:center;font-size:16px;font-variant-numeric:tabular-nums;color:#c5d9eb}
.image-viewport{position:relative;min-height:0;overflow:hidden;cursor:grab;touch-action:none;background:radial-gradient(ellipse at center,#202832,#080c11 75%);outline-offset:-4px;overscroll-behavior:contain}
.image-viewport.is-dragging{cursor:grabbing}
.image-viewport img{position:absolute;left:0;top:0;max-width:none;max-height:none;transform-origin:0 0;pointer-events:none;user-select:none;visibility:hidden;will-change:transform}
.image-viewport.is-loaded img{visibility:visible}
#image-viewer-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;color:#b9cce0;font-size:17px;pointer-events:none;text-align:center}
#image-viewer-loading[hidden]{display:none}
.image-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 24px;border-top:1px solid #293a4c;background:#101821;font-size:15px;line-height:1.65}
.image-viewer-footer p{margin:0;color:#b0c3d5}
.image-viewer-footer #image-viewer-resolution{font-size:14px;color:#829fb9}
.image-viewer-credit{color:#b0c3d5;font-size:14px;white-space:nowrap;text-align:right}
/* Discourage casual media saving; visible web content remains retrievable. */
img,canvas,video,svg{-webkit-touch-callout:none;-webkit-user-drag:none;user-select:none}
@media print{img,canvas,video,iframe,.about-visual,.gallery-stage,.compare-stage{visibility:hidden!important}}
@media(max-width:600px){
 .about-image-actions{left:18px;right:18px;gap:4px 15px;bottom:16px}
 .about-image-actions button{font-size:15px}
 .image-viewer-toolbar{padding:12px 14px;gap:10px;flex-wrap:wrap}
 .image-viewer-heading{flex:1;order:0}
 .image-viewer-close{order:1}
 .image-zoom-controls{order:2;flex-basis:100%;justify-content:center;gap:8px}
 .image-viewer-eyebrow{font-size:12px}
 .image-viewer-footer{padding:10px 14px;gap:5px;align-items:flex-start;flex-direction:column;font-size:14px}
}
