/* Full frames are intentional: no face, scan border, or group is cropped. */
.collection-main { padding-block: 58px 72px; }
.collection-heading { max-width: 720px; margin-bottom: 58px; }
.collection-heading h1 { font-size: clamp(46px, 6.5vw, 84px); letter-spacing: -.045em; margin: 20px 0 28px; }
.collection-heading > p:not(.eyebrow) { max-width: 620px; }
.collection-heading .collection-help { font-size: 15px; margin-top: 18px; }
.complete-album { display: grid; gap: 28px; }
.album-row { display: flex; align-items: start; gap: 24px; }
.collection-photo { flex: var(--photo-ratio) 1 0; min-width: 0; margin: 0; }
.collection-photo a, .collection-photo picture { display: block; }
.collection-photo img { width: 100%; height: auto; }
.collection-note { margin-top: 36px; max-width: 680px; font-size: 15px; }
[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
.memory-index { padding-block: 26px; border-block: 1px solid var(--line); margin-bottom: 55px; }
.memory-index ul { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; padding: 0; list-style: none; }
.memory-index a { display: inline-block; font-size: 16px; }
.memory-index span { display: block; font-size: 12px; color: var(--muted); }
.complete-memories { max-width: 760px; margin-inline: auto; }
.complete-memory { border-top: 1px solid var(--line); padding-block: 38px 48px; scroll-margin-top: 30px; }
.complete-memory h2 { font-size: 29px; line-height: 1.25; overflow-wrap: anywhere; }
.complete-memory time { font-size: 13px; color: var(--muted); }
.complete-memory blockquote { margin: 25px 0 0; font-family: var(--serif); font-size: 21px; line-height: 1.75; overflow-wrap: anywhere; }
.complete-memory blockquote p + p { margin-top: 1em; }
.complete-memory .redaction-note { font-size: 13px; margin-top: 20px; }
@media (max-width: 1000px) { .album-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; } }
@media (max-width: 650px) {
  .collection-main { padding-block: 35px 45px; }
  .collection-heading { margin-bottom: 36px; }
  .complete-album { display: grid; gap: 24px; }
  .album-row { display: contents; }
  .memory-index ul { grid-template-columns: 1fr; }
  .complete-memory blockquote { font-size: 20px; }
}
@media print { .memory-index { display: none; } }
