:root { --ink:#17283a; --paper:#fbf9f4; --gold:#b18a4a; --line:rgba(23,40,58,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; max-width:none; padding:0; background:var(--paper); color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:19px; line-height:1.78; }
body > header, body > section, body > nav, body > div { width:min(760px,calc(100% - 40px)); margin-inline:auto; }
.reader-bar { position:sticky; top:0; z-index:10; width:100% !important; max-width:none !important; min-height:64px; padding:0 max(20px,calc((100% - 1120px)/2)); display:flex; align-items:center; justify-content:space-between; background:rgba(251,249,244,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); font:700 11px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.reader-bar a { color:var(--ink); text-decoration:none; }
.reader-bar a:last-child { color:var(--gold); }
body > header { padding:85px 0 46px; text-align:center; border-bottom:1px solid var(--line); }
header h1 { margin:0; font-size:clamp(42px,7vw,72px); line-height:1.03; font-weight:500; letter-spacing:-.035em; }
header p { color:#65717a; }
nav#TOC { margin-top:45px; margin-bottom:90px; padding:36px 40px; border:1px solid var(--line); background:#f4f0e7; }
nav#TOC:before { content:"Contents"; display:block; margin-bottom:18px; color:var(--gold); font:700 11px Arial,sans-serif; letter-spacing:.18em; text-transform:uppercase; }
nav#TOC ul { margin:0; padding-left:20px; columns:2; column-gap:42px; }
nav#TOC li { break-inside:avoid; margin-bottom:7px; font-size:14px; line-height:1.5; }
nav#TOC ul ul { display:none; }
a { color:#244e6d; text-decoration-color:#b18a4a; text-underline-offset:3px; }
section { padding-top:35px; margin-bottom:75px; }
h1,h2,h3 { font-weight:500; line-height:1.12; letter-spacing:-.025em; }
h1 { margin-top:1.6em; font-size:48px; }
h2 { margin-top:1.5em; font-size:32px; }
h3 { margin-top:1.4em; font-size:24px; }
p { margin:0 0 1.1em; }
blockquote { margin:2em 0; padding:6px 0 6px 28px; border-left:2px solid var(--gold); color:#45535e; font-style:italic; }
hr { margin:70px 0; border:0; border-top:1px solid var(--line); }
@media(max-width:640px){ body{font-size:17px;line-height:1.72} nav#TOC{padding:28px 24px} nav#TOC ul{columns:1} section{margin-bottom:52px} h1{font-size:39px} h2{font-size:28px} }

/* Chapter navigation for The Joy of Finding the Kingdom reader */
.chapter-turner-reader section p { text-align:left; hyphens:manual; }
.chapter-turner-reader section blockquote p { text-align:start; hyphens:manual; }
.chapter-turner-reader section.level1 { scroll-margin-top:155px; }
.chapter-turner-reader .chapter-label {
  margin:2.6em 0 .7em;
  color:var(--gold);
  font:700 11px Arial,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.chapter-turner-reader .chapter-label + h1 { margin-top:0; }
.chapter-turner {
  position:sticky;
  z-index:9;
  top:64px;
  width:min(760px,calc(100% - 40px));
  margin:0 auto 48px;
  padding:12px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:rgba(251,249,244,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
.chapter-turner__button {
  min-height:42px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  background:#f4f0e7;
  color:var(--ink);
  text-decoration:none;
  font:700 11px Arial,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.chapter-turner__button:hover { border-color:var(--gold); color:var(--gold); background:#fffdf8; }
.chapter-turner__button[aria-disabled="true"] { opacity:.35; pointer-events:none; }
@media(max-width:640px) {
  .chapter-turner { margin-bottom:32px; gap:8px; }
  .chapter-turner__button { min-height:40px; padding:0 12px; font-size:10px; letter-spacing:.06em; }
}
