/* ==== Статья: вёрстка материала блога ====
   Один источник на два места: образец `shablon-statya.html` и живые
   статьи, которые собирает `single.php`. Раньше этот стиль лежал
   инлайном в образце и печатался в каждую статью заново — семь
   килобайт, которые браузер не мог закэшировать.
   Правится здесь; в html ни того, ни другого куска больше нет. */

:root{--green:#16a34a;--green-d:#0f7a37;--green-bg:#e9f9ef;--ink:#0d0d14;--ink2:#42425a;--muted:#9090aa;--line:#e6e8ee;--soft:#f5f6f8}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#f7f8fa;font-family:'Manrope',system-ui,sans-serif;color:var(--ink)}
a{color:var(--green-d)}
.awrap{max-width:1200px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 300px;gap:34px;align-items:start}
.acol{background:#fff;border:1px solid var(--line);border-radius:18px;padding:38px 44px;margin:26px 0;box-shadow:0 1px 2px rgba(13,13,20,.04),0 12px 30px rgba(13,13,20,.05)}
.side{position:sticky;top:80px;margin:26px 0}
.crumbs{font-size:12.5px;color:var(--muted);margin-bottom:16px}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--green-d)}
.kicker{font-family:Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-d);margin-bottom:12px}
.atitle{font-family:'Geologica',sans-serif;font-weight:800;font-size:clamp(26px,3.4vw,40px);line-height:1.1;letter-spacing:-.02em;margin-bottom:16px}
.byline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--ink2)}
.byline .av{width:40px;height:40px;border-radius:50%;background:var(--green-bg);display:flex;align-items:center;justify-content:center;font-size:19px}
/* Портрет автора в подписи: на треть крупнее прежнего значка — 52 против 40. Лицо в сорока точках не читается, а подпись работает только тогда, когда за ней виден человек. */
.byline .av.ph{width:52px;height:52px;background:var(--line);overflow:hidden;flex:none;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--line)}
.byline .av.ph img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.byline b{color:var(--ink);font-weight:700}
.byline .dates{margin-left:auto;color:var(--muted);font-size:12.5px;display:flex;gap:16px;flex-wrap:wrap}
.cover{margin:22px 0;height:300px;border-radius:14px;background:linear-gradient(120deg,#0f2f1e,#16a34a);display:flex;align-items:center;justify-content:center;color:#eafff1;font-family:'Geologica';font-weight:700;font-size:20px;text-align:center;padding:20px}
/* Коротко */
.short{margin:24px 0;padding:24px 28px;border:1px solid #cdeed7;border-radius:16px;background:var(--green-bg)}
.short .sh{font-family:Consolas,monospace;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-d);margin-bottom:12px}
.short .lead{font-size:17px;line-height:1.6;color:var(--ink);font-weight:600;margin-bottom:12px}
.short ul{margin:0;padding-left:20px}.short li{font-size:15px;line-height:1.55;color:var(--ink2);margin-bottom:7px}
/* тело */
.abody{max-width:none}
.abody h2{font-family:'Geologica',sans-serif;font-weight:800;font-size:25px;line-height:1.15;margin:34px 0 12px}
.abody h3{font-family:'Geologica',sans-serif;font-weight:700;font-size:19px;margin:22px 0 10px}
.abody p{font-size:16.5px;line-height:1.75;color:#2b2b3a;margin-bottom:15px}
.abody ul,.abody ol{margin:0 0 16px;padding-left:24px}.abody li{font-size:16px;line-height:1.65;color:#2b2b3a;margin-bottom:9px}
.abody strong{color:var(--ink)}
.abody .ref{font-size:11px;vertical-align:super;color:var(--green-d);font-weight:700;text-decoration:none;margin-left:1px}
.akey{background:#fff4c2;border-radius:3px;padding:0 2px}
.alsi{background:#e0f0ff;border-radius:3px;padding:0 2px}
.hl-off .akey,.hl-off .alsi{background:transparent;padding:0}
.callout{margin:20px 0;padding:16px 20px;border-left:4px solid var(--green);background:var(--soft);border-radius:0 12px 12px 0;font-size:15.5px;line-height:1.6;color:var(--ink2)}
.say{margin:24px 0;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;gap:16px;box-shadow:0 8px 22px rgba(13,13,20,.05)}
.say .av{width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;flex:none}
.say .q{font-size:16.5px;line-height:1.6;color:var(--ink);font-style:italic;margin-bottom:10px}
.say .who{font-size:13px;color:var(--muted)}.say .who b{color:var(--green-d);font-style:normal}
.tw{overflow-x:auto;margin:8px 0 20px}
.abody table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:480px}
.abody th{text-align:left;background:var(--soft);color:var(--ink);font-weight:700;padding:11px 13px;border:1px solid var(--line)}
.abody td{padding:11px 13px;border:1px solid var(--line);color:var(--ink2);vertical-align:top}
.faq{margin-top:16px}
.faq details{border:1px solid var(--line);border-radius:12px;padding:0 20px;margin-bottom:10px;background:#fff}
.faq summary{cursor:pointer;list-style:none;padding:16px 0;font-family:'Geologica';font-weight:700;font-size:16px;color:var(--ink);display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--green);font-weight:800;font-size:22px;line-height:1}
.faq details[open] summary::after{content:'–'}
.faq details p{font-size:15.5px;line-height:1.6;color:var(--ink2);padding:0 0 18px}
.sources{margin-top:14px;font-size:13.5px;color:var(--ink2);line-height:1.7}
.sources ol{padding-left:20px}.sources li{margin-bottom:6px}
.service{margin:26px 0 6px;border:1px solid #cdeed7;border-radius:18px;background:radial-gradient(500px 240px at 100% 0,rgba(22,163,74,.08),transparent 60%),var(--green-bg);padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.service .t{font-family:'Geologica';font-weight:800;font-size:20px}
.service .s{font-size:14px;color:var(--ink2);margin-top:6px}
.btn{background:var(--green);color:#fff;font-family:'Geologica';font-weight:800;font-size:15px;padding:14px 26px;border-radius:12px;text-decoration:none;white-space:nowrap;border:none;cursor:pointer}
.disclaim{margin-top:20px;font-size:12.5px;color:var(--muted);line-height:1.6;border-top:1px dashed var(--line);padding-top:14px}
/* сайдбар */
.sbox{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:16px;box-shadow:0 1px 2px rgba(13,13,20,.04),0 10px 26px rgba(13,13,20,.05)}
.sbox .sbh{font-family:Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-d);margin-bottom:12px}
.toc a{display:block;font-size:13.5px;color:var(--ink2);text-decoration:none;padding:6px 0;border-bottom:1px solid var(--line)}
.toc a:last-child{border-bottom:none}.toc a:hover{color:var(--green-d)}
.metacard .m{font-size:13px;margin-bottom:10px;line-height:1.4}
.metacard .m b{display:block;font-family:Consolas,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:3px}
.metacard .m .v{color:var(--ink)}
.metacard .cnt{font-size:11px;color:var(--muted);float:right}
.tgl{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink2);cursor:pointer;user-select:none;padding:8px 0}
.tgl input{accent-color:var(--green)}
.tznote{font-size:12.5px;color:var(--ink2);line-height:1.55}
.tznote li{margin-bottom:6px}
@media(max-width:960px){.awrap{grid-template-columns:1fr}.side{position:static}.acol{padding:28px 22px}}
@media(max-width:560px){.awrap{padding:0 16px}}
