:root{--primary:#293040;--cream:#fefcf9;--soft:#fffaf3;--green:#34532b}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:#333;font:1.05rem/1.7 "Segoe UI",system-ui,sans-serif}
a{color:var(--green);text-underline-offset:3px}
a:hover{color:#293040}
a:focus-visible{outline:3px solid #aa8744;outline-offset:4px}
header{background:linear-gradient(135deg,#faf6ef,#fdfaf4);border-bottom:1px solid #ded4be}
.shell{max-width:1100px;margin:auto;padding:1.5rem}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.masthead img{max-width:100%;height:auto;display:block}
nav{display:flex;flex-wrap:wrap;gap:.5rem}
nav a,.return-link{display:inline-flex;align-items:center;min-height:44px;padding:.25rem .5rem}
h1,h2{overflow-wrap:break-word;color:var(--primary);line-height:1.2}
h1{font:700 clamp(2rem,4vw,3.3rem)/1.15 Georgia,serif;margin:0 0 .75rem}
h2{font-size:1.4rem}
.book-hero{display:grid;grid-template-columns:minmax(200px,320px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start;background:var(--soft);border:1px solid #f1e7d7;border-radius:.75rem;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 8px 26px #0000000d}
.cover{width:100%;height:auto;border-radius:.35rem;box-shadow:0 12px 30px #2930402e}
.author-profile{display:inline-flex;align-items:center;min-height:44px}
.subtitle{font-style:italic;color:#555;margin-top:0}
.byline{font-weight:600;color:var(--primary)}
.tagline{font-weight:600;color:#b02a37}
.availability{font-size:.9rem;color:#555}
.book-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:.6rem 1.25rem;background:#45602b;color:white;font-weight:600;text-decoration:none}
.book-btn:hover{background:#34532b;color:white}
section{margin:2.5rem 0}
.author{display:flex;gap:2rem;padding:1.5rem;border:1px solid #ded4be;border-radius:.75rem;background:var(--soft)}
.author img{flex-shrink:0;width:160px;max-width:100%;height:200px;object-fit:contain;align-self:start;border-radius:.5rem}
.author h2{margin-top:0}
.skip-link{z-index:200;position:absolute;top:-100px;left:1rem;padding:.75rem;background:white}
.skip-link:focus{top:1rem}
footer{text-align:center;background:#fafafa;border-top:1px solid #e9ecef;padding:1.5rem;font-size:.85rem;color:#555}
footer p{margin:.25rem}
@media(max-width:767px){.masthead{flex-direction:column}
.book-hero{grid-template-columns:minmax(0,1fr)}
.cover{max-width:260px;justify-self:center}
.author{flex-direction:column;gap:1rem}
.author img{flex-shrink:0;align-self:center}
.shell{padding:1rem}
nav a{min-height:48px}
}
