.reader-body *{box-sizing:border-box}
.reader-body{scroll-behavior:smooth}
.reader-body{margin:0;background:#f7f5ed;color:#182e37;font:18px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.reader-body main{max-width:1060px;margin:auto;padding:38px 28px 72px}
.reader-body article{max-width:900px;margin:auto}
.reader-body header{border-top:7px solid #1c5e6d;padding:26px 0}
.reader-body h1{font-size:clamp(2rem,5vw,3.1rem);line-height:1.14;letter-spacing:-.025em;margin:12px 0 24px;max-width:850px}
.reader-body h2{font-size:1.7rem;line-height:1.25;margin:42px 0 16px}
.reader-body h3{font-size:1.08rem;line-height:1.3;margin:0 0 10px}
.reader-body p{margin:0 0 20px}
.reader-body .eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.77rem;font-weight:750;color:#275e6b}
.reader-body .lead{font-size:1.2rem;line-height:1.6}
.reader-body .meta,.reader-body .citations,.reader-body .source-info,.reader-body .caption,.reader-body .alternative,.reader-body .route-note{font-size:.87rem}
.reader-body .meta{color:#405b64}
.reader-body a{color:#175b71;text-underline-offset:3px;overflow-wrap:anywhere}
.reader-body a:focus-visible{outline:3px solid #94621c;outline-offset:4px}
.reader-body .skip{position:absolute;left:12px;top:-100px;background:#fff;padding:8px}
.reader-body .skip:focus{top:8px}
.reader-body .language{display:flex;gap:18px;flex-wrap:wrap}
.reader-body .citations{display:block;margin-top:6px;color:#42616a}
.reader-body .citations a{margin-right:10px}
.reader-body figure{margin:34px 0;padding:25px;border:1px solid #adc6ca;background:#fff;border-radius:14px;box-shadow:0 4px 0 #dae4e2}
.reader-body figure h2{font-size:1.5rem;margin:0 0 24px}
.reader-body .timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));list-style:none;margin:0;padding:0;gap:16px}
.reader-body .timeline li{position:relative;border-top:4px solid #397483;padding:18px 5px 0 0}
.reader-body .timeline li::before{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;border:3px solid #397483;top:-8px;left:0}
.reader-body .date{font-size:.93rem;font-weight:750;color:#235e6d}
.reader-body .timeline p,.reader-body .map p{font-size:.96rem;line-height:1.5;margin:10px 0}
.reader-body .map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.reader-body .map h2{font-size:1.08rem;line-height:1.3;margin:0 0 10px}
.reader-body .map section{border:1px solid #bfd0d1;border-left:6px solid #397483;padding:18px;background:#f2f7f6}
.reader-body .map section:nth-child(3),.reader-body .map section:nth-child(4){border-left-color:#946b2c;background:#fbf7ee}
.reader-body .node-label{font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px;color:#47616a;font-weight:700}
.reader-body .caption{margin:22px 0 10px}
.reader-body .alternative{margin:12px 0 0;padding-top:12px;border-top:1px dashed #a6bec2}
.reader-body .sources{padding:0;list-style:none}
.reader-body .sources li{padding:18px 0;border-bottom:1px solid #c6d5d5}
.reader-body .source-info{margin:8px 0;color:#3d555e}
.reader-body .source-scope{font-size:.95rem;margin:8px 0}
.reader-body .related{padding-left:23px}
.reader-body footer{font-size:.87rem;border-top:1px solid #adbfc2;margin-top:32px;padding-top:18px}
.reader-body section,.reader-body p,.reader-body h1,.reader-body h2,.reader-body li{overflow-wrap:break-word}
.reader-body time{white-space:normal}
@media(max-width:650px){.reader-body{font-size:17px}
.reader-body main{padding:24px 16px 50px}
.reader-body figure{padding:19px 16px}
.reader-body .timeline{grid-template-columns:1fr;gap:18px}
.reader-body .timeline li{border-top:0;border-left:3px solid #397483;padding:0 0 0 19px}
.reader-body .timeline li::before{left:-8px;top:4px}
.reader-body .timeline p{margin:4px 0}
.reader-body .map{grid-template-columns:1fr}
.reader-body h2{font-size:1.5rem}
}
@media(prefers-reduced-motion:reduce){.reader-body{scroll-behavior:auto}
}
@media print{.reader-body{background:white;font-size:12pt}
.reader-body main{padding:0}
.reader-body figure{box-shadow:none;break-inside:avoid}
.reader-body .skip,.reader-body .language{display:none}
}
