/* Общий стиль корпоративных и правовых страниц lov1.ru.
   Палитра взята из игры: светлый верх, сиреневый низ, градиент кнопок. */
:root {
  --ink: #241a33;
  --muted: #6b5f7a;
  --line: #e7dced;
  --card: #fff;
  --accent: #8b4fd6;
  --max: 760px;
}
* { box-sizing: border-box; }
html { background: #fafafa; }
body {
  margin: 0;
  font: 400 16px/1.6 "Montserrat", -apple-system, system-ui, "Helvetica Neue", Arial, sans-serif;
  color: var(--ink);
  background: linear-gradient(180deg, #fafafa 0%, #f7eef5 40%, #f2e2f0 100%);
  -webkit-text-size-adjust: 100%;
}
.wrap { max-width: var(--max); margin: 0 auto; padding: 28px 20px 64px; }
header.top { padding: 22px 20px 0; max-width: var(--max); margin: 0 auto; }
.brand { display: inline-flex; align-items: baseline; gap: 10px; text-decoration: none; color: var(--ink); }
.brand b { font-weight: 800; font-size: 21px; letter-spacing: -.01em; }
.brand span { font-size: 13px; color: var(--muted); }
h1 { font-size: 30px; line-height: 1.2; font-weight: 800; margin: 26px 0 14px; letter-spacing: -.015em; }
h2 { font-size: 20px; font-weight: 700; margin: 32px 0 10px; }
h3 { font-size: 16px; font-weight: 700; margin: 22px 0 8px; }
p { margin: 0 0 14px; }
ul, ol { margin: 0 0 16px; padding-left: 22px; }
li { margin: 0 0 7px; }
a { color: var(--accent); }
.lead { font-size: 18px; color: #3b2d4d; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 20px 22px; margin: 0 0 18px; }
.steps { counter-reset: s; list-style: none; padding: 0; }
.steps li { counter-increment: s; position: relative; padding-left: 44px; margin-bottom: 16px; }
.steps li::before {
  content: counter(s); position: absolute; left: 0; top: -2px;
  width: 30px; height: 30px; border-radius: 50%;
  background: linear-gradient(135deg, #fb7bd9, #b06cf3 55%, #8ed6f7);
  color: #fff; font-weight: 800; font-size: 15px; display: grid; place-items: center;
}
.fill { background: #fff6d6; border-bottom: 1px dashed #d8b23a; padding: 0 3px; }
table.req { width: 100%; border-collapse: collapse; font-size: 15px; }
table.req th, table.req td { text-align: left; vertical-align: top; padding: 7px 0; border-bottom: 1px solid var(--line); }
table.req th { width: 42%; font-weight: 600; color: var(--muted); }
footer.bot { border-top: 1px solid var(--line); margin-top: 40px; padding-top: 20px; font-size: 14px; color: var(--muted); }
footer.bot a { color: var(--muted); }
footer.bot nav { margin-bottom: 12px; display: flex; flex-wrap: wrap; gap: 8px 18px; }
