:root{
  --paper:#F4EFE6; --panel:#FFFFFF; --ink:#26221C; --muted:#6B6154;
  --line:#DDD3C2; --pine:#3D5A3C; --pine-deep:#2E452E; --ember:#C25E33;
}
*{box-sizing:border-box}
body{margin:0; background:var(--paper); color:var(--ink); font-family:"Source Sans 3",system-ui,sans-serif; font-size:17px; line-height:1.6}
.wrap{max-width:1020px; margin:0 auto; padding:0 24px}
a{color:var(--pine)}
.eyebrow{font-family:"Oswald",sans-serif; font-weight:500; font-size:13px; letter-spacing:.22em; text-transform:uppercase; color:var(--pine)}
h1,h2{font-family:"Oswald",sans-serif; font-weight:600; line-height:1.1; text-wrap:balance; margin:0}
header{border-bottom:3px solid var(--ink); padding:20px 0}
.brand{font-family:"Oswald",sans-serif; font-weight:600; font-size:20px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); text-decoration:none}
.crumbs{font-size:14px; color:var(--muted); padding-top:18px}
.crumbs a{color:var(--muted)}
.book-hero{padding:28px 0 56px}
.book-hero .grid{display:grid; grid-template-columns:260px 1fr; gap:40px; align-items:start}
.book-hero img{width:100%; height:auto; display:block; border:1px solid var(--line); box-shadow:0 10px 30px rgba(38,34,28,.12)}
.book-hero h1{font-size:clamp(32px,4.6vw,46px); text-transform:uppercase; letter-spacing:.02em; margin:12px 0 10px}
.book-hero .sub{font-size:17px; color:var(--muted); font-style:italic; margin:0 0 20px; max-width:60ch}
.book-hero .lede{font-size:19px; margin:0 0 24px; max-width:60ch}
.btn{display:inline-block; font-family:"Oswald",sans-serif; font-weight:500; letter-spacing:.08em; text-transform:uppercase; font-size:14px; padding:12px 20px; text-decoration:none; background:var(--pine); color:#fff}
.btn:hover{background:var(--pine-deep)}
.btn.alt{background:transparent; color:var(--pine); border:1px solid var(--pine); margin-left:8px}
.btn.alt:hover{background:#fff}
.stores{margin-top:12px; font-size:13px; color:var(--muted); display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.stores a{text-decoration:none; font-size:18px; line-height:1; padding:2px 4px; border:1px solid transparent; border-radius:4px}
.stores a:hover{border-color:var(--line); background:#fff}
.facts{margin:26px 0 0; padding:14px 0 0; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px 24px; font-size:14px}
.facts dt{font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ember)}
.facts dd{margin:2px 0 0; color:var(--ink)}
section{padding:52px 0}
section.panel{background:var(--panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
h2{font-size:28px; text-transform:uppercase; margin-bottom:18px}
.prose p{max-width:66ch; margin:0 0 14px}
.inside{margin:0; padding:0; list-style:none; max-width:72ch}
.inside li{padding:10px 0 10px 26px; border-bottom:1px solid var(--line); position:relative}
.inside li:last-child{border-bottom:none}
.inside li::before{content:""; position:absolute; left:4px; top:20px; width:10px; height:2px; background:var(--ember)}
.faq{max-width:72ch}
.faq h3{font-family:"Oswald",sans-serif; font-weight:500; font-size:19px; margin:22px 0 6px}
.faq p{margin:0; color:var(--ink)}
.more{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px}
.more a.card{display:grid; grid-template-columns:90px 1fr; gap:16px; align-items:center; text-decoration:none; color:var(--ink); background:var(--paper); border:1px solid var(--line); padding:16px}
.more a.card:hover{border-color:var(--pine)}
.more img{width:90px; height:auto; display:block; border:1px solid var(--line)}
.more .series{font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--ember)}
.more .t{font-family:"Oswald",sans-serif; font-weight:500; font-size:17px; line-height:1.25; display:block; margin-top:4px}
.newsletter{background:var(--pine-deep); color:#EDEAE2}
.newsletter .eyebrow{color:#C9D6C4}
.newsletter h2{color:#fff; margin-top:8px}
.newsletter p{color:#C9CFC2; max-width:56ch}
.nlform{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; max-width:520px}
.nlform input[type=email]{flex:1 1 260px; padding:13px 14px; font-size:16px; border:1px solid #58705A; background:#fff; color:var(--ink); font-family:inherit}
.nlform button{flex:0 0 auto; cursor:pointer; background:var(--ember); border:none; color:#fff; font-family:"Oswald",sans-serif; font-weight:500; letter-spacing:.08em; text-transform:uppercase; font-size:14px; padding:13px 22px}
.nlform button:hover{filter:brightness(1.08)}
.nlturnstile{flex:1 1 100%; min-height:68px}
.nlnote{font-size:13.5px; color:#A9B5A3; margin-top:12px}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.article-hero{padding:28px 0 8px}
.article-hero h1{font-size:clamp(30px,4.4vw,44px); text-transform:uppercase; letter-spacing:.02em; margin:12px 0 12px; max-width:22ch}
.byline{font-size:14px; color:var(--muted); margin:0}
.article{padding:28px 0 56px}
.article .prose h2{font-size:24px; margin:40px 0 12px}
.article .prose p{max-width:68ch}
.bookcard{display:grid; grid-template-columns:110px 1fr; gap:20px; align-items:center; max-width:68ch; margin-top:36px; background:var(--panel); border:1px solid var(--line); padding:20px}
.bookcard img{width:110px; height:auto; display:block; border:1px solid var(--line)}
.bookcard .t{font-family:"Oswald",sans-serif; font-weight:500; font-size:19px; line-height:1.25; display:block; margin:4px 0 6px}
.bookcard p{margin:0 0 12px; font-size:15.5px}
.excerpt{max-width:66ch; margin:0; padding:4px 0 4px 22px; border-left:3px solid var(--ember)}
.excerpt p{font-size:18.5px; margin:0 0 14px}
.excerpt cite{display:block; font-style:normal; font-size:14px; color:var(--muted)}
.reading{margin:0; padding:0; list-style:none; max-width:72ch}
.reading li{padding:8px 0}
.reading a{font-family:"Oswald",sans-serif; font-weight:500; font-size:19px; text-decoration:none}
.reading a:hover{text-decoration:underline}
footer{padding:36px 0 48px; font-size:14px; color:var(--muted)}
footer .fbrand{font-family:"Oswald",sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); margin-bottom:8px}
footer a{color:var(--muted)}
@media (max-width:720px){
  .book-hero .grid{grid-template-columns:1fr; gap:24px}
  .book-hero img{max-width:220px}
  .btn.alt{margin:10px 0 0}
  .bookcard{grid-template-columns:80px 1fr; gap:14px; padding:16px}
  .bookcard img{width:80px}
}
