@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

/* ============================================================
   ОД9 · Фирменный бланк Ассоциации (АБЮС)
   Единый стиль для документов сайта od9ver.vercel.app.
   Токены извлечены из кода сайта. Две темы: paper (по умолчанию,
   печать) и graphite (экранное чтение). Префикс классов: .lh-*
   ============================================================ */

:root{
  /* paper / документная тема (по умолчанию) */
  --paper:#faf8f3; --sheet:#ffffff; --masthead:#0f1012;
  --ink:#1a1b1e; --ink-dim:#4a4c52; --muted:#7a7d85;
  --accent:#fc7a01; --accent-2:#ffb23e; --ember:#b5500f;
  --accent-ink:#a6480a;                /* акцентный ТЕКСТ на бумаге */
  --accent-soft:rgba(252,122,1,.10);
  --rule:rgba(20,21,26,.12); --rule-strong:rgba(20,21,26,.22);
  --on-masthead:#f4f1ea; --on-masthead-dim:#b9b6ad;

  --font-display:'Space Grotesk','NT Somic',-apple-system,system-ui,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --font-mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;

  --measure:68ch; --page:840px;
  --r-pill:999px; --r-panel:15px; --r-field:11px;
}
.theme-graphite{
  --paper:#0a0b0d; --sheet:#0d0e12; --masthead:#14151a;
  --ink:#f4f1ea; --ink-dim:#c7c4bc; --muted:#83868f;
  --accent-ink:#ffb23e;
  --accent-soft:rgba(252,122,1,.14);
  --rule:rgba(255,255,255,.10); --rule-strong:rgba(255,255,255,.18);
  --on-masthead:#f4f1ea; --on-masthead-dim:#9b9ea6;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper); color:var(--ink);
  font:400 16.5px/1.7 var(--font-body);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  transition:background .25s,color .25s;
}
::selection{background:var(--accent);color:#160b02}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.08;letter-spacing:-.02em}
a{color:var(--accent-ink);text-underline-offset:2px;text-decoration-thickness:1px}

/* ---- reading progress (фирменный градиент сайта) ---- */
.lh-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:120;
  transform:scaleX(0);transform-origin:0 50%;
  background:linear-gradient(90deg,var(--ember),var(--accent),var(--accent-2))}

/* ---- floating toolbar (тема / печать / наверх) ---- */
.lh-toolbar{position:fixed;top:16px;right:16px;z-index:130;display:flex;gap:8px}
.lh-tool{width:42px;height:42px;border-radius:var(--r-pill);cursor:pointer;
  display:grid;place-items:center;color:var(--ink);
  background:color-mix(in srgb,var(--sheet) 86%,transparent);
  border:1px solid var(--rule-strong);backdrop-filter:blur(10px);transition:.18s}
.lh-tool:hover{border-color:var(--accent);transform:translateY(-1px);color:var(--accent-ink)}
.lh-tool svg{width:19px;height:19px;stroke-width:1.7}
a.lh-tool{text-decoration:none}

/* шапка-бланк: логотип ведёт на сайт */
.lh-brandlink{display:flex;align-items:center;gap:20px;min-width:0;color:inherit;text-decoration:none;
  border-radius:10px;transition:opacity .18s}
.lh-brandlink:hover{opacity:.82}

/* ---- the sheet ---- */
.lh-page{max-width:var(--page);margin:34px auto;background:var(--sheet);
  border:1px solid var(--rule);border-radius:6px;overflow:clip;
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 24px 60px rgba(15,16,18,.10)}
.theme-graphite .lh-page{box-shadow:0 24px 60px rgba(0,0,0,.45)}

/* ---- masthead / шапка-бланк ---- */
.lh-masthead{background:var(--masthead);color:var(--on-masthead);
  padding:24px 56px;display:flex;align-items:center;gap:20px;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.lh-mark{width:46px;height:auto;color:var(--accent);flex:none;
  filter:drop-shadow(0 4px 14px rgba(252,122,1,.34))}
.lh-brandtext{display:flex;flex-direction:column;gap:3px;min-width:0}
.lh-wordmark{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.02em}
.lh-fullname{font-size:11.5px;letter-spacing:.08em;color:var(--on-masthead-dim);
  text-transform:uppercase;line-height:1.35;max-width:42ch}
.lh-docmeta{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:7px;align-items:flex-end;flex:none}
.lh-chip{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-2);border:1px solid rgba(252,122,1,.5);background:rgba(252,122,1,.10);
  padding:5px 11px;border-radius:var(--r-pill)}
.lh-docmeta small{font-family:var(--font-mono);font-size:11px;color:var(--on-masthead-dim);letter-spacing:.04em}
.lh-rule{height:3px;background:linear-gradient(90deg,var(--ember),var(--accent) 45%,var(--accent-2));
  -webkit-print-color-adjust:exact;print-color-adjust:exact}

/* ---- document body ---- */
.lh-body{padding:52px 56px 40px}
.lh-layout{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:1100px){
  .lh-layout.has-toc{grid-template-columns:228px 1fr;gap:48px;align-items:start}
}

/* ---- title block ---- */
.lh-doctitle{margin-bottom:8px}
.lh-eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent-ink);display:inline-flex;align-items:center;gap:10px}
.lh-eyebrow::before{content:"";width:26px;height:2px;background:var(--accent);border-radius:2px}
.lh-title{font-size:clamp(30px,4.4vw,46px);letter-spacing:-.03em;margin:16px 0 0;max-width:20ch;color:var(--ink)}
.lh-subtitle{font-size:clamp(17px,2vw,20px);color:var(--ink-dim);margin-top:12px;max-width:54ch;line-height:1.4}
.lh-metarow{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:22px;
  padding-top:18px;border-top:1px solid var(--rule)}
.lh-metarow .m{display:flex;flex-direction:column;gap:2px}
.lh-metarow .m b{font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--ink);letter-spacing:.01em}
.lh-metarow .m span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* ---- approval block (УТВЕРЖДЁН …) ---- */
.lh-approval{float:right;max-width:300px;margin:0 0 8px 28px;text-align:right;
  font-size:13.5px;line-height:1.5;color:var(--ink-dim)}
.lh-approval b{display:block;font-family:var(--font-display);font-weight:600;color:var(--ink);
  letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:4px}
.lh-approval .mono{font-family:var(--font-mono);color:var(--ink)}

/* ---- table of contents ---- */
.lh-toc{font-size:13.5px}
@media(min-width:1100px){.lh-toc{position:sticky;top:30px;max-height:calc(100vh - 60px);overflow:auto}}
.lh-toc-h{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);margin-bottom:14px}
.lh-toc ol{list-style:none;display:flex;flex-direction:column;gap:3px}
.lh-toc a{display:block;color:var(--ink-dim);text-decoration:none;padding:5px 12px;border-radius:8px;
  border-left:2px solid transparent;line-height:1.3;transition:.15s}
.lh-toc a:hover{color:var(--ink);background:var(--accent-soft)}
.lh-toc a.active{color:var(--accent-ink);border-left-color:var(--accent);background:var(--accent-soft);font-weight:500}
.lh-toc .roman{font-family:var(--font-mono);font-size:11px;color:var(--accent-ink);margin-right:8px}

/* ---- content stream ---- */
.lh-content{max-width:var(--measure)}
.lh-content>p{margin:0 0 16px;text-wrap:pretty}
.lh-lead{font-size:18.5px;line-height:1.55;color:var(--ink-dim);margin:8px 0 30px;max-width:60ch}

.lh-section{margin-top:46px;scroll-margin-top:24px}
.lh-h2{font-size:clamp(21px,2.6vw,27px);letter-spacing:-.02em;color:var(--ink);
  display:flex;align-items:baseline;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--rule-strong)}
.lh-h2 .idx{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--accent-ink);
  letter-spacing:.02em;flex:none}

.lh-article{margin-top:30px;scroll-margin-top:24px}
.lh-article-h{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.01em;
  color:var(--ink);margin-bottom:6px}
.lh-article-h .no{color:var(--accent-ink);margin-right:6px}

/* numbered clause — hanging indent, моно-номер (не оранжевый = дисциплина акцента) */
.lh-clause{display:grid;grid-template-columns:auto 1fr;gap:0 14px;margin:9px 0;align-items:baseline}
.lh-clause>.no{font-family:var(--font-mono);font-size:13.5px;color:var(--ink-dim);
  font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:1px}
.lh-clause>.tx{color:var(--ink)}
.lh-clause>.tx p+p{margin-top:10px}

/* sub enumeration 1) 2) 3) */
.lh-list{list-style:none;margin:8px 0 8px 0;display:flex;flex-direction:column;gap:7px}
.lh-list>li{display:grid;grid-template-columns:auto 1fr;gap:0 12px;align-items:baseline}
.lh-list>li::before{content:counter(li) ")";counter-increment:li;
  font-family:var(--font-mono);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.lh-list{counter-reset:li}

/* definition / glossary */
.lh-def{display:grid;grid-template-columns:auto 1fr;gap:4px 0;padding:14px 0;border-bottom:1px solid var(--rule)}
.lh-def:first-of-type{border-top:1px solid var(--rule)}
.lh-def .term{grid-column:1/-1;font-family:var(--font-display);font-weight:600;font-size:15.5px;color:var(--ink)}
.lh-def .term .q{color:var(--accent-ink)}
.lh-def .body{grid-column:1/-1;color:var(--ink-dim);font-size:15.5px;line-height:1.6}

/* callout / note (левый акцентный кант) */
.lh-note{margin:22px 0;padding:16px 20px;border-left:3px solid var(--accent);
  background:var(--accent-soft);border-radius:0 var(--r-field) var(--r-field) 0;font-size:15px;line-height:1.6;color:var(--ink-dim)}
.lh-note b{color:var(--ink)}

/* key-takeaways / summary panel */
.lh-summary{margin:26px 0;border:1px solid var(--rule-strong);border-radius:var(--r-panel);
  background:linear-gradient(180deg,var(--accent-soft),transparent);padding:24px 26px}
.lh-summary-h{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent-ink);margin-bottom:14px}
.lh-summary ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.lh-summary li{position:relative;padding-left:30px;font-size:15.5px;line-height:1.55;color:var(--ink)}
.lh-summary li svg{position:absolute;left:0;top:2px;width:18px;height:18px;color:var(--accent);stroke-width:2}

/* data table */
.lh-table{width:100%;border-collapse:collapse;margin:22px 0;font-size:14.5px}
.lh-table caption{text-align:left;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.lh-table th,.lh-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
.lh-table thead th{font-family:var(--font-display);font-weight:600;font-size:12.5px;letter-spacing:.02em;
  color:var(--ink);border-bottom:1px solid var(--rule-strong)}
.lh-table td.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink)}
.lh-table tr:last-child td{border-bottom:0}

/* requisites / signature */
.lh-requisites{margin-top:46px;padding-top:24px;border-top:1px solid var(--rule-strong);
  display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.lh-req-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:14px}
.lh-req-grid dt{color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding-top:2px}
.lh-req-grid dd{font-family:var(--font-mono);color:var(--ink);font-size:13.5px}
.lh-sign{text-align:center;min-width:220px}
.lh-sign .line{border-bottom:1px solid var(--rule-strong);height:34px;margin-bottom:8px}
.lh-sign .role{font-size:12px;color:var(--muted);letter-spacing:.04em}
.lh-sign .role b{display:block;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:13.5px;letter-spacing:0;margin-top:3px}

/* footnotes / sources */
.lh-refs{margin-top:38px;padding-top:18px;border-top:1px solid var(--rule);
  font-size:12.5px;color:var(--muted);line-height:1.6}
.lh-refs ol{padding-left:18px;display:flex;flex-direction:column;gap:5px}

/* page footer */
.lh-footer{padding:22px 56px 30px;border-top:1px solid var(--rule);
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center;
  font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--muted)}
.lh-footer .conf{color:var(--accent-ink)}

/* back-to-top */
.lh-fab{position:fixed;bottom:22px;right:22px;z-index:130;width:46px;height:46px;border-radius:var(--r-pill);
  display:grid;place-items:center;cursor:pointer;color:var(--on-masthead);background:var(--masthead);
  border:1px solid var(--rule-strong);opacity:0;pointer-events:none;transform:translateY(8px);transition:.22s}
.lh-fab.show{opacity:1;pointer-events:auto;transform:none}
.lh-fab:hover{color:var(--accent-2)}
.lh-fab svg{width:20px;height:20px;stroke-width:2}

/* ---- responsive ---- */
@media(max-width:720px){
  .lh-masthead{padding:18px 22px;gap:14px;flex-wrap:wrap}
  .lh-docmeta{margin-left:auto}
  .lh-body{padding:34px 22px 30px}
  .lh-footer{padding:20px 22px}
  .lh-approval{float:none;max-width:none;margin:0 0 22px;text-align:left}
  .lh-mark{width:38px}
}

/* ---- print / PDF ---- */
@media print{
  :root,.theme-graphite{ /* печать всегда бумажная */
    --paper:#faf8f3;--sheet:#fff;--masthead:#0f1012;--ink:#16171a;--ink-dim:#3a3c42;
    --muted:#6b6e76;--accent-ink:#9a4308;--rule:rgba(20,21,26,.16);--rule-strong:rgba(20,21,26,.28);
    --on-masthead:#f4f1ea;--on-masthead-dim:#b9b6ad;}
  @page{size:A4;margin:14mm 15mm}
  body{background:#fff}
  .lh-progress,.lh-toolbar,.lh-fab{display:none!important}
  .lh-page{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none}
  .lh-masthead{padding:14px 0}
  .lh-body{padding:24px 0 0}
  .lh-footer{padding:14px 0 0}
  .lh-layout.has-toc{grid-template-columns:1fr}
  .lh-toc{display:none}
  .lh-article,.lh-def,.lh-summary,.lh-clause{break-inside:avoid}
  .lh-h2,.lh-article-h{break-after:avoid}
  a{color:var(--ink)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
