/* Страницы фабрики (site-src): вёрстка как у /blog/*, плюс таблицы, карточки, крошки */
.doc{max-width:820px;margin:0 auto;padding:0 32px}
.doc-nav{padding:22px 0}
.doc-nav .brand{font-family:var(--serif);font-weight:700;font-size:23px;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:10px}
.doc-nav .brand .dot{width:7px;height:7px;border-radius:50%;background:var(--terra);margin-left:-3px;margin-top:10px}
.doc-back{font-family:var(--mono);font-size:13px;color:var(--ink-2);margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.doc-back:hover{color:var(--forest)}
.doc-nav-inner{display:flex;align-items:center;gap:16px}
.crumbs{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);margin-bottom:14px}
.crumbs a{color:var(--ink-2)}.crumbs a:hover{color:var(--forest)}
.doc-head{padding:30px 0 6px}
.doc-head .eyebrow{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--terra);margin-bottom:14px}
.doc-head h1{font-size:clamp(30px,4.4vw,46px);line-height:1.08;letter-spacing:-.02em}
.doc-head .meta{font-family:var(--mono);font-size:13px;color:var(--ink-3);margin-top:14px}
.cover{margin:24px 0 8px;border-radius:16px;overflow:hidden;box-shadow:var(--sh-1)}
.cover img{width:100%;height:auto;display:block}
figure{margin:30px 0}
figure img{width:100%;height:auto;display:block;border-radius:14px;border:1px solid var(--border)}
figcaption{font-family:var(--mono);font-size:12.5px;color:var(--ink-3);margin-top:10px;line-height:1.5}
.doc-body{padding:18px 0 40px}
.lede{font-size:18px;line-height:1.66;color:var(--ink);background:var(--paper-2,#ECE7D9);border-radius:14px;padding:22px 24px;margin:8px 0 14px}
.doc-body h2{font-size:25px;margin:44px 0 14px;letter-spacing:-.01em}
.doc-body h3{font-size:19px;margin:28px 0 10px}
.doc-body p{color:var(--ink-2);margin-bottom:16px;line-height:1.66}
.doc-body ul,.doc-body ol{margin:0 0 16px 22px;color:var(--ink-2)}
.doc-body li{margin-bottom:10px;line-height:1.6}
.doc-body strong{color:var(--ink);font-weight:600}
.doc-body a{color:var(--forest);font-weight:600}
.tbl{overflow-x:auto;margin:22px 0;-webkit-overflow-scrolling:touch}
.tbl table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.tbl th,.tbl td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top}
.tbl th{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}
.tbl td:first-child{color:var(--ink);font-weight:600}
.tbl caption{caption-side:bottom;text-align:left;font-family:var(--mono);font-size:12.5px;color:var(--ink-3);padding-top:10px}
.tbl tr.us td{background:rgba(0,0,0,.025)}
.card{border:1px solid var(--border);border-radius:16px;padding:20px 22px;margin:22px 0}
.card dl{display:grid;grid-template-columns:minmax(120px,32%) 1fr;gap:8px 16px;margin:0}
.card dt{font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}
.card dd{margin:0;color:var(--ink-2)}
.card .src{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-top:12px}
.qa .q{font-size:18px;margin:26px 0 8px;letter-spacing:-.01em;font-weight:700;color:var(--ink)}
.cta{margin:46px 0 0;padding:26px 28px;background:var(--paper-2,#ECE7D9);border-radius:16px}
.cta h2{margin:0 0 8px}
.cta p{margin-bottom:16px}
.related-materials{padding:10px 0 0}
.related-materials h2{font-size:22px;margin:0 0 12px}
.related-materials ul{margin:0 0 0 20px}
.related-materials li{margin-bottom:8px}
.related-materials a{color:var(--forest);font-weight:600}
.author-box{margin-top:36px;padding:18px 20px;border-left:3px solid var(--terra);color:var(--ink-2);font-size:15px;line-height:1.6}
.doc-foot{border-top:1px solid var(--border);padding:28px 0 60px;font-family:var(--mono);font-size:13px;color:var(--ink-3);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:36px}
.doc-foot a{color:var(--ink-2)}.doc-foot a:hover{color:var(--forest)}
.hub-list{list-style:none;margin:0;padding:0}
.hub-list li{padding:14px 0;border-bottom:1px solid var(--border)}
.hub-list a{font-weight:600}
.hub-list .fact{display:block;font-size:14.5px;color:var(--ink-3);margin-top:4px}
@media(max-width:600px){.doc,.doc-nav{padding-left:16px;padding-right:16px}.doc-head h1{font-size:30px}.card dl{grid-template-columns:1fr}}
