/* «Как это устроено» — long-read articles with anatomy figures, Halo skin. */
.ku-article { padding: 2.5rem 1.25rem 5rem; }
/* One column: head, figure and text share the same width so their edges line up. */
.ku-article { --ku-measure: 44rem; }
.ku-head,
.ku-body { max-width: var(--ku-measure); margin: 0 auto; }
.ku-figure { max-width: var(--ku-measure); margin: 2.5rem auto 3rem; }

.ku-h1 {
  font-size: clamp(2rem, 1.3rem + 3vw, 3.1rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -0.035em;
  color: var(--halo-ink);
  text-wrap: balance;
}
.ku-lead { margin-top: 1.25rem; font-size: 1.1875rem; line-height: 1.6; color: rgba(23, 21, 30, 0.74); }
.ku-meta { margin-top: 1rem; font-size: .875rem; color: var(--halo-muted); }

.ku-body { font-size: 1.0625rem; line-height: 1.72; color: rgba(23, 21, 30, 0.84); }
.ku-body h2 {
  margin: 3rem 0 .75rem;
  font-size: clamp(1.4rem, 1.15rem + 1vw, 1.75rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: var(--halo-ink);
  scroll-margin-top: 1.5rem;
}
.ku-body p + p { margin-top: 1rem; }
.ku-body strong { color: var(--halo-ink); font-weight: 600; }
.ku-body ul,
.ku-body ol { margin: 1rem 0; padding-left: 1.4rem; }
.ku-body ul { list-style: disc; }
.ku-body ol { list-style: decimal; }
.ku-body li + li { margin-top: .5rem; }
.ku-body li::marker { color: var(--halo-violet); }
.ku-formula { white-space: nowrap; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: .9375rem; }

.ku-table-wrap { margin: 1.5rem 0; overflow-x: auto; }
.ku-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: 1rem; }
.ku-table caption { caption-side: bottom; padding-top: .6rem; text-align: left; font-size: .875rem; color: var(--halo-muted); }
.ku-table th,
.ku-table td { padding: .55rem .25rem; border-bottom: 1px solid var(--halo-line); text-align: left; }
.ku-table th { font-size: .8125rem; font-weight: 500; color: var(--halo-muted); }
.ku-table td:last-child,
.ku-table th:last-child { text-align: right; }

.ku-callout { margin: 2rem 0 0; padding: 1.5rem; border-radius: 18px; background: var(--halo-wash); }
.ku-callout-title { font-weight: 600; color: var(--halo-ink); }
.ku-callout p + p { margin-top: .5rem; }
.ku-callout-cta {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  margin-top: 1.1rem;
  padding: 0 1.2rem;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-size: .9375rem;
  font-weight: 500;
  text-decoration: none;
}
.ku-callout-cta:hover { background: var(--halo-deep); }

.ku-faq { margin-top: 1rem; }
.ku-sources { font-size: .875rem; line-height: 1.55; color: var(--halo-muted); }
