.reader { --max:1180px; }
.reader-heading { max-width:1000px; margin:30px 0 42px; }
.reader-heading .eyebrow { display:flex; flex-wrap:wrap; gap:12px; color:var(--muted); }
.reader-heading h1 { font:500 clamp(36px,4.2vw,58px)/1.14 var(--heading); margin:16px 0 20px; }
.reader-heading .lead { max-width:850px; font-size:19px; line-height:1.6; color:var(--muted); }
.reader-entry { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:20px; }
.reader-entry a { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:14px; font-weight:600; text-underline-offset:5px; }
.reader-intro { max-width:880px; margin-bottom:44px; }
.reader-intro--columns { max-width:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 44px; }
.reader-intro--columns>p { max-width:none; margin:0; }
.reader-index { border-top:2px solid var(--ink); }
.reader-section-title { display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding:20px 0; }
.reader-section-title h2 { margin:0; font:500 30px/1.2 var(--heading); }
.reader-section-title>span { color:var(--muted); font-size:14px; }
.reader-index ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; column-gap:44px; }
.reader-index li { border-top:1px solid var(--line); }
.reader-index li>a { display:grid; grid-template-columns:40px 1fr 16px; gap:16px; height:100%; padding:24px 0; text-decoration:none; }
.reader-number { color:var(--link-color); font:500 25px/1.25 var(--heading); }
.reader-index strong { font:500 25px/1.25 var(--heading); }
.reader-chapter-summary { display:block; margin-top:10px; color:var(--muted); font-size:14px; line-height:1.6; }
.reader-index a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.reader-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:56px; align-items:start; }
.reader-sidebar { position:sticky; top:90px; }
.reader-contents { border-top:2px solid var(--ink); border-bottom:1px solid var(--line); }
.reader-contents summary { cursor:pointer; padding:16px 0; font-weight:600; font-size:14px; min-height:48px; }
.reader-contents summary>span { float:right; color:var(--muted); font-weight:400; }
.reader-contents nav { max-height:calc(100vh - 210px); overflow-y:auto; padding-bottom:12px; }
.reader-contents ol { list-style:none; margin:0; padding:0; }
.reader-contents a { text-decoration:none; font-size:14px; line-height:1.45; }
.reader-overview { display:block; padding:10px 12px; font-weight:600; }
.reader-contents li a { display:flex; gap:12px; padding:11px 12px; min-height:44px; border-left:3px solid transparent; }
.reader-contents li a span { flex:none; color:var(--muted); font-variant-numeric:tabular-nums; }
.reader-contents a[aria-current] { background:var(--calendar-surface); border-left-color:var(--accent); font-weight:600; }
.reader-contents a:hover { background:var(--calendar-surface); text-decoration:underline; }
.reader-main { min-width:0; }
.reader-body { max-width:none; font-size:18px; line-height:1.85; }
.reader-body>p,.reader-body>ul,.reader-body>ol { max-width:none; }
.reader-body>h2:first-child { margin-top:0; }
.reader-body h2 { margin-top:42px; }
.reader-table-hint { display:none; }
.reader-body .biography-archive { margin:0 0 32px; }
.reader-body .founder-photo-row { margin:0; }
.reader-body .founder-photo-row a { display:block; max-width:100%; border:0; }
.reader-body .founder-photo-row img { width:auto; height:auto; max-width:100%; max-height:360px; margin:0; }
.reader-body figcaption { margin-top:12px; color:var(--muted); font-size:13px; line-height:1.6; }
.reader [id] { scroll-margin-top:100px; }
.reader-sources { border-top:1px solid var(--line); margin-top:44px; padding-top:24px; }
.reader-sources h2 { font:500 27px/1.3 var(--heading); margin:0 0 20px; }
.reader-sources ol { padding-left:22px; }
.reader-sources li { padding:8px 0 12px 6px; font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.reader-sources li:target { background:var(--calendar-surface); outline:2px solid var(--accent); outline-offset:6px; }
.reader-sources a { color:var(--link-color); text-underline-offset:3px; }
.reader-sources p { margin:5px 0 0; color:var(--muted); }
.reader-pagination { display:flex; gap:32px; margin-top:52px; border-top:2px solid var(--ink); padding-top:24px; }
.reader-pagination>a { width:50%; max-width:540px; padding:12px 0; text-decoration:none; }
.reader-pagination span { display:block; color:var(--muted); font-size:13px; margin-bottom:8px; }
.reader-pagination strong { font:500 25px/1.3 var(--heading); }
.reader-pagination a:hover strong { color:var(--link-color); text-decoration:underline; }
.reader-next { margin-left:auto; text-align:right; }
@media(max-width:1000px) {
  .reader-layout { grid-template-columns:250px minmax(0,1fr); gap:32px; }
  .reader-body { font-size:17px; }
}
@media(max-width:760px) {
  .reader-intro--columns { grid-template-columns:1fr; }
  .reader-heading { margin:24px 0 28px; }
  .reader-heading .lead { font-size:17px; }
  .reader-layout { display:block; }
  .reader-sidebar { position:static; margin-bottom:30px; }
  .reader-contents nav { max-height:none; }
  .reader-index ol { grid-template-columns:1fr; }
  .reader-index li>a { gap:12px; padding:20px 0; }
  .reader-index strong { font-size:23px; }
  .reader-pagination { gap:20px; }
  .reader-pagination strong { font-size:21px; }
  .reader-table-hint { display:block; font-size:13px; color:var(--muted); }
}
@media print {
  .reader-sidebar,.reader-pagination { display:none; }
  .reader-layout { display:block; }
}
