.storypage{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);
  padding:clamp(28px,5vw,64px);max-width:760px;margin-inline:auto;position:relative}
.storypage::before{content:"";position:absolute;inset:10px;border:1px solid rgba(21,102,95,.14);border-radius:12px;pointer-events:none}
.storypage .stitle{text-align:center;font-size:clamp(1.7rem,3.2vw,2.4rem)}
.storypage .sfrom{text-align:center;font-size:0.875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.prose{margin-top:28px;font-family:var(--serif);font-size:1.1rem;line-height:1.88;color:var(--body)}
.prose p{margin:0 0 1.15em}
.prose p:first-of-type::first-letter{font-size:3.4em;float:left;line-height:.8;padding:6px 10px 0 0;color:var(--teal-deep);font-weight:600}
.reflect{margin-top:26px;background:var(--teal-wash);border:1px solid var(--teal);border-radius:12px;padding:20px 22px}
.reflect .rl{font-size:0.875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-deep);font-weight:700}
.reflect p{font-family:var(--serif);font-style:italic;font-size:1.12rem;margin-top:8px}
.afterword{max-width:760px;margin:26px auto 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.next{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;color:inherit;
  transition:transform .25s,border-color .25s;display:block}
.next:hover{transform:translateY(-4px);border-color:var(--teal)}
.next b{font-family:var(--serif);font-size:1.05rem;display:block;color:var(--teal-deep)}
.next span{font-size:.88rem;color:var(--muted);display:block;margin-top:6px}
@media (max-width:900px){.afterword{grid-template-columns:1fr}}
