/* ─────────────────────────────────────────────────────────────
   ОБЩАЯ ОСНОВА ВСЕХ СТРАНИЦ AI Empire
   Токены, база документа, зерно и шапка. Раньше это лежало
   копией в каждом из четырёх html — любая правка цвета требовала
   четырёх одинаковых редактирований, и страницы неизбежно
   разъехались бы. Источник правды теперь здесь.

   ВАЖНО: файл отдаётся только если в Dockerfile есть COPY ui.css —
   без этой строки на проде будет 404 и голый html.

   Подключается ПЕРЕД <style> страницы, поэтому частные правила
   страницы всегда перебивают общие.
   ───────────────────────────────────────────────────────────── */

:root{
  --bg:#0F0E0C;
  --bg-2:#1A1815;
  --bg-3:#231F1A;
  --ink:#EFE5D2;
  --ink-2:#C8BFAE;
  --mute:#948C7D;
  --faint:#8E8779;   /* контраст 4.97 на подвале: мелкий серый должен читаться */
  --line:rgba(239,229,210,.12);
  --line-2:rgba(239,229,210,.07);
  --acc:#19A94F;
  --acc-hi:#28C763;
  --acc-soft:rgba(25,169,79,.12);
  --acc-ink:#07160C;   /* текст на зелёной плашке — тёмный, как в макете:
                          зелёный от этого читается глубже, чем с белым */
  --r:8px;
  --r-lg:12px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --nav-h:68px;
}

*{box-sizing:border-box}
/* НИКАКОГО overflow-x ни у html, ни у body.
   У body он делает страницу отдельным контейнером прокрутки и ломает
   position:sticky (шапка, переключатель периода). У html он на телефонах
   срывает position:fixed — липкая кнопка уезжала в самый низ документа
   и до неё нельзя было добраться.
   Горизонталь держим тем, что ни один элемент за экран не выходит:
   лента карусели обрезана своим overflow:clip с clip-margin. Проверено
   на 320, 375 и 1271 — виновников ноль. Если что-то вылезет, чинить надо
   этот элемент, а не затыкать обрезкой всю страницу. */
html{scroll-behavior:smooth;background:var(--bg);color-scheme:dark}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:Onest,system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
a{color:inherit}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:rgba(25,169,79,.2)}
img{max-width:100%;display:block}
::selection{background:rgba(25,169,79,.3);color:var(--ink)}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:var(--bg-2)}
::-webkit-scrollbar-thumb{background:rgba(239,229,210,.18);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:rgba(239,229,210,.3)}
:focus-visible{outline:2px solid var(--acc-hi);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--acc);color:#fff;padding:12px 18px;border-radius:0 0 var(--r) 0}
.skip:focus{left:0}

/* зерно поверх всего — фон перестаёт быть «пластиковым» */
body::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 .96 0 0 0 0 .88 0 0 0 .05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.page{position:relative;z-index:1}
.container{max-width:1240px;margin:0 auto;padding:0 max(24px,env(safe-area-inset-left)) 0 max(24px,env(safe-area-inset-right))}

/* ── цветные оттенки ──
   Палитра остаётся одноцветной по смыслу: зелёный = наш акцент. Эти четыре
   тона нужны там, где рядом стоят РАЗНЫЕ вещи и их надо различать взглядом
   (способы оплаты, типы людей, строки «что получишь»). Не для украшения. */
.t-green{--tone:#28C763;--tint:rgba(25,169,79,.13);--tint-line:rgba(25,169,79,.32)}
.t-blue{--tone:#6FA3FF;--tint:rgba(111,163,255,.13);--tint-line:rgba(111,163,255,.3)}
.t-violet{--tone:#A98CFF;--tint:rgba(169,140,255,.13);--tint-line:rgba(169,140,255,.3)}
.t-amber{--tone:#E5A94C;--tint:rgba(229,169,76,.13);--tint-line:rgba(229,169,76,.3)}
.t-rose{--tone:#FF8FA3;--tint:rgba(255,143,163,.13);--tint-line:rgba(255,143,163,.3)}

/* ── шапка: одна на все страницы ──
   Лендинг вешает в неё меню, юридические страницы — ссылку «на главную».
   Оболочка при этом одна и та же, поэтому переход со страницы на страницу
   не выглядит как переход на другой сайт. */
.header{position:sticky;top:0;z-index:60;background:rgba(15,14,12,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-2)}
/* Прозрачная шапка — только там, где под ней первый экран (класс ghost на
   лендинге). На старте она невидима и сливается с героем, а как только
   страница поехала, проявляет фон: иначе меню наезжает на карточки и
   картинки и становится нечитаемым. Класс solid ставит скрипт страницы;
   без скрипта шапка остаётся обычной залитой. */
.header.ghost{background:transparent;border-bottom-color:transparent;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  transition:background .25s var(--ease),border-color .25s var(--ease),backdrop-filter .25s var(--ease)}
.header.ghost.solid{background:rgba(15,14,12,.88);border-bottom-color:var(--line-2);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav{display:flex;align-items:center;gap:26px;height:var(--nav-h)}
.logo{display:flex;align-items:center;gap:10px;min-height:44px;font-family:"Wix Madefor Display",sans-serif;font-weight:800;font-size:18px;letter-spacing:-.03em;text-decoration:none}
.mark{width:27px;height:auto;flex:none;color:var(--ink)}
/* «← На главную» — правая часть шапки на юридических страницах */
.nav-back{margin-left:auto;color:var(--mute);text-decoration:none;font-size:14.5px;min-height:44px;display:inline-flex;align-items:center}
.nav-back:hover{color:var(--ink)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
