:root{--ivory:#fafaf8;--paper:#f2f2ef;--ink:#231f1c;--ink2:#5a5047;--line:#e2e2de;--dark:#161413;--cream:#f1f1ee;--red:#AA1E1E;--red2:#8a1717;--serif:"Cormorant Garamond",Garamond,"Times New Roman",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--serif);font-size:1.22rem;line-height:1.65;-webkit-font-smoothing:antialiased;
 background-image:radial-gradient(rgba(120,90,50,.05) 1px,transparent 1px);background-size:4px 4px}
a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--ink);color:var(--ivory);padding:.5rem 1rem;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.top{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.5rem;max-width:1200px;margin:0 auto;color:var(--cream)}
.brand{text-decoration:none;letter-spacing:.3em;text-transform:uppercase;font-size:.95rem;font-weight:600}
nav a{text-decoration:none;margin-left:1.6rem;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:#cfc4b0;border-bottom:1px solid transparent;transition:.2s}
nav a:hover{color:#fff;border-color:var(--red)}
@media(max-width:520px){nav{display:none}}
section{padding:5.5rem 1.5rem;max-width:1200px;margin:0 auto}
h1,h2{font-weight:500;line-height:1.08;margin:0}
h2{font-size:clamp(2.2rem,5vw,3rem);text-align:center;margin-bottom:3rem;letter-spacing:.02em}
h2::before{content:"";display:block;width:6px;height:6px;background:var(--red);transform:rotate(45deg);margin:0 auto 1.1rem}
/* Hero: the one dark band */
.hero{max-width:none;margin:0;color:var(--cream);background:radial-gradient(ellipse at 30% 40%,#3a2a26 0%,#1c1816 45%,#121110 100%);
 display:grid;gap:2.8rem;justify-items:center;text-align:center;padding:6rem 1.5rem 5rem;position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.cover img{display:block;width:min(70vw,400px);height:auto;box-shadow:0 35px 70px rgba(0,0,0,.65),0 0 80px rgba(170,30,30,.18);transition:transform .4s}
.cover img:hover{transform:translateY(-4px)}
.eyebrow{letter-spacing:.34em;text-transform:uppercase;color:#cbbfa9;font-size:.95rem;margin:0 0 .8rem}
h1{font-size:clamp(2.7rem,8.5vw,5rem);text-transform:uppercase;letter-spacing:.05em}
.genre{font-style:italic;font-size:1.6rem;color:#d8ccb6;margin:.7rem 0 0}
.rule{display:block;width:70px;height:2px;background:var(--red);margin:1.8rem auto}
.soon{font-size:1.3rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 1.8rem}
.btn{display:inline-block;font:inherit;font-size:1.02rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--red);color:#fff;border:1px solid var(--red);padding:.85rem 1.8rem;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
.btn:hover{background:var(--red2);transform:translateY(-1px);box-shadow:0 8px 20px rgba(170,30,30,.28)}
.btn.ghost{background:transparent;color:var(--cream);border-color:rgba(241,241,238,.5)}.btn.ghost:hover{border-color:var(--cream);background:rgba(241,241,238,.08);box-shadow:none}
[hidden]{display:none!important}
@media(min-width:900px){.hero{grid-template-columns:auto minmax(0,560px);justify-content:center;text-align:left;gap:5.5rem;padding:8rem 2rem 6.5rem;align-items:center}.rule{margin-left:0}}
/* Book / quotes */
.book{max-width:none;background:var(--paper);border-bottom:1px solid var(--line)}.book>*{max-width:1000px;margin-left:auto;margin-right:auto}
blockquote{margin:0}blockquote p{margin:0}
cite{display:block;margin-top:1rem;font-style:normal;font-size:.85rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.lead{text-align:center;margin-bottom:3.5rem;position:relative;padding:2.5rem 1rem 0}
.lead::before{content:"\201C";position:absolute;top:-1.6rem;left:50%;transform:translateX(-50%);font-size:7rem;line-height:1;color:var(--red);opacity:.22}
.lead p{font-size:clamp(1.8rem,4.4vw,2.8rem);font-style:italic;line-height:1.3;color:var(--ink)}
.quotes{display:grid;gap:1.6rem}@media(min-width:760px){.quotes{grid-template-columns:1fr 1fr}}
.quotes blockquote{background:var(--ivory);border:1px solid var(--line);border-top:3px solid var(--red);padding:1.6rem 1.7rem;font-size:1.32rem;font-style:italic;color:var(--ink);box-shadow:0 2px 0 rgba(0,0,0,.02),0 12px 30px rgba(60,40,20,.07);transition:transform .25s,box-shadow .25s}
.quotes blockquote:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(60,40,20,.12)}
/* Author */
.author{max-width:1000px}
.author-grid{display:grid;gap:2.5rem;justify-items:center}
.portrait img{display:block;width:min(70vw,320px);height:auto;border:10px solid #fff;box-shadow:0 20px 45px rgba(40,25,10,.18)}
.bio{color:var(--ink)}.bio p{margin:0 0 1.3rem}.bio p:first-child::first-letter{float:left;font-size:4rem;line-height:.85;padding:.3rem .5rem 0 0;color:var(--red)}
@media(min-width:760px){.author-grid{grid-template-columns:320px 1fr;gap:4rem;align-items:center;justify-items:start}}
/* News */
.news{max-width:none;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.news>*{max-width:680px;margin-left:auto;margin-right:auto}.news>p{color:var(--ink2)}
.signup{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin:1.8rem auto .6rem}
.signup input{flex:1 1 240px;max-width:380px;font:inherit;font-size:1.1rem;padding:.8rem 1rem;background:#ffffff;color:var(--ink);border:1px solid #cfcfca;transition:border-color .2s,box-shadow .2s}
.signup input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(170,30,30,.12)}
.signup input::placeholder{color:#8d8273}.msg{flex-basis:100%;margin:0;min-height:1.6em;color:var(--ink2)}
.small{font-size:.98rem;color:var(--ink2)}
/* Follow */
.follow ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.follow a{display:block;text-decoration:none;background:#ffffff;border:1px solid var(--line);padding:1rem 1.8rem;letter-spacing:.14em;text-transform:uppercase;font-size:1rem;font-weight:600;transition:.2s}
.follow a span{color:var(--ink2);font-weight:400;text-transform:none;letter-spacing:0;margin-left:.4rem}
.follow a:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px);box-shadow:0 10px 24px rgba(60,40,20,.1)}
footer{text-align:center;padding:2.5rem 1rem;background:var(--dark);color:#cbbfa9;font-size:.95rem;letter-spacing:.1em}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
