/* Юридические страницы: строгая типографика в палитре главной */
:root { --red: #ff3b14; --ink: #0e0d0c; --bone: #ede6d8; --g: clamp(16px, 2.2vw, 32px); }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { background: var(--bone); color: var(--ink); font-family: "Deledda", system-ui, sans-serif; font-weight: 400; overflow-x: hidden; overflow-x: clip; }
a { color: inherit; text-underline-offset: 3px; }
::selection { background: var(--ink); color: var(--red); }

.top {
  display: flex; justify-content: space-between; gap: 16px;
  padding: 14px var(--g); border-bottom: 2px solid var(--ink);
  font-family: "Feature Mono", ui-monospace, monospace; font-size: 11px; letter-spacing: .2em; text-transform: uppercase;
}
.top a { text-decoration: none; }
.top a:hover { color: var(--red); }

main { padding: 10vh var(--g) 12vh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: 4vw; }
.aside { position: sticky; top: 4vh; align-self: start; display: grid; gap: 14px; font-family: "Feature Mono", ui-monospace, monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; line-height: 1.8; }
.aside b { font-weight: 700; }
.aside nav { display: grid; gap: 4px; border-top: 2px solid var(--ink); padding-top: 10px; }
.aside nav a[aria-current] { color: var(--red); }

article { max-width: 72ch; }
h1 { font-weight: 100; font-size: clamp(36px, 5.6vw, 96px); line-height: .92; text-transform: uppercase; letter-spacing: -.02em; margin-bottom: 5vh; }
h1 b { font-weight: 900; display: block; }
h2 { font-weight: 900; font-size: clamp(18px, 1.6vw, 24px); text-transform: uppercase; letter-spacing: -.01em; margin: 5vh 0 1.2vh; padding-top: 10px; border-top: 2px solid var(--ink); }
p, li { font-size: clamp(15px, 1.1vw, 17px); line-height: 1.6; }
p + p { margin-top: 1em; }
ul, ol { padding-left: 1.3em; margin-top: .6em; display: grid; gap: .35em; }
table { width: 100%; border-collapse: collapse; margin-top: 1em; font-size: 14px; line-height: 1.5; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid rgba(14, 13, 12, .25); }
th { font-family: "Feature Mono", ui-monospace, monospace; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; font-weight: 700; }
.lead { font-size: clamp(17px, 1.4vw, 21px); line-height: 1.5; }
.card { border: 2px solid var(--ink); padding: 16px 18px; margin-top: 1.2em; font-size: 15px; line-height: 1.7; }
.card b { font-weight: 900; }

footer { padding: var(--g); border-top: 2px solid var(--ink); }

@media (max-width: 760px) {
  main { grid-template-columns: minmax(0, 1fr); }
  p, li, td, .card { overflow-wrap: break-word; }
  .aside { position: static; }
  table, thead, tbody, tr, th, td { display: block; }
  thead { display: none; }
  td { padding: 4px 0; border: 0; }
  tr { padding: 10px 0; border-bottom: 1px solid rgba(14, 13, 12, .25); }
}
