.zoomable-image{position:relative;cursor:zoom-in;outline:none}
.image-zoom-hint{position:absolute;right:16px;bottom:16px;z-index:3;padding:9px 13px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(7,23,47,.88);box-shadow:0 8px 24px rgba(0,0,0,.22);color:#fff;font:700 12px/1 "DM Sans",sans-serif;pointer-events:none;transition:background .2s,transform .2s}
.zoomable-image:hover .image-zoom-hint,.zoomable-image:focus-visible .image-zoom-hint{background:#0874ef;transform:translateY(-2px)}
.zoomable-image:focus-visible{border-radius:20px;outline:3px solid #16d9bd;outline-offset:4px}
.image-lightbox{position:fixed;z-index:1000;inset:0;display:grid;width:100%;height:100%;padding:26px;border:0;background:rgba(3,12,28,.94);place-items:center;backdrop-filter:blur(10px)}
.image-lightbox::backdrop{background:rgba(3,12,28,.94)}
.image-lightbox[hidden]{display:none}
.image-lightbox-stage{position:relative;display:grid;width:100%;height:100%;place-items:center}
.image-lightbox img{display:block;max-width:calc(100vw - 52px);max-height:calc(100vh - 52px);width:auto;height:auto;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:#fff;box-shadow:0 36px 100px rgba(0,0,0,.55);object-fit:contain}
.image-lightbox-close{position:fixed;z-index:2;top:22px;right:24px;display:grid;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:14px;background:#fff;color:#07172f;cursor:pointer;font:800 25px/1 Manrope,sans-serif;place-items:center;box-shadow:0 12px 34px rgba(0,0,0,.3)}
.image-lightbox-close:hover,.image-lightbox-close:focus-visible{background:#16d9bd;outline:3px solid rgba(22,217,189,.3);outline-offset:3px}
body.lightbox-open{overflow:hidden}
@media(max-width:650px){.image-zoom-hint{right:10px;bottom:10px;padding:8px 10px;font-size:11px}.image-lightbox{padding:10px}.image-lightbox img{max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:10px}.image-lightbox-close{top:12px;right:12px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.image-zoom-hint{transition:none}}
