:root{
  --ink:#16150F; --ink-2:#3D423C; --muted:#71776F; --line:#DDE1DA;
  --paper:#EEF0EC; --card:#FFFFFF;
  --orange:#FF5A00; --orange-ink:#B33D00; --orange-wash:#FFEADF;
  --green:#00785C; --green-2:#12B98A; --green-wash:#DDF2EA;
  --r:20px; --shadow:0 1px 2px rgba(22,21,15,.05), 0 8px 24px -12px rgba(22,21,15,.18);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px; line-height:1.62; letter-spacing:-.01em; font-variant-numeric:tabular-nums;
}
.wrap{max-width:720px; margin:0 auto; padding:0 20px 80px}

/* ---------- шапка ---------- */
.masthead{padding:28px 0 6px; display:flex; align-items:center; justify-content:space-between; gap:14px}
.logo{display:flex; align-items:center; gap:11px; font-weight:800; letter-spacing:-.03em; font-size:17px; color:var(--ink); text-decoration:none}
.pulse{width:26px; height:26px; flex:0 0 26px; border-radius:9px; background:var(--orange); position:relative}
.pulse::after{content:""; position:absolute; inset:0; border-radius:9px; background:linear-gradient(135deg,transparent 52%,var(--green-2) 52%)}
.badge{
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:500; color:var(--ink-2);
  border:1px solid var(--line); border-radius:999px; padding:6px 13px; background:var(--card); text-decoration:none;
}
.badge:hover{border-color:var(--orange); color:var(--orange-ink)}

/* ---------- крошки ---------- */
.crumbs{font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--muted); padding:20px 0 6px}
.crumbs a{color:var(--muted); text-decoration:none}
.crumbs a:hover{color:var(--orange-ink)}
.sep{margin:0 7px; opacity:.5}

/* ---------- типографика ---------- */
h1{font-size:clamp(30px,5.4vw,44px); line-height:1.06; font-weight:800; letter-spacing:-.035em; margin:14px 0 14px}
h2{font-size:clamp(21px,3vw,26px); line-height:1.2; font-weight:800; letter-spacing:-.028em; margin:38px 0 12px}
h3{font-size:18px; font-weight:800; letter-spacing:-.02em; margin:26px 0 8px}
p{margin:0 0 16px; color:var(--ink-2)}
article ul,article ol{margin:0 0 16px; padding-left:22px}
article li{margin-bottom:8px; color:var(--ink-2)}
b,strong{color:var(--ink); font-weight:700}
a{color:var(--orange-ink); text-decoration-thickness:1px; text-underline-offset:2px}
a:hover{color:var(--orange)}
.meta{font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--muted); margin-bottom:24px}
.small{font-size:13.5px; color:var(--muted)}

/* ---------- «коротко» ---------- */
.short{
  background:var(--card); border-radius:var(--r); padding:22px 24px; margin-bottom:32px;
  box-shadow:var(--shadow); border-left:4px solid var(--green-2);
}
.short-t{
  font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--green); margin-bottom:10px;
}
.short p:last-child,.short ul:last-child{margin-bottom:0}

/* ---------- таблица значений ---------- */
.tbl{width:100%; border-collapse:collapse; margin:0 0 18px; font-size:15px; background:var(--card); border-radius:14px; overflow:hidden; box-shadow:var(--shadow)}
.tbl th,.tbl td{padding:12px 14px; text-align:left; border-bottom:1px solid var(--line)}
.tbl th{font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); background:#FAFBF9}
.tbl tr:last-child td{border-bottom:0}
.tbl td:last-child{font-family:'JetBrains Mono',monospace; font-weight:700; white-space:nowrap}
.tbl .goal{color:var(--green)}
.tbl .warn{color:var(--orange-ink)}
.tbl-wrap{overflow-x:auto; margin-bottom:18px}
.tbl-wrap .tbl{margin-bottom:0}

/* ---------- переход в калькулятор ---------- */
.cta-box{
  background:linear-gradient(158deg,#16150F 0%,#26241A 100%); color:#fff;
  border-radius:var(--r); padding:24px; margin:30px 0;
}
.cta-box-t{font-size:19px; font-weight:800; letter-spacing:-.025em; margin-bottom:8px; line-height:1.25}
.cta-box p{color:#C9CCC5; font-size:15px; margin-bottom:16px}
.cta-link{
  display:inline-block; background:var(--orange); color:#fff; text-decoration:none;
  padding:13px 22px; border-radius:13px; font-weight:800; font-size:15px; letter-spacing:-.02em;
}
.cta-link:hover{background:#FF7526; color:#fff}

/* ---------- заметка ---------- */
.note{
  background:var(--orange-wash); color:var(--orange-ink); border-radius:14px;
  padding:16px 18px; margin:0 0 18px; font-size:15px; line-height:1.55;
}
.note.g{background:var(--green-wash); color:#075C48}
.note p:last-child{margin-bottom:0; color:inherit}

/* ---------- FAQ ---------- */
.faq{margin-top:38px}
.qa{background:var(--card); border-radius:14px; padding:16px 18px; margin-bottom:9px; box-shadow:var(--shadow)}
.qa summary{font-weight:700; cursor:pointer; letter-spacing:-.02em; font-size:16px}
.qa summary::marker{color:var(--orange)}
.qa div{padding-top:10px}
.qa p:last-child{margin-bottom:0}

/* ---------- источники, дисклеймер ---------- */
.sources{margin-top:38px}
.sources ul{padding-left:20px}
.sources li{font-size:13px; color:var(--muted); line-height:1.5; margin-bottom:6px}
.disclaimer{
  margin-top:26px; padding:16px 18px; background:var(--card); border-radius:14px;
  font-size:13.5px; color:var(--muted); line-height:1.55; border:1px solid var(--line);
}

/* ---------- дальше читать ---------- */
.related{margin-top:44px; padding-top:8px}
.rel-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.rel{
  display:block; background:var(--card); border-radius:16px; padding:18px;
  text-decoration:none; box-shadow:var(--shadow); border:1px solid rgba(0,0,0,.03);
  transition:transform .14s;
}
.rel:hover{transform:translateY(-2px)}
.rel-t{display:block; font-weight:800; color:var(--ink); letter-spacing:-.02em; font-size:15.5px; margin-bottom:5px; line-height:1.3}
.rel-d{display:block; font-size:13.5px; color:var(--muted); line-height:1.45}

footer{margin-top:48px; padding-top:22px; border-top:1px solid var(--line)}
footer p{font-size:13.5px; color:var(--muted); margin-bottom:6px}

@media (max-width:640px){
  body{font-size:16.5px}
  .wrap{padding:0 16px 64px}
  .rel-grid{grid-template-columns:1fr}
  .short{padding:18px}
}
@media (prefers-reduced-motion:reduce){ *{transition:none !important} html{scroll-behavior:auto} }
:focus-visible{outline:2.5px solid var(--orange); outline-offset:2px; border-radius:6px}
