/* Робо-драйв — живая дизайн-система.
   Источник правды для цвета, шрифта, радиуса и CTA.
   Nocturne (_ds/nocturne-*) не подключать. */

:root {
  color-scheme: light;

  --rd-paper: #faf8f6;
  --rd-paper-warm: #f7f2ec;
  --rd-white: #fff;
  --rd-ink: #14161c;
  --rd-ink-soft: #4d5364;
  --rd-mute: #8a8272;
  --rd-mute-2: #9a927f;
  --rd-line: #ece7e2;
  --rd-line-strong: #ddd6ce;
  --rd-line-hover: #e3dcd3;

  --rd-coral: #e8452c;
  --rd-coral-hot: #f5662e;
  --rd-coral-deep: #d13413;
  --rd-coral-press: #c8340f;
  --rd-gold: #f5a524;

  --rd-on-ink: #f2f4f8;
  --rd-on-ink-soft: #b9bfcd;

  --rd-dir-cars: #e8452c;
  --rd-dir-drones: #0d99ff;
  --rd-dir-robots: #7c5cff;
  --rd-dir-print: #12a06a;
  --rd-dir-roblox: #e0246a;
  --rd-dir-ai: #0f8f8f;

  --rd-night: #0e1014;
  --rd-night-surface: #171a21;
  --rd-night-elev: #1b1f27;
  --rd-night-line: #262a33;
  --rd-night-text: #e7e9ef;

  --rd-font-display: Manrope, sans-serif;
  --rd-font-body: "Golos Text", system-ui, sans-serif;
  --rd-font-mono: ui-monospace, Menlo, monospace;

  --rd-radius-sm: 12px;
  --rd-radius-md: 16px;
  --rd-radius-lg: 24px;
  --rd-radius-xl: 26px;
  --rd-radius-pill: 999px;

  --rd-space-page: 48px;
  --rd-max: 1560px;

  --rd-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --rd-ease-out: cubic-bezier(0.16, 0.84, 0.28, 1);

  --rd-cta: linear-gradient(135deg, var(--rd-coral-hot), var(--rd-coral) 55%, var(--rd-coral-deep));
  --rd-cta-hover: linear-gradient(135deg, #ff7a44, #ef4b30 55%, #d93a17);
  --rd-mark: linear-gradient(90deg, var(--rd-gold), var(--rd-coral));
  --rd-cta-shadow: 0 12px 28px rgba(232, 69, 44, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.28);
  --rd-lift: 0 26px 52px rgba(20, 22, 28, 0.1);

  --rd-focus: 2px solid var(--rd-coral);

  /* Локальный акцент направления. Страница может переопределить. */
  --c: var(--rd-coral);
}

html,
body {
  margin: 0;
  background: var(--rd-paper);
  color: var(--rd-ink);
  font-family: var(--rd-font-body);
  caret-color: var(--rd-coral);
}

html {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

body {
  font-size: 16px;
  line-height: 1.55;
}

a {
  color: var(--rd-coral);
  text-decoration: none;
}

a:hover {
  color: var(--rd-coral-press);
}

:focus-visible {
  outline: var(--rd-focus);
  outline-offset: 3px;
}

::selection {
  background: color-mix(in oklab, var(--rd-coral) 26%, transparent);
}

input,
select,
button,
textarea {
  font: inherit;
}

h1,
h2,
h3,
.h2 {
  font-family: var(--rd-font-display);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.04;
}

.mono,
.sec-k,
.ft-h,
.md-lbl,
.doc-k {
  font-family: var(--rd-font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
