
:root{
  --orange:#FFAC2E;
  --navy:#152238;
  --maroon:#7a1f2b;
  --ink:#242424;
  --paper:#ffffff;
  --cream:#faf7f0;
  --rule:#111;
  --muted:#767676;
  --hair:#e2ddd0;
}
*{box-sizing:border-box;}
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'Palatino Linotype',Palatino,Georgia,'Times New Roman',Times,serif;
  background:var(--cream);
  color:var(--ink);
}

/* ---- orange nav bar, top and bottom ---- */
.navbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:var(--orange);
  border-top:2px solid var(--rule);
  border-bottom:2px solid var(--rule);
  padding:13px 0;
  max-width:1040px;
  margin:0 auto;
}
.navbar a{
  flex:1;
  text-align:center;
  color:var(--rule);
  text-decoration:none;
  font-size:0.95rem;
  letter-spacing:0.02em;
  font-family:Georgia,'Times New Roman',Times,serif;
}
.navbar a:hover{ text-decoration:underline; }
.navbar a.disabled{ color:#8a6a1f; pointer-events:none; cursor:default; }
.navbar .mid{ font-weight:700; }
.top-navbar{ position:sticky; top:0; z-index:5; }

/* ---- masthead strip under top nav ---- */
.masthead{
  max-width:1040px; margin:0 auto;
  padding:10px 56px 0 56px;
  display:flex; justify-content:space-between; align-items:baseline;
  color:var(--muted); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em;
}
.masthead .book-name{ color:var(--maroon); font-weight:700; }

/* ---- page shell / body copy ---- */
.page-shell{
  background:var(--paper);
  min-height:80vh;
  box-shadow:0 4px 20px rgba(0,0,0,0.05);
  padding:18px 56px 56px 56px;
  margin:0 auto 8px auto;
  max-width:1040px;
  border-left:1px solid var(--hair);
  border-right:1px solid var(--hair);
}
.page-meta{
  text-align:center; color:var(--muted); font-size:0.72rem;
  letter-spacing:0.14em; text-transform:uppercase; margin:6px 0 26px 0;
}

/* chapter-opening header block */
.chapter-kicker{
  color:var(--maroon); text-transform:uppercase; letter-spacing:0.16em;
  font-size:0.82rem; text-align:center; margin-bottom:10px; font-weight:700;
}
.chapter-title{
  text-align:center; font-size:1.9rem; line-height:1.25; margin:0 0 10px 0;
  font-family:Georgia,'Times New Roman',Times,serif; color:var(--navy);
}
.chapter-byline{
  text-align:center; color:var(--muted); font-style:italic; margin:0 0 26px 0; font-size:0.98rem;
}
.chapter-rule{
  width:90px; height:3px; background:var(--orange); margin:0 auto 30px auto; border:none;
}

.page-text p{
  font-size:1.08rem; line-height:1.8; margin:0 0 1.15em 0; text-align:justify; hyphens:auto;
}


.book-title{
  text-align:center; font-size:0.75rem; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--muted); padding:12px 0 0 0;
}
.bottom-navbar{ margin-top:0; margin-bottom:48px; }

/* ---- contents page ---- */
h1.contents-title{
  text-align:center; font-family:Georgia,serif; margin:44px auto 4px auto; max-width:760px;
  color:var(--navy); font-size:1.85rem; line-height:1.3;
}
.contents-sub{ text-align:center; color:var(--muted); margin-bottom:8px; font-size:0.92rem; }
.contents-rule{ width:120px; height:3px; background:var(--orange); margin:18px auto 34px auto; border:none; }
ul.toc{ list-style:none; padding:0; margin:0 auto 60px auto; max-width:820px; }
ul.toc li{ border-bottom:1px solid var(--hair); }
ul.toc a{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:14px 8px; text-decoration:none; color:var(--ink); transition:background 0.15s;
}
ul.toc a:hover{ background:var(--cream); color:var(--maroon); }
ul.toc .pg{ color:var(--muted); font-size:0.85rem; white-space:nowrap; margin-left:16px; }

/* ---- Table of Contents Alignment ---- */
.toc-section-header {
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-size: 1.25rem;
  color: var(--maroon);
  font-weight: 700;
  margin: 36px 0 16px 0;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--maroon);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.toc-entry-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 12px 8px;
  border-bottom: 1px dotted #e0e0e0;
  gap: 16px;
  text-decoration: none;
  color: inherit;
  border-radius: 4px;
  transition: background 0.15s ease;
}

.toc-entry-row:hover {
  background: var(--cream);
}

.toc-entry-row:last-child {
  border-bottom: none;
}

.toc-entry-title {
  flex: 1;
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-size: 1.05rem;
  color: var(--ink);
  line-height: 1.5;
}

.toc-entry-author {
  font-style: italic;
  color: #555;
  font-size: 0.95rem;
  margin-top: 2px;
}

.toc-entry-page {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--navy);
  white-space: nowrap;
  font-family: Georgia, serif;
}

.page-text h3{
  font-family:Georgia,'Times New Roman',Times,serif; color:var(--navy);
  font-size:1.12rem; margin:1.6em 0 0.6em 0; padding-bottom:4px;
  border-bottom:1px solid var(--hair);
}
.page-text h3:first-child{ margin-top:0; }

/* ---- Editor & Contributor Bio Cards ---- */
.bio-section-title {
  text-align: center;
  font-family: Georgia, 'Times New Roman', Times, serif;
  color: var(--navy);
  font-size: 1.8rem;
  margin: 10px 0 30px 0;
  border-bottom: 2px solid var(--orange);
  padding-bottom: 8px;
}

.bio-entry {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--hair);
}
.bio-entry:last-child {
  border-bottom: none;
}
.bio-photo {
  width: 140px;
  height: 175px;
  border: 1px solid var(--hair);
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
  flex-shrink: 0;
  object-fit: cover;
  background-color: #f0f0f0;
  border-radius: 4px;
}
.bio-text {
  flex: 1;
}
.bio-text p {
  font-size: 1.05rem;
  line-height: 1.75;
  margin: 0;
  text-align: justify;
}
.footnotes {
  margin-top: 40px;
  padding-top: 16px;
  border-top: 1px solid var(--hair);
  font-size: 0.88rem;
  color: #444;
}
.footnotes p {
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
  margin-bottom: 8px !important;
  text-align: left !important;
}
@media (max-width: 640px) {
  .bio-entry {
    flex-direction: column;
    align-items: center;
  }
  .bio-photo {
    width: 150px;
    margin-bottom: 12px;
  }
}


/* ---- Zero Line-Height Superscript Styling ---- */
sup {
  font-size: 0.72em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.45em;
  font-weight: 600;
  color: var(--maroon);
}
