
/* Shared image viewer. Opt in with data-lightbox on an image or image link. */
html.image-lightbox-active{overflow:hidden}
.image-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden;opacity:0;transition:opacity .22s ease;z-index:1000}
.image-lightbox::backdrop{background:rgba(2,8,16,.9);backdrop-filter:blur(7px)}
.image-lightbox.is-open{opacity:1}
.image-lightbox-stage{position:absolute;inset:0;overflow:auto;padding:76px 32px 88px;overscroll-behavior:contain;scrollbar-color:#287da0 #091727}
.image-lightbox-image{display:block;max-width:none;height:auto;margin:0 auto;background:#fff;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.5);transform:scale(.94);transform-origin:top center;transition:transform .26s ease,opacity .22s ease;opacity:0}
.image-lightbox.is-open .image-lightbox-image{transform:scale(1);opacity:1}
.image-lightbox-close{position:fixed;top:18px;right:20px;z-index:2;width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(120,210,255,.45);border-radius:14px;background:#103049;color:#c9f4ff;padding:0;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.image-lightbox-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.image-lightbox-close:hover{background:#1b4661}.image-lightbox-close:focus-visible{outline:3px solid #8deaff;outline-offset:4px}
.image-lightbox-caption{position:fixed;bottom:0;left:0;right:0;margin:0;padding:14px 28px 20px;background:linear-gradient(transparent,rgba(2,8,16,.96) 22%);color:#b8d4e6;font:13px/1.5 Inter,system-ui,sans-serif;text-align:center;pointer-events:none}
[data-lightbox]{cursor:zoom-in}
@media(max-width:600px){.image-lightbox-stage{padding:72px 16px 108px}.image-lightbox-caption{padding:14px 16px 20px;font-size:12px}.image-lightbox-close{right:16px;top:16px}}
@media(prefers-reduced-motion:reduce){.image-lightbox,.image-lightbox-image{transition:none}.image-lightbox-image{transform:none}}
