/* ============ Шрифты ============ */
@font-face {
  font-family: 'Onest'; font-style: normal; font-weight: 400 900; font-display: swap;
  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 900; font-display: swap;
  src: url('../fonts/onest-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F;
}
@font-face {
  font-family: 'Onest'; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url('../fonts/onest-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122, U+2212;
}
@font-face {
  font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 500; font-display: swap;
  src: url('../fonts/jbmono-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 500; font-display: swap;
  src: url('../fonts/jbmono-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+1E00-1E9F, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F;
}
@font-face {
  font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 500; font-display: swap;
  src: url('../fonts/jbmono-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122, U+2212;
}
/* Единственная не-гротескная гарнитура на сайте — только для союза «и» в заявлении. */
@font-face {
  font-family: 'Marck Script'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/marck-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* ============ Палитра ============ */
:root {
  --sand:  #D6D2CB;   /* подложка, на которой лежит лист */
  --panel: #F1EEE9;   /* тёплая бумага листа */
  --ink:   #121110;
  /* Красный один, но в трёх светлотах. #E02B1D даёт контраст 4.0 —
     этого хватает крупному тексту (норма 3:1) и не хватает мелкому (норма 4.5:1).
     Поэтому метки и ссылки берут вариант под свой фон, тот же тон hue 4°. */
  --red:       #E02B1D;   /* только крупный дисплейный текст */
  --red-dark:  #B72317;   /* мелкий текст на светлом — 5.6 */
  --red-light: #F2665C;   /* мелкий текст на тёмном — 6.1 */
  --muted: #6E685F;
  --line:  #C9C4BB;

  --sans:   'Onest', system-ui, sans-serif;
  --mono:   'JetBrains Mono', ui-monospace, monospace;
  --script: 'Marck Script', cursive;

  /* Роли. Инверсия живёт на уровне строки проекта: фон и текст меняются местами. */
  --bg:      var(--panel);
  --fg:      var(--ink);
  --fg-soft: var(--muted);
  --rule:    var(--line);
  --edge:    var(--sand);
  --red-on-bg: var(--red-dark);    /* мелкий красный на фоне страницы */
  --red-on-fg: var(--red-light);   /* мелкий красный на инвертированной строке */

  --gutter: clamp(16px, 3vw, 52px);
  --frame: clamp(10px, 1.6vw, 26px);
  --dur: 480ms;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

@media (prefers-reduced-motion: reduce) { :root { --dur: 1ms; } }
