.snapshot-feature {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.35fr);
  align-items: center;
  gap: clamp(1rem,5vw,5rem);
  padding-block: clamp(3.25rem,8vw,8rem);
  border-top: 1px solid var(--line);
}
.snapshot-feature h2,.snapshot-heading h2 { font-size: clamp(2.8rem,6.8vw,7rem); }
.snapshot-feature .button { margin-top: 1.1rem; }
.snapshot-feature-copy > p:not(.eyebrow) { margin-top: .9rem; }
.snapshot-feature-art { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.snapshot-feature p,.snapshot-heading p { max-width: 37ch; }
.snapshot-book { padding-top: clamp(3rem,7vw,6rem); padding-bottom: clamp(3rem,7vw,6rem); }
.snapshot-book + .snapshot-book { border-top: 1px solid var(--line); }
.snapshot-heading { max-width: 56rem; margin-bottom: clamp(1.5rem,4vw,4rem); }
.snapshot-heading > p:not(.eyebrow) { margin-top: 1rem; }
.snapshot-heading .text-link { margin-top: .75rem; }
.snapshot-film { margin: 0 0 clamp(2.5rem,6vw,6rem); }
.snapshot-film video { width: 100%; display: block; aspect-ratio: 16 / 9; background: var(--panel); }
.snapshot-film figcaption { margin-top: .65rem; font-size: .92rem; color: var(--ink); }
.snapshot-film figcaption span { color: var(--muted); }
.snapshot-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,4vw,4rem) clamp(1rem,3vw,3rem); }
.snapshot { scroll-margin-top: 100px; }
.snapshot-photo { display: block; position: relative; background: var(--panel); }
.snapshot-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.snapshot-photo span { position: absolute; bottom: .5rem; right: .55rem; padding: .4rem .65rem; background: #0b0f14e8; color: var(--ink); font-size: .78rem; font-weight: 650; }
.snapshot-photo:hover span, .snapshot-photo:focus-visible span { color: var(--warm); }
.snapshot-caption { padding: .95rem 0 .15rem; }
.snapshot-caption .eyebrow { margin-bottom: .45rem; }
.snapshot-caption h3 { font-size: clamp(1.65rem,3vw,3.4rem); }
.snapshot-caption p:last-child { max-width: 46ch; color: #c5cdd1; margin-top: .55rem; }
@media (max-width: 660px) {
  .snapshot-feature,.snapshot-grid { grid-template-columns: minmax(0,1fr); }
  .snapshot-grid { gap: 2rem; }
}
