/* Токены — единственное место, где задаются цвета, шрифты, размеры, отступы, тени и движение.
   Остальные стили берут значения только отсюда: var(--…). Новый цвет или размер — сначала сюда.
   Шкала проверяется сама (npm test → tools/scale.js). */

@font-face { font-family: 'Onest'; font-style: normal; font-weight: 400 800; font-display: optional;
  src: url(../fonts/onest-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Onest'; font-style: normal; font-weight: 400 800; font-display: optional;
  src: url(../fonts/onest-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Literata'; font-style: normal; font-weight: 400 700; font-display: optional;
  src: url(../fonts/literata-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Literata'; font-style: normal; font-weight: 400 700; font-display: optional;
  src: url(../fonts/literata-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  /* Цвета: фон, поверхности, текст (контраст текста ≥ 4.5:1 — проверяется), акцент */
  --bg: #FAFAF7;
  --surface: #FFFFFF;
  --surface-2: #F1F1EC;
  --line: #E4E4DC;
  --ink: #1C1D1A;
  --ink-soft: #55574F;
  --ink-faint: #6E7067;
  --accent: #2F6B4F;
  --accent-ink: #FFFFFF;
  --accent-soft: #E3EFE8;
  --accent-deep: #1F4B37;
  --danger: #B3261E;
  --ok: #2E8B57;

  /* Этапы проекта: фон плашки / текст (контраст ≥ 4.5) */
  --st-idea: #EEEDE6;    --st-idea-ink: #55574F;
  --st-doing: #FBEFD9;   --st-doing-ink: #7A4A0C;
  --st-done: #E3EEF8;    --st-done-ink: #1D4E75;
  --st-first: #EDE6F7;   --st-first-ink: #4B2F8A;
  --st-adopted: #E3EFE8; --st-adopted-ink: #1F4B37;

  /* Шрифты: свои файлы в fonts/ (без «прыжка»: optional — не успел, остаётся системный, без подмены) */
  --font: 'Onest', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-head: 'Literata', Georgia, 'Times New Roman', serif;

  /* Размеры шрифта — шкала. Заголовки растут с экраном через clamp, края — из шкалы */
  --fs-12: 12px; --fs-14: 14px; --fs-16: 16px; --fs-18: 18px; --fs-20: 20px; --fs-24: 24px;
  --fs-h3: clamp(20px, 1.6vw + 14px, 24px);
  --fs-h2: clamp(28px, 2.4vw + 18px, 40px);
  --fs-h1: clamp(32px, 4.4vw + 16px, 64px);
  --lh: 1.5; --lh-head: 1.2;             /* 16/24 — ритм 4/8; крупнее текст — плотнее строки */

  /* Отступы — шкала 4px */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px; --sp-16: 64px;
  --section: clamp(48px, 7vw, 112px);   /* отступ между секциями */
  --gutter: clamp(16px, 4vw, 32px);      /* поля по краям экрана */
  --maxw: 1200px;                        /* ширина колонки: дальше — по центру, без пустой полосы с одной стороны */
  --maxw-text: 68ch;                     /* длинный текст — не шире ~70 знаков */
  --maxw-form: 560px;                    /* форма, поле, полоса прогресса — не во всю ширину */

  /* Форма */
  --r-sm: 8px; --r: 16px; --r-lg: 24px; --r-pill: 999px;
  --shadow: 0 1px 2px rgba(20, 20, 15, .05), 0 8px 24px rgba(20, 20, 15, .06);
  --shadow-lift: 0 2px 4px rgba(20, 20, 15, .06), 0 16px 40px rgba(20, 20, 15, .10);
  --tap: 44px;                           /* кнопки и ссылки-кнопки не меньше */

  /* Движение: мягко, только transform и opacity */
  --ease: cubic-bezier(.22, 1, .36, 1);
  --dur: 600ms;
  --dur-fast: 200ms;
}
