.shots { max-width: var(--max); margin: 0 auto; padding: 48px 24px 80px; display: grid; gap: 40px; }
.shots-head { text-align: center; }
.shots-head h1 { font-size: clamp(36px, 5vw, 56px); font-weight: 800; margin-bottom: 14px; }
.shots-head .lede { margin: 0 auto; }

.shot { margin: 0; display: grid; gap: 14px; justify-items: center; min-width: 0; }
.shot a { display: block; border-radius: 14px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .09); background: #111318; box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .8); transition: border-color .2s, transform .2s; }
.shot a:hover { border-color: color-mix(in srgb, var(--mint) 45%, transparent); transform: translateY(-2px); }
.shot img { width: 100%; height: auto; display: block; }
.shot figcaption { color: var(--text-2); font-size: 15px; line-height: 1.55; max-width: 620px; text-align: center; }
.shot figcaption b { color: var(--text); display: block; font-family: var(--display); font-size: 17px; font-weight: 700; margin-bottom: 4px; }

.shot.wide a { max-width: 1040px; }
.shot-row { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.shot-row .shot a { max-width: 480px; }

.shots-foot { text-align: center; color: var(--text-3); margin: 0; }
.nav nav a[aria-current="page"] { color: var(--text); background: rgba(255, 255, 255, .06); }

@media (max-width: 860px) {
  .shot-row { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 640px) {
  .shots { padding: 28px 16px 60px; gap: 32px; }
  .shot figcaption { font-size: 14.5px; }
}
