.resident-detail-photo>a{display:block;cursor:zoom-in}
.resident-detail-photo figcaption a{text-decoration:underline;text-underline-offset:3px;font-weight:700}
.resident-extra-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:12px;margin-top:16px}
.resident-extra-photos a{max-width:none;border:2px solid transparent;border-radius:5px;overflow:hidden;cursor:zoom-in}
.resident-extra-photos a[aria-current=true]{border-color:var(--green)}
.resident-extra-photos img{height:90px;object-fit:cover}
.resident-extra-photos span{font-size:14px;margin:4px 6px 6px}
.resident-extra-photos a:focus-visible,.resident-detail-photo a:focus-visible{outline:3px solid #ec1753;outline-offset:3px}
body.resident-gallery-open{overflow:hidden}
.resident-lightbox{width:96vw;max-width:1600px;height:94vh;height:94dvh;max-height:100dvh;padding:0;border:0;border-radius:8px;background:#14251b;color:#fff;overflow:hidden;box-shadow:0 24px 80px #0008}
.resident-lightbox:not([open]){display:none}
.resident-lightbox[open]{display:flex;flex-direction:column}
.resident-lightbox::backdrop{background:rgba(8,16,12,.88)}
.resident-lightbox-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;flex-shrink:0}
.resident-lightbox-header h2{font-size:clamp(20px,2.5vw,30px);line-height:1.2;margin:0;color:white;letter-spacing:0}
.resident-lightbox button{font:inherit;color:white;border:1px solid #ffffff60;background:#ffffff14;cursor:pointer;min-width:48px;min-height:48px;border-radius:6px;flex-shrink:0}
.resident-lightbox-close{padding:8px 16px;font-size:16px!important}
.resident-lightbox button:hover{background:#ffffff30}
.resident-lightbox button:focus-visible,.resident-lightbox a:focus-visible{outline:3px solid #ffcf2c;outline-offset:3px}
.resident-lightbox-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:0 76px;touch-action:pan-y pinch-zoom}
.resident-lightbox-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.resident-lightbox-image[hidden],.resident-lightbox button[hidden],.resident-lightbox-error[hidden]{display:none}
.resident-lightbox-prev,.resident-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);font-size:38px!important;line-height:1;z-index:1}
.resident-lightbox-prev{left:16px}.resident-lightbox-next{right:16px}
.resident-lightbox-footer{padding:14px 24px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0}
.resident-lightbox-footer p{margin:0;font-size:16px;color:white}
.resident-lightbox-original{color:#f4d55d;font-size:16px;text-decoration:underline;text-underline-offset:4px}
.resident-lightbox-error{width:100%;color:#ffdf77!important}
@media(max-width:650px){.resident-lightbox{width:100%;max-width:none;height:100dvh;max-height:none;border-radius:0;margin:0}.resident-lightbox-header{padding:16px;gap:12px}.resident-lightbox-header h2{font-size:20px}.resident-lightbox-close{padding:6px 10px}.resident-lightbox-stage{padding:0 8px 64px}.resident-lightbox-prev,.resident-lightbox-next{top:auto;bottom:4px;transform:none;width:56px;background:#ffffff25}.resident-lightbox-prev{left:calc(50% - 68px)}.resident-lightbox-next{right:calc(50% - 68px)}.resident-lightbox-footer{padding:12px 16px max(20px,env(safe-area-inset-bottom));gap:12px}.resident-extra-photos{grid-template-columns:repeat(3,minmax(0,1fr))}}
