:root{
  --navy:#1B2A41;
  --navy-dark:#0D1620;
  --teal:#1F7A6C;
  --teal-dark:#175D52;
  --gold:#C9A227;
  --bg-pale:#EEF2F6;
  --white:#FFFFFF;
  --gray-body:#4A5568;
  --border-light:#D8E1E9;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:var(--navy);
  background:var(--white);
  line-height:1.6;
}
h1,h2,h3,.serif{
  font-family:'Lora',Georgia,serif;
}
a{color:var(--teal);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.eyebrow{
  font-family:'Inter',sans-serif;
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--teal);
}

/* ---- HERO BAND (site-wide dark banner) ---- */
.hero-band{
  background:linear-gradient(180deg,#243347 0%,#2E4059 100%);
  color:#F4F1EA;
  padding:44px 24px 40px;
  text-align:center;
}
.cover-fan{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  margin-bottom:36px;
  position:relative;
  padding-top:20px;
}
.cover-fan::before{
  content:"";
  position:absolute;
  top:-40px;
  left:50%;
  transform:translateX(-50%);
  width:780px;
  height:420px;
  background:radial-gradient(ellipse at center, rgba(180,200,225,0.22) 0%, rgba(180,200,225,0.10) 35%, rgba(180,200,225,0) 70%);
  z-index:0;
  pointer-events:none;
}
.cover-fan img{
  width:150px;
  border-radius:3px;
  box-shadow:0 22px 50px rgba(0,0,0,0.75), 0 0 0 1px rgba(244,241,234,0.08);
  border:1.5px solid rgba(201,162,39,0.55);
  position:relative;
}
.cover-fan .fan-1{
  transform:rotate(-9deg) translateX(18px);
  z-index:1;
}
.cover-fan .fan-2{
  transform:translateY(-14px) scale(1.06);
  z-index:2;
  width:158px;
}
.cover-fan .fan-3{
  transform:rotate(9deg) translateX(-18px);
  z-index:1;
}
.hero-band .tagline{
  font-family:'Inter',sans-serif;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-size:1rem;
  font-weight:600;
  margin:0 0 10px;
}
.hero-band .tagline .accent{color:var(--gold);}
.tagline-sub{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:1.05rem;
  color:#C7CFDA;
  margin:0 0 28px;
}
.hero-icons{
  display:flex;
  justify-content:center;
  gap:36px;
  flex-wrap:wrap;
  border-top:1px solid rgba(201,162,39,0.35);
  border-bottom:1px solid rgba(201,162,39,0.35);
  padding:20px 0;
  margin:0 0 18px;
}
.hero-icons span{
  font-size:0.85rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#E7E2D6;
  font-weight:600;
}
.hero-band .imprint{
  font-size:0.75rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--gold);
  opacity:0.9;
}

/* ---- NAV ---- */
nav{
  background:var(--white);
  border-bottom:1px solid var(--border-light);
  position:sticky;top:0;z-index:50;
}
nav .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  padding:16px 24px;
  gap:12px;
}
nav .brand{
  font-family:'Lora',serif;
  font-weight:700;
  font-size:1.05rem;
  color:var(--navy);
}
.site-title{
  font-family:'Lora',serif;
  font-weight:800;
  font-size:2.1rem;
  line-height:1.15;
  color:var(--navy);
  margin-bottom:16px;
}
nav .links{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  font-size:0.92rem;
  font-weight:600;
}
nav .links a{color:var(--navy);}
nav .links a:hover{color:var(--teal);text-decoration:none;}
nav .links a.back{color:var(--teal);}

/* ---- BREADCRUMB (book pages) ---- */
.breadcrumb{
  background:var(--bg-pale);
  padding:14px 0;
  font-size:0.88rem;
  font-weight:600;
}

/* ---- BOOK HERO (individual book page) ---- */
.book-hero{
  background:var(--bg-pale);
  padding:56px 0 48px;
}
.book-hero .hero-grid{
  display:grid;
  grid-template-columns:1fr 260px;
  gap:56px;
  align-items:start;
}
.book-hero .hero-cover{
  width:260px;
  height:416px;
  border-radius:4px;
  object-fit:cover;
  box-shadow:0 14px 34px rgba(13,22,32,0.28);
  justify-self:end;
}
.book-hero h1{
  font-size:2.6rem;
  line-height:1.15;
  margin:14px 0 6px;
}
.book-hero .subtitle{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:1.2rem;
  color:var(--gray-body);
  margin:0 0 22px;
}
.book-hero .hook{
  font-size:1.05rem;
  color:var(--gray-body);
  max-width:70ch;
  margin:0 0 26px;
}
.book-hero .byline{
  font-size:0.9rem;
  color:var(--navy);
  font-weight:600;
  margin-top:22px;
}
.cta-row{margin-top:0;display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-block;
  padding:13px 26px;
  border-radius:4px;
  font-weight:700;
  font-size:0.95rem;
}
.btn-primary{background:var(--teal);color:#fff;}
.btn-primary:hover{background:var(--teal-dark);text-decoration:none;color:#fff;}
.btn-secondary{border:1.5px solid var(--navy);color:var(--navy);background:#fff;}
.btn-secondary:hover{background:var(--navy);color:#fff;text-decoration:none;}
.btn-text{padding:13px 4px;color:var(--teal);font-weight:700;}

/* ---- STAT ROW ---- */
.stat-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin:36px 0 8px;
}
.stat-box{
  background:#fff;
  border-top:3px solid var(--gold);
  border-radius:4px;
  padding:20px 20px 22px;
  box-shadow:0 1px 3px rgba(20,30,45,0.06);
}
.stat-box .num{
  font-family:'Lora',serif;
  font-weight:700;
  font-size:2rem;
  color:var(--navy);
  display:block;
  margin-bottom:6px;
}
.stat-box .label{
  font-size:0.88rem;
  color:var(--gray-body);
}

/* ---- QUOTE CARD (homepage) ---- */
.quote-card{
  background:#fff;
  border-left:4px solid var(--teal);
  padding:20px 22px;
  margin-bottom:18px;
  border-radius:2px;
  box-shadow:0 1px 3px rgba(20,30,45,0.06);
}
.quote-card p{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:1.02rem;
  color:var(--navy);
  margin:0 0 10px;
}
.quote-card .src{
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--teal);
}

.pathway-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.pathway-card{
  display:block;
  background:#fff;
  border:1px solid var(--border-light);
  border-top:4px solid var(--teal);
  border-radius:6px;
  padding:20px 20px 18px;
  box-shadow:0 1px 3px rgba(20,30,45,0.06);
  transition:transform 0.15s, box-shadow 0.15s;
}
.pathway-card:hover{
  transform:translateY(-3px);
  box-shadow:0 6px 16px rgba(20,30,45,0.12);
  text-decoration:none;
}
.pathway-icon{font-size:1.6rem; margin-bottom:8px;}
.pathway-card h3{
  font-size:1.02rem;
  color:var(--navy);
  margin:0 0 6px;
  font-family:'Lora',serif;
}
.pathway-card p{
  font-size:0.85rem;
  color:var(--gray-body);
  margin:0;
  line-height:1.45;
}
.trilogy-nudge{
  text-align:center;
  font-size:0.95rem;
  color:var(--gray-body);
  margin-top:36px;
  padding-top:28px;
  border-top:1px solid var(--border-light);
}
.trilogy-nudge a{font-weight:700;}

@media (max-width:700px){
  .pathway-grid{grid-template-columns:1fr;}
}
}

/* ---- SECTION HEADERS ---- */
.section{padding:72px 0;}
.section.alt{background:var(--bg-pale);}
.section-head{text-align:center;max-width:680px;margin:0 auto 48px;}
.section-head h2{font-size:2rem;margin:12px 0 16px;}
.section-head p{color:var(--gray-body);font-size:1.02rem;}

/* ---- PROSE (book page narrative sections) ---- */
.prose{max-width:760px;margin:0 auto;}
.prose h2{font-size:1.6rem;margin:0 0 18px;}
.prose p{color:var(--gray-body);font-size:1.02rem;margin:0 0 18px;}
.prose + .prose{margin-top:48px;}
.prose blockquote{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:1.25rem;
  color:var(--navy);
  border-left:4px solid var(--gold);
  padding-left:22px;
  margin:36px 0;
}
.prose blockquote .cite{
  display:block;
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-size:0.8rem;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--teal);
  margin-top:10px;
}

/* ---- RESEARCH LIBRARY GRID (homepage) ---- */
.card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.lib-card{
  background:#fff;
  border-top:4px solid var(--teal);
  border-radius:4px;
  padding:26px 24px;
  box-shadow:0 1px 3px rgba(20,30,45,0.06);
}
.lib-card h3{font-size:1.25rem;margin:10px 0 12px;line-height:1.3;}
.lib-card p{color:var(--gray-body);font-size:0.95rem;margin:0 0 16px;}
.lib-card .go{font-weight:700;font-size:0.92rem;}

/* ---- BOOK SHOWCASE ROWS (homepage) ---- */
.book-row{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:32px;
  align-items:center;
  padding:32px 0;
  border-bottom:1px solid var(--border-light);
}
.book-row:last-child{border-bottom:none;}
.book-cover{
  width:220px;height:352px;
  border-radius:3px;
  object-fit:cover;
  display:block;
  box-shadow:0 6px 18px rgba(13,22,32,0.35);
}
.book-meta{font-size:0.85rem;color:var(--teal);font-weight:700;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:6px;}
.book-row h3{font-size:1.5rem;margin:0 0 6px;}
.book-row .subtitle{font-style:italic;color:var(--gray-body);margin:0 0 14px;font-family:'Lora',serif;}
.book-row p.desc{color:var(--gray-body);max-width:62ch;}
.book-links{margin-top:14px;font-weight:700;font-size:0.92rem;display:flex;gap:22px;flex-wrap:wrap;}
.badge-soon{
  display:inline-block;
  background:var(--bg-pale);
  color:var(--navy);
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:3px;
  margin-bottom:6px;
}

/* ---- WHY SECTION (homepage) ---- */
.why{padding:72px 0;}
.why .wrap{max-width:760px;}
.why h2{font-size:2rem;margin:12px 0 24px;}
.why p{color:var(--gray-body);font-size:1.02rem;margin-bottom:18px;}
.why blockquote{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:1.2rem;
  color:var(--navy);
  border-left:4px solid var(--gold);
  padding-left:20px;
  margin:32px 0;
}

/* ---- ABOUT / SOURCING (homepage) ---- */
.about-grid{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start;}
.about-photo{
  width:200px;height:200px;border-radius:6px;
  background:linear-gradient(160deg,#1B2A41,#0D1620);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-family:'Lora',serif;font-size:0.85rem;text-align:center;padding:16px;
}
.about-block{margin-bottom:36px;}
.about-block h3{font-size:1.15rem;margin:0 0 10px;}
.about-block p{color:var(--gray-body);font-size:0.95rem;}
.placeholder-note{
  background:#FFF8E8;
  border:1px dashed var(--gold);
  border-radius:4px;
  padding:16px 18px;
  font-size:0.88rem;
  color:#6B5A15;
}

/* ---- FREE TOOL CALLOUT (book pages) ---- */
.tool-callout{
  background:#fff;
  border:1.5px solid var(--teal);
  border-radius:8px;
  padding:32px;
  text-align:center;
  max-width:640px;
  margin:0 auto;
}
.tool-callout h3{font-size:1.3rem;margin:8px 0 12px;}
.tool-callout p{color:var(--gray-body);margin:0 0 20px;}

/* ---- CONTACT / DARK CTA BOX ---- */
.contact-box{
  background:var(--navy-dark);
  color:#F4F1EA;
  border-radius:8px;
  padding:48px 40px;
  text-align:center;
}
.contact-box h2{color:#fff;margin:0 0 12px;font-size:1.8rem;}
.contact-box p{color:#C7CFDA;margin:0 0 20px;}
.contact-box a.email{color:var(--gold);font-weight:700;}

/* ---- BOOK-TO-BOOK CTA FOOTER ---- */
.cta-footer{
  border-top:1px solid var(--border-light);
  padding:40px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
}
.cta-footer .next{font-weight:700;}

/* ---- SITE FOOTER ---- */
footer{
  background:var(--navy-dark);
  color:#9AA7B5;
  padding:32px 0;
  font-size:0.85rem;
  text-align:center;
}
footer a{color:#C7CFDA;}
footer .links{margin-top:10px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap;}

/* ---- RESEARCH GUIDE PAGES ---- */
.guide-hero{
  background:var(--bg-pale);
  padding:48px 0 40px;
}
.guide-hero h1{
  font-size:2.3rem;
  line-height:1.2;
  margin:14px 0 16px;
}
.guide-hero p{
  color:var(--gray-body);
  font-size:1.05rem;
  max-width:70ch;
  margin:0 0 24px;
}
.guide-hero p em{color:var(--navy);font-style:italic;}
.lookup-about-link{
  font-size:0.92rem;
  color:var(--gray-body);
  margin:-8px auto 22px;
  max-width:70ch;
}
.lookup-about-link a{font-weight:700;}
.guide-body{max-width:760px;margin:0 auto;padding:56px 24px;}
.guide-body h2{
  font-size:1.4rem;
  margin:44px 0 16px;
  line-height:1.3;
}
.guide-body h2:first-child{margin-top:0;}
.guide-body p{color:var(--gray-body);font-size:1.02rem;margin:0 0 18px;}
.guide-body strong{color:var(--navy);}
.guide-body blockquote{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:1.15rem;
  color:var(--navy);
  border-left:4px solid var(--gold);
  padding-left:20px;
  margin:28px 0;
}
.guide-body blockquote .cite{
  display:block;
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-size:0.8rem;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--teal);
  margin-top:8px;
}
.guide-table{width:100%;border-collapse:collapse;margin:20px 0 28px;font-size:0.95rem;}
.table-scroll{overflow-x:auto;margin:20px 0 28px;-webkit-overflow-scrolling:touch;}
.table-scroll .guide-table{margin:0;min-width:920px;font-size:0.88rem;}
.guide-table td.rank-cell{font-weight:700;color:var(--navy);text-align:center;}
.guide-table td.name-cell{font-weight:700;color:var(--navy);}

/* ---- TIERED RANK CARDS ---- */
.tier-section{margin:44px 0 12px;}
.tier-head{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-bottom:8px;
  flex-wrap:wrap;
}
.tier-head h3{font-size:1.35rem;margin:0;color:var(--navy);}
.tier-count{
  font-size:0.8rem;
  font-weight:700;
  color:var(--gray-body);
  letter-spacing:0.04em;
  text-transform:uppercase;
}
.tier-desc{color:var(--gray-body);font-size:0.96rem;margin:0 0 24px;}
.tier-strong{border-left:5px solid #2E8B57;}
.tier-conditional{border-left:5px solid #2E6DA4;}
.tier-moderate{border-left:5px solid #C9A227;}
.tier-weak{border-left:5px solid #B5645E;}

.rank-card{
  background:#fff;
  border-radius:4px;
  box-shadow:0 1px 3px rgba(20,30,45,0.08);
  padding:22px 26px;
  margin-bottom:16px;
  padding-left:22px;
}
.rank-card-head{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.rank-num{
  font-family:'Lora',serif;
  font-weight:700;
  font-size:1.3rem;
  color:var(--navy);
  min-width:34px;
}
.rank-card h4{
  font-size:1.15rem;
  margin:0;
  color:var(--navy);
  flex-grow:1;
}
.market-tag{
  font-size:0.75rem;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--gray-body);
  background:var(--bg-pale);
  padding:4px 10px;
  border-radius:12px;
  white-space:nowrap;
}
.rank-card p{
  font-size:0.95rem;
  color:var(--gray-body);
  margin:0 0 10px;
}
.rank-card p strong{color:var(--navy);}
.bottom-line{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:0.94rem;
  color:var(--navy);
  border-top:1px solid var(--border-light);
  padding-top:10px;
  margin-top:12px;
}
.bottom-line strong{
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  font-size:0.72rem;
  color:var(--teal);
  margin-right:8px;
}

/* ---- LEGEND ---- */
.legend{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin:24px 0 8px;
}
.legend-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  background:var(--bg-pale);
  padding:14px 16px;
  border-radius:6px;
}
.dot{
  display:inline-block;
  width:16px;height:16px;
  border-radius:50%;
  flex-shrink:0;
  margin-top:3px;
}
.dot-green{background:#2E8B57;}
.dot-blue{background:#2E6DA4;}
.dot-yellow{background:#C9A227;}
.dot-red{background:#B5645E;}
.legend-item strong{display:block;color:var(--navy);font-size:0.95rem;margin-bottom:2px;}
.legend-item span{color:var(--gray-body);font-size:0.88rem;}

/* ---- SALES-RANKED INDEX LIST ---- */
.rank-index{
  list-style:none;
  margin:0 0 20px;
  padding:0;
  border:1px solid var(--border-light);
  border-radius:6px;
  overflow:hidden;
}
.rank-index li{
  border-bottom:1px solid var(--border-light);
}
.rank-index li:last-child{border-bottom:none;}
.rank-index a{
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 18px;
  color:var(--navy);
  font-weight:600;
  font-size:0.98rem;
}
.rank-index a:hover{background:var(--bg-pale);text-decoration:none;}
.rank-index .dot{margin-top:0;}
.rank-index .idx-num{
  font-family:'Lora',serif;
  font-weight:700;
  color:var(--gray-body);
  width:24px;
  text-align:right;
}
.rank-index .idx-market{
  margin-left:auto;
  font-size:0.8rem;
  font-weight:500;
  color:var(--gray-body);
  text-align:right;
}

@media (max-width:600px){
  .legend{grid-template-columns:1fr;}
  .rank-index .idx-market{display:none;}
}
.guide-table th,.guide-table td{
  text-align:left;
  padding:10px 14px;
  border-bottom:1px solid var(--border-light);
}
.guide-table th{
  color:var(--navy);
  font-weight:700;
  border-bottom:2px solid var(--navy);
}
.guide-table td{color:var(--gray-body);}
.guide-links{
  margin-top:40px;
  padding-top:24px;
  border-top:1px solid var(--border-light);
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
  font-weight:700;
  font-size:0.95rem;
}
.guide-source-note{
  font-size:0.85rem;
  color:var(--gray-body);
  font-style:italic;
  margin-top:24px;
}

.guide-body ol, .guide-body ul{
  color:var(--gray-body);
  font-size:1.02rem;
  padding-left:22px;
  margin:0 0 20px;
}
.guide-body ol li, .guide-body ul li{margin-bottom:12px;}
.guide-body ol > li > ul{margin-top:10px;}
.appendix-signature{
  font-style:italic;
  color:var(--navy);
  margin:8px 0 0;
}
.appendix-divider{
  border:none;
  border-top:1px solid var(--border-light);
  margin:40px 0;
}

.biblio-section h2{
  font-size:1.3rem;
  margin:44px 0 20px;
  padding-bottom:10px;
  border-bottom:2px solid var(--navy);
}
.biblio-section:first-of-type h2{margin-top:0;}
.biblio-entry{margin-bottom:22px;}
.biblio-entry .cite-line{
  font-weight:700;
  color:var(--navy);
  font-size:0.98rem;
  margin-bottom:4px;
}
.biblio-entry .annotation{
  color:var(--gray-body);
  font-size:0.95rem;
  margin:0;
}
.biblio-count{
  display:inline-block;
  background:var(--bg-pale);
  color:var(--navy);
  font-weight:700;
  font-size:0.85rem;
  padding:6px 14px;
  border-radius:20px;
  margin-bottom:20px;
}

/* ---- SITE SEARCH ---- */
.search-hero-input{
  width:100%;
  max-width:640px;
  padding:16px 20px;
  font-size:1.1rem;
  font-family:'Inter',sans-serif;
  border:1.5px solid var(--border-light);
  border-radius:6px;
  margin:0 auto;
  display:block;
}
.search-hero-input:focus{outline:none;border-color:var(--teal);}
.search-category-pills{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin:20px 0 8px;
}
.search-category-pills .topic-pill{font-size:0.82rem;padding:8px 16px;}
.search-results-count{
  color:var(--gray-body);
  font-size:0.92rem;
  margin:0 0 20px;
}
.search-result{
  background:#fff;
  border:1px solid var(--border-light);
  border-left:4px solid var(--teal);
  border-radius:4px;
  padding:18px 22px;
  margin-bottom:14px;
}
.search-result .cat-badge{
  display:inline-block;
  font-size:0.7rem;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:6px;
}
.search-result h3{
  font-size:1.1rem;
  margin:0 0 8px;
}
.search-result h3 a{color:var(--navy);}
.search-result p{
  color:var(--gray-body);
  font-size:0.93rem;
  margin:0;
}
.search-empty-state{
  text-align:center;
  color:var(--gray-body);
  padding:50px 24px;
}
.search-empty-state.hidden, .search-results.hidden{display:none;}

/* ---- NAV QUICK SEARCH ---- */
.nav-search{
  display:flex;
  align-items:center;
  gap:0;
}
.nav-search input{
  border:1px solid var(--border-light);
  border-radius:4px 0 0 4px;
  padding:7px 10px;
  font-size:0.85rem;
  font-family:'Inter',sans-serif;
  width:150px;
}
.nav-search input:focus{outline:none;border-color:var(--teal);}
.nav-search button{
  background:var(--teal);
  color:#fff;
  border:none;
  border-radius:0 4px 4px 0;
  padding:8px 12px;
  cursor:pointer;
  font-size:0.9rem;
}
.nav-search button:hover{background:var(--teal-dark);}

/* ---- LIVE PRODUCT LOOKUP ---- */
.lookup-result-item{
  background:#fff;
  border:1px solid var(--border-light);
  border-radius:4px;
  padding:16px 20px;
  margin-bottom:12px;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}
.lookup-result-item:hover{border-color:var(--teal);}
.lookup-result-item .info h4{margin:0 0 4px;font-size:1rem;color:var(--navy);}
.lookup-result-item .info span{font-size:0.85rem;color:var(--gray-body);}
.lookup-result-item .arrow{color:var(--teal);font-weight:700;}
.lookup-detail{
  background:#fff;
  border:1px solid var(--border-light);
  border-left:4px solid var(--teal);
  border-radius:4px;
  padding:24px 28px;
  margin-top:20px;
}
.lookup-detail h3{margin:0 0 4px;font-size:1.3rem;color:var(--navy);}
.nih-retrieved{
  display:inline-block;
  background:#E8F5F0;
  color:var(--teal);
  font-weight:700;
  font-size:0.78rem;
  letter-spacing:0.03em;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:20px;
  margin-bottom:10px;
}
.lookup-methodology-note{
  font-size:0.88rem;
  color:var(--gray-body);
  margin-bottom:16px;
  line-height:1.5;
}
.lookup-run-note{
  font-size:0.82rem;
  color:var(--gray-body);
  margin-top:12px;
  line-height:1.5;
}
.lookup-toast{
  font-size:0.85rem;
  color:var(--teal);
  font-weight:600;
  margin-top:12px;
  background:#F0F9F6;
  border-radius:6px;
  padding:10px 14px;
}
.lookup-detail .brand-line{color:var(--gray-body);font-size:0.95rem;margin-bottom:18px;}
.lookup-detail h5{font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--teal);margin:18px 0 8px;}
.lookup-ing-table{width:100%;border-collapse:collapse;font-size:0.9rem;}
.lookup-ing-table td{padding:6px 8px;border-bottom:1px solid var(--border-light);color:var(--gray-body);}
.lookup-ing-table td:first-child{color:var(--navy);font-weight:600;}
.lookup-status{
  text-align:center;
  color:var(--gray-body);
  padding:30px 20px;
}
.lookup-error-box{
  background:#FFF8E8;
  border:1px solid var(--gold);
  border-radius:6px;
  padding:20px 24px;
  text-align:center;
}
.lookup-error-box p{color:#6B5A15;margin:0 0 12px;}
.lookup-disclaimer{
  font-size:0.85rem;
  color:var(--gray-body);
  background:var(--bg-pale);
  border-radius:6px;
  padding:16px 20px;
  margin-top:24px;
}
.nih-credit{
  font-size:0.78rem;
  color:var(--gray-body);
  text-align:center;
  margin-top:16px;
}

/* ---- BIBLIOGRAPHY: INTRO BAND, SEARCH, PILLS ---- */
.biblio-intro{
  background:var(--bg-pale);
  padding:44px 24px 40px;
  text-align:center;
}
.biblio-intro .wrap{max-width:820px;}
.biblio-intro p{
  color:var(--gray-body);
  font-size:1.02rem;
  margin:0 0 28px;
}
.biblio-search-label{
  font-weight:700;
  font-size:0.95rem;
  color:var(--navy);
  margin-bottom:10px;
  display:block;
}
#biblio-search{
  width:100%;
  max-width:560px;
  padding:14px 18px;
  font-size:1rem;
  font-family:'Inter',sans-serif;
  border:1.5px solid var(--border-light);
  border-radius:6px;
  margin:0 auto;
  display:block;
}
#biblio-search:focus{outline:none;border-color:var(--teal);}
.biblio-search-hint{
  font-size:0.82rem;
  color:var(--gray-body);
  margin:10px 0 24px;
}
.topic-pills{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.topic-pill{
  background:#fff;
  border:1.5px solid var(--border-light);
  color:var(--navy);
  font-weight:700;
  font-size:0.88rem;
  padding:10px 20px;
  border-radius:24px;
  cursor:pointer;
  font-family:'Inter',sans-serif;
}
.topic-pill:hover{border-color:var(--teal);}
.topic-pill.active{background:var(--navy);border-color:var(--navy);color:#fff;}

/* ---- BIBLIOGRAPHY: TOPIC SECTIONS & SOURCE CARDS ---- */
.biblio-topic-section{padding:56px 0;max-width:1120px;margin:0 auto;}
.biblio-topic-head{text-align:center;max-width:700px;margin:0 auto 36px;padding:0 24px;}
.biblio-topic-head h2{font-size:2rem;margin:10px 0 14px;}
.biblio-topic-head p{color:var(--gray-body);font-size:1rem;}
.source-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  padding:0 24px;
}
.source-card{
  background:#fff;
  border-top:4px solid var(--teal);
  border-radius:4px;
  padding:24px 22px;
  box-shadow:0 1px 3px rgba(20,30,45,0.06);
  display:flex;
  flex-direction:column;
}
.source-type{
  font-size:0.74rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:8px;
}
.source-card h3{
  font-size:1.1rem;
  line-height:1.35;
  margin:0 0 8px;
  color:var(--navy);
}
.source-meta{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:0.88rem;
  color:var(--gray-body);
  margin:0 0 14px;
}
.source-finding{
  font-size:0.92rem;
  color:var(--gray-body);
  margin:0 0 14px;
  flex-grow:1;
}
.source-finding strong{color:var(--navy);}
.source-cited{
  font-size:0.82rem;
  color:var(--gray-body);
  margin:0 0 12px;
}
.source-cited a{font-weight:600;}
.source-card .read-source{
  font-weight:700;
  font-size:0.88rem;
}
.biblio-search-empty{
  text-align:center;
  color:var(--gray-body);
  padding:60px 24px;
  display:none;
}

/* ---- BOOK READER: LAYOUT ---- */
.reader-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:48px;
  padding:40px 24px 60px;
  align-items:start;
}
.reader-sidebar{
  position:sticky;
  top:76px;
  max-height:calc(100vh - 100px);
  overflow-y:auto;
}
.reader-toc .toc-title{
  font-family:'Inter',sans-serif;
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:14px;
}
.reader-toc ul{list-style:none;margin:0;padding:0;}
.reader-toc li{margin-bottom:2px;}
.reader-toc li.toc-part{
  margin-top:16px;
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--navy);
  opacity:0.55;
}
.reader-toc li.toc-part a{color:inherit;}
.reader-toc li.toc-chapter > a{
  display:block;
  padding:6px 10px;
  border-radius:4px;
  font-size:0.92rem;
  font-weight:600;
  color:var(--navy);
}
.reader-toc li.toc-chapter > a:hover{background:var(--bg-pale);text-decoration:none;}
.reader-toc li.toc-chapter > a.active{background:var(--teal);color:#fff;}
.reader-toc ul ul{margin-left:14px;}
.reader-toc li.toc-sub a{
  display:block;
  padding:4px 10px;
  font-size:0.82rem;
  color:var(--gray-body);
}
.reader-toc li.toc-sub a.active{color:var(--teal);font-weight:700;}

.reader-article{max-width:720px;}
.reader-article img{
  max-width:100%;
  height:auto;
  display:block;
  margin:24px auto;
  border-radius:4px;
  box-shadow:0 2px 8px rgba(20,30,45,0.12);
}
.reader-title-block h1{font-size:1.8rem;margin:0 0 4px;}
.reader-title-block h2{font-size:1.15rem;color:var(--gray-body);font-weight:500;margin:0 0 4px;}
.reader-title-block h3{font-size:1rem;font-style:italic;color:var(--gray-body);font-weight:400;margin:0 0 32px;}

.chapter-section{padding-top:24px;margin-bottom:8px;scroll-margin-top:90px;}
.chapter-section h1{
  font-size:1.6rem;
  color:var(--navy);
  margin:0 0 22px;
  padding-bottom:12px;
  border-bottom:2px solid var(--border-light);
  scroll-margin-top:90px;
}
.chapter-section h2{
  font-size:1.15rem;
  color:var(--navy);
  margin:32px 0 14px;
  scroll-margin-top:90px;
}
.chapter-section p{
  font-size:1.02rem;
  color:var(--gray-body);
  line-height:1.75;
  margin:0 0 18px;
}
.chapter-section strong{color:var(--navy);}
.chapter-section em{font-style:italic;}
.chapter-section hr{border:none;border-top:1px solid var(--border-light);margin:28px 0;}
.chapter-section blockquote{
  font-family:'Lora',serif;
  font-style:italic;
  font-size:1.1rem;
  color:var(--navy);
  border-left:4px solid var(--gold);
  padding-left:20px;
  margin:24px 0;
}
.chapter-section table{
  width:100%;
  border-collapse:collapse;
  margin:20px 0 24px;
  font-size:0.92rem;
}
.chapter-section th,.chapter-section td{
  text-align:left;
  padding:9px 12px;
  border-bottom:1px solid var(--border-light);
}
.chapter-section th{color:var(--navy);font-weight:700;border-bottom:2px solid var(--navy);}
.chapter-section td{color:var(--gray-body);}
.chapter-section ul,.chapter-section ol{color:var(--gray-body);padding-left:22px;margin:0 0 18px;}
.chapter-section li{margin-bottom:8px;}

.chapter-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:36px;
  padding-top:20px;
  border-top:1px solid var(--border-light);
  font-size:0.88rem;
  font-weight:700;
}
.chapter-nav a{color:var(--teal);}
.chapter-nav-toc{color:var(--gray-body) !important;font-weight:600;}
.chapter-nav-prev,.chapter-nav-next{max-width:38%;}

@media (max-width:900px){
  .reader-layout{grid-template-columns:1fr;}
  .reader-sidebar{position:static;max-height:none;margin-bottom:20px;}
}

@media (max-width:860px){
  .cover-fan img{width:96px;}
  .cover-fan .fan-2{width:102px;}
  .source-grid{grid-template-columns:1fr;}
  .book-hero .grid,.intro .grid{grid-template-columns:1fr;}
  .book-hero .hero-grid{grid-template-columns:1fr;}
  .book-hero .hero-cover{justify-self:center;margin-bottom:24px;}
  .card-grid{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:1fr;}
  .book-row{grid-template-columns:1fr;text-align:left;}
  .book-cover{margin:0 auto;}
  .about-grid{grid-template-columns:1fr;}
  .about-photo{margin:0 auto;}
  nav .links{display:none;}
  .book-hero h1{font-size:2rem;}
}
