:root{
  --bg:#0d0e10; --panel:#15171a; --text:#f3f3f1; --muted:#b7b9bd;
  --accent:#b3262d; --line:#2b2e33; --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;background:rgba(13,14,16,.96);border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--max);margin:auto;padding:18px 24px;display:flex;align-items:center;gap:28px}
.brand{text-decoration:none;font-weight:800;letter-spacing:.12em}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{text-decoration:none;color:var(--muted)}
.nav a:hover,.nav a[aria-current="page"]{color:#fff}
.market{background:var(--panel);color:#fff;border:1px solid var(--line);padding:9px 10px;border-radius:4px}
main{max-width:var(--max);margin:auto;padding:56px 24px}
.hero{min-height:58vh;display:grid;align-items:center;grid-template-columns:1.1fr .9fr;gap:54px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:.78rem}
h1,h2,h3{line-height:1.08;margin:0 0 18px}
h1{font-size:clamp(3rem,8vw,6.8rem);letter-spacing:-.045em}
h2{font-size:clamp(2rem,4vw,3.6rem)}
.red{color:var(--accent)}
.lead{font-size:1.2rem;color:#d4d5d7;max-width:680px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.button{display:inline-block;text-decoration:none;font-weight:700;letter-spacing:.05em;padding:13px 18px;border:1px solid #fff}
.button.primary{background:var(--accent);border-color:var(--accent)}
.button:hover{transform:translateY(-1px)}
.cover-placeholder{aspect-ratio:2/3;max-width:360px;margin:auto;border:1px solid var(--line);background:linear-gradient(145deg,#1a1c20,#090a0b);display:flex;align-items:center;justify-content:center;text-align:center;padding:35px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.cover-placeholder strong{font-size:2rem;line-height:1.05}
.section{padding:56px 0;border-top:1px solid var(--line)}
.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.book-card{display:grid;grid-template-columns:190px 1fr;gap:28px;background:var(--panel);padding:24px;border:1px solid var(--line)}
.book-cover{aspect-ratio:2/3;background:#0a0b0c;border:1px solid #34373c;overflow:hidden;position:relative}
.book-cover img{width:100%;height:100%;object-fit:cover;display:block}
.book-cover .fallback{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px}
.book-copy p{color:var(--muted)}
.newsletter{background:var(--panel);border:1px solid var(--line);padding:36px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.signup-placeholder{padding:13px 16px;border:1px dashed #6a6d73;color:var(--muted);min-width:300px;text-align:center}
.site-footer{border-top:1px solid var(--line);color:var(--muted)}
.footer-inner{max-width:var(--max);margin:auto;padding:28px 24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.prose{max-width:780px}
.prose p{color:#d0d1d3}
.note{border-left:3px solid var(--accent);padding-left:18px;color:var(--muted)}
@media(max-width:820px){
 .header-inner{flex-wrap:wrap}.nav{order:3;width:100%;margin-left:0}
 .hero{grid-template-columns:1fr;min-height:auto}.book-grid{grid-template-columns:1fr}
 .newsletter{grid-template-columns:1fr}.signup-placeholder{min-width:0}
}
@media(max-width:520px){
 main{padding:38px 18px}.header-inner{padding:15px 18px}.book-card{grid-template-columns:1fr}
 .book-cover{max-width:230px}.nav{gap:15px;font-size:.92rem}
}

/* Live Build 02 */
.promo-image{max-width:540px;margin:auto;width:100%}
.promo-image img{width:100%;height:auto;display:block;filter:drop-shadow(0 28px 42px rgba(0,0,0,.45))}
.coming-hero{padding:70px 0 34px;max-width:900px}
.coming-hero h1{margin-top:12px}
.signup-section{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
.emailoctopus-form{min-height:220px;background:var(--panel);border:1px solid var(--line);padding:24px}
.privacy-note{font-size:.9rem;color:var(--muted)}
@media(max-width:820px){.signup-section{grid-template-columns:1fr}.promo-image{max-width:460px}}
@media(max-width:520px){.promo-image{max-width:100%}.coming-hero{padding-top:38px}}


/* Individual book pages */
.book-page-title{font-size:clamp(2.5rem,6vw,5rem);margin-bottom:28px}
.book-detail{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.book-detail-cover{background:transparent;border:0;box-shadow:none;padding:0}
.book-detail-cover img{display:block;width:100%;height:auto;border:0;box-shadow:none;border-radius:0}
.book-detail .prose{max-width:720px}
.exception-cover{margin:0;max-width:340px}

/* About page: intentionally quieter than a book title */
.about-page{max-width:900px}
.about-name{
  font-size:clamp(2rem,4.2vw,3.6rem);
  line-height:1.05;
  text-transform:none;
  letter-spacing:-.02em;
  margin-bottom:22px;
}
.about-copy{padding-top:12px;max-width:720px}

@media(max-width:760px){
  .book-detail{grid-template-columns:1fr}
  .book-detail-cover,.exception-cover{max-width:280px;margin:0 auto}
}


/* About author photograph */
.about-layout{
  display:grid;
  grid-template-columns:minmax(190px,280px) 1fr;
  gap:clamp(32px,5vw,64px);
  align-items:start;
  padding-top:12px;
}
.author-photo{
  background:transparent;
  border:0;
  padding:0;
  box-shadow:none;
}
.author-photo img{
  display:block;
  width:100%;
  height:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.about-layout .about-copy{
  padding-top:0;
  margin-top:0;
}
@media(max-width:700px){
  .about-layout{grid-template-columns:1fr}
  .author-photo{max-width:300px}
}
