.image-trigger{display:block;position:relative;cursor:zoom-in;text-decoration:none;overflow:hidden}
.image-trigger::after{content:'View larger ↗';position:absolute;right:12px;bottom:12px;background:#daf04a;color:#19191b;border:2px solid #19191b;padding:6px 11px;font:700 13px 'DM Sans',sans-serif;box-shadow:2px 2px #19191b;pointer-events:none}
.image-trigger:hover img{filter:brightness(.96)}
.image-trigger:focus-visible,.detail-link:focus-visible,.lightbox-close:focus-visible{outline:4px solid #19191b;outline-offset:3px}
.image-trigger img{width:100%}
.lightbox{border:0;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:#19191beF;color:#fff;overflow:hidden}
.lightbox::backdrop{background:#19191bef}
.lightbox-frame{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 20px 62px;gap:12px}
.lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 152px);width:auto;height:auto;object-fit:contain;background:white}
.lightbox p{max-width:70ch;text-align:center;margin:0;font:500 15px/1.35 'DM Sans',Arial,sans-serif}
.lightbox-close{position:absolute;top:18px;right:22px;border:2px solid white;background:#daf04a;color:#19191b;border-radius:100px;padding:9px 17px;cursor:pointer;font-weight:700}
.detail-link{display:inline-block;margin-top:16px;color:#19191b;font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media(max-width:520px){.image-trigger::after{font-size:12px;padding:4px 8px;right:7px;bottom:7px}.lightbox-frame{padding:64px 12px 58px}.lightbox img{max-height:calc(100dvh - 140px)}}
