/* ===== Дизайн-токены ===== */
:root {
  /* Палитра «ледяной синий»: тёмно-синий #06356b → синий #0a478a → голубой #1c83c5 → лёд #c9e2f6 */
  --c-ink: #0b2f5e;
  --c-primary: #1468b8;
  --c-accent-dark: #06356b;
  --c-muted: #7d8aa0;
  --c-muted-light: #aebdd2;
  --c-on-dark-muted: #9fbde3;
  --c-on-accent-muted: #c9e2f6;
  --c-line: #dfe9f5;
  --c-surface: #f1f6fc;
  --c-white: #ffffff;
  --c-up: #149c7a;
  --c-down: #d93737;

  --grad-promo: linear-gradient(225deg, #1c83c5 0%, #0a478a 55%, #06356b 100%);
  --shadow-card: 0 3px 16px rgba(10, 71, 138, 0.08);

  --font: "Gilroy", Arial, sans-serif;

  --radius-card: 19px;
  --radius-pill: 100px;

  --gutter: clamp(15px, 3.34vw, 48px);
  --container: 1344px;
  --section-gap: clamp(72px, 8.5vw, 122px);
  --header-h: 84px;
}

@media (max-width: 959px) {
  :root {
    --header-h: 72px;
  }
}

/* ===== Сброс ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-h);
  -webkit-text-size-adjust: 100%;
}

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

body {
  margin: 0;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.35;
  color: var(--c-ink);
  background: var(--c-white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body.is-locked {
  overflow: hidden;
}

h1,
h2,
h3,
p,
ul {
  margin: 0;
}

ul {
  padding: 0;
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
video,
svg {
  display: block;
  max-width: 100%;
}

button {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

address {
  font-style: normal;
}

:focus-visible {
  outline: 2px solid var(--c-primary);
  outline-offset: 3px;
}

/* ===== Раскладка ===== */
.container {
  width: 100%;
  max-width: calc(var(--container) + 2 * var(--gutter));
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.section {
  margin-top: var(--section-gap);
}

/* Первая секция сразу под шапкой — меньший отступ */
main > .section:first-child {
  margin-top: clamp(28px, 3.4vw, 48px);
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -100px;
  z-index: 2000;
  padding: 10px 16px;
  border-radius: 8px;
  background: var(--c-ink);
  color: var(--c-white);
}

.skip-link:focus {
  top: 16px;
}
