/* Bullion Keeper — screenshot gallery (#gallery) */
.gallery__intro { max-width: 62ch; margin-bottom: var(--s-10); }
.gallery__intro > .eyebrow, .press-hero .eyebrow { align-self: flex-start; width: auto; }
.gallery__group { margin-top: var(--s-12); }
.gallery__group:first-of-type { margin-top: 0; }
.gallery__head { display: flex; align-items: baseline; gap: var(--s-3); margin-bottom: var(--s-5); border-bottom: 1px solid var(--c1-line); padding-bottom: var(--s-3); }
.gallery__head h3 { margin: 0; font-family: var(--font-display, "Space Grotesk", sans-serif); font-size: var(--text-xl, 1.5rem); color: var(--c1-snow); }
.gallery__grid { display: grid; gap: var(--s-6, 1.5rem); align-items: start; }
.gallery__grid--iphone { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery__grid--ipad { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery__grid--ipad .gallery__item--wide { grid-column: 1 / -1; width: 100%; max-width: 760px; justify-self: center; }
.gallery__grid--mac { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery__item { margin: 0; display: flex; flex-direction: column; gap: var(--s-3); }
.gallery__open { display: block; width: 100%; padding: 0; border: 1px solid var(--c1-line); border-radius: 18px; background: var(--c1-void); overflow: hidden; cursor: zoom-in; transition: border-color .2s ease, transform .2s ease; }
.gallery__grid--iphone .gallery__open { border-radius: 26px; padding: 6px; background: #0e0f12; }
.gallery__grid--iphone .gallery__open img { border-radius: 20px; }
.gallery__open:hover { border-color: var(--c1-hivis); transform: translateY(-2px); }
.gallery__open:focus-visible { outline: 3px solid var(--c1-hivis); outline-offset: 3px; }
.gallery__open img { display: block; width: 100%; height: auto; }
.gallery__item figcaption { font-size: var(--text-sm, .9rem); line-height: 1.5; color: var(--c1-fog); }
.gallery__item figcaption strong { display: block; color: var(--c1-snow); font-weight: 600; margin-bottom: 2px; }
.gallery__note { margin-top: var(--s-10); font-size: var(--text-sm, .9rem); color: var(--c1-mute); max-width: 70ch; }
.gallery__note a { color: var(--c1-hivis); }

.lightbox { border: 0; padding: 0; background: transparent; max-width: 96vw; max-height: 96vh; }
.lightbox::backdrop { background: rgba(4, 5, 7, .92); }
.lightbox__inner { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.lightbox img { max-width: 94vw; max-height: 84vh; width: auto; height: auto; border-radius: 14px; display: block; }
.lightbox__bar { display: flex; gap: 12px; align-items: center; color: var(--c1-fog); font-size: .95rem; max-width: 94vw; }
.lightbox__close { appearance: none; border: 1px solid var(--c1-line-strong); background: var(--c1-carbon); color: var(--c1-snow); border-radius: 999px; padding: 8px 18px; font: inherit; cursor: pointer; }
.lightbox__close:focus-visible { outline: 3px solid var(--c1-hivis); outline-offset: 2px; }

@media (max-width: 900px) {
  .gallery__grid--iphone { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery__grid--ipad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery__grid--mac { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .gallery__grid--ipad { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .gallery__open { transition: none; } .gallery__open:hover { transform: none; } }
