* { box-sizing: border-box; }
body { margin: 0; color: #483640; background: #fcfaf7; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif; line-height: 1.7; }
a { color: #5b2d4c; text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 3px solid #9a6c8a; outline-offset: 5px; }
img { display: block; max-width: 100%; height: auto; }
header, nav, main, footer { width: min(1080px, calc(100% - 64px)); margin: auto; }
header { display: flex; align-items: center; justify-content: space-between; padding: 21px 0; border-bottom: 1px solid #e8dce4; gap: 20px; }
.author-brand { display: flex; align-items: center; gap: 13px; font-family: Georgia, serif; font-size: 23px; line-height: 1.05; }
.author-brand img { width: 77px; mix-blend-mode: multiply; }
.author-brand small { display: block; font: 8px/1.5 Arial, sans-serif; letter-spacing: 1px; margin-top: 7px; }
.return { font-size: 12px; }
nav { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 17px 0; font-size: 11px; }
.book-hero { display: grid; grid-template-columns: .73fr 1fr; gap: 70px; align-items: center; padding: 35px 0 53px; }
.cover { background: #f2eae9; padding: 24px; border-radius: 9px; display: flex; align-items: center; justify-content: center; }
.cover > img { width: min(100%, 300px); filter: drop-shadow(5px 12px 9px #391d3128); }
.eyebrow { color: #8b697d; text-transform: uppercase; font-size: 10px; font-weight: 600; letter-spacing: 2px; margin: 0 0 17px; }
h1, h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; color: #4c223f; line-height: 1.1; margin: 0; }
h1 { font-size: clamp(40px, 5vw, 64px); letter-spacing: -2px; }
.subtitle { font-family: Georgia, serif; font-size: 23px; font-style: italic; color: #806376; line-height: 1.3; margin: 22px 0 16px; }
.byline { font-size: 14px; }
.participation { background: #efe4ed; border-left: 2px solid #af8b9f; padding: 12px 17px; margin: 23px 0; }
.participation > strong { font-size: 12px; color: #663951; }
.participation p { font-size: 10px; margin: 4px 0 0; color: #8b6d7e; }
.actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button { background: #4c223f; color: #fff; padding: 10px 15px; border-radius: 6px; border: 1px solid #4c223f; font-size: 11px; }
.secondary { background: transparent; color: #4c223f; }
.isbn { font-size: 11px; color: #967d8b; margin: 16px 0 0; }
article { border: 1px solid #e8dce4; background: #fffdfb; border-radius: 10px; padding: 32px; font-size: 14px; color: #6a5461; }
article h2 { font-size: 32px; margin: 0 0 23px; }
article p { margin: 0 0 21px; }
article p:last-child { margin: 0; }
article a { text-decoration: underline; }
.meta { font-size: 11px; color: #846c7b; }
.related { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 35px 0; }
.related h2 { font-size: 28px; }
.related p { font-size: 13px; }
.related a { font-size: 12px; }
.note { padding: 22px; background: #f0e7ef; border-radius: 8px; font-size: 12px; align-self: center; }
footer { display: flex; justify-content: space-between; border-top: 1px solid #e8dce4; padding: 20px 0 27px; font-size: 10px; color: #88717f; }
.skip { position: absolute; top: -100px; left: 15px; padding: 12px; background: white; }
.skip:focus { top: 5px; }
@media (max-width: 740px) {
  header, nav, main, footer { width: calc(100% - 36px); }
  .author-brand { font-size: 18px; }
  .author-brand img { width: 59px; }
  .author-brand small { font-size: 6px; }
  .return { font-size: 10px; max-width: 90px; }
  .book-hero { gap: 29px; grid-template-columns: .8fr 1fr; }
  h1 { font-size: 38px; }
  .subtitle { font-size: 19px; }
  .cover { padding: 10px; }
  .participation { padding: 10px; margin: 15px 0; }
  .participation > strong { font-size: 10px; }
  .participation p { font-size: 9px; }
  .button { font-size: 10px; padding: 9px 12px; }
  .related { gap: 22px; }
  .related h2 { font-size: 25px; }
}
@media (max-width: 540px) {
  .book-hero { grid-template-columns: 1fr; gap: 28px; padding-top: 17px; }
  .cover { max-width: 320px; width: 100%; margin: auto; padding: 20px; }
  .cover img { max-height: 345px; object-fit: contain; }
  .book-head { max-width: 440px; }
  h1 { font-size: 46px; }
  .book-head h1 br { display: none; }
  .subtitle { font-size: 21px; }
  .participation > strong { font-size: 12px; }
  .participation p { font-size: 10px; }
  .button { font-size: 11px; }
  article { padding: 23px; font-size: 13px; }
  .related { grid-template-columns: 1fr; }
  .return { max-width: 70px; }
  nav { font-size: 10px; gap: 10px 16px; }
  footer { font-size: 9px; gap: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; }
}