/* V1.2 lightbox: the photograph is the frame; controls float beside it. */
.media-viewer{box-sizing:border-box;position:fixed;inset:auto;border:0;border-radius:0;padding:0;margin:0;width:min(1000px,calc(100vw - 160px));height:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 16px);overflow:visible;background:transparent;color:#fff;box-shadow:none;font-family:Arial,sans-serif}
.media-viewer:not([open]){display:none}
.media-viewer[open]{display:block;animation:media-viewer-appear .18s ease-out}
.media-viewer::backdrop{background:rgb(7 16 27 / .91);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.media-viewer .media-viewer-panel{position:relative;display:grid;grid-template-rows:auto auto;align-content:start;height:100%;min-height:0;min-width:0}
.media-viewer .media-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:0;margin:0 0 12px;border:0;background:transparent}
.media-viewer .media-viewer-title{margin:0;font:500 15px/1.5 Arial,sans-serif;letter-spacing:0;color:#f4f7fa;text-wrap:pretty;min-width:0;max-height:4.5em;overflow:auto;overflow-wrap:anywhere}
.media-viewer .media-viewer-stage{box-sizing:border-box;display:grid;place-items:center;justify-self:center;position:relative;min-height:0;min-width:0;max-width:100%;padding:0;background:transparent;border-radius:6px;overflow:hidden;box-shadow:0 18px 64px rgb(0 0 0 / .28);touch-action:pan-y pinch-zoom}
.media-viewer .media-viewer-image{display:block;width:100%;height:100%;min-height:0;max-height:100%;max-width:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-select:none}
.media-viewer .media-viewer-loading,.media-viewer .media-viewer-error{position:absolute;inset:50% 16px auto;transform:translateY(-50%);margin:0 auto;padding:14px 18px;width:fit-content;max-width:min(48ch,calc(100% - 32px));max-height:calc(100% - 16px);overflow:auto;font:400 14px/1.6 Arial,sans-serif;text-align:center;color:#172d46;background:#fff;border:0;border-radius:8px}
/* The footer is only a positioning layer: no white bar below the photograph. */
.media-viewer .media-viewer-footer{position:absolute;top:var(--viewer-toolbar-height,56px);right:0;bottom:0;left:0;pointer-events:none}
.media-viewer .media-viewer-description{pointer-events:none}
/* WCAG 2.5.8 / 2.4.7: real buttons retain generous targets and visible focus. */
.media-viewer [data-viewer-close],.media-viewer [data-viewer-prev],.media-viewer [data-viewer-next]{position:relative;display:grid;place-items:center;flex:none;width:52px;height:52px;min-width:44px;min-height:44px;padding:0;border:1px solid rgb(255 255 255 / .25);border-radius:50%;background:#f7f9fc;color:#1d4d80;box-shadow:0 5px 18px rgb(0 0 0 / .16);font-size:0;cursor:pointer;pointer-events:auto;transition:background .16s ease,box-shadow .16s ease}
.media-viewer [data-viewer-prev],.media-viewer [data-viewer-next]{position:absolute;top:50%}
.media-viewer [data-viewer-prev]{left:0;transform:translate(calc(-100% - 16px),-50%)}
.media-viewer [data-viewer-next]{right:0;transform:translate(calc(100% + 16px),-50%)}
.media-viewer [data-viewer-prev]>svg,.media-viewer [data-viewer-next]>svg{display:block;width:24px;height:24px;pointer-events:none}
.media-viewer [data-viewer-close]{width:44px;height:44px;background:rgb(255 255 255 / .12);color:#fff;box-shadow:none}
.media-viewer [data-viewer-close]::before,.media-viewer [data-viewer-close]::after{content:"";position:absolute;width:16px;height:2px;border-radius:1px;background:currentColor;transform:rotate(45deg)}
.media-viewer [data-viewer-close]::after{transform:rotate(-45deg)}
.media-viewer button:hover{background:#fff;box-shadow:0 7px 24px rgb(0 0 0 / .23)}
.media-viewer [data-viewer-close]:hover{background:rgb(255 255 255 / .24);box-shadow:none}
.media-viewer button:focus-visible,.media-viewer .media-viewer-title:focus-visible,.media-viewer .media-viewer-loading:focus-visible,.media-viewer .media-viewer-error:focus-visible{outline:3px solid #fff;outline-offset:4px}
.media-viewer [hidden]{display:none!important}
@keyframes media-viewer-appear{from{opacity:0}to{opacity:1}}
@media(max-width:700px),(max-height:450px){.media-viewer{width:calc(100vw - 24px)}.media-viewer .media-viewer-toolbar{gap:14px;margin-bottom:10px}.media-viewer .media-viewer-title{font-size:14px;max-height:3em}.media-viewer [data-viewer-prev],.media-viewer [data-viewer-next]{width:44px;height:44px;background:rgb(255 255 255 / .95);border-color:rgb(23 45 70 / .08)}.media-viewer [data-viewer-prev]{left:10px;transform:translateY(-50%)}.media-viewer [data-viewer-next]{right:10px;transform:translateY(-50%)}}
/* WCAG 2.3.3: respect reduced motion for both the window and its controls. */
@media(prefers-reduced-motion:reduce){.media-viewer[open]{animation:none}.media-viewer button{transition:none}}
