@charset "UTF-8";
/* =========================================================================
   Retrieva — внутренние страницы

   Оферта, политика конфиденциальности и 404. Хореографии здесь нет
   намеренно: это документы, их читают, а не проходят. Общее с лендингом —
   палитра, шрифты, шапка и подвал.
   ========================================================================= */

/* ------------------------- ОФЕРТА И ПОЛИТИКА ---------------------------- */
.legal { padding: 8rem 0 10rem; }
.legal__inner { max-width: 82rem; margin-inline: auto; }

.legal__back {
  display: inline-flex; align-items: center; gap: .8rem;
  font: 500 var(--fs-mono)/1 var(--f-mono); letter-spacing: .16em; text-transform: uppercase;
  color: var(--mute); margin-bottom: 4rem;
  transition: color var(--t-fast) var(--ease);
}
.legal__back:hover { color: var(--sage); }

.legal__title {
  font: 900 var(--fs-h2)/1.08 var(--f-display);
  letter-spacing: -.035em; color: var(--paper); text-wrap: balance;
}
.legal__intro { font-size: var(--fs-lead); line-height: 1.55; color: var(--sage); margin-top: 2rem; max-width: 52ch; }
.legal__edition {
  display: inline-block; font: 500 var(--fs-mono)/1 var(--f-mono);
  letter-spacing: .16em; text-transform: uppercase; color: var(--sage);
  border: 1px solid var(--line-2); padding: 1rem 1.8rem; margin-top: 2.6rem;
}

.legal__toc { margin: 5rem 0; padding: 3.4rem 3.4rem 3.6rem; background: var(--surface); border: 1px solid var(--line); }
.legal__toc h2 {
  font: 500 var(--fs-mono)/1 var(--f-mono);
  letter-spacing: .24em; text-transform: uppercase; color: var(--sage); margin-bottom: 2.2rem;
}
.legal__toc ol { display: flex; flex-direction: column; gap: 1.1rem; counter-reset: toc; }
.legal__toc li { counter-increment: toc; }
.legal__toc a { font-size: var(--fs-small); color: var(--sage); transition: color var(--t-fast) var(--ease); }
.legal__toc a::before { content: counter(toc) '. '; font-family: var(--f-mono); color: var(--mute); }
.legal__toc a:hover { color: var(--sage); }

.legal__body { color: var(--sage); }
.legal__body h2 {
  font: 700 var(--fs-h3)/1.25 var(--f-display); letter-spacing: -.015em;
  color: var(--paper); margin: 6rem 0 2rem; padding-top: 3rem; border-top: 1px solid var(--line);
}
.legal__body h2:first-child { margin-top: 0; border-top: 0; padding-top: 0; }
.legal__body p { font-size: var(--fs-body); line-height: 1.8; margin-bottom: 1.8rem; }
.legal__body p b, .legal__body strong { color: var(--paper); font-weight: 500; }
.legal__body a {
  color: var(--sage); border-bottom: 1px solid var(--line-2);
  transition: color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.legal__body a:hover { color: var(--sage); border-bottom-color: var(--sage); }

.legal__body ul { margin: 0 0 1.8rem; display: flex; flex-direction: column; gap: 1rem; }
.legal__body ul li { position: relative; padding-left: 2.6rem; font-size: var(--fs-body); line-height: 1.75; }
.legal__body ul li::before {
  content: ''; position: absolute; left: .4rem; top: 1.25rem;
  width: .8rem; height: 1px; background: var(--sage);
}

.legal__tablewrap { overflow-x: auto; margin: 0 0 2.6rem; -webkit-overflow-scrolling: touch; }
.legal__body table { width: 100%; min-width: 46rem; font-size: var(--fs-small); }
.legal__body th, .legal__body td {
  text-align: left; vertical-align: top; padding: 1.6rem 1.8rem 1.6rem 0;
  border-bottom: 1px solid var(--line); line-height: 1.65;
}
.legal__body th {
  font: 500 var(--fs-mono)/1.4 var(--f-mono); letter-spacing: .12em;
  text-transform: uppercase; color: var(--sage); white-space: nowrap;
}
.legal__body td { color: var(--sage); }
.legal__body tr:last-child td { border-bottom: 0; }

.legal__note {
  margin-top: 5rem; padding: 3rem 3.4rem; background: var(--surface); border: 1px solid var(--line);
  font-size: var(--fs-small); line-height: 1.75; color: var(--mute);
}

/* --------------------------------- 404 ---------------------------------- */
.notfound { padding: 12rem 0 14rem; }
.notfound__inner { max-width: 68rem; }
.notfound__code {
  font: 900 var(--fs-display)/1 var(--f-display);
  letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1px var(--line-2);
  margin-bottom: 2rem;
}
.notfound__title { font: 900 var(--fs-h2)/1.08 var(--f-display); letter-spacing: -.035em; color: var(--paper); margin-bottom: 2rem; }
.notfound__links { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 4rem; }
.notfound__links a {
  display: inline-block; background: var(--surface); border: 1px solid var(--line-2);
  padding: 1.4rem 2.4rem; font-size: var(--fs-small); color: var(--sage);
  transition: border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.notfound__links a:hover { border-color: var(--sage); color: var(--paper); }
.notfound__note { margin-top: 4rem; font-size: var(--fs-small); line-height: 1.7; color: var(--mute); }
.notfound__note a { color: var(--sage); border-bottom: 1px solid var(--line-2); }
.notfound__note a:hover { color: var(--sage); border-bottom-color: var(--sage); }

/* Лендинговый .lead на внутренних страницах называется по-старому. */
.section-lead { font-size: var(--fs-lead); line-height: 1.55; color: var(--sage); max-width: 52ch; }

/* На внутренних страницах подвал и шапка живут в узкой колонке. */
.legal .site-header__inner, .notfound .site-header__inner { max-width: none; }

/* ---------------------------- ТЕЛЕФОН ----------------------------------- */
@media (max-width: 760px) {
  .legal { padding: 5rem 0 7rem; }
  .notfound { padding: 7rem 0 9rem; }
  .legal__toc { padding: 2.6rem 2.2rem; }
  .legal__body h2 { margin-top: 4rem; padding-top: 2.4rem; }

  /* Таблицы раскладываются в столбик, а не скроллятся вбок. Первая ячейка
     становится подписью, поэтому шапка таблицы не нужна. */
  .legal__tablewrap { overflow-x: visible; }
  .legal__body table { min-width: 0; display: block; }
  .legal__body thead { display: none; }
  .legal__body tbody, .legal__body tr, .legal__body td { display: block; width: 100%; }
  .legal__body tr { border-bottom: 1px solid var(--line); padding: 1.8rem 0; }
  .legal__body tr:last-child { border-bottom: 0; }
  .legal__body td { border: 0; padding: 0 0 .8rem; }
  .legal__body td:first-child { color: var(--paper); }
  .legal__body td:last-child { padding-bottom: 0; }
}

/* ------------------- Текст согласия (политика) --------------------------
   В новой редакции политики приведена дословная формулировка согласия,
   которую видит посетитель формы. Это цитата документа, а не наш текст,
   поэтому она отделена рамкой и набрана мельче основного изложения. */
.legal__consent {
  margin: 0 0 2.6rem;
  padding: 2.6rem 3rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 2px solid var(--sage);
}
.legal__consent p {
  font-size: var(--fs-small);
  line-height: 1.75;
  margin-bottom: 1.2rem;
}
.legal__consent p:last-child { margin-bottom: 0; }
.legal__consent b { color: var(--paper); font-weight: 500; }

@media (max-width: 760px) {
  .legal__consent { padding: 2rem 1.8rem; }
}

/* Сноска под плашкой редакции: где размещён документ и какую редакцию
   он заменяет. В самой плашке этому не место — она набрана прописными
   моноширинными, и ссылка в ней нечитаема. */
.legal__supersede {
  font-size: var(--fs-small);
  line-height: 1.65;
  color: var(--mute);
  max-width: 68ch;
  margin-top: 1.4rem;
}
