/* Progressive project gallery overrides */
.logo { font-size: 1.03rem; }
.gallery-intro { max-width: 430px; margin: 22px 0 0; color: #cdd8d2; line-height: 1.55; }
.gallery { display: grid; gap: 16px; }
.gallery figure { margin: 0; min-width: 0; }
.gallery img { width: 100%; height: 340px; display: block; object-fit: cover; background: #213a33; }
.gallery figcaption { font: 10px 'DM Mono'; letter-spacing: .05em; margin-top: 10px; color: #cdd8d2; }
.gallery--featured { margin-top: 70px; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 340px; }
.gallery--featured figure:first-child { grid-column: span 2; grid-row: span 2; margin-top: 0; }
.gallery--featured figure:first-child img { height: 696px; }
.gallery--more { margin-top: 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-controls { display: flex; align-items: center; gap: 18px; margin-top: 30px; }
.work-section .gallery-controls .button { background: var(--lime); color: var(--ink); }
.work-section .gallery-controls .button:hover { background: #edff91; }
.gallery-controls p { margin: 0; color: #cdd8d2; font: 10px 'DM Mono'; }

@media (max-width: 760px) {
  .logo { font-size: .93rem; }
  .gallery { gap: 12px; }
  .gallery--featured, .gallery--more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery--featured { grid-auto-rows: 48vw; }
  .gallery--featured figure:first-child { grid-column: span 2; grid-row: span 2; }
  .gallery--featured figure:first-child img { height: calc(96vw + 12px); }
  .gallery img { height: 48vw; }
  .gallery-controls { align-items: flex-start; flex-direction: column; gap: 14px; }
}
