:root{
  --bg:#faf8f4; --ink:#23201c; --muted:#6b6258; --line:#e3ddd2; --card:#fffdf9;
  --m1:#1f4e79; --m2:#7d3c98; --m3:#117a65; --m4:#b9770e; --m5:#922b21;
  --accent:#1f4e79;
  --maxw:760px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif;
  font-size:19px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px}
.wide{max-width:1180px}
header.site{border-bottom:1px solid var(--line); background:rgba(250,248,244,.85); backdrop-filter:blur(6px); position:sticky; top:0; z-index:20}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px}
.brand{font-size:15px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.brand b{color:var(--ink); font-weight:600}
nav.top a{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:14px; letter-spacing:.04em; color:var(--muted); margin-left:18px}
nav.top a:hover{color:var(--ink); text-decoration:none}
.crumbs{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:13.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); margin:30px 0 6px}
.crumbs a{color:var(--muted)}
h1{font-weight:600; font-size:42px; line-height:1.12; letter-spacing:-.01em; margin:.2em 0 .35em}
h1 em{font-style:italic; color:var(--accent)}
h2{font-weight:600; font-size:27px; margin:1.7em 0 .5em; letter-spacing:-.01em}
h3{font-weight:600; font-size:20px; margin:1.4em 0 .3em; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.lede{font-size:22px; color:#3c372f; line-height:1.5; margin:.2em 0 1.2em}
p{margin:0 0 1.05em}
.kicker{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:13px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); font-weight:600}
.tag{display:inline-block; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; padding:3px 9px; border-radius:20px; color:#fff; font-weight:600; vertical-align:middle}
.muted{color:var(--muted)}
.rule{height:1px; background:var(--line); border:0; margin:2.2em 0}
footer.site{border-top:1px solid var(--line); margin-top:64px; padding:26px 0; color:var(--muted); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:13.5px}
footer.site .wrap{display:flex; flex-wrap:wrap; gap:6px 18px; justify-content:space-between}

/* cards */
.cards{display:grid; gap:16px; margin:26px 0}
.card{display:block; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:20px 22px; color:inherit; transition:.15s}
.card:hover{text-decoration:none; transform:translateY(-2px); box-shadow:0 8px 24px rgba(40,30,10,.07); border-color:#d6cdbd}
.card h3{margin:.1em 0 .25em; font-family:Georgia,serif; font-size:21px}
.card p{margin:0; color:var(--muted); font-size:16px; line-height:1.5}
.card .concepts{margin-top:10px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:13px; color:#7a715f}

/* book treatment blocks */
.treat{border-left:3px solid var(--line); padding:2px 0 2px 18px; margin:0 0 1.1em}
.treat .who{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:13px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--ink)}
.treat .ch{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:12.5px; color:var(--muted)}
.treat.young{border-left-color:var(--m2)}
.treat.george{border-left-color:var(--m3)}
.treat.none{border-left-color:var(--line); opacity:.85}

/* relation chips */
.rel{display:flex; flex-wrap:wrap; gap:8px; margin:.3em 0 1.2em}
.chip{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:13.5px; padding:6px 12px; border:1px solid var(--line); border-radius:20px; background:#fff; color:var(--ink)}
.chip:hover{border-color:var(--accent); text-decoration:none}
.chip .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:middle}

/* path lists */
ol.path{counter-reset:step; list-style:none; padding:0; margin:1em 0}
ol.path li{position:relative; padding:10px 0 10px 46px; border-bottom:1px solid var(--line)}
ol.path li:before{counter-increment:step; content:counter(step); position:absolute; left:0; top:9px; width:30px; height:30px; border-radius:50%; background:var(--accent); color:#fff; font-family:-apple-system,sans-serif; font-size:14px; font-weight:600; display:flex; align-items:center; justify-content:center}
ol.path li .lab{font-weight:600}
ol.path li .why{display:block; color:var(--muted); font-size:15.5px; line-height:1.45}
.clusterblock{background:var(--card); border:1px solid var(--line); border-left-width:5px; border-radius:12px; padding:16px 20px; margin:16px 0}
.clusterblock h3{margin:0 0 .2em}
.clusterblock .members{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:14px; color:var(--muted)}

@media (max-width:640px){
  body{font-size:18px}
  h1{font-size:33px}
  .lede{font-size:19px}
}
