@font-face{font-family:Newsreader;src:url('/assets/newsreader.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url('/assets/newsreader-italic.woff2') format('woff2');font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:Onest;src:url('/assets/onest.woff2') format('woff2');font-weight:100 900;font-display:swap}

/* Linen paper, deep ink, and one binding colour per volume. */
:root{color-scheme:light;--paper:#f5f3ee;--surface:#fbfaf7;--ink:#1e2925;--body:#2b3531;--muted:#5d6762;--rule:#ddd7ca;--rule-strong:#c9c1b0;--library:#1c3029;--foil:#d8bd82;--serif:Newsreader,Georgia,'Times New Roman',serif;--sans:Onest,system-ui,-apple-system,'Segoe UI',sans-serif;--cloth:#24453a;--cloth-deep:#17302a;--on-cloth:#f6f1e6;--stamp:#d8bd82;--accent:#24453a;--focus:var(--ink)}
/* Mirrors `volumes` in build.mjs. Every rule sets all four tokens so nested volumes never inherit a neighbour's. */
.vol-1{--cloth:#24453a;--cloth-deep:#17302a;--on-cloth:#f6f1e6;--stamp:#d8bd82;--accent:#24453a}
.vol-2{--cloth:#6c2b2e;--cloth-deep:#4d1c1f;--on-cloth:#f8eee6;--stamp:#e0c48c;--accent:#7a3033}
.vol-3{--cloth:#b58a3e;--cloth-deep:#97712d;--on-cloth:#20180b;--stamp:#2b2113;--accent:#84611f}
.vol-4{--cloth:#233658;--cloth-deep:#17243d;--on-cloth:#f1f0ea;--stamp:#d8bd82;--accent:#2a4068}
.vol-5{--cloth:#1f5052;--cloth-deep:#143738;--on-cloth:#eef3ee;--stamp:#d8bd82;--accent:#1f5a5c}
.vol-6{--cloth:#4a2d43;--cloth-deep:#331e2e;--on-cloth:#f6eef0;--stamp:#ddc08a;--accent:#5a3752}

*{box-sizing:border-box}
html{scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
::selection{background:#e6d6ad;color:var(--ink)}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.012em;text-wrap:balance}
p{text-wrap:pretty}
img,svg{max-width:100%}
.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;top:-100px;left:16px;z-index:10;background:var(--ink);color:var(--paper);padding:10px 14px}
.skip:focus{top:12px}

/* Masthead and footer */
.site-header{border-bottom:1px solid var(--rule)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.wordmark{display:inline-flex;align-items:center;gap:11px;font:500 22px/1 var(--serif);letter-spacing:-.01em;text-decoration:none;color:var(--ink)}
.mark{width:26px;height:26px;flex:none}
.site-nav{display:flex;gap:30px;font-size:14.5px;font-weight:500}
.site-nav a{color:var(--muted);text-decoration:none}
.site-nav a:hover{color:var(--ink);text-decoration:underline}
.site-footer{border-top:1px solid var(--rule);padding:56px 0 36px;color:var(--muted);font-size:14px}
.footer-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:start}
.footer-grid p{max-width:54ch;margin-top:18px;line-height:1.65}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 28px;font-weight:500}
.footer-links a{text-decoration:none}
.footer-links a:hover{color:var(--ink);text-decoration:underline}
.footer-base{margin-top:44px;font-size:13px}

/* Shared controls */
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:2px;background:var(--ink);color:var(--paper);font-size:15px;font-weight:500;text-decoration:none;transition:background-color .2s}
.button:hover{background:#34453f}
.quiet-link{font-size:15px;font-weight:500;text-decoration:underline;text-decoration-color:var(--rule-strong)}
.quiet-link:hover{text-decoration-color:currentColor}

/* Home: headline beside the shelf */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:72px;align-items:center;padding:96px 0 120px}
.hero h1{font-size:clamp(3.2rem,6vw,5.6rem);line-height:.98;letter-spacing:-.028em;max-width:10.5ch}
.lede{font:400 21px/1.55 var(--serif);color:var(--body);max-width:31em;margin-top:32px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:40px}
.hero-note{margin-top:22px;font-size:14px;color:var(--muted)}

/* A book link. It lies flat by default; on the wide home shelf it stands. */
.shelf,.related-list{list-style:none;margin:0;padding:0}
.book{position:relative;display:flex;align-items:center;gap:16px;min-height:60px;padding:0 22px 0 30px;color:var(--stamp);text-decoration:none;border-radius:2px 3px 3px 2px;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.03) 30%,rgba(0,0,0,.05) 70%,rgba(0,0,0,.24)),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),var(--cloth);box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),0 1px 0 rgba(0,0,0,.18);transition:transform .35s cubic-bezier(.2,.7,.2,1);--focus:var(--ink)}
.book::before,.book::after{content:'';position:absolute;top:9px;bottom:9px;width:5px;border-inline:1px solid currentColor;opacity:.7}
.book::before{left:11px}
.book::after{right:11px}
.book-num{font:500 15px/1 var(--serif);min-width:2.2em}
.book-title{flex:1;font:500 20px/1.2 var(--serif);letter-spacing:.005em}
.device{width:16px;height:16px;fill:currentColor;opacity:.85;flex:none;margin-right:10px}
.book:hover{transform:translateX(6px)}

.shelf{display:grid;gap:4px;position:relative;padding-bottom:12px}
.shelf::after{content:'';position:absolute;left:-14px;right:-14px;bottom:0;height:12px;border-radius:1px;background:linear-gradient(#e3ddd0,#d2c9b7);box-shadow:0 22px 30px -20px rgba(45,35,15,.5)}
.shelf li:nth-child(1) .book{margin-inline:2% 4%}
.shelf li:nth-child(2) .book{margin-inline:6% 0}
.shelf li:nth-child(3) .book{margin-inline:0 7%}
.shelf li:nth-child(4) .book{margin-inline:4% 2%}
.shelf li:nth-child(5) .book{margin-inline:1% 5%}
.shelf li:nth-child(6) .book{margin-inline:5% 1%}

@media(min-width:961px){
 .shelf{display:flex;align-items:flex-end;justify-content:center;gap:5px;padding:0 0 12px}
 .shelf .book{flex-direction:column;justify-content:space-between;gap:0;width:var(--w);height:var(--h);padding:30px 0 22px;margin:0!important;border-radius:3px 3px 1px 1px;background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(255,255,255,.1) 20%,rgba(255,255,255,.04) 42%,rgba(0,0,0,.08) 80%,rgba(0,0,0,.32)),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),var(--cloth)}
 .shelf .book::before,.shelf .book::after{left:9px;right:9px;top:auto;bottom:auto;width:auto;height:5px;border-inline:0;border-block:1px solid currentColor}
 .shelf .book::before{top:13px}
 .shelf .book::after{bottom:11px}
 .shelf .book-num{min-width:0;text-align:center}
 .shelf .book-title{flex:1;display:flex;align-items:center;writing-mode:vertical-rl;font-size:23px;white-space:nowrap;padding:16px 0}
 .shelf .device{margin:0 0 6px}
 .shelf .book:hover{transform:translateY(-14px)}
 .shelf li:nth-child(1) .book{--w:78px;--h:372px}
 .shelf li:nth-child(2) .book{--w:66px;--h:338px}
 .shelf li:nth-child(3) .book{--w:84px;--h:356px}
 .shelf li:nth-child(4) .book{--w:70px;--h:384px}
 .shelf li:nth-child(5) .book{--w:74px;--h:346px}
 /* The last volume leans back against its neighbour, resting on its bottom-left corner. */
 .shelf li:nth-child(6){margin-left:35px}
 .shelf li:nth-child(6) .book{--w:68px;--h:332px;transform:rotate(-7deg);transform-origin:0 100%}
 .shelf li:nth-child(6) .book:hover{transform:rotate(-7deg) translateY(-14px)}
}
@media(min-width:961px) and (prefers-reduced-motion:no-preference){
 .shelf .book{animation:shelve .8s cubic-bezier(.2,.7,.2,1) backwards}
 .shelf li:nth-child(2) .book{animation-delay:.06s}
 .shelf li:nth-child(3) .book{animation-delay:.12s}
 .shelf li:nth-child(4) .book{animation-delay:.18s}
 .shelf li:nth-child(5) .book{animation-delay:.24s}
 .shelf li:nth-child(6) .book{animation-delay:.34s}
}
@keyframes shelve{from{opacity:0;transform:translateY(36px)}}

/* Front cover, scaled by the width of the frame that holds it. */
.volume-cover,.hero-cover{container-type:inline-size}
.cover{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;aspect-ratio:5/7;padding:17cqi 14cqi 13cqi 17cqi;color:var(--stamp);text-align:center;border-radius:2px 4px 4px 2px;background:linear-gradient(90deg,rgba(0,0,0,.32),rgba(0,0,0,.06) 4%,rgba(255,255,255,.13) 6%,rgba(255,255,255,0) 13%),repeating-linear-gradient(45deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px),var(--cloth);box-shadow:0 1px 1px rgba(0,0,0,.18),0 18px 30px -14px rgba(35,28,12,.5)}
.cover::before{content:'';position:absolute;inset:7cqi 7cqi 7cqi 10cqi;border:1px solid currentColor;opacity:.55}
.cover-num{font:500 clamp(9px,6.5cqi,14px)/1.2 var(--sans);letter-spacing:.04em}
.cover-title{font:500 16cqi/1.05 var(--serif);letter-spacing:-.01em;text-wrap:balance}
.cover-rule{display:block;width:14cqi;height:1px;background:currentColor;margin-top:-8cqi}
.cover-imprint{font:italic 400 clamp(9px,7cqi,15px)/1 var(--serif)}

/* Home: catalogue of volumes */
.catalogue{padding:8px 0 120px}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:48px;align-items:end;padding-bottom:40px;border-bottom:1px solid var(--rule-strong)}
.section-head h2{font-size:clamp(2.3rem,3.8vw,3.4rem);line-height:1.02;letter-spacing:-.022em;max-width:13ch}
.section-head p{color:var(--muted);font-size:16.5px;line-height:1.6}
.volumes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:80px}
.volume{display:grid;grid-template-columns:132px minmax(0,1fr);gap:34px;align-items:start;padding:48px 0;border-bottom:1px solid var(--rule)}
.volume-cover{display:block;text-decoration:none;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.volume:hover .volume-cover{transform:translateY(-6px)}
.volume-q{font:italic 400 19px/1.4 var(--serif);color:var(--accent)}
.volume h3{font-size:27px;line-height:1.14;font-weight:500;margin:12px 0 14px}
.volume h3 a{text-decoration:none}
.volume h3 a:hover{text-decoration:underline;text-decoration-color:var(--rule-strong)}
.volume-desc{color:var(--muted);font-size:15.5px;line-height:1.6}
.volume-meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:18px;font-size:13px;font-weight:500;color:var(--ink)}
.volume-meta span+span{color:var(--muted);font-weight:400}

/* Home: editorial promise */
.promise{background:var(--library);color:#d9ddd6;padding:104px 0 92px;--focus:#f6f1e6}
.promise h2{font-size:clamp(2.2rem,3.6vw,3.2rem);line-height:1.04;letter-spacing:-.02em;color:#f6f1e6;max-width:12ch}
.promise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;margin-top:56px;padding-top:44px;border-top:1px solid rgba(216,189,130,.32)}
.promise h3{font:500 23px/1.25 var(--serif);color:var(--foil)}
.promise-grid p{margin-top:14px;font-size:15.5px;line-height:1.7;color:#c4cbc5}
.promise-foot{margin-top:64px;max-width:72ch;font-size:14px;line-height:1.7;color:#a9b3ad}
.promise a{color:#f6f1e6}

/* Article: cloth-bound title page */
.article-hero{background:radial-gradient(120% 140% at 85% 0%,rgba(255,255,255,.07),transparent 55%),repeating-linear-gradient(45deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px),var(--cloth);color:var(--on-cloth);--focus:var(--on-cloth)}
.article-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:96px;align-items:center;padding:52px 0 84px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:13.5px;margin-bottom:56px;opacity:.88}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.article-hero h1{font-size:clamp(2.6rem,4.9vw,4.5rem);line-height:1.02;letter-spacing:-.024em;max-width:17ch}
.article-hero .description{font:400 21px/1.5 var(--serif);max-width:34em;margin-top:26px;opacity:.88}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;margin-top:40px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--on-cloth) 22%,transparent);font-size:13.5px}
.byline span{opacity:.88}
.print-button{margin-left:auto;padding:8px 14px;border:1px solid color-mix(in srgb,var(--on-cloth) 45%,transparent);border-radius:2px;background:transparent;font-size:13px;transition:background-color .2s}
.print-button:hover{background:color-mix(in srgb,var(--on-cloth) 12%,transparent)}
.hero-cover .cover{box-shadow:0 2px 2px rgba(0,0,0,.2),0 34px 60px -22px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.08);transform:rotate(-2deg)}

/* Article: reading layout */
.article-grid{display:grid;grid-template-columns:232px minmax(0,1fr);gap:96px;align-items:start;padding:76px 0 104px}
.contents{position:sticky;top:28px;max-height:calc(100vh - 56px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}
.contents summary{list-style:none;margin-bottom:18px;font-size:13px;font-weight:600;cursor:pointer}
.contents summary::-webkit-details-marker{display:none}
.contents ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--rule)}
.contents a{display:block;margin-left:-1px;padding:7px 0 7px 16px;border-left:2px solid transparent;font-size:13.5px;line-height:1.45;color:var(--muted);text-decoration:none}
.contents a:hover{color:var(--ink)}
.contents a[aria-current=true]{color:var(--ink);font-weight:500;border-left-color:var(--cloth)}
.article-main{min-width:0;max-width:700px}
.answer{position:relative;margin-bottom:40px;padding:28px 32px 30px;background:var(--surface);border:1px solid var(--rule)}
.answer::before{content:'';position:absolute;top:-1px;bottom:-1px;left:-1px;width:3px;background:var(--cloth)}
.answer h2{margin-bottom:12px;font:600 13px/1.2 var(--sans);letter-spacing:.01em;color:var(--accent)}
.answer p{font:400 20px/1.55 var(--serif)}
.plate{margin-bottom:56px;padding:18px 18px 16px;background:var(--surface);border:1px solid var(--rule)}
.plate-art{display:block;width:100%;height:auto;font-family:var(--serif)}
.plate figcaption{margin-top:10px;padding-top:12px;border-top:1px solid var(--rule);font:italic 15.5px/1.5 var(--serif);color:var(--muted)}
.article-body{max-width:66ch;font:400 20px/1.72 var(--serif);color:var(--body);overflow-wrap:break-word;font-variant-numeric:oldstyle-nums proportional-nums}
.article-body>p:first-child::first-letter{float:left;margin:.06em .1em 0 0;font-size:4.4em;line-height:.8;font-weight:500;color:var(--accent)}
.article-body p{margin:0 0 1.15em}
.article-body h2{margin:2.3em 0 .65em;font-size:34px;font-weight:500;line-height:1.14;letter-spacing:-.018em;color:var(--ink);scroll-margin-top:24px}
.article-body h2::before{content:'';display:block;width:44px;height:2px;margin-bottom:30px;background:var(--cloth)}
.article-body h3{margin:1.9em 0 .55em;font:600 19px/1.4 var(--sans);letter-spacing:-.005em;color:var(--ink)}
.article-body h4{margin:1.6em 0 .5em;font:600 17px/1.45 var(--sans)}
.article-body ul,.article-body ol{margin:0 0 1.4em;padding-left:1.4em}
.article-body li{margin:.45em 0;padding-left:.25em}
.article-body li::marker{color:var(--accent)}
.article-body li p{margin-bottom:.5em}
.article-body strong{font-weight:600;color:var(--ink)}
.article-body a{color:var(--accent);text-decoration-color:color-mix(in srgb,var(--accent) 38%,transparent);overflow-wrap:anywhere}
.article-body a:hover{text-decoration-color:currentColor}
.article-body blockquote{margin:1.8em 0;padding:4px 0 4px 26px;border-left:2px solid var(--cloth);font-style:italic;color:var(--ink)}
.article-body hr{margin:3em 0;border:0;border-top:1px solid var(--rule)}
.article-body code{font-size:.85em;background:var(--surface);padding:2px 5px}
.article-body pre{overflow:auto;background:var(--surface);padding:20px}
.article-body pre code{padding:0}
.table-wrap{max-width:100%;overflow-x:auto;margin:2em 0;background:var(--surface);border:1px solid var(--rule);scrollbar-color:var(--rule-strong) transparent}
table{border-collapse:collapse;min-width:100%;font:14px/1.6 var(--sans);color:var(--ink)}
th,td{min-width:130px;padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule)}
th{background:color-mix(in srgb,var(--cloth) 8%,var(--surface));font-weight:600}
tr:last-child td{border-bottom:0}
td p{margin:0!important}
.article-end{margin-top:56px;padding-top:24px;border-top:1px solid var(--rule);font-size:14px;line-height:1.7;color:var(--muted)}
.related{margin-top:72px}
.related h2{margin-bottom:24px;font-size:32px;letter-spacing:-.018em}
.related-list{display:grid;gap:18px}
.related-list li:nth-child(1) .book{margin-right:9%}
.related-list li:nth-child(2) .book{margin-right:3%}
.related-list li:nth-child(3) .book{margin-right:14%}
.related-list p{margin:10px 0 0 4px;font-size:14.5px;color:var(--muted)}
.progress{position:fixed;top:0;left:0;z-index:9;width:0;height:3px;background:var(--cloth);transition:width .12s linear}
.no-js .print-button{display:none}

/* About, privacy, missing page */
.utility{max-width:720px;padding:96px 0 120px}
.utility h1{margin-bottom:36px;font-size:clamp(2.6rem,5vw,3.9rem);line-height:1.03;letter-spacing:-.024em}
.utility h2{margin:56px 0 16px;font-size:30px;font-weight:500;letter-spacing:-.015em}
.utility p{font:400 19px/1.7 var(--serif);color:var(--body)}
.utility p+p{margin-top:1em}
.utility p a:not(.button){color:var(--accent)}
.utility .button{margin-top:16px;font-family:var(--sans)}

@media(min-width:1000px){.contents summary{pointer-events:none}}
@media(max-width:1120px){
 .hero{grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:48px}
 .volumes{column-gap:48px}
 .volume{grid-template-columns:112px minmax(0,1fr);gap:26px}
 .article-grid{grid-template-columns:200px minmax(0,1fr);gap:56px}
 .article-hero-grid{gap:56px;grid-template-columns:minmax(0,1fr) 210px}
}
@media(max-width:960px){
 .wrap{width:calc(100% - 64px)}
 .hero{grid-template-columns:1fr;gap:56px;padding:72px 0 88px}
 .hero h1{max-width:12ch}
 .shelf-wrap{max-width:560px}
 .section-head{grid-template-columns:1fr;gap:18px}
 .volumes{grid-template-columns:1fr}
 .promise-grid{grid-template-columns:1fr;gap:36px}
}
@media(max-width:900px){
 .article-hero-grid{grid-template-columns:minmax(0,1fr) 150px;gap:36px;padding-bottom:64px}
 .article-grid{grid-template-columns:1fr;gap:28px;padding-top:40px}
 .contents{position:static;max-height:none;overflow:visible;border-block:1px solid var(--rule-strong)}
 .contents details{padding:16px 0}
 .contents summary{display:flex;justify-content:space-between;margin:0;font-size:14px;pointer-events:auto}
 .contents summary::after{content:'Show';font-weight:400;color:var(--muted)}
 .contents details[open] summary::after{content:'Hide'}
 .contents ol{margin-top:16px}
}
@media(max-width:720px){
 .wrap{width:calc(100% - 40px)}
 .site-header .wrap{min-height:64px}
 .wordmark{font-size:19px;gap:9px}
 .mark{width:22px;height:22px}
 .site-nav{gap:18px;font-size:13.5px}
 .hero{gap:44px;padding:48px 0 64px}
 .hero h1{font-size:clamp(2.6rem,12vw,3.6rem)}
 .lede{font-size:19px;margin-top:22px}
 .hero-actions{margin-top:30px;gap:16px 22px}
 .button{min-height:50px;padding:0 20px}
 .book{min-height:56px;padding:0 14px 0 26px;gap:12px}
 .book::before{left:9px}
 .book::after{right:9px}
 .book-title{font-size:18px}
 .device{margin-right:8px}
 .catalogue{padding-bottom:80px}
 .section-head{padding-bottom:28px}
 .volume{grid-template-columns:84px minmax(0,1fr);gap:20px;padding:34px 0}
 .volume-q{font-size:17px}
 .volume h3{font-size:23px;margin:8px 0 10px}
 .volume-desc{font-size:15px}
 .promise{padding:72px 0 64px}
 .promise-grid{margin-top:40px;padding-top:32px}
 .promise-foot{margin-top:44px}
 .article-hero-grid{display:block;padding:28px 0 48px}
 .hero-cover{display:none}
 .breadcrumbs{margin-bottom:32px;font-size:13px}
 .article-hero h1{font-size:clamp(2.1rem,9.4vw,3rem)}
 .article-hero .description{font-size:18.5px;margin-top:18px}
 .byline{gap:8px 18px;margin-top:28px;padding-top:18px;font-size:13px}
 .print-button{margin-left:0}
 .answer{padding:22px 20px 24px;margin-bottom:30px}
 .answer p{font-size:18.5px}
 .plate{padding:10px 10px 12px;margin-bottom:40px}
 .plate figcaption{font-size:14.5px}
 .article-body{font-size:18.5px;line-height:1.7}
 .article-body h2{font-size:28px;margin-top:2em}
 .article-body h2::before{margin-bottom:22px}
 .article-body h3{font-size:18px}
 .article-grid{padding-bottom:72px}
 .related h2{font-size:27px}
 .footer-grid{grid-template-columns:1fr;gap:28px}
 .utility{padding:56px 0 80px}
}
@media(max-width:520px){
 .plate{display:none}
}
@media(max-width:400px){
 .site-header .wrap{gap:12px}
 .wordmark{font-size:16.5px;gap:8px}
 .mark{width:20px;height:20px}
 .site-nav{gap:14px;font-size:13px}
 .site-header a{white-space:nowrap}
 .book-num{min-width:1.8em}
 .volume{grid-template-columns:72px minmax(0,1fr);gap:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{
 body{background:#fff;color:#000}
 .site-header,.site-footer,.contents,.related,.print-button,.progress,.skip,.hero-cover,.plate{display:none!important}
 .wrap{width:100%}
 .article-hero{background:none;color:#000}
 .article-hero-grid{display:block;padding:0 0 12pt}
 .breadcrumbs{margin-bottom:12pt}
 .byline{border-top:1px solid #aaa}
 .article-grid{display:block;padding:0}
 .article-main{max-width:none}
 .article-hero h1{font-size:30pt}
 .article-body{max-width:none;font-size:11pt;line-height:1.5;color:#000}
 .article-body h2{font-size:19pt;break-after:avoid}
 .article-body h2::before{display:none}
 .article-body h3{break-after:avoid}
 .answer{border:1px solid #aaa;background:#fff}
 .answer::before{display:none}
 .table-wrap{overflow:visible;border:0}
 table{font-size:9pt}
 a{color:inherit}
 .article-body a[href^=https]::after{content:' (' attr(href) ')';font-size:8pt;overflow-wrap:anywhere}
 .article-body p,.article-body li{orphans:3;widows:3}
 tr{break-inside:avoid}
}

/* Image-only additions. Claude's library, covers, title pages and type remain above unchanged. */
.editorial-figure{margin:36px 0 44px;break-inside:avoid;max-width:100%}.editorial-figure .image-link{display:block}.editorial-figure img{display:block;width:100%;height:auto;max-height:none}.editorial-figure figcaption{font:13px/1.65 var(--sans);color:var(--muted);margin-top:12px;overflow-wrap:anywhere}.editorial-figure .full-image{display:inline-block;margin-left:8px}.editorial-figure .diagram-frame{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--rule);scrollbar-color:var(--muted) var(--paper);scrollbar-width:thin}.editorial-figure .diagram-hint{display:none}
@media(max-width:900px){.editorial-figure{margin:28px 0 34px}.editorial-figure figcaption{font-size:12px}}
@media(max-width:720px){.editorial-figure .diagram-frame img{min-width:640px;max-width:none}.editorial-figure .diagram-hint{display:inline;margin-left:6px}}
@media print{.editorial-figure{max-width:70%;margin:20px auto;break-inside:avoid}.editorial-figure .diagram-frame{overflow:visible}.editorial-figure .diagram-frame img{min-width:0!important}.editorial-figure .full-image,.editorial-figure .diagram-hint{display:none}.editorial-figure .image-link[href]:after{content:none}}
