body:has(.book-discovery) { background: #111827; }
body:has(.book-discovery) .top-row { background: #111827; }
.book-discovery {
    --book-ink: #182037;
    --book-muted: #536078;
    --book-purple: #720e9e;
    max-width: 1120px;
    margin: 5rem auto 3rem;
    padding: clamp(1.25rem, 4vw, 3rem);
    background: #fff;
    color: var(--book-ink);
    border: 1px solid #e8e4ef;
    border-radius: 20px;
    font-size: 1.0625rem;
    line-height: 1.75;
    overflow-wrap: break-word;
}
.book-discovery h1, .book-discovery h2, .book-discovery h3 { color: var(--book-ink); font-weight: 750; line-height: 1.2; }
.book-discovery h1 { max-width: 850px; margin: .75rem 0 1.25rem; font-size: clamp(2rem, 4.5vw, 3rem); letter-spacing: -.035em; }
.book-discovery h2 { margin: 0 0 1rem; font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -.02em; }
.book-discovery h3 { margin: 0 0 .6rem; font-size: 1.25rem; }
.book-discovery a { color: var(--book-purple); text-decoration: underline; text-underline-offset: 3px; }
.book-discovery a:focus-visible, .book-discovery summary:focus-visible { outline: 3px solid #720e9e; outline-offset: 5px; }
.book-discovery section { margin-top: 3rem; }
.book-discovery [id] { scroll-margin-top: 5rem; }
.book-discovery .book-eyebrow { color: var(--book-purple); font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 750; }
.book-discovery .book-intro { max-width: 780px; color: var(--book-muted); font-size: 1.2rem; }
.book-discovery .book-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0 .75rem; }
.book-discovery .book-button { display: inline-flex; align-items: center; justify-content: center; padding: .85rem 1.2rem; border: 2px solid var(--book-purple); border-radius: 10px; background: var(--book-purple); color: #fff; font-size: 1rem; font-weight: 700; line-height: 1.4; text-decoration: none; text-align: center; }
.book-discovery .book-button:hover { background: #560b77; border-color: #560b77; }
.book-discovery .book-button-secondary { background: #fff; color: var(--book-purple); border-color: #d9c6e5; }
.book-discovery .book-button-secondary:hover { background: #f5effa; border-color: var(--book-purple); }
.book-discovery .book-plan-note { color: var(--book-muted); font-size: .9rem; }
.book-discovery .book-jump-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.75rem; padding: 1rem 0; border-top: 1px solid #e8e4ef; border-bottom: 1px solid #e8e4ef; font-size: .95rem; }
.book-discovery .book-example-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.book-discovery .book-style-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin: 1.5rem 0; }
.book-discovery figure { margin: 0; min-width: 0; }
.book-discovery figure img { display: block; width: 100%; height: auto; aspect-ratio: 1; border-radius: 12px; }
.book-discovery figcaption { color: var(--book-muted); font-size: .95rem; line-height: 1.5; padding: .75rem .2rem; }
.book-discovery figcaption strong, .book-discovery figcaption span { display: block; }
.book-discovery figcaption strong { color: var(--book-ink); margin-bottom: .25rem; }
.book-discovery .book-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.book-discovery .book-panel { border: 1px solid #e8e4ef; border-radius: 12px; padding: 1.25rem; }
.book-discovery .book-panel p:last-child { margin-bottom: 0; }
.book-discovery .book-steps { padding-left: 1.4rem; }
.book-discovery .book-steps li { padding-left: .3rem; margin-bottom: 1rem; }
.book-discovery .book-steps strong { display: block; }
.book-discovery .book-note { padding: 1.25rem 1.5rem; border-left: 4px solid var(--book-purple); background: #f8f5fb; border-radius: 0 10px 10px 0; }
.book-discovery .book-prompt { margin: 1rem 0; padding: 1.25rem 1.5rem; background: #f8f5fb; border: 1px solid #e8e4ef; border-radius: 12px; }
.book-discovery details { border-top: 1px solid #e8e4ef; padding: 1rem 0; }
.book-discovery details:last-child { border-bottom: 1px solid #e8e4ef; }
.book-discovery summary { cursor: pointer; font-weight: 700; line-height: 1.5; }
.book-discovery details p { margin: .75rem 0 0; }
.book-discovery .book-next-step { background: #f8f5fb; padding: 1.75rem; border-radius: 14px; }
.book-discovery .book-related { padding-top: 1.5rem; border-top: 1px solid #e8e4ef; }
.book-discovery .book-related ul { padding-left: 1.25rem; }
.home-book-guides { padding: 3rem 0; }
.home-book-guides .home-guide-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .85rem; margin-top: 1.5rem; }
.home-book-guides .home-guide-links a { display: inline-block; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; padding: .85rem 1rem; color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.home-book-guides .home-guide-links a:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.home-book-guides .home-guide-links a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
@media (max-width: 640px) {
    .book-discovery { margin: 4.5rem .75rem 2rem; border-radius: 14px; }
    .book-discovery .book-example-grid, .book-discovery .book-style-grid, .book-discovery .book-grid { grid-template-columns: 1fr; }
    .book-discovery .book-example-grid figure { max-width: 440px; margin: 0 auto; }
    .book-discovery .book-actions { flex-direction: column; }
    .book-discovery .book-next-step { padding: 1.25rem; }
}
