.story-wrap { max-width: 820px; padding-block: 3rem; }
.story-heading { margin-bottom: 2.5rem; }
.story-heading h1 { font-size: clamp(2.3rem, 5vw, 3.5rem); overflow-wrap: anywhere; }
.story-deck { font-size: 1.15rem; color: var(--muted); }
.story-body { max-width: 72ch; overflow-wrap: anywhere; }
.story-body h2 { margin-top: 2.25rem; margin-bottom: 1rem; }
.story-body h3 { margin-top: 1.75rem; }
.story-body img { margin-block: 1.75rem; }
.story-image { display: block; cursor: zoom-in; }
.story-body blockquote { border-left: 3px solid var(--accent); margin-inline: 0; padding-left: 1.25rem; color: var(--muted); }
.story-body pre { overflow-x: auto; padding: 1rem; background: #f0ede5; }
.story-body table { display: block; overflow-x: auto; border-collapse: collapse; }
.story-body th, .story-body td { padding: .6rem; border-bottom: 1px solid var(--line); text-align: left; }
.story-end { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
@media (max-width: 680px) { .story-wrap { padding-block: 2rem; } }
