
:root{--night:#101923;--navy:#182735;--gold:#d8b576;--paper:#f3eee4;--ink:#2c302e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}a{color:inherit}header{position:sticky;top:0;z-index:5;background:#101923f5;border-bottom:1px solid #d8b57655;color:#fff}.nav{max-width:1180px;margin:auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:20px;letter-spacing:.11em;text-decoration:none;color:#f5e6c8}.navlinks{display:flex;flex-wrap:wrap;gap:19px}.navlinks a{font:12px Arial,sans-serif;text-decoration:none;text-transform:uppercase;letter-spacing:.11em}.navlinks a:hover{color:var(--gold)}.wrap{max-width:1150px;margin:auto;padding:85px 24px}.hero{background:radial-gradient(ellipse at 72% 30%,#344150,var(--night) 70%);color:#f9f3e9}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center}.eyebrow{font:700 12px Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}h1{font-size:clamp(45px,6vw,79px);line-height:1.08;font-weight:normal;margin:18px 0}h2{font-size:clamp(34px,4vw,49px);font-weight:normal;margin:14px 0 24px}h3{font-size:27px;font-weight:normal;margin:16px 0}.lead{font-size:21px;line-height:1.65;color:#e1d9cc}.button{display:inline-block;padding:15px 22px;margin:12px 10px 0 0;background:var(--gold);border:1px solid var(--gold);color:#18212a;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font:700 12px Arial,sans-serif}.button.secondary{background:transparent;color:var(--gold)}.hero-cover{display:block;width:min(400px,100%);margin:auto;box-shadow:18px 22px 45px #0008;border:1px solid #d8b57666}.center{text-align:center}.intro{max-width:760px;margin:0 auto 40px;line-height:1.8;color:#626660}.books{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.book{background:#fffbf3;border:1px solid #d7cdbd;padding:25px;text-align:center}.book p{line-height:1.7;color:#525a5e;text-align:left}.book img{width:100%;max-width:215px;aspect-ratio:2/3;object-fit:contain;background:#15212b;box-shadow:8px 11px 22px #0003}.placeholder{width:100%;max-width:215px;aspect-ratio:2/3;margin:auto;background:linear-gradient(145deg,#344858,#14202b);color:#eedbb4;border:1px solid #b99c6a;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;padding:20px;box-shadow:8px 11px 22px #0002}.placeholder strong{font-size:25px;font-weight:normal}.tag{font:700 11px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#8b6b35}.dark{background:var(--night);color:#f2eadb}.about{display:grid;grid-template-columns:minmax(250px,420px) 1fr;gap:55px;align-items:start}.about img{width:100%;height:auto;border:1px solid #d8b57666;box-shadow:15px 20px 35px #0005}.about p,.prose p{line-height:1.85;font-size:17px}.about p{color:#e2dcd0}.prose{max-width:850px;margin:auto}.prose p{margin:0 0 18px}.quote{font-size:clamp(22px,3vw,34px);line-height:1.45;font-style:italic}.review{max-width:850px;margin:auto;text-align:center;border-top:1px solid #bba779;border-bottom:1px solid #bba779;padding:32px 12px}.stars{font-size:25px;color:#d8b576;letter-spacing:.15em}.muted{color:#bcb6a9;font:13px Arial,sans-serif}.review a{color:var(--gold)}.excerpt{max-width:830px;margin:auto}.excerpt details{border:1px solid #c9bda8;background:#fffaf1;padding:22px}.excerpt summary{cursor:pointer;font-size:21px;color:#6e512a}.excerpt .text{max-height:520px;overflow:auto;padding:15px 8px;line-height:1.9}.excerpt .text p{margin:0 0 17px}.contact{text-align:center}.contact p{line-height:1.8}.contact a.email{color:var(--gold);overflow-wrap:anywhere}footer{text-align:center;background:#0b121a;color:#c9c0b1;padding:28px 18px;font:12px Arial,sans-serif}footer a{color:var(--gold)}@media(max-width:760px){.nav{flex-direction:column}.navlinks{justify-content:center;gap:12px}.hero-grid,.about,.books{grid-template-columns:1fr}.hero-grid{text-align:center}.hero-cover{max-width:330px}.wrap{padding:60px 20px}.book{max-width:560px;margin:auto}.about{gap:30px}}

/* Portrait cover and consistent series cards */
.hero-cover{width:min(365px,100%);height:auto;object-fit:contain;border:0;box-shadow:16px 22px 45px #0009}.book img{display:block;margin:auto;height:auto;aspect-ratio:2/3;object-fit:contain}.placeholder{min-height:322px}.book{display:flex;flex-direction:column;align-items:center}.book p{text-align:left;width:100%}.book .button{margin-top:auto}.about img{display:block;object-fit:cover} @media(max-width:760px){.hero-cover{width:min(310px,90%)}.placeholder{min-height:300px}}

/* v4: Align the series artwork and book metadata consistently. */
.books{align-items:stretch}
.book{justify-content:flex-start;align-items:stretch;padding:24px}
.book-cover-slot{height:320px;width:100%;display:flex;justify-content:center;align-items:flex-start;flex:0 0 320px}
.book-cover-slot img,.book-cover-slot .placeholder{width:100%;max-width:205px;height:308px;min-height:0;aspect-ratio:auto;margin:0;object-fit:cover;flex:none}
.book-cover-slot .placeholder{display:flex;justify-content:center;align-items:center}
.book>.tag{margin-top:18px!important;min-height:28px;display:flex;align-items:center;justify-content:center}
.book h3{margin:9px 0 16px;min-height:64px;display:flex;align-items:flex-start;justify-content:center}
.book p{margin:0 0 16px}
.book .button{align-self:center}
@media(max-width:760px){.book-cover-slot{height:320px;flex-basis:320px}.book h3{min-height:0}.book{width:100%}}

/* Spotify audiobook links */
.audiobooks-section{background:#f2eee5;padding:80px 0;}
.spotify-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:920px;margin:32px auto 0;}
.spotify-link{display:flex;align-items:center;gap:16px;padding:24px 26px;background:#172330;border:1px solid #b7985b;color:#f5ecdb;text-decoration:none;box-shadow:0 12px 24px rgba(15,25,35,.12);transition:transform .2s,box-shadow .2s;}
.spotify-link:hover,.spotify-link:focus-visible{transform:translateY(-3px);box-shadow:0 18px 28px rgba(15,25,35,.2);}
.spotify-link strong,.spotify-link small{display:block;}
.spotify-link strong{font-size:1.12rem;line-height:1.4;}
.spotify-link small{margin-top:5px;color:#d6b474;font-size:.85rem;}
.spotify-link>span:last-child{margin-left:auto;font-size:1.5rem;color:#d6b474;}
.spotify-symbol{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid #d6b474;border-radius:50%;color:#d6b474;font-size:1.7rem;flex-shrink:0;}
.spotify-note{font-size:.85rem;color:#5d5d5d;margin-top:20px;}
@media(max-width:700px){.spotify-links{grid-template-columns:1fr}.audiobooks-section{padding:55px 0}.spotify-link{padding:18px}}
