:root{
  --ink:#111217;
  --paper:#fbf7f2;
  --cream:#f1e7dc;
  --red:#981d23;
  --deep:#111a21;
  --muted:#6f6a66;
  --line:rgba(17,18,23,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit}
.site-header{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:18px clamp(22px,5vw,70px);
  background:rgba(251,247,242,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(12px);
}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:Georgia,serif;font-size:1.2rem;font-weight:700}
.brand-role{font-size:.67rem;letter-spacing:.28em;color:var(--red);margin-top:7px}
nav{display:flex;gap:24px}
nav a{text-decoration:none;font-size:.92rem;font-weight:700}
.hero{
  min-height:76vh;
  display:grid;grid-template-columns:1.1fr .9fr;
  align-items:center;gap:clamp(34px,6vw,90px);
  padding:clamp(55px,8vw,105px) clamp(24px,7vw,100px);
  background:
    radial-gradient(circle at 80% 20%, rgba(152,29,35,.13), transparent 32%),
    linear-gradient(135deg,#faf4ed,#efe5da);
}
.hero-copy{max-width:720px}
.eyebrow,.book-kicker{
  color:var(--red);font-weight:800;letter-spacing:.2em;
  font-size:.74rem;margin:0 0 12px;
}
h1,h2,h3{font-family:Georgia,serif;line-height:1.08;margin:0}
h1{font-size:clamp(3rem,6vw,6.2rem);letter-spacing:-.04em}
h2{font-size:clamp(2.3rem,4.2vw,4.1rem);letter-spacing:-.03em}
h3{font-size:clamp(2.1rem,4vw,3. TV 5rem)}
.lead{font-size:clamp(1.05rem,1.6vw,1.28rem);max-width:650px;margin:26px 0 30px;color:#393735}
.hero-visual img{
width:100%;
height:auto; margin:auto;
  object-fit:contain;object-position:center top;
  border-radius:4px;
  box-shadow:24px 24px 0 rgba(17,26,33,.08);
}
.button{
  display:inline-block;margin-top:14px;
  padding:13px 19px;border:1px solid var(--ink);
  text-decoration:none;font-weight:800;
  transition:.2s ease;
  background:transparent;
}
.button:hover{background:var(--ink);color:white}
.button.primary{background:var(--red);border-color:var(--red);color:white}
.books{padding:clamp(70px,9vw,130px) clamp(24px,7vw,100px)}
.section-heading{max-width:700px;margin-bottom:60px}
.book-card{
  display:grid;grid-template-columns:minmax(250px,390px) 1fr;
  gap:clamp(35px,7vw,100px);align-items:center;
  padding:55px 0;border-top:1px solid var(--line);
}
.book-card.reverse{grid-template-columns:1fr minmax(250px,390px)}
.book-card.reverse .book-cover{order:2}
.book-card.reverse .book-copy{order:1}
.book-cover{
  width:100%;
  box-shadow:0 24px 50px rgba(0,0,0,.18);
}
.book-copy{max-width:700px}
.book-copy p{margin:16px 0}
.tagline{font-family:Georgia,serif;font-size:1.35rem;font-weight:700;color:var(--red)}
.punchline{font-weight:800;font-size:1.08rem}
.about{
  display:grid;grid-template-columns:minmax(280px,.82fr) 1.18fr;
  gap:clamp(40px,7vw,100px);
  padding:clamp(70px,9vw,125px) clamp(24px,7vw,100px);
  background:var(--deep);color:#f6f2ec;align-items:center;
}
.about-photo{
  width:100%;max-width:560px;margin:auto;
  aspect-ratio:4/5;object-fit:cover;object-position:center top;
}
.about .eyebrow{color:#e46767}
.about-copy p{max-width:760px;color:#ddd7d1}
.signature{
  text-align:center;padding:25px 24px;background:white;
}
.signature img{
  width:min(350px,78vw);margin:0 auto 14px;
  max-height:330px;object-fit:contain;
}
.signature p{margin:0;color:var(--muted);font-size:.9rem}
footer{
  text-align:center;padding:22px 24px;background:#0b0d10;color:#d9d9d9;
  font-size:.82rem;
}
@media (max-width:800px){
  .site-header{padding:15px 18px}
  .brand-name{font-size:1rem}
  nav{gap:14px}
  .hero{grid-template-columns:1fr;padding-top:48px}
 
  .book-card,.book-card.reverse{grid-template-columns:1fr}
  .book-card.reverse .book-cover,.book-card.reverse .book-copy{order:initial}
  .book-cover{max-width:360px;margin:auto}
  .about{grid-template-columns:1fr}
  .about-photo{max-width:420px}
}
@media (max-width:480px){
  nav a{font-size:.84rem}
  h1{font-size:2.8rem}
  .hero{min-height:auto}
}
