:root{--char:#1c1714;--smoke:#2b2420;--ember:#c4531c;--rust:#8a3a17;--cream:#f4ead9;--paper:#fbf5ea;--ink:#2a2420;--mute:#7a6c60;--gold:#d9a441}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 Georgia,"Times New Roman",serif;color:var(--ink);background:var(--paper)}
h1,h2,h3,.brand,nav a,.btn,.chip,.badge,.kicker{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;letter-spacing:.04em}
.draft{background:var(--gold);color:var(--char);text-align:center;font:700 12px Arial;padding:4px;letter-spacing:.1em;text-transform:uppercase}
nav{position:sticky;top:0;z-index:9;background:var(--char);display:flex;gap:18px;align-items:center;padding:12px 20px;flex-wrap:wrap}
nav a{color:var(--cream);text-decoration:none;text-transform:uppercase;font-size:14px}nav .brand{color:var(--ember);font-weight:800;margin-right:auto}
.hero{background:radial-gradient(circle at 30% 20%,#4a2a18,var(--char) 70%);color:var(--cream);padding:90px 20px 80px;text-align:center;border-bottom:6px solid var(--ember)}
.hero h1{font-size:clamp(40px,8vw,84px);margin:.1em 0;text-transform:uppercase;line-height:1}.kicker{color:var(--gold);text-transform:uppercase;font-size:14px}
.sub{max-width:640px;margin:16px auto 28px;font-size:20px;color:#e9dcc6}
.btn{display:inline-block;background:var(--ember);color:#fff;padding:12px 26px;border-radius:3px;text-decoration:none;text-transform:uppercase;font-weight:700}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}section{padding:56px 0}section.alt{background:var(--cream)}
h2{font-size:36px;text-transform:uppercase;color:var(--rust);margin:0 0 20px;border-bottom:3px solid var(--ember);display:inline-block}
.intro p{max-width:760px}.muted{color:var(--mute)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.chip{border:2px solid var(--smoke);background:transparent;color:var(--smoke);padding:6px 14px;border-radius:20px;cursor:pointer;font-size:14px;text-transform:uppercase}
.chip.on{background:var(--smoke);color:var(--cream)}
.badge{display:inline-block;font-size:11px;text-transform:uppercase;padding:2px 8px;border-radius:3px;background:var(--smoke);color:#fff;margin:2px 4px 2px 0;vertical-align:middle}
.badge.dead{background:#a11}.badge.role{background:var(--rust)}
.t-covid{--c:#c4531c}.t-health{--c:#6d7f3a}.t-solar{--c:#c9962a}.t-business{--c:#7a4b2e}.t-activism{--c:#3f5f73}.t-context{--c:#8a8178}.badge.ctx{background:#8a8178;color:#fff}.also{margin-top:.2rem}
.tl-grid{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:start}
.tl{list-style:none;margin:0;padding:0 0 0 22px;border-left:4px solid var(--smoke)}
.tl li{position:relative;margin:0 0 14px;padding:10px 14px;background:#fff;border:1px solid #e3d6c2;border-left:6px solid var(--c);cursor:pointer;border-radius:3px}
.tl li:before{content:"";position:absolute;left:-36px;top:16px;width:16px;height:16px;border-radius:50%;background:var(--c);border:3px solid var(--paper)}
.tl li:hover,.tl li.sel{box-shadow:0 3px 10px rgba(0,0,0,.15);background:#fffaf2}
.tl .d{font:700 13px Arial;color:var(--mute)}.tl .tt{font-weight:700}
.detail{position:sticky;top:70px;background:var(--char);color:var(--cream);padding:20px;border-radius:4px;border-top:5px solid var(--ember)}
.detail a{color:var(--gold)}.detail h3{margin-top:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.card{background:#fff;border:1px solid #e3d6c2;border-top:6px solid var(--c);padding:18px;border-radius:3px}
.card h3{margin:0 0 8px;font-size:19px}.card dl{margin:0;font-size:15px}.card dt{font:700 12px Arial;text-transform:uppercase;color:var(--mute);margin-top:8px}.card dd{margin:0}
.card a{color:var(--rust)}
.mlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.mitem{background:#fff;border:1px solid #e3d6c2;border-left:6px solid var(--c);padding:14px;border-radius:3px}
.mitem .o{font:700 12px Arial;text-transform:uppercase;color:var(--mute)}.mitem a{color:var(--ink)}
footer{background:var(--char);color:#b9a993;padding:24px 0;font-size:14px}
@media(max-width:820px){.tl-grid{grid-template-columns:1fr}.detail{position:static}h2{font-size:28px}}

.hero-logo{display:block;width:180px;max-width:45vw;height:auto;margin:0 auto 1rem}
.footer-logo{display:block;width:110px;height:auto;margin:0 auto 12px}
.merch{background:var(--cream);color:var(--char);padding:60px 0;text-align:center}
.merch-logo{display:block;width:140px;height:auto;margin:0 auto 10px}.merch-sub{max-width:620px;margin:0 auto 24px}
.merch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;text-align:left}
.merch-card{background:#fff;border:1px solid #e2d6c2;border-radius:8px;overflow:hidden;color:var(--char);text-decoration:none;display:flex;flex-direction:column}
.merch-card:hover{border-color:var(--ember)}.merch-card img{width:100%;aspect-ratio:1;object-fit:cover;background:#fff}
.merch-t{padding:10px 12px 2px;font-weight:700;font-size:15px}.merch-p{padding:0 12px 12px;color:var(--ember);font-weight:700}
.merch-cta{margin-top:28px}
.bench-quote{background:var(--paper);padding:48px 0 8px}
.bench-quote blockquote{max-width:720px;margin:0 auto;padding:22px 28px;border-left:6px solid var(--ember);background:#fff;color:var(--ink);font-size:19px;line-height:1.55;font-style:italic}
.bench-quote h2{font-style:normal;color:var(--rust);margin:0 0 8px;text-transform:uppercase}
