
:root{--bg:#f6f3ec;--ink:#23201b;--soft:#6b6357;--line:#ddd6c8;--accent:#9a5b34;--accent2:#3f5d63;--card:#fffdf8;}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 Iowan Old Style,Palatino,"Palatino Linotype",Georgia,serif;}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
.wrap{max-width:46rem;margin:0 auto;padding:3.2rem 1.4rem 6rem}
.wide{max-width:64rem}
.full{max-width:96rem}
header.site{border-bottom:1px solid var(--line);margin-bottom:2.4rem}
h1{font-size:2.2rem;line-height:1.15;margin:0 0 .4rem;font-weight:600}
.tagline{color:var(--soft);font-style:italic;margin:0 0 1.2rem}
.claim{border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1.1rem;color:#4a4339;font-style:italic;margin:1.6rem 0}
nav.top{font-size:.92rem;letter-spacing:.02em;margin:.4rem 0 0}
nav.top a{color:var(--soft);margin-right:1.2rem}
.meta{color:var(--soft);font-size:.84rem;letter-spacing:.04em;text-transform:uppercase}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));margin-top:1.6rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:.5rem;padding:1.1rem 1.2rem;display:block;color:inherit}
.card:hover{border-color:var(--accent);text-decoration:none}
.card .num{color:var(--accent);font-size:.8rem;letter-spacing:.08em}
.card h3{margin:.2rem 0 .5rem;font-size:1.12rem;font-weight:600}
.card .verse{color:var(--soft);font-size:.92rem;font-style:italic;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
article blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:3px solid var(--accent2);font-style:italic;font-size:1.15rem;color:#3c3933}
article li{margin:.5rem 0}
.rel{margin-top:2.4rem;border-top:1px solid var(--line);padding-top:1.2rem}
.rel h2{font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);margin:0 0 .8rem}
.rel li{margin:.7rem 0;list-style:none} .rel ul{padding:0;margin:0}
.rel .kind{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;background:#ece5d6;color:var(--soft);border-radius:.3rem;padding:.05rem .45rem;margin-right:.5rem}
.rel .trad{color:var(--accent2);font-weight:600} .rel .prac{font-style:italic}
.rel .why{color:var(--soft);font-size:.92rem;display:block;margin-top:.15rem}
.none{color:var(--soft);font-style:italic}
.trad-block{border-top:1px solid var(--line);padding-top:1.1rem;margin-top:1.6rem}
.trad-block h2{font-size:1.18rem;margin:0 0 .5rem;font-weight:600}
.ratio{color:var(--soft);font-size:.9rem;font-weight:400}
.nh-label{color:var(--accent);font-weight:600;margin:.5rem 0 .2rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}
ul.nohome{margin:.2rem 0;padding-left:1.1rem} ul.nohome li{margin:.55rem 0}
ul.nohome b{color:var(--accent)} ul.nohome li .w{color:var(--soft);font-size:.95rem}
details.mapped{margin:.7rem 0;color:var(--soft);font-size:.92rem} details.mapped summary{cursor:pointer}
ul.mp{columns:2;column-gap:2rem;padding-left:1.1rem;margin:.5rem 0} ul.mp li{margin:.2rem 0;break-inside:avoid}
.framing ul{margin:1rem 0} .framing li{margin:.6rem 0} .framing b{color:var(--accent2)}
.pager{display:flex;justify-content:space-between;margin-top:3rem;color:var(--soft);font-size:.9rem}
.maptools{display:flex;gap:.8rem;align-items:center;margin:.4rem 0 .6rem}
.maptools button{font:inherit;font-size:.85rem;background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:.3rem .7rem;cursor:pointer;color:var(--ink)}
.maptools button:hover{border-color:var(--accent)}
#map{width:100%;height:calc(100vh - 230px);min-height:440px;background:var(--card);border:1px solid var(--line);border-radius:.5rem;cursor:grab;touch-action:none;display:block}
#map.expanded{position:fixed;inset:0;width:100vw;height:100vh;z-index:9999;border:none;border-radius:0;min-height:0}
.legend{font-size:.85rem;color:var(--soft);margin:.6rem 0 0}
.legend b{color:var(--accent)} .legend i{color:var(--accent2);font-style:normal;font-weight:600}
footer{color:var(--soft);font-size:.82rem;border-top:1px solid var(--line);margin-top:3rem;padding-top:1.2rem}
