:root{
  --ink:#20222a;
  --ink-soft:#61656f;
  --paper:#ffffff;
  --line:#e4e2dd;
  --accent:#134e8b;
  --accent-soft:#eef4fa;
  --warn:#a03c2e;
  --warn-soft:#faf0ed;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'Montserrat',sans-serif;
  background:var(--paper);
  color:var(--ink);
  font-size:16.5px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent)}
.page{max-width:680px;margin:0 auto;padding:0 24px 100px}

/* ---------- шапка сайта ---------- */
.topbar{
  border-bottom:1px solid var(--line);
}
.topbar .inner{
  max-width:680px;
  margin:0 auto;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.topbar .brand{
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--ink);
  text-decoration:none;
}
.topbar .brand:hover{color:var(--accent)}
.topbar nav a{
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink-soft);
  text-decoration:none;
  padding:8px 0;
}
.topbar nav a:hover{color:var(--accent)}

/* ---------- подвал ---------- */
.footer{
  border-top:1px solid var(--line);
  margin-top:80px;
}
.footer .inner{
  max-width:680px;
  margin:0 auto;
  padding:26px 24px 40px;
  font-size:13.5px;
  color:var(--ink-soft);
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.footer a{color:var(--ink-soft)}
.footer a:hover{color:var(--accent)}

/* ---------- обложка ---------- */
.cover-hero{
  padding:92px 0 60px;
}
.cover-hero .kicker{
  font-size:13px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:18px;
}
.cover-hero h1{
  font-size:clamp(42px,9vw,68px);
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.05;
}
.cover-hero h1 .accent{color:var(--accent)}
.cover-hero .sub{
  margin-top:24px;
  font-size:clamp(17px,2.6vw,19px);
  line-height:1.65;
  color:var(--ink-soft);
  max-width:560px;
}
.cover-hero .btn{
  display:inline-block;
  margin-top:34px;
  background:var(--accent);
  color:#fff;
  font-weight:700;
  font-size:16px;
  text-decoration:none;
  padding:16px 30px;
  min-height:44px;
  transition:background .18s ease;
}
.cover-hero .btn:hover{background:#0e3d6e}

/* ---------- о книге ---------- */
.about{
  border-top:3px solid var(--ink);
  padding-top:26px;
  margin-top:24px;
}
.about h2{
  border-top:none;
  padding-top:0;
  margin-top:0;
}

/* ---------- оглавление ---------- */
.toc{margin-top:64px}
.toc h2{
  font-size:clamp(22px,3.6vw,27px);
  font-weight:800;
  letter-spacing:-.01em;
  margin:0 0 8px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.toc .toc-note{
  font-size:15px;
  color:var(--ink-soft);
  margin-bottom:26px;
}
.toc-item{
  display:flex;
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  color:var(--ink);
}
.toc-item .num{
  flex:0 0 auto;
  font-size:26px;
  font-weight:900;
  line-height:1.2;
  color:var(--accent-soft);
  -webkit-text-stroke:1.5px var(--accent);
  letter-spacing:.04em;
}
.toc-item h3{
  font-size:18px;
  font-weight:800;
  margin:0 0 6px;
  line-height:1.3;
}
.toc-item .anno{
  font-size:15px;
  color:var(--ink-soft);
  line-height:1.6;
  margin:0;
}
.toc-item .read{
  display:inline-block;
  margin-top:10px;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
}
a.toc-item:hover h3{color:var(--accent)}
.toc-item.soon{
  color:var(--ink-soft);
}
.toc-item.soon .num{
  -webkit-text-stroke:1.5px var(--line);
  color:transparent;
}
.toc-item.soon .tag{
  display:inline-block;
  margin-top:10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ink-soft);
  background:var(--accent-soft);
  padding:3px 10px;
}

/* ---------- начало главы ---------- */
.opener{
  padding:72px 0 56px;
  border-bottom:3px solid var(--ink);
  margin-bottom:56px;
  position:relative;
}
.opener .big-num{
  font-size:clamp(90px,16vw,140px);
  font-weight:900;
  line-height:.9;
  color:var(--accent-soft);
  -webkit-text-stroke:2px var(--accent);
  letter-spacing:.04em;
}
.opener .chapter-label{
  font-size:13px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--accent);
  margin:18px 0 10px;
}
.opener h1{
  font-size:clamp(32px,5.6vw,46px);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.12;
}
.opener .anno{
  margin-top:22px;
  font-style:italic;
  font-size:16.5px;
  color:var(--ink-soft);
  max-width:540px;
}

/* ---------- иллюстрации ---------- */
.illu{margin:0 0 56px}
.illu img{display:block;width:100%;height:auto}
section .illu{margin:4px 0 28px}
.illu + section h2{
  border-top:none;
  padding-top:0;
  margin-top:0;
}

/* ---------- типографика ---------- */
h2{
  font-size:clamp(22px,3.6vw,27px);
  font-weight:800;
  letter-spacing:-.01em;
  line-height:1.25;
  margin:64px 0 20px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.opener + section h2{
  border-top:none;
  padding-top:0;
  margin-top:0;
}
h3{
  font-size:17px;
  font-weight:700;
  margin:34px 0 12px;
}
p{margin:0 0 16px}
strong{font-weight:600}

ul,ol{margin:4px 0 18px;padding-left:1.5em}
li{margin-bottom:8px}
ul{list-style:none}
ul li{position:relative;padding-left:.4em}
ul li::before{
  content:"";
  position:absolute;left:-1.15em;top:.7em;
  width:6px;height:6px;
  background:var(--accent);
}
ol{list-style:decimal}
ol li::marker{font-weight:700;color:var(--accent)}

/* ---------- цитаты речи ---------- */
blockquote{
  margin:22px 0 22px 1.4em;
  padding-left:18px;
  border-left:3px solid var(--accent);
  font-style:italic;
  font-size:16px;
}
blockquote .who{
  display:block;
  font-style:normal;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-top:8px;
}

/* ---------- плашка «важно» ---------- */
.important{
  background:var(--accent-soft);
  border-left:4px solid var(--accent);
  padding:20px 24px;
  margin:28px 0;
}
.important .label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
}
.important p{margin:0;font-size:16px}

/* ---------- плашка «осторожно» ---------- */
.caution{
  background:var(--warn-soft);
  border-left:4px solid var(--warn);
  padding:20px 24px;
  margin:22px 0;
}
.caution h3{
  margin:0 0 8px;
  color:var(--warn);
  font-size:16px;
}
.caution p{margin:0 0 10px;font-size:15.5px}
.caution p:last-child{margin-bottom:0}

/* ---------- чеклист-рамка ---------- */
.box{
  border:1.5px solid var(--ink);
  padding:22px 26px;
  margin:24px 0;
}
.box h3{
  margin:0 0 14px;
  display:flex;
  align-items:baseline;
  gap:10px;
}
.box h3 .idx{
  color:var(--accent);
  font-weight:800;
}
.box ul{margin-bottom:0}
.box li{font-size:15.5px}

/* чекбоксы для чеклиста результата */
.box.checks li::before{
  content:"";
  width:12px;height:12px;
  background:none;
  border:1.5px solid var(--accent);
  top:.42em;
}

/* ---------- таблица ---------- */
table{
  width:100%;
  border-collapse:collapse;
  margin:26px 0;
  font-size:15px;
  line-height:1.55;
}
th{
  font-size:14px;
  font-weight:700;
  text-align:left;
  padding:10px 14px;
  background:var(--ink);
  color:#fff;
}
td{
  padding:11px 14px;
  border:1px solid var(--line);
  vertical-align:top;
  width:50%;
}

/* ---------- нумерованные приёмы ---------- */
.method{
  display:flex;
  gap:18px;
  margin:24px 0;
}
.method .n{
  flex:0 0 auto;
  font-size:15px;
  font-weight:800;
  width:32px;height:32px;
  background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;
  margin-top:4px;
}
.method h3{margin:0 0 8px}
.method p{font-size:16px;margin-bottom:10px}
.method p:last-child{margin-bottom:0}
.method ul{margin-bottom:0}
.method li{font-size:15.5px}

/* ---------- резюме главы ---------- */
.summary{
  margin-top:70px;
  background:var(--ink);
  color:#fff;
  padding:34px 34px 30px;
}
.summary .label{
  font-size:12px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#9db8d6;
  margin-bottom:16px;
}
.summary p{font-size:16px;margin-bottom:14px}
.summary p:last-child{margin-bottom:0}
.summary .strong-end{
  font-weight:700;
  font-size:16px;
  line-height:1.55;
  padding-top:16px;
  margin-top:6px;
  border-top:1px solid rgba(255,255,255,.25);
}

/* ---------- навигация по главам ---------- */
.chapter-nav{
  margin-top:56px;
  padding-top:24px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.chapter-nav a{
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  color:var(--accent);
  padding:10px 0;
}
.chapter-nav a:hover{text-decoration:underline}

@media (max-width:640px){
  body{font-size:15.5px}
  .opener{padding:48px 0 40px}
  .cover-hero{padding:64px 0 48px}
  .method{gap:14px}
  .toc-item{gap:14px}
  table,thead,tbody,tr{display:block}
  th,td{display:block;width:100%}
  th:first-child{margin-top:0}
  tr{margin-bottom:0}
  td{border-top:none}
}
