/* Brand Point — токены дизайн-системы.
   Перенесены из бандла дизайна (tokens/*.css) без изменения значений. */

/* ---------- Шрифты ---------- */
/* IBM Plex Mono лежит локально (assets/fonts). Evolventa сначала ищется
   локально — положите Evolventa-Regular.woff2 и Evolventa-Bold.woff2 в
   assets/fonts, и CDN перестанет использоваться; до тех пор работает
   запасной адрес jsdelivr. Unbounded из подключения убран: он нужен только
   логотипу, а логотип на сайте — готовые SVG-файлы.
   Курсивные начертания не подключаем: брендбук запрещает курсив. */

@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+2013-2014, U+2019, U+201C-201D, U+00D7, U+2192;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/ibm-plex-mono-cyrillic-400-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+2013-2014, U+2019, U+201C-201D, U+00D7, U+2192;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../assets/fonts/ibm-plex-mono-cyrillic-500-normal.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Evolventa";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../assets/fonts/Evolventa-Regular.woff2") format("woff2"),
       url("https://cdn.jsdelivr.net/gh/evolventa/evolventa@master/woff/Evolventa-Regular.woff") format("woff");
}
@font-face {
  font-family: "Evolventa";
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url("../assets/fonts/Evolventa-Bold.woff2") format("woff2"),
       url("https://cdn.jsdelivr.net/gh/evolventa/evolventa@master/woff/Evolventa-Bold.woff") format("woff");
}

:root {
  /* ---------- Цвет ---------- */
  --bp-white: #ffffff;
  --bp-graphite: #2d2d2d;
  --bp-lime: #d8e157;
  --bp-lime-ink: #c4d116;       /* лучи, тонкие линии, крупные цифры на белом */
  --bp-gray-05: #f5f5f5;
  --bp-gray-20: #e4e4e4;
  --bp-gray-45: #a8a8a8;
  --bp-gray-55: #8a8a8a;
  --bp-gray-70: #575757;
  --bp-graphite-line: #4a4a4a;  /* линейки на графитовом экране */
  --bp-olive-ink: #4f5410;      /* приглушённый текст на лайме */
  --bp-olive-ink-soft: #5d6118;

  --bp-surface: var(--bp-white);
  --bp-surface-invert: var(--bp-graphite);
  --bp-surface-accent: var(--bp-lime);
  --bp-surface-muted: var(--bp-gray-05);

  --bp-text: var(--bp-graphite);
  --bp-text-muted: var(--bp-gray-70);
  --bp-text-caption: var(--bp-gray-55);
  --bp-text-invert: var(--bp-white);
  --bp-text-invert-muted: #b6b6b6;
  --bp-text-on-accent: var(--bp-graphite);
  --bp-text-on-accent-muted: var(--bp-olive-ink);

  --bp-rule: var(--bp-graphite);
  --bp-rule-soft: var(--bp-gray-20);
  --bp-rule-invert: var(--bp-graphite-line);
  --bp-rule-accent: var(--bp-lime);

  --bp-highlight: var(--bp-lime);

  /* ---------- Типографика ---------- */
  --bp-font-display: "Unbounded", "Evolventa", system-ui, sans-serif; /* только логотип */
  --bp-font-sans: "Evolventa", "Golos Text", system-ui, sans-serif;
  --bp-font-mono: "IBM Plex Mono", ui-monospace, monospace;

  --bp-text-hero: clamp(48px, 7.6vw, 122px);
  --bp-text-h2: clamp(36px, 4.6vw, 76px);
  --bp-text-h3: clamp(28px, 3.2vw, 48px);
  --bp-text-title: 28px;
  --bp-text-card-title: 26px;
  --bp-text-subtitle: 22px;
  --bp-text-lead: 17px;
  --bp-text-body: 15px;
  --bp-text-small: 14px;
  --bp-text-fine: 13px;
  --bp-text-stat: 34px;
  --bp-text-numeral: 46px;

  --bp-text-caption-lg: 11px;
  --bp-text-caption-md: 10px;
  --bp-text-caption-sm: 9px;

  --bp-lh-hero: 1.02;
  --bp-lh-display: 0.96;
  --bp-lh-title: 1.08;
  --bp-lh-body: 1.6;
  --bp-lh-lead: 1.55;

  --bp-track-hero: -0.035em;
  --bp-track-display: -0.03em;
  --bp-track-title: -0.025em;
  --bp-track-mono: 0.14em;
  --bp-track-mono-tight: 0.1em;
  --bp-track-mono-wide: 0.16em;

  --bp-weight-body: 400;
  --bp-weight-medium: 500;
  --bp-weight-strong: 700;
  --bp-weight-bold: 800;
  --bp-weight-black: 900;

  /* ---------- Сетка и отступы ---------- */
  --bp-page-max: 1440px;
  --bp-page-min: 1120px;
  --bp-page-pad: 40px;
  --bp-label-col: 90px;
  --bp-grid-gap: 32px;

  --bp-section-gap: 130px;
  --bp-section-gap-lg: 150px;
  --bp-screen-pad-y: 110px;
  --bp-divider-h: 92px;

  --bp-space-1: 4px;
  --bp-space-2: 8px;
  --bp-space-3: 12px;
  --bp-space-4: 18px;
  --bp-space-5: 24px;
  --bp-space-6: 32px;
  --bp-space-7: 44px;
  --bp-space-8: 56px;
  --bp-space-9: 72px;

  --bp-radius-pill: 999px;
  --bp-rule-hairline: 1px;
  --bp-rule-accent-w: 3px;

  /* ---------- Движение ---------- */
  --bp-ease: cubic-bezier(0.2, 0.75, 0.2, 1);
  --bp-ease-sweep: cubic-bezier(0.35, 0, 0.25, 1);
  --bp-dur-hover: 0.2s;
  --bp-dur-state: 0.25s;
  --bp-dur-reveal: 0.95s;
  --bp-dur-sweep: 2.4s;
  --bp-dur-rotate: 260s;

  /* Сдвиг всей вступительной хореографии: 1,6 с с прелоадером, 0 — без него. */
  --bp-intro: 1.6s;
}

/* Прелоадер показываем один раз за сессию — на повторных заходах вступление мгновенное. */
html.bp-seen { --bp-intro: 0s; }

@property --bp-p {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
