.bm-project-gallery {
  width: min(1000px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: #f8f7f4;
  color: #111c31;
  overflow: hidden;
}
.bm-project-gallery[open] { display: flex; flex-direction: column; }
.bm-project-gallery::backdrop { background: #080e18d9; }
.bm-gallery-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px clamp(14px, 3vw, 32px);
  background: #111c31;
  color: white;
}
.bm-gallery-header h2 { margin: 0; font-size: clamp(20px, 3vw, 30px); }
.bm-gallery-header button {
  flex: 0 0 44px;
  height: 44px;
  border: 1px solid #ffffff60;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font-size: 24px;
  cursor: pointer;
}
.bm-gallery-content { overflow: auto; min-height: 0; padding: clamp(12px, 3vw, 28px); }
.bm-project-gallery figure { margin: 0; border-radius: 8px; overflow: hidden; background: #fff; }
.bm-project-gallery img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; }
.bm-gallery-feature { max-width: 760px; margin: 0 auto; }
.bm-gallery-feature img { max-height: 55dvh; }
.bm-project-gallery figcaption {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 10px;
  text-align: center;
  background: #111c31;
  color: white;
  font-size: 13px;
}
.bm-project-gallery details { margin-top: 20px; }
.bm-project-gallery summary { cursor: pointer; padding: 12px 0; font-weight: 600; }
.bm-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 600px) { .bm-gallery-grid { grid-template-columns: 1fr; } }
