.photos .photo-open.has-caption{position:relative;isolation:isolate}
.photos .photo-caption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:#080808;font:calc(11px / var(--caption-scale,1))/1.5 "Inter",sans-serif;opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:0}
.photos .has-caption img{position:relative;z-index:1}
@media(hover:hover) and (pointer:fine){.photos .has-caption:hover .photo-caption{opacity:1;transition-delay:.15s}}
.photos .has-caption:focus-visible .photo-caption{opacity:1}
.photos .has-caption:focus-visible img{opacity:0;transform:none!important}
@media(prefers-reduced-motion:reduce){.photos .photo-caption,.photos .has-caption img{transition:none}}

/* Touch-sized layouts show captions below the image, in normal document flow. */
@media(max-width:900px){
 .photos .photo-open.has-caption{display:flex;flex-direction:column;height:auto}
 .photos .has-caption img,.photos .has-caption:hover img,.photos .has-caption:focus-visible img{order:0;opacity:1;transform:none!important}
 .photos .photo-caption{position:static;order:1;display:block;inset:auto;margin-top:8px;padding:0;text-align:left;opacity:1;font-size:11px;transition:none;width:100%}
}
