/* Book storefront and phone-friendly extract reader, October 2026. */
:root{--book-ink:#17253b;--book-gold:#967044;--book-paper:#fbf8f1;--book-pink:#f3e6e0}
.book-shell{max-width:1120px;width:calc(100% - 36px);margin:0 auto;padding:36px 0}
.breadcrumb{font:600 14px/1.6 var(--sans);margin-bottom:24px}
.book-grid{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:clamp(28px,5vw,68px);align-items:start}
.book-art{background:var(--book-pink);padding:26px;display:grid;place-items:center;border:1px solid var(--line)}
.book-art img{width:260px;height:auto;box-shadow:0 12px 24px #17253b25}
.book-title{font:700 clamp(38px,5vw,62px)/1.06 var(--serif);letter-spacing:-.035em;margin:12px 0;color:var(--book-ink)}
.book-subtitle{font:600 20px/1.4 var(--serif);margin:10px 0 16px}
.book-copy{font:400 18px/1.75 var(--sans);color:#40454d}
.book-meta{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.book-meta span{font:600 13px/1.4 var(--sans);padding:8px 12px;border:1px solid var(--line);background:var(--cream)}
.book-price{font:700 42px/1.1 var(--serif);color:var(--book-ink);margin:18px 0 4px}.book-price small{font:400 15px/1.4 var(--sans);margin-left:8px}
.book-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0 10px}
.book-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--book-ink);font:700 16px/1.3 var(--sans);background:var(--book-ink);color:white;text-decoration:none;cursor:pointer;border-radius:3px}
.book-button.secondary{background:transparent;color:var(--book-ink)}
.book-button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #9c4e24;outline-offset:4px}
.book-button:disabled{background:#e5e2db;color:#585955;border-color:#bbb7ad;cursor:not-allowed}
.book-status{font:400 14px/1.65 var(--sans);color:#51555c;margin:12px 0}
.book-section{margin-top:44px;border-top:1px solid var(--line);padding-top:26px}.book-section h2{font:700 32px/1.15 var(--serif);margin:0 0 16px}
.book-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.book-feature{background:var(--cream);border:1px solid var(--line);padding:22px}.book-feature h3{font:700 23px/1.2 var(--serif);margin:0 0 12px}.book-feature p{font:400 16px/1.7 var(--sans);margin:0}
.book-quote{font:italic 28px/1.4 var(--serif);border-left:4px solid var(--gold);margin:28px 0;padding:8px 0 8px 22px}
.book-faq details{border-bottom:1px solid var(--line);padding:18px 0}.book-faq summary{cursor:pointer;font:700 17px/1.5 var(--sans)}.book-faq p{font:400 16px/1.7 var(--sans)}
.preview-wrap{max-width:880px;width:calc(100% - 36px);margin:0 auto;padding:30px 0}.preview-intro{font:400 17px/1.7 var(--sans)}
.preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:24px 0;padding:14px;background:var(--book-pink);border:1px solid var(--line)}
.preview-toolbar select{min-width:0;max-width:100%;padding:11px;font:400 16px/1.3 var(--sans);background:white;border:1px solid #8a8173}
.preview-page{margin:22px 0;padding:clamp(22px,5vw,52px);background:var(--book-paper);border:1px solid #c4b59e;box-shadow:0 8px 24px #17253b0b;color:var(--book-ink);scroll-margin-top:90px}
.preview-page[hidden]{display:none}.preview-page .page-label{font:600 12px/1.5 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#815e38;margin-bottom:28px}
.preview-page h2{font:700 clamp(28px,4vw,40px)/1.15 var(--serif);text-align:center;margin:0 0 28px;letter-spacing:-.025em}
.preview-page p{font:400 19px/1.85 var(--serif);margin:0 0 20px}.preview-page blockquote{font:italic 23px/1.55 var(--serif);text-align:center;margin:28px 0;padding:18px;background:var(--book-pink)}
.preview-page .source-note{font:400 13px/1.6 var(--sans);margin-top:28px;color:#666}.preview-page.cover{text-align:center}.preview-page.cover img{width:260px;height:auto;margin:12px auto 26px}
.preview-bottom{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:20px}.preview-count{font:600 14px/1.5 var(--sans)}
.preview-table-wrap{overflow-x:auto;max-width:100%}.preview-table{border-collapse:collapse;width:100%;table-layout:fixed;margin:24px 0;font:400 13px/1.4 var(--sans)}.preview-table th,.preview-table td{border:1px solid #a79983;padding:9px 5px;overflow-wrap:anywhere}.preview-table th{background:var(--book-pink);text-align:left}.preview-table td{height:62px}
.preview-aside{padding:18px;background:var(--book-pink);font:400 16px/1.65 var(--sans);margin-top:22px}.preview-aside p{font:400 17px/1.7 var(--sans);margin:12px 0 0}
/* Keep the complete cover in normal flow so its card grows before the text starts.
   A fixed-height grid with a 100% image allowed the image to overlap the copy. */
.book-mini-cover{display:block;box-sizing:border-box;padding:24px;background:var(--book-pink);height:auto;min-width:0}
.book-mini-cover img{display:block;width:100%;max-width:200px;height:auto;margin:0 auto;object-fit:contain}
.book-teaser{padding:28px;background:var(--book-pink);margin:26px 0;border:1px solid var(--line)}.book-teaser h2{font:700 34px/1.15 var(--serif);margin:8px 0 12px}.book-teaser p{font:400 17px/1.7 var(--sans)}
.article-wrap{width:min(820px,calc(100% - 36px))}.cover-grid>*{min-width:0}.section-title{flex-wrap:wrap}.newsletter input{min-width:0}.nav .wrap{max-width:calc(100% - 36px)}
@media(max-width:660px){.book-grid,.book-features{grid-template-columns:1fr}.book-art{padding:22px}.book-title{font-size:40px}.book-button{flex:1 1 auto}.preview-toolbar{align-items:stretch;flex-direction:column}.preview-toolbar select{width:100%}.preview-page p{font-size:18px;line-height:1.8}.preview-page blockquote{font-size:21px}.preview-table th{font-size:11px}.book-price small{display:block;margin:8px 0 0}.newsletter form{flex-direction:column}.section-title h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.topline,.masthead,.nav,.breadcrumb,.preview-intro,.preview-toolbar,.preview-bottom,.preview-actions,.footer{display:none!important}.preview-wrap{width:100%;max-width:none;padding:0}.preview-page,.preview-page[hidden]{display:block!important;box-shadow:none;margin:0;padding:20px;border:0;break-after:page}.preview-page:last-of-type{break-after:auto}.preview-page p{font-size:12pt;line-height:1.55}.preview-page h2{font-size:24pt}.preview-page .page-label{font-size:9pt}body{background:white}}
