.story-page{max-width:900px}
.story-heading{max-width:780px;margin:0 auto 4rem;text-align:center}
.story-heading h1{font-size:clamp(3.4rem,8vw,7rem)}
.story-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.4rem;margin:1.5rem 0;color:var(--muted);font:700 .7rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.story-actions{display:flex;justify-content:center;gap:.7rem;margin-top:2rem}
.story-body{max-width:720px;margin:auto}
.story-body>p{font-size:1.15rem}
.story-body .opening{font-size:clamp(1.35rem,2.5vw,1.75rem);color:var(--brown)}
.story-section{margin:3.5rem 0}
.story-section h2{font-size:clamp(2.2rem,4vw,3.5rem)}
.pull-quote{margin:3.5rem -5rem;padding:2.5rem 3rem;border-block:1px solid var(--line);color:var(--brown);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.35;text-align:center}
.memory-card{margin:3rem -3rem;padding:2.5rem 3rem;background:var(--paper);border:1px solid var(--line)}
.memory-card h2{margin-top:0}
.reflection-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem -3rem}
.reflection-grid article{padding:2rem;border:1px solid var(--line);background:var(--paper)}
.reflection-grid h3{margin-top:.2rem}
.story-note{padding:1.5rem;border-left:4px solid var(--gold);background:rgba(228,189,61,.1)}
.story-related{margin-top:5rem;padding-top:3rem;border-top:1px solid var(--line)}
.story-related h2{font-size:2.5rem}
.story-links{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.story-links a{padding:1.4rem;border:1px solid var(--line);background:var(--paper);color:var(--brown);font-weight:700;text-decoration:none}
.story-source{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line);color:var(--muted)}
.substitution-table{width:calc(100% + 6rem);margin:2rem -3rem;border-collapse:collapse;background:var(--paper)}
.substitution-table th,.substitution-table td{padding:1rem;text-align:left;vertical-align:top;border:1px solid var(--line)}
.substitution-table th{color:var(--brown);background:rgba(167,181,160,.18);font:700 .7rem Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.substitution-table strong{color:var(--brown)}
.substitution-warning{margin-top:1.25rem;padding:1.25rem;border-left:4px solid var(--rose);background:rgba(179,105,99,.07)}
.change-reason{margin:1.5rem 0;padding:1.5rem;border:1px solid var(--line);background:var(--paper)}
.change-reason h3{margin:.1rem 0 .7rem}
.change-reason p:last-child{margin-bottom:0}

@media(max-width:850px){.pull-quote,.memory-card,.reflection-grid,.substitution-table{margin-left:0;margin-right:0}
.substitution-table{width:100%}
.reflection-grid,.story-links{grid-template-columns:1fr}
.story-actions{flex-wrap:wrap}
.substitution-table thead{display:none}
.substitution-table,.substitution-table tbody,.substitution-table tr,.substitution-table td{display:block}
.substitution-table tr{margin-bottom:1rem;border:1px solid var(--line)}
.substitution-table td{border:0;border-bottom:1px solid var(--line)}
.substitution-table td:before{content:attr(data-label);display:block;margin-bottom:.25rem;color:var(--rose);font:700 .65rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
}

@media print{@page{size:auto;margin:.6in}
.site-header,.site-footer,.story-actions,.breadcrumb,.story-related,.story-source{display:none!important}
html,body{background:#fff!important;color:#111;font-size:10pt;line-height:1.35}
.section{width:100%;max-width:none;padding:0}
.story-heading{margin-bottom:.3in}
.story-heading h1{font-size:28pt}
.story-meta{margin:.1in 0}
.story-body>p{font-size:10pt}
.story-body .opening{font-size:13pt}
.story-section{margin:.22in 0}
.story-section h2{font-size:18pt}
.pull-quote{margin:.22in 0;padding:.15in;font-size:15pt}
.memory-card{margin:.22in 0;padding:.15in}
.reflection-grid{grid-template-columns:1fr 1fr;margin:.18in 0}
.reflection-grid article{padding:.12in}
.substitution-table{width:100%;margin:.15in 0}
.substitution-table th,.substitution-table td{padding:.05in}
.substitution-warning{padding:.08in}
.change-reason{padding:.08in}
a{text-decoration:none;color:#111}
}


