.instagram-gallery { padding: 0 0 7rem; background: var(--paper); }
.instagram-heading { margin: 0 8vw 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.instagram-heading h2 { margin: 0; font: 600 clamp(2rem, 3.5vw, 3.4rem)/1.2 "DM Sans", sans-serif; }
.instagram-pause { border: 1px solid var(--line); background: transparent; color: var(--ink); padding: .65rem 1rem; font: inherit; font-size: .75rem; cursor: pointer; }
.instagram-viewport { overflow-x: auto; overflow-y: hidden; scroll-behavior: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.instagram-viewport::-webkit-scrollbar { display: none; }
.instagram-track { display: flex; gap: 20px; width: max-content; }
.instagram-photo { display: block; flex: 0 0 auto; width: calc((100vw - 80px) / 4.5); border-radius: 6px; overflow: hidden; background: #e9e4d6; }
.instagram-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.instagram-photo:focus-visible { outline: 3px solid var(--ink); outline-offset: -4px; }
.instagram-actions { text-align: center; margin-top: 2.5rem; }
@media (max-width: 800px) {
  .instagram-gallery { padding-bottom: 5rem; }
  .instagram-heading { margin: 0 6vw 1.5rem; }
  .instagram-track { gap: 12px; }
  .instagram-photo { width: calc((100vw - 24px) / 2); }
}
