
:root{
  --night:#170F13; --dusk:#3B1E22; --ember:#E7A546; --ember-deep:#B8741F; --dawn:#F6CF8E;
  --bg:#FBF5EC; --surface:#FFFFFF; --ink:#2A1C17; --muted:#6E5C52; --line:#E6D7C3;
  --btn-ink:#1E130D; --focus:#B8741F;
  color-scheme: light;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --bg:#140D10; --surface:#1E1418; --ink:#F4E9DA; --muted:#BFAE9C; --line:#3A2A2A; --focus:#F6CF8E; color-scheme: dark; }
}
:root[data-theme="dark"]{ --bg:#140D10; --surface:#1E1418; --ink:#F4E9DA; --muted:#BFAE9C; --line:#3A2A2A; --focus:#F6CF8E; color-scheme: dark; }
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
h1,h2,h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;line-height:1.08;margin:0}

/* hero: night to dawn */
.hero{position:relative;overflow:hidden;color:#F8EBD6;background:linear-gradient(180deg,#120B10 0%,#24131A 38%,#5A2A22 70%,#B8642A 92%,#E7A546 100%);padding:clamp(40px,8vw,88px) 0 0}
.sun{position:absolute;left:50%;bottom:-38vw;width:96vw;max-width:1100px;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(255,236,190,.95) 0%,rgba(246,184,92,.55) 18%,rgba(231,165,70,.18) 38%,rgba(231,165,70,0) 62%);animation:rise 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{transform:translate(-50%,18%);opacity:.2}to{transform:translateX(-50%);opacity:1}}
@media (prefers-reduced-motion:reduce){.sun{animation:none}}
.hero-inner{position:relative;text-align:center;padding-bottom:clamp(120px,22vw,220px)}
.hero .logo{width:min(220px,52vw);margin:0 auto 34px}
.hero h1{font-size:clamp(2.4rem,6.4vw,4.6rem);max-width:15ch;margin:0 auto;letter-spacing:-.01em}
.hero p.lede{font-size:clamp(1.08rem,2.1vw,1.3rem);max-width:36rem;margin:22px auto 0;color:#F1DCC0}
.hero .go{display:inline-block;margin-top:34px;padding:14px 26px;border-radius:999px;background:#F8EBD6;color:#2A1612;font-weight:500;text-decoration:none}
.hero .go:hover{background:#fff}

/* founder letter */
.letter{padding:clamp(56px,9vw,104px) 0}
.letter .grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:720px;margin:0 auto}
.letter h2{font-size:clamp(1.9rem,4vw,2.8rem)}
.letter p{margin:0 0 1.05em;font-family:"DM Serif Text",Georgia,serif;font-size:1.16rem;line-height:1.75}
.letter .sign{font-family:"Jost",sans-serif;color:var(--muted);font-size:1rem}

/* rise steps */
.rise{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(48px,8vw,88px) 0}
.rise h2{font-size:clamp(1.7rem,3.6vw,2.5rem);max-width:22ch}
.rise p.intro{max-width:40rem;color:var(--muted);margin:14px 0 34px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:2px solid var(--ember)}
.steps li{padding:18px 18px 4px 0}
.steps .k{font-family:"DM Serif Display",serif;font-size:2.6rem;color:var(--ember-deep);line-height:1}
.steps b{display:block;margin:6px 0 4px;font-weight:600}
.steps span{color:var(--muted);font-size:.97rem}
@media (max-width:780px){.steps{grid-template-columns:1fr 1fr}.steps li{padding-right:12px}}

/* shelf */
.shelf{padding:clamp(56px,9vw,104px) 0}
.shelf h2{font-size:clamp(1.9rem,4vw,2.8rem)}
.shelf p.intro{color:var(--muted);max-width:38rem;margin:12px 0 40px}
.books{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,3vw,34px) clamp(14px,2.4vw,28px)}
@media (max-width:900px){.books{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.books{grid-template-columns:repeat(2,minmax(0,1fr))}}
.book a{text-decoration:none;display:block}
.book .jacket{position:relative;border-radius:2px 6px 6px 2px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.05),0 14px 28px -12px rgba(40,18,10,.55);transition:transform .25s ease,box-shadow .25s ease}
.book .jacket::before{content:"";position:absolute;inset:0 auto 0 0;width:7%;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.12) 55%,rgba(0,0,0,0));z-index:1}
.book a:hover .jacket,.book a:focus-visible .jacket{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 22px 34px -14px rgba(40,18,10,.6)}
@media (prefers-reduced-motion:reduce){.book .jacket{transition:none}.book a:hover .jacket{transform:none}}
.book .t{margin-top:12px;font-family:"DM Serif Display",serif;font-size:1.08rem;line-height:1.2}
.book .c{color:var(--muted);font-size:.9rem}

/* crisis + footer */
.help{background:var(--night);color:#F2E3CF;padding:28px 0}
.help p{margin:0;max-width:56rem}
.help strong{color:var(--dawn)}
footer{padding:36px 0 48px;color:var(--muted);font-size:.92rem}
footer .row{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between}
footer img{width:96px}

/* book page */
.topbar{background:var(--night);color:#F2E3CF}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.topbar a{text-decoration:none;color:#F2E3CF}
.topbar img{width:110px}
.back{font-size:.98rem;border-bottom:1px solid rgba(242,227,207,.35)}
.detail{padding:clamp(36px,7vw,80px) 0}
.detail .grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,72px);align-items:start}
@media (max-width:820px){.detail .grid{grid-template-columns:1fr}.detail .cover{max-width:340px;margin:0 auto}}
.detail .cover img{border-radius:2px 8px 8px 2px;box-shadow:0 28px 50px -22px rgba(40,18,10,.7)}
.series{color:var(--ember-deep);font-weight:600;letter-spacing:.02em}
:root[data-theme="dark"] .series{color:var(--dawn)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .series{color:var(--dawn)}}
.detail h1{font-size:clamp(2.3rem,5.4vw,3.8rem);margin:8px 0 10px}
.detail .sub{font-family:"DM Serif Text",Georgia,serif;font-style:italic;font-size:1.25rem;color:var(--muted);margin:0 0 26px}
.detail h2{font-size:1.5rem;margin:30px 0 10px}
.detail p{max-width:40rem;margin:0 0 1em}
.ws{margin:30px 0 0;padding:24px clamp(18px,3vw,28px);background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ember);border-radius:4px 12px 12px 4px}
.ws ul{margin:12px 0 20px;padding-left:1.1em}
.ws li{margin:4px 0}
.dl{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border:0;border-radius:999px;background:var(--ember);color:var(--btn-ink);font:600 1.02rem "Jost",sans-serif;text-decoration:none;cursor:pointer}
.dl:hover{background:var(--dawn)}
.dl svg{width:20px;height:20px}
.note{color:var(--muted);font-size:.93rem;margin-top:12px}
.status{min-height:1.4em;font-size:.93rem;margin-top:8px}
.pager{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:56px;padding-top:22px;font-size:.98rem}
.pager a{text-decoration:none;max-width:45%}
.pager small{display:block;color:var(--muted)}
.pager span{font-family:"DM Serif Display",serif;font-size:1.15rem}
[hidden]{display:none!important}
