/* =============================================================================
   Студия Аиста — служебные страницы: компания, контакты, политика, 404.
   Подключается ПОСЛЕ site.css. Только токены site.css, свои значения не вводим.
   Префикс .pg- — чтобы не пересечься с home.css и страницами продуктов.
   ========================================================================== */

/* --- Шапка страницы --------------------------------------------------------- */
.pg-head { padding-block: clamp(52px, 7vw, 104px) clamp(8px, 1.4vw, 18px); }
.pg-head h1 { max-width: 18ch; }
.pg-head .lead { margin-top: clamp(18px, 2vw, 26px); }

/* --- Проза ------------------------------------------------------------------ */
.pg-prose { max-width: 66ch; }
.pg-prose > * + * { margin-top: 18px; }
.pg-prose p { font-size: var(--fs-2); }
.pg-prose a:not(.btn):not(.tlink) {
  color: var(--accent); text-decoration: underline; text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.pg-prose a:not(.btn):not(.tlink):hover { color: var(--accent-h); }

/* --- Два столбца прозой (принципы, короткие блоки) -------------------------- */
.pg-two {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(26px, 3.2vw, 42px) clamp(32px, 5vw, 76px);
}
.pg-two h3 + p { margin-top: 8px; }
.pg-two p { max-width: 46ch; color: var(--muted); }
@media (max-width: 760px) { .pg-two { grid-template-columns: 1fr; } }

/* --- Таблица реквизитов ------------------------------------------------------ */
.pg-req {
  width: 100%; border-collapse: collapse; text-align: left;
  font-size: var(--fs-1); line-height: 1.55;
}
.pg-req th, .pg-req td {
  padding: 15px 0; vertical-align: top; border-bottom: 1px solid var(--line);
}
.pg-req th {
  width: 32%; padding-right: clamp(20px, 3vw, 44px);
  font-weight: 400; color: var(--muted); hyphens: none;
}
.pg-req td { color: var(--ink); }
.pg-req tr:first-child th, .pg-req tr:first-child td { border-top: 1px solid var(--line); }
.pg-req a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.pg-req a:hover { color: var(--accent-h); }
.pg-req ul { list-style: none; display: grid; gap: 6px; }
.pg-req li { display: grid; gap: 1px; }
.pg-req li span { color: var(--muted); }
@media (max-width: 640px) {
  .pg-req, .pg-req tbody, .pg-req tr, .pg-req th, .pg-req td { display: block; width: auto; }
  .pg-req tr { padding-block: 15px; border-bottom: 1px solid var(--line); }
  .pg-req tr:first-child { border-top: 1px solid var(--line); }
  .pg-req th, .pg-req td { padding: 0; border: 0; }
  .pg-req th { margin-bottom: 4px; padding-right: 0; }
}

/* --- Крупные карточки-ссылки (контакты) -------------------------------------- */
.pg-cards {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: clamp(14px, 1.6vw, 20px);
}
.pg-card {
  display: flex; flex-direction: column; gap: 10px;
  min-height: 44px; padding: clamp(22px, 2.6vw, 32px);
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r-m);
  color: var(--ink); text-decoration: none;
  transition: border-color .18s var(--ease), transform .18s var(--ease);
}
.pg-card:hover { border-color: var(--line-2); transform: translateY(-2px); }
.pg-card b {
  font: 600 clamp(18px, 1.9vw, 23px)/1.25 Onest, Inter, sans-serif;
  letter-spacing: -.015em; color: var(--accent); overflow-wrap: anywhere;
}
.pg-card:hover b { color: var(--accent-h); text-decoration: underline; text-underline-offset: 4px; }
.pg-card span { font-size: var(--fs-1); color: var(--muted); }
@media (prefers-reduced-motion: reduce) { .pg-card:hover { transform: none; } }

/* --- Документ: узкая колонка (политика) -------------------------------------- */
.pg-doc { max-width: 760px; margin-inline: auto; }
.pg-doc h1 { font-size: clamp(30px, 4.4vw, 46px); max-width: 20ch; }
.pg-doc h2 {
  font-size: clamp(22px, 2.4vw, 28px); letter-spacing: -.02em;
  margin-top: clamp(44px, 5.4vw, 68px); margin-bottom: 16px;
}
.pg-doc h3 { font-size: var(--fs-2); margin-top: 26px; margin-bottom: 8px; }
.pg-doc p, .pg-doc li { font-size: var(--fs-2); }
.pg-doc p + p { margin-top: 14px; }
.pg-doc ul, .pg-doc ol { margin-top: 14px; padding-left: 1.35em; display: grid; gap: 10px; }
.pg-doc li::marker { color: var(--muted); }
.pg-doc table + p, .pg-doc p + table, .pg-doc ul + p, .pg-doc ol + p { margin-top: 18px; }
.pg-doc a:not(.btn):not(.tlink) {
  color: var(--accent); text-decoration: underline; text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.pg-doc a:not(.btn):not(.tlink):hover { color: var(--accent-h); }

/* Служебная шапка документа: версия, дата, кем утверждена */
.pg-docmeta {
  margin-top: clamp(22px, 2.6vw, 30px); padding-top: 18px;
  border-top: 1px solid var(--line);
  display: grid; gap: 6px; font-size: var(--fs-1); color: var(--muted);
}
.pg-docmeta div { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.pg-docmeta dt { color: var(--muted); }
.pg-docmeta dd { color: var(--ink); }

/* --- Отступы между блоками внутри секции -------------------------------------- */
.pg-gap { margin-top: clamp(28px, 3.4vw, 44px); }
.pg-gap-s { margin-top: 22px; }

/* --- Финальный тёмный блок ---------------------------------------------------- */
.pg-final { display: grid; justify-items: start; gap: clamp(22px, 3vw, 32px); }
.pg-final h2 { max-width: 22ch; }

/* --- 404 ---------------------------------------------------------------------- */
.pg-404 {
  display: grid; align-content: center; justify-items: start;
  min-height: min(62vh, 520px);
  padding-block: clamp(64px, 9vw, 128px);
}
.pg-404 p { margin-top: clamp(16px, 2vw, 24px); }
.pg-actions {
  display: flex; flex-wrap: wrap; gap: 12px;
  margin-top: clamp(26px, 3.2vw, 38px);
}
