/* Фрагменты книги «Как рождается речь» — общие стили */
.book-frag-hero{padding:48px 0 36px;background:linear-gradient(180deg,#fbf3e8,#fff)}
.book-frag-hero h1{font-family:'comic','Open Sans',cursive;color:var(--blue);font-size:clamp(34px,4.5vw,52px);line-height:1.08;margin:0 0 14px}
.book-frag-hero .lead{color:#41505a;font-size:17px;line-height:1.65;max-width:680px;margin:0 auto 22px}
.book-frag-badge{display:inline-block;background:#c15a34;color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:7px 14px;border-radius:999px;margin-bottom:14px}
.book-frag-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:22px}
.book-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:28px}
.book-topic{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.book-topic:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(53,122,153,.12)}
.book-topic h3{color:var(--blue);font-size:17px;margin:0 0 8px}
.book-topic p{color:var(--muted);font-size:14px;margin:0;line-height:1.55}
.book-topic span{color:var(--gold);font-weight:700;font-size:13px}
.book-dl{background:linear-gradient(180deg,#eaf5fb,#fff);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.book-dl__in{max-width:640px;margin:0 auto;text-align:center;padding:48px 24px}
.book-dl__in h2{margin-bottom:10px}
.book-dl__in p{color:#41505a;margin-bottom:20px;line-height:1.6}
.book-dl-form{display:grid;gap:12px;text-align:left;max-width:480px;margin:0 auto}
.book-dl-form input{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;font-size:15px}
.book-dl-form input:focus{outline:3px solid rgba(68,148,184,.25);border-color:var(--blue)}
.book-dl-note{font-size:13px;color:var(--muted);margin-top:12px;line-height:1.5}
.book-pages{max-width:820px;margin:0 auto;padding:32px 20px 60px}
.book-page{background:linear-gradient(180deg,#F7F1E7,#F1E8DA);border:1px solid #E7DBC9;border-radius:18px;padding:36px 40px;margin-bottom:24px;box-shadow:0 12px 36px -24px rgba(80,60,35,.4);font-family:Georgia,"Times New Roman",serif;color:#3F3B34;line-height:1.72}
.book-page h2{font-family:'Onest',sans-serif;font-size:22px;color:#33302B;margin:0 0 16px}
.book-page h3{font-size:18px;color:#5a4a3a;margin:22px 0 10px}
.book-page p{margin:0 0 14px;font-size:17px}
.book-page ul{margin:0 0 14px;padding-left:22px}
.book-page li{margin-bottom:8px;font-size:16px}
.book-page__n{font-family:'Onest',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#A9835F;margin-bottom:8px}
.book-page--cover{text-align:center;padding:48px 32px}
.book-page--cover h1{font-family:'comic','Open Sans',cursive;font-size:42px;color:#4494b8;margin:16px 0 8px}
.book-page--toc ul{list-style:none;padding:0;margin:0;columns:2;column-gap:32px}
.book-page--toc li{break-inside:avoid;margin-bottom:10px;font-size:15px;padding-left:28px;position:relative}
.book-page--toc li span{position:absolute;left:0;color:#B4906A;font-weight:700;font-family:'Onest',sans-serif;font-size:13px}
.book-gate{text-align:center;padding:80px 24px}
@media(max-width:700px){.book-page{padding:28px 22px}.book-page--toc ul{columns:1}}

@media print{
  .hdr,.footer,.float-cta,.book-dl,.book-frag-actions,.book-gate-msg{display:none!important}
  .book-page{break-after:page;box-shadow:none;border-radius:0;margin:0;border:0}
  body{background:#fff}
}
