/* Cell 47 — LEDGER. Halvorsen & Reith.
   Композиция: реестр. Никаких карточек, плиток, рамок и заливок-контейнеров.
   Разделитель один — волосяная линейка. Номер висит в левом поле. */

@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-latin-400-normal.woff2) format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-latin-400-italic.woff2) format('woff2');
  font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-latin-500-normal.woff2) format('woff2');
  font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(/assets/fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2');
  font-weight:400;font-style:normal;font-display:swap}

:root{
  --bg:#FBFAF7;
  --bg-alt:#F1EEE7;
  --ink:#171512;
  --ink-soft:#6B655C;
  --accent:#7A2E1E;
  --rule:#D8D2C6;
  --display:Newsreader,"Iowan Old Style",Georgia,serif;
  --body:Newsreader,"Iowan Old Style",Georgia,serif;
  --ui:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --maxw:900px;
  --gutter:64px;
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.62 var(--body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main,.masthead,.site-footer>*,.crumbs{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* --- типографика --- */
h1{font:400 clamp(30px,5.2vw,54px)/1.06 var(--display);letter-spacing:-.008em;margin:44px 0 18px;max-width:20ch}
h2{font:400 clamp(20px,2.6vw,27px)/1.26 var(--display);margin:52px 0 12px;max-width:28ch}
h3{font:500 19px/1.35 var(--display);margin:32px 0 8px}
p{margin:0 0 18px;max-width:66ch}
a{color:var(--ink)}
a:hover{color:var(--accent)}
.lede{color:var(--ink-soft);font-size:19px;max-width:62ch}
.eyebrow,.meta,.footnote,.pending,.verified,.role,.prov,.crumbs,.nav a,.metric-lbl,.badge,.num{
  font-family:var(--ui);letter-spacing:.12em;font-size:11px;line-height:1.85}
.eyebrow,.metric-lbl,.nav a,.crumbs{text-transform:uppercase}
.footnote,.pending,.verified,.prov{letter-spacing:.01em;font-size:13px;line-height:1.55;text-transform:none;color:var(--ink-soft)}

/* --- шапка: строка, а не панель --- */
.masthead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px 26px;
  padding-top:26px;padding-bottom:22px;border-bottom:1px solid var(--rule)}
.brand{font:400 19px/1 var(--display);letter-spacing:.015em;text-decoration:none;color:var(--ink)}
.nav{display:flex;flex-wrap:wrap;gap:20px}
.nav a{color:var(--ink-soft);text-decoration:none}

/* --- секции разделяются линейкой, не фоном --- */
section{padding:30px 0;border-top:1px solid var(--rule)}
section:first-of-type{border-top:0;padding-top:14px}

/* --- реестровые списки: номер висит в поле --- */
.practice-list,.index-list,.jur-list,.jur-inline,.source-list,.topic-list,.list{list-style:none;padding:0;margin:0}
.index-list li,.practice-list li,.topic-list li{display:grid;grid-template-columns:var(--gutter) 1fr auto;
  gap:20px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--rule)}
.index-list li .meta,.practice-list .num{font-family:var(--ui);color:var(--ink-soft)}
.index-list a,.practice-list a,.topic-list a{text-decoration:none}
.practice-list a{display:contents}
.jur-list,.jur-inline{display:flex;flex-wrap:wrap;gap:8px 26px}
.jur-list a,.jur-inline a{text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px}

/* --- метрики: строки реестра, не плитки --- */
.metrics{display:flex;flex-wrap:wrap;gap:0 56px;margin:30px 0 26px}
.metric{display:flex;flex-direction:column;gap:2px}
.metric-num{font:400 38px/1 var(--display)}
.metric-lbl{color:var(--ink-soft)}

/* --- призыв: подчёркнутая строка, не кнопка --- */
.cta,.more{display:inline-block;font-family:var(--ui);text-transform:uppercase;letter-spacing:.16em;font-size:11px;
  color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:6px;margin-top:8px}
.cta:hover,.more:hover{border-bottom-width:2px}

/* --- таблицы --- */
table.matrix{width:100%;border-collapse:collapse;font-size:15px;margin:18px 0}
table.matrix th,table.matrix td{border-bottom:1px solid var(--rule);padding:11px 10px 11px 0;text-align:left;vertical-align:top}
table.matrix th{font-family:var(--ui);text-transform:uppercase;letter-spacing:.11em;font-size:10px;color:var(--ink-soft);font-weight:400}
td.row-label a{text-decoration:none}
td.meta,td.not-verified,.not-verified{color:var(--ink-soft);font-style:italic}

/* --- периметр и библиография: линейка сверху, без рамки и фона --- */
.perimeter,.sources{border:0;border-top:1px solid var(--ink);background:none;padding:22px 0 0;margin:44px 0 0}
.perimeter-title,.sources h2{margin:0 0 8px;font-size:18px}
.source-list{counter-reset:src}
.source-list li{display:grid;grid-template-columns:var(--gutter) 1fr;gap:20px;padding:12px 0;
  border-bottom:1px solid var(--rule);font-size:14px;line-height:1.5}
.source-list li::before{counter-increment:src;content:counter(src,decimal-leading-zero);
  font-family:var(--ui);font-size:11px;color:var(--ink-soft);letter-spacing:.1em}
.source-list a{color:var(--accent)}

/* --- определения --- */
dl{margin:0}
dl dt{font-family:var(--ui);text-transform:uppercase;letter-spacing:.11em;font-size:10px;color:var(--ink-soft);margin-top:18px}
dl dd{margin:3px 0 0;max-width:66ch}

/* --- бейдж достоверности --- */
.badge{display:inline-block;min-width:15px;padding:0 4px;margin:0 6px 0 0;border:1px solid var(--rule);
  font-size:10px;letter-spacing:.06em;color:var(--ink-soft)}
.badge-A{border-color:var(--accent);color:var(--accent)}
.cite{color:var(--ink-soft);text-decoration:none;border-bottom:1px dotted var(--rule)}
.cite:hover{color:var(--accent)}

/* --- монограмма: круг запрещён, только линейка --- */
.monogram{font:400 34px/1 var(--display);color:var(--ink-soft);border-bottom:1px solid var(--rule);
  display:inline-block;padding:0 0 8px;margin-bottom:14px;letter-spacing:.04em}

/* --- форма --- */
.form label{display:block;margin:16px 0}
.form input,.form select,.form textarea{width:100%;max-width:52ch;padding:9px 0;border:0;border-bottom:1px solid var(--rule);
  background:none;font-family:var(--body);font-size:16px;color:var(--ink);border-radius:0}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-bottom-color:var(--accent)}
.form button{margin-top:22px;font-family:var(--ui);text-transform:uppercase;letter-spacing:.16em;font-size:11px;
  border:0;border-bottom:1px solid var(--accent);background:none;color:var(--accent);padding:0 0 6px;cursor:pointer}

/* --- хлебные крошки --- */
.crumbs ul{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:14px 0 0;margin:0}
.crumbs a{color:var(--ink-soft);text-decoration:none}

/* --- подвал --- */
.site-footer{border-top:1px solid var(--rule);margin-top:56px;padding:28px 0 52px;background:var(--bg-alt)}
.footer-disclaimer p{color:var(--ink-soft);font-size:14px;max-width:74ch;margin:0 0 8px}
.footer-nav{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0 0}
.footer-nav a{font-family:var(--ui);text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--ink-soft);text-decoration:none}
.footer-meta{font-family:var(--ui);font-size:10px;letter-spacing:.14em;color:var(--ink-soft);margin-top:16px}

@media(max-width:760px){
  :root{--gutter:40px}
  .masthead{flex-direction:column;align-items:flex-start}
  .metrics{gap:0 34px}
  .index-list li,.practice-list li,.topic-list li{grid-template-columns:var(--gutter) 1fr}
  .index-list li .meta{grid-column:2}
}
