.book-bonus { background: #eaf1f2; color: #253c3b; padding: 40px 24px; scroll-margin-top: 88px; }
.book-bonus__inner { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: 350px minmax(0, 1fr); gap: 40px; align-items: center; }
.book-bonus__cover { margin: 0; }
.book-bonus__cover img { display: block; width: 100%; height: auto; box-shadow: 8px 12px 24px #253c3b24; }
.book-bonus__cover figcaption { font-size: 13px; line-height: 1.5; margin-top: 16px; color: #435856; }
.book-bonus .book-bonus__copy h2 { font-size: 32px; line-height: 1.2; max-width: none; margin: 0 0 16px; letter-spacing: 0; }
.book-bonus__copy h2 span { color: #8a3046; }
.book-bonus__intro { font-size: 17px; line-height: 1.6; margin: 0 0 20px; }
.book-bonus blockquote { margin: 0 0 20px; padding: 18px 0; border: 0; border-top: 1px solid #b9cdca; border-bottom: 1px solid #b9cdca; }
.book-bonus blockquote p { font-family: var(--display, Georgia, serif); font-size: 18px; line-height: 1.65; margin: 0 0 10px; }
.book-bonus cite { font-size: 13px; color: #435856; font-style: normal; }
.book-bonus__terms { font-size: 14px; line-height: 1.6; margin: 0 0 20px; }
.book-bonus .button { white-space: normal; text-align: center; min-height: 44px; }
.hero__book-gift { display: inline-block; color: inherit; font-size: 15px; line-height: 1.5; margin-top: 18px; text-underline-offset: 4px; }
.purchase-book { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding: 18px 0; margin: 10px 0; border-top: 1px solid #d1dad8; border-bottom: 1px solid #d1dad8; }
.purchase-book img { width: 80px; height: auto; align-self: start; }
.purchase-book[hidden] { display: none; }
.purchase-book h3 { font-size: 18px; line-height: 1.3; margin: 0 0 8px; }
.purchase-book p, .purchase-book summary { font-size: 14px; line-height: 1.5; margin: 0 0 8px; }
.purchase-book details { background: transparent; padding: 0; border: 0; }
.purchase-book summary { cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 721px) and (max-width: 1024px) {
 .book-bonus__inner { grid-template-columns: minmax(240px, 30%) minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 720px) {
 .book-bonus { padding: 30px 20px; }
 .book-bonus__inner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .book-bonus__cover { width: 220px; max-width: 100%; margin: 0 auto; }
 .book-bonus .book-bonus__copy h2 { font-size: 26px; }
 .book-bonus blockquote p { font-size: 17px; }
 .book-bonus .button { width: 100%; }
}
