/* Shared typography, palette and geometry. */
:root { color-scheme: dark; --bg:#0A0A0A; --bg-2:#121212; --bg-3:#1A1A1A; --ink:#F5F3F0; --ink-2:#9A9A9A; --rule:#2E2E2E; --accent:#8B1A1A; --accent-hover:#701515; --gold:#E8C766; --serif:"Source Serif 4",Georgia,serif; --sans:"Inter",Arial,sans-serif; }
* { box-sizing:border-box; }
html { font-size:100%; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--serif); font-size:18px; line-height:1.75; }
svg { display:block; }
img { display:block; max-width:100%; height:auto; }
h1,h2,p,figure,blockquote,dl,dd { margin:0; }
h1,h2 { font-weight:500; line-height:1.2; text-wrap:balance; }
h1 { font-size:clamp(2rem,5vw,3rem); margin-bottom:40px; }
h2 { font-size:clamp(1.5rem,3vw,2rem); margin-bottom:28px; }
p + p { margin-top:1.35em; }
a { color:inherit; text-underline-offset:.22em; }
a:focus-visible { outline:2px solid var(--ink); outline-offset:5px; text-decoration:underline; }
a { min-width:48px; min-height:48px; }
main:focus { outline:none; }
.wide { width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
.measure { width:calc(100% - 48px); max-width:68ch; margin-inline:auto; }
.reading-measure { width:calc(100% - 48px); max-width:62ch; margin-inline:auto; }
.band { padding-block:56px; }
.alternate,.bridge { background:var(--bg-2); }
.records,.author-block { background:var(--bg-3); }
.skip-link { position:absolute; left:24px; top:16px; z-index:5; padding:10px 16px; font:16px/1.75 var(--sans); background:var(--bg); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.site-header { background:var(--bg); border-bottom:1px solid var(--rule); }
.header-inner { padding-block:16px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; }
.brand { display:inline-flex; align-items:center; width:103px; }
.wordmark { width:103px; height:24px; }
nav { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font:15px/1.5 var(--sans); color:var(--ink-2); }
nav a { display:inline-flex; align-items:center; justify-content:center; padding:8px; text-decoration:none; }
nav a:hover { color:var(--ink); text-decoration:underline; }
.hero { min-height:100vh; min-height:100svh; padding:56px 24px; position:relative; display:grid; align-items:center; overflow:hidden; background:var(--bg); }
.coal-dust { position:absolute; inset:0; opacity:.03; pointer-events:none; }
.hero-inner { position:relative; width:100%; max-width:1000px; margin-inline:auto; }
.hero blockquote { max-width:34ch; font-size:clamp(1.75rem,5vw,3rem); font-weight:500; line-height:1.25; }
.hero blockquote p + p { margin-top:1.25em; }
.hero-signature { width:160px; margin-top:48px; padding-top:24px; border-top:1px solid var(--rule); color:var(--ink-2); font:16px/1.5 var(--sans); letter-spacing:.15em; }
.wordmark-domain { width:160px; height:24px; }
.bridge-grid { display:grid; gap:40px; align-items:center; }
.bridge h1 { font-size:clamp(1.5rem,4vw,2.25rem); margin-bottom:24px; }
.bridge-copy > p { font-size:20px; line-height:1.55; }
.bridge-copy .availability { font:700 18px/1.6 var(--sans); color:var(--gold); margin-top:32px; }
.cover { margin:0; width:240px; max-width:100%; }
.cover img { display:block; width:100%; height:auto; border:1px solid var(--rule); }
.purchase { text-align:center; }
.purchase-inner { width:calc(100% - 48px); max-width:520px; margin-inline:auto; }
.purchase-button { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:48px; padding:8px 24px; background:var(--accent); color:var(--ink); font:700 18px/1.6 var(--sans); text-decoration:none; }
.purchase-button:hover { background:var(--accent-hover); }
.purchase p { color:var(--ink-2); font:16px/1.65 var(--sans); margin-top:24px; }
.memorial { border-block:1px solid var(--rule); padding-block:112px; min-height:110svh; display:grid; align-items:center; text-align:center; }
.memorial-label { color:var(--ink-2); font:15px/1.7 var(--sans); }
.names { list-style:none; margin:48px 0 0; padding:0; font-size:20px; line-height:2.5; }
dl > div { border-top:1px solid var(--rule); padding-block:24px; }
dl > div:last-child { border-bottom:1px solid var(--rule); }
dt { font-weight:600; }
dd { color:var(--ink-2); font-size:16px; line-height:1.7; margin-top:8px; }
.source-note { color:var(--ink-2); font:15px/1.75 var(--sans); margin-top:32px; }
.site-footer { padding-block:56px; background:var(--bg); border-top:1px solid var(--rule); }
.site-footer .copyright,.site-footer .format { font:14px/1.8 var(--sans); color:var(--ink-2); margin-top:16px; }
.site-footer nav { margin-block:16px; margin-left:-8px; gap:8px; }
.author-photo { width:280px; max-width:100%; margin-block:48px 56px; }
.author-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; }
figcaption { margin-top:12px; font:14px/1.7 var(--sans); color:var(--ink-2); }
.article-section + .article-section { margin-top:56px; padding-top:56px; border-top:1px solid var(--rule); }
.author-block { border-top:1px solid var(--rule); font-size:16px; }
.author-links,.contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:24px; }
.text-link { display:inline-flex; align-items:center; padding-block:10px; font-size:16px; line-height:1.75; overflow-wrap:anywhere; }
.excerpt-body { font-size:19px; line-height:1.7; }
.chapter-label { font:15px/1.7 var(--sans); color:var(--ink-2); margin-bottom:32px; }
.passage-prose p + p { margin:0; text-indent:1.5em; }
.passage + .passage { border-top:1px solid var(--rule); margin-top:56px; padding-top:56px; }
.excerpt-purchase { border-top:1px solid var(--rule); margin-top:56px; padding-top:40px; }
.excerpt-purchase p { color:var(--ink-2); font-size:16px; margin-bottom:24px; }
.contact-body { min-height:65vh; }
.contact-links .text-link,.email-placeholder { font-size:18px; }
.email-placeholder { overflow-wrap:anywhere; }
.corrections { border-top:1px solid var(--rule); margin-top:56px; padding-top:56px; }
@media (min-width:640px) {
 .wide,.measure,.reading-measure { width:calc(100% - 96px); }
 .hero { padding-inline:48px; }
 .purchase-button { width:auto; min-width:220px; }
 nav { gap:16px; }
}
@media (min-width:1024px) {
 .band { padding-block:96px; }
 .hero { padding-block:96px; }
 .header-inner { padding-block:24px; }
 .bridge-grid { grid-template-columns:minmax(0,1fr) 240px; gap:80px; }
 .cover { justify-self:end; width:280px; }
 .memorial { padding-block:192px; }
 .names { margin-top:64px; line-height:2.6; }
 .site-footer { padding-block:96px; }
 .article-section + .article-section { margin-top:96px; padding-top:96px; }
 .author-photo { margin-bottom:96px; }
}
@media (prefers-reduced-motion:reduce) {
 .coal-dust { display:none; }
 *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
