/* Токены — единственное место, где задаются цвета, шрифты, размеры, отступы, тени и движение.
   Остальные стили берут значения только отсюда: 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: 'Unbounded'; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url(../fonts/unbounded-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Unbounded'; font-style: normal; font-weight: 400 800; font-display: swap;
  src: url(../fonts/unbounded-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 {
  /* Цвета: тёплая бумага, тёмные чернила, эмалевый кобальт таблички и жёлтый свет лампы (design/НАПРАВЛЕНИЕ.md) */
  --bg: #F4EEE2;
  --surface: #FFFBF3;
  --surface-2: #EAE2D2;
  --line: #D6CCB8;
  --ink: #1B1A17;
  --ink-soft: #55514A;
  --ink-faint: #6B665C;
  --accent: #1F3F9A;
  --accent-ink: #FFF8E8;
  --accent-soft: #DDE3F3;
  --accent-deep: #162E73;
  --sun: #F0B429;                        /* главная кнопка */
  --sun-deep: #E0A318;
  --danger: #B3261E;
  --danger-soft: #F7E2DD;
  --ok: #1F6B45;
  --ok-soft: #DCEBDF;

  /* Шрифты: свои файлы в fonts/. Заголовки — широкий Unbounded (буквы вывески), текст — Onest */
  --font: 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-head: 'Unbounded', var(--font);

  /* Размеры шрифта — шкала. Заголовки растут с экраном через clamp, края — из шкалы */
  --fs-14: 14px; --fs-16: 16px; --fs-18: 18px; --fs-20: 20px;
  --fs-h3: 18px;
  --fs-h2: clamp(18px, 3.2vw + 8px, 40px);
  --fs-h1: clamp(20px, 5vw + 4px, 56px);
  --lh: 1.5; --lh-head: 1.15;

  /* Отступы — шкала 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(56px, 7vw, 112px);   /* отступ между секциями */
  --gutter: clamp(16px, 4vw, 32px);      /* поля по краям экрана */
  --maxw: 1200px;                        /* ширина колонки */
  --maxw-text: 62ch;                     /* длинный текст */
  --maxw-form: 560px;                    /* форма, поле */

  /* Форма: три скругления и рамка телефона */
  --r-sm: 8px; --r: 12px; --r-lg: 20px; --r-phone: 32px;
  --hard: 6px 6px 0 var(--ink);          /* жёсткая тень-подложка — вместо размытых */
  --shadow: 0 12px 32px rgba(27, 26, 23, .16);
  --tap: 48px;                           /* кнопки и поля — одна высота */

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