@font-face {
  font-family: Onest;
  src: url('/assets/fonts/onest-latin.woff2') format('woff2');
  font-weight: 400 700;
  font-display: swap;
}

@font-face {
  font-family: Onest;
  src: url('/assets/fonts/onest-cyrillic.woff2') format('woff2');
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

:root {
  color: #121212;
  background: #fff;
  font: 16px/1.6 Onest, system-ui, sans-serif;
}

body { margin: 0; }
a { color: inherit; text-underline-offset: .2em; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

.legal-header, .legal-document {
  box-sizing: border-box;
  width: min(100%, 52rem);
  margin-inline: auto;
  padding-inline: clamp(1rem, 5vw, 2.5rem);
}

.legal-header { padding-block: 1.25rem; }
.legal-brand { font-size: 1.5rem; font-weight: 700; letter-spacing: -.08em; text-decoration: none; }
.legal-nav { margin-top: 1rem; }
.legal-nav ul { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.legal-nav a { display: block; padding: .3rem .7rem; border-radius: 2rem; font-size: .875rem; text-decoration: none; }
.legal-nav a:hover { background: #f1f1f1; }
.legal-nav a[aria-current='page'] { background: #121212; color: #fff; }
.legal-nav a[aria-current='page']:focus-visible { outline-color: #121212; }

.legal-document { padding-block: clamp(1.5rem, 6vw, 4rem) 5rem; overflow-wrap: anywhere; }
h1, h2 { line-height: 1.16; letter-spacing: -.035em; }
h1 { max-width: 24ch; margin: 0 0 1.25rem; font-size: clamp(1.9rem, 5vw, 3.2rem); }
h2 { margin: 2.25rem 0 .65rem; font-size: clamp(1.2rem, 3vw, 1.55rem); }
p, .legal-document ul { margin: .75rem 0; }
.legal-document li { margin-block: .35rem; }
.legal-draft { margin-bottom: 1.25rem; color: #555; font-size: .875rem; }
.legal-table { overflow-x: auto; margin-block: 1.1rem; }
table { width: 100%; min-width: 37rem; border-collapse: collapse; font-size: .9rem; }
th, td { padding: .65rem .75rem .65rem 0; border-bottom: 1px solid #ddd; text-align: start; vertical-align: top; }
.legal-details { margin: 1.1rem 0; }
.legal-details div { display: grid; grid-template-columns: minmax(7rem, 1fr) 2fr; gap: .75rem; padding-block: .55rem; border-bottom: 1px solid #ddd; }
.legal-details dt { font-weight: 600; }
.legal-details dd { margin: 0; }

@media print {
  .legal-header { display: none; }
  .legal-document { width: 100%; padding: 0; }
  .legal-table { overflow: visible; }
  table { min-width: 0; }
}
