/* Резиновая вёрстка: 1rem ≈ 14.4px при 1440px */
html {
  font-size: 1vw;
}

@media (min-width: 1920px) {
  html { font-size: 19.2px; }
}

@media (max-width: 1024px) {
  html { font-size: 10.24px; }
}

@media (max-width: 767px) {
  html { font-size: 2.667vw; }
}

/* Reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--font-base);
  font-weight: var(--font-regular);
  line-height: var(--leading-normal);
  color: var(--color-neutral-800);
  background: var(--color-neutral-50);
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--color-primary-600);
  text-decoration: none;
  transition: color var(--transition-fast);
}

a:hover {
  color: var(--color-primary-700);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  line-height: var(--leading-tight);
}

h1 {
  font-size: var(--font-2xl);
  font-weight: var(--font-bold);
  color: var(--color-neutral-900);
}

h2 {
  font-size: var(--font-xl);
  font-weight: var(--font-semibold);
  color: var(--color-neutral-900);
}

h3 {
  font-size: var(--font-lg);
  font-weight: var(--font-semibold);
  color: var(--color-neutral-800);
}
