:root {
  /* цвет — бренд */
  --paper:        #ffffff;
  --paper-soft:   #f5f5f3;
  --ink:          #1a1a18;
  --line:         #e6e6e6;
  --line-dark:    rgba(250, 248, 243, 0.1);
  --accent:       #8cc63f;
  --accent-hover: #7cb437;
  --accent-dark:  #6a8020;
  --accent-deep:  #7eaa2e;
  --text:         #4a4a45;
  --mute:         #8a8a82;
  --warm:         #faf8f3;

  /* цвет — легаси-палитра (используется в шаблонах/контенте, не трогать без проверки) */
  --white:        #ffffff;
  --mint:         #f0f6f4;
  --forest:       #005a4e;
  --forest-dark:  #005a4e;
  --forest-mid:   #2d7a5e;
  --forest-light: #8fbb3a;
  --raspberry:    #c0395a;

  /* шрифт */
  --sans: 'PT Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --serif: var(--sans); /* алиас для обратной совместимости */

  /* типографика h1 (канон DS) */
  --text-h1-size:     clamp(32px, 5vw, 64px);
  --text-h1-weight:   500;
  --text-h1-line:     1.05;
  --text-h1-tracking: -0.035em;

  /* ритм */
  --pad-x:    40px;
  --pad-y:    140px;
  --pad-y-md: 120px;
  --max-w:    1280px;
  --narrow:   880px;
  --reading:  720px;
}

@media (max-width: 960px) {
  :root { --pad-y: 80px; --pad-x: 20px; }
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  font-family: var(--sans);
}

body {
  background: var(--paper);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
