.postcard-page .story-main { max-width: 948px; padding: 1.5rem 24px 3rem; }
.story-intro { margin-bottom: 2rem; max-width: 40rem; }
.story-intro h1 { font-size: clamp(2.5rem, 7vw, 4rem); }
.story-album { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.story-photo { margin: 0; min-width: 0; }
.story-photo img { display: block; width: 100%; height: auto; }
.story-proposal { grid-column: 1 / -1; }
.story-carry { grid-column: 1 / -1; max-width: 600px; margin-inline: auto; }
.story-cards { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #bec8b8; }
.story-card-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.story-card-pair figure { margin: 0; min-width: 0; }
.story-card-image { display: block; width: fit-content; }
.story-card-image img { display: block; width: 100%; max-width: 240px; height: auto; }
.story-card-pair h3 { margin: 1rem 0 .4rem; }
.story-actions { margin-top: 2.5rem; }
@media (max-width: 699px) {
  .postcard-page .story-main { padding-inline: 16px; }
  .story-album { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .story-card-pair { gap: 1rem; }
  .story-card-pair h3 { font-size: 1.3rem; }
}
@media print {
  .story-album { display: block; }
  .story-photo { max-width: 30rem; margin-bottom: 1rem; break-inside: avoid; }
  .story-cards, .story-actions { display: none; }
}
