:root{
  --ink:#16171a; --paper:#fbfaf7; --rule:#dedad0;
  --accent:#8a5a2b; --muted:#5c5b56; --serif:'Georgia','Iowan Old Style',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;}
.wrap{max-width:760px;margin:0 auto;padding:0 24px;}
header.site{border-bottom:1px solid var(--rule);padding:18px 0;}
header.site nav{display:flex;justify-content:space-between;align-items:center;font-size:.92rem;}
header.site nav .brand{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none;}
header.site nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
header.site nav a{color:var(--ink);text-decoration:none;}
header.site nav a:hover{text-decoration:underline;}
header.site nav a.active{color:var(--accent);font-weight:700;}

main{padding:48px 0 80px;}
.eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:10px;}
h1{font-family:var(--serif);font-size:2.1rem;line-height:1.18;margin:0 0 18px;}
.lede{font-size:1.12rem;color:var(--muted);margin-bottom:8px;}
.equation-block{
  border-left:3px solid var(--accent);
  background:#fff;
  padding:18px 22px;
  margin:28px 0;
  font-family:var(--serif);
  font-size:1.2rem;
}
.equation-block small{display:block;font-family:var(--sans);font-size:.78rem;color:var(--muted);margin-top:8px;text-transform:uppercase;letter-spacing:.08em;}

h2{font-family:var(--serif);font-size:1.35rem;margin:40px 0 12px;border-top:1px solid var(--rule);padding-top:32px;}
h2:first-of-type{border-top:none;padding-top:0;margin-top:0;}
h3{font-family:var(--serif);font-size:1.05rem;margin:24px 0 8px;}
p{margin:0 0 14px;}
a{color:var(--accent);}

.laws,.qa-list,.term-list{list-style:none;margin:0;padding:0;}
.laws li,.term-list li{padding:14px 0;border-bottom:1px solid var(--rule);}
.laws strong,.term-list dt{display:block;font-family:var(--serif);margin-bottom:4px;}

.compare{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:18px 0;}
.compare div{background:#fff;border:1px solid var(--rule);border-radius:4px;padding:14px;}
.compare h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;color:var(--accent);font-family:var(--sans);}
.compare p{font-size:.92rem;margin:0;color:var(--muted);}

nav.explore ul{list-style:none;margin:0;padding:0;}
nav.explore li{border-bottom:1px solid var(--rule);}
nav.explore a{display:flex;flex-direction:column;padding:14px 4px;color:var(--ink);text-decoration:none;font-size:.98rem;}
nav.explore a:hover{color:var(--accent);}
nav.explore .desc{color:var(--muted);font-size:.85rem;margin-top:2px;}

.question-card{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:20px 22px;margin:0 0 16px;}
.question-card .qnum{font-family:var(--serif);color:var(--accent);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:6px;}
.question-card h3{margin:0 0 8px;font-size:1.15rem;}

.family-card{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:18px 22px;margin-bottom:16px;}
.family-card .num{font-family:var(--serif);font-size:.8rem;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-weight:700;}
.family-card .case{margin-top:10px;padding-top:10px;border-top:1px dashed var(--rule);font-size:.93rem;color:var(--muted);}

dl.term-list dt{font-family:var(--serif);font-size:1.05rem;margin-top:18px;}
dl.term-list dd{margin:4px 0 0;color:var(--muted);}

.qa-list li{padding:18px 0;border-bottom:1px solid var(--rule);}
.qa-list .q{font-family:var(--serif);font-size:1.05rem;margin-bottom:6px;}
.qa-list .a{color:var(--muted);margin:0;}

.author-row{display:grid;grid-template-columns:1fr;gap:18px;}
.book-card{background:#fff;border:1px solid var(--rule);border-radius:6px;padding:18px 22px;margin-top:12px;}
.book-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.92rem;margin:0;}
.book-card dt{color:var(--muted);}
.book-card dd{margin:0;}

footer{border-top:1px solid var(--rule);padding:28px 0;font-size:.85rem;color:var(--muted);}
footer a{color:var(--muted);}

@media(max-width:600px){
  .compare{grid-template-columns:1fr;}
  h1{font-size:1.7rem;}
  .book-card dl{grid-template-columns:1fr;}
}
