:root{
  --night:#14182B; --night-2:#1E2338; --night-3:#0E1120;
  --paper:#F4F1EA; --paper-2:#FBFAF6; --line:#E2DCCD;
  --ink:#1E2130; --ink-2:#33354A; --ink-3:#4A4B58;
  --moon:#EDE8DC; --mist:#C9C5D3; --dim:#A9A6B8;
  --brass:#C9A86A; --brass-ink:#7A5A22;
  --serif:"Palatino Linotype","Book Antiqua",Palatino,"Iowan Old Style","URW Palladio L",Georgia,serif;
  --sans:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--brass-ink)}a:hover{color:#4F3A14}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:8px 12px;z-index:10}

/* Header */
.site-header{background:var(--night);color:var(--moon)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:18px;padding-bottom:18px}
.brand{font-family:var(--serif);font-size:26px;letter-spacing:.03em;color:var(--moon);text-decoration:none;line-height:1.2}
.brand small{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.nav{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:15px}
.nav a{color:var(--moon);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--brass);color:#fff}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--night);color:var(--moon)}
.hero .stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .wrap{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-top:64px;padding-bottom:80px}
.hero-text{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:18px}
.hero-cover{flex:1 1 260px;display:flex;justify-content:center}
.hero-cover img{width:300px;filter:drop-shadow(0 24px 40px rgba(0,0,0,.45))}
.eyebrow{margin:0;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}
.eyebrow.on-light{color:var(--brass-ink)}
.hero h1{margin:0;font-family:var(--serif);font-weight:400;font-style:italic;font-size:clamp(64px,10vw,104px);line-height:1}
.tagline{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,29px);line-height:1.35}
.hero p.lead{margin:0;max-width:560px;color:var(--mist)}
.hero .note{margin:0;font-size:15px;color:var(--dim)}

/* Buttons */
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:4px;font-weight:600;text-decoration:none;font-size:16px;border:1px solid transparent;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--brass);color:var(--night)}
.btn-primary:hover{background:#D9B98C;color:var(--night)}
.btn-ghost{border-color:var(--moon);color:var(--moon)}
.btn-ghost:hover{background:rgba(237,232,220,.08);color:#fff}
.btn-dark{background:var(--night);color:var(--paper);font-size:15px;min-height:44px;padding:0 18px;font-weight:500}
.btn-dark:hover{background:#262B45;color:#fff}
.btn-line{border-color:var(--night);color:var(--night);font-size:15px;min-height:44px;padding:0 18px;font-weight:500}
.btn-line:hover{background:rgba(20,24,43,.06);color:var(--night)}
.link-light{color:var(--brass);font-weight:500;align-self:center;padding:0 6px}

/* Sections */
section{padding:88px 0}
.alt{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{margin:0 0 8px;font-family:var(--serif);font-weight:400;font-size:clamp(34px,4.4vw,50px);line-height:1.12}
h3{margin:0;font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.15}
.sub{margin:0 0 40px;color:var(--ink-3)}
.page-head{background:var(--night);color:var(--moon);padding:56px 0 48px}
.page-head h1{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(40px,6vw,60px);line-height:1.1}
.page-head p{margin:10px 0 0;color:var(--mist);max-width:640px}

/* Quote */
.quote{text-align:center}
.quote blockquote{margin:0 0 20px;font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.4}
.quote blockquote.second{font-style:italic;font-size:clamp(20px,2.5vw,26px);color:var(--ink-3)}

/* Book cards */
.books{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,470px),1fr));gap:32px}
.book{display:flex;flex-wrap:wrap;gap:28px;padding:30px;background:var(--paper);border-radius:6px}
.alt .book{background:var(--paper)}
.book .cover{flex:0 0 150px}
.book .cover img{width:150px;box-shadow:0 10px 22px rgba(20,24,43,.18)}
.book .cover img.mock{box-shadow:none;filter:drop-shadow(0 10px 16px rgba(20,24,43,.22))}
.book .body{flex:1 1 230px;min-width:0;display:flex;flex-direction:column;gap:10px}
.book p{margin:0;color:var(--ink-2)}
.book .meta{font-size:15px;color:var(--ink-3)}
.book .actions{margin-top:4px}
.author-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:56px 0 24px}
.author-head:first-child{margin-top:0}
.author-head h2{margin:0}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
.reviews figure{margin:0;padding:26px;background:var(--paper-2);border-radius:6px;display:flex;flex-direction:column;gap:12px}
.reviews blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.45}
.reviews figcaption{font-size:14px;color:var(--ink-3)}
.placeholder{color:var(--ink-3)}

/* Author */
.author{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.author .photo{flex:0 1 300px;aspect-ratio:4/5;background:var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-size:15px;text-align:center;padding:16px}
.author .text{flex:999 1 400px;min-width:0}
.author .text p{color:var(--ink-2)}

/* Downloads */
.downloads{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.downloads li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;background:var(--paper-2);border:1px solid var(--line);border-radius:6px}
.downloads strong{font-family:var(--serif);font-weight:400;font-size:22px}
.downloads span{display:block;font-size:14px;color:var(--ink-3)}

/* Forms */
.dark{background:var(--night);color:var(--moon)}
.dark p{color:var(--mist)}
.form{display:grid;gap:16px;max-width:560px}
.form label{display:grid;gap:6px;font-size:15px;font-weight:500}
.form input,.form textarea{font:inherit;padding:12px 14px;border-radius:4px;border:1px solid #9C9AA8;background:#fff;color:var(--ink);min-height:48px}
.form textarea{min-height:160px;resize:vertical}
.hidden{display:none}

/* Legal */
.legal h2{font-size:28px;margin-top:40px}
.legal p,.legal li{color:var(--ink-2)}

/* Footer */
.site-footer{background:var(--night-3);color:var(--dim);font-size:14px}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:28px;padding-bottom:28px}
.site-footer nav{display:flex;gap:22px}
.site-footer a{color:var(--mist)}

@media (max-width:600px){
  section{padding:64px 0}
  .hero .wrap{padding-top:40px;padding-bottom:56px;gap:36px}
  .hero-cover img{width:220px}
  .book{padding:22px}
  .book .cover{flex-basis:110px}.book .cover img{width:110px}
}
