/* Photos retain their approved colors; full frames are available in the viewer. */
.studio-photo { display:block; position:relative; min-width:0; min-height:0; overflow:hidden; color:#fff; }
.studio-photo:focus-visible { outline:3px solid #ffc34c; outline-offset:-5px; z-index:1; }
.studio-gallery > .studio-photo picture { height:100%; }
.studio-gallery { height:clamp(560px,46vw,720px); min-height:0; }
.studio-gallery .studio-photo img { filter:none; }
.studio-gallery .studio-main img { object-position:50% 55%; }
.studio-enlarge { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:36px; height:36px; border:1px solid #ffffff60; border-radius:50%; background:#090b0dd9; font:22px/1 Arial,sans-serif; }
.studio-more { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; padding:4px 0 0; }
.studio-more figure { margin:0; min-width:0; }
.studio-more picture { display:block; aspect-ratio:3 / 4; background:#090b0d; }
.studio-more img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.studio-more figcaption { padding:12px 16px 16px; color:#bbb9c4; font-size:13px; }
.studio-lightbox { width:min(1040px,calc(100% - 24px)); max-height:calc(100dvh - 24px); margin:auto; padding:0; overflow:hidden; background:#090b0d; }
.studio-lightbox[open] { display:grid; height:min(940px,calc(100dvh - 24px)); grid-template-rows:auto minmax(0,1fr) auto; }
.studio-lightbox header,.studio-lightbox footer { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 16px; }
.studio-lightbox header { border-bottom:1px solid #2b2732; }
.studio-lightbox h2 { margin:0; font-size:16px; font-weight:600; }
.studio-lightbox button { display:grid; place-items:center; flex:0 0 44px; width:44px; min-height:44px; border:1px solid #50465b; border-radius:8px; background:#17141c; color:#f7f7f9; font:24px/1 Arial,sans-serif; cursor:pointer; }
.studio-lightbox button:hover { background:#352746; }
.studio-lightbox button:focus-visible { outline:3px solid #ffc34c; outline-offset:2px; }
.studio-lightbox-stage { position:relative; min-height:0; display:grid; place-items:center; overflow:hidden; }
.studio-lightbox-stage img { width:100%; height:100%; min-height:0; object-fit:contain; }
.studio-lightbox-stage p { position:absolute; margin:20px; padding:16px; background:#17141c; }
.studio-lightbox-stage a { color:#ffc34c; text-decoration:underline; }
.studio-lightbox footer { border-top:1px solid #2b2732; }
.studio-lightbox footer p { margin:0; color:#bbb9c4; font-size:13px; }
@media(max-width:600px) {
  .studio-gallery { height:min(118vw,500px); }
  .studio-gallery > .studio-main { grid-column:1 / 3; grid-row:1; }
  .studio-gallery > .studio-photo:nth-child(2) { grid-column:1; grid-row:2; }
  .studio-gallery > .studio-photo:nth-child(3) { grid-column:2; grid-row:2; }
  .studio-more { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .studio-enlarge { right:8px; bottom:8px; }
  .studio-more figcaption { padding:10px 12px 14px; font-size:12px; }
  .studio-lightbox { width:calc(100% - 16px); }
  .studio-lightbox[open] { height:calc(100dvh - 16px); }
  .studio-lightbox header,.studio-lightbox footer { padding:8px 10px; gap:8px; }
  .studio-lightbox h2 { font-size:14px; }
}
