/* Сайт: раскладка поверх токенов и app.css. Цвета только из токенов. */
body { min-height: 100vh; display: flex; flex-direction: column; }
.site-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-3); max-width: 760px; width: 100%; margin: 0 auto; padding: var(--sp-4); }
.site-brand { display: flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 600; text-decoration: none; }
.site-nav { display: flex; gap: var(--sp-1); }
.site-nav a { display: inline-flex; align-items: center; min-height: var(--tap); padding: 0 var(--sp-3); border-radius: var(--r-in); color: var(--ink-2); text-decoration: none; font-weight: 500; }
.site-nav a:hover { background: var(--surface-sunk); }
.site-nav a[aria-current="page"] { color: var(--ink); background: var(--paper); box-shadow: inset 0 0 0 1px var(--hairline); }
.site-main { flex: 1; max-width: 760px; width: 100%; margin: 0 auto; padding: var(--sp-2) var(--sp-4) var(--sp-8); display: grid; gap: var(--sp-4); align-content: start; }
.site-main h1 { margin: 0; font-size: var(--fs-xl); line-height: 1.2; letter-spacing: -.02em; }
.site-main h2 { margin: var(--sp-5) 0 var(--sp-2); font-size: var(--fs-md); }
.site-main h2.big { margin: var(--sp-1) 0 var(--sp-4); font-size: var(--fs-xl); letter-spacing: -.02em; }
.site-main p { margin: 0; }
.kicker { color: var(--mid); font-size: var(--fs-xs); letter-spacing: .05em; text-transform: uppercase; font-weight: 500; }
.facts { display: grid; gap: var(--sp-3); margin: 0; }
.facts div { display: grid; gap: 2px; }
.facts dt { color: var(--mid); font-size: var(--fs-sm); }
.facts dd { margin: 0; font-size: var(--fs-md); font-weight: 500; }
.accent-text { color: var(--accent-ink); }
.card.flush { padding: 0; overflow: hidden; }
.card.flush .table-wrap { margin: 0; }
.prose h2:first-child { margin-top: 0; }
.prose p + p, .prose ul { margin-top: var(--sp-2); }
.prose ul { padding-left: var(--sp-5); }
mark { background: var(--warn-soft); color: var(--warn-ink); padding: 0 var(--sp-1); border-radius: 4px; }
.site-main a:not(.btn) { color: var(--ink); text-underline-offset: 3px; }
@media (min-width: 720px) {
  .facts { grid-template-columns: repeat(3, 1fr); }
  .site-main h1 { font-size: var(--fs-2xl); }
}
