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

html {
  -webkit-text-size-adjust: 100%;
  /* Фоновые блобы шире вьюпорта (до 2680px) — в Figma их режет граница фрейма страницы.
     overflow-x на body страницу не спасает: скролл всё равно уезжает на 380px.
     hidden — фолбэк, clip не создаёт скролл-контейнер (Chrome 90+, Safari 16+). */
  overflow-x: hidden;
  overflow-x: clip;
}

body {
  margin: 0;
  background: var(--white);
  color: var(--black);
  font-family: var(--font);
  font-size: 16px;
  line-height: normal;
  /* clip, а не hidden: hidden делает body скролл-контейнером (overflow-y вычисляется
     в auto), и position: sticky у шапки липнет к body вместо вьюпорта — то есть не
     работает вовсе. clip режет так же, но контейнер прокрутки не создаёт.
     Ширину всё равно режет html — здесь это страховка от вылета блобов. */
  overflow-x: clip;
}

/* Скролл под оверлеями (меню, корзина, попап видео). fixed на html вместо
   overflow: hidden на body: второй создаёт скролл-контейнер и отрывает залипшую
   шапку от вьюпорта. Позицию возвращает JS. */
html.is-locked {
  position: fixed;
  inset-inline: 0;
  width: 100%;
}

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

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

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

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

p {
  margin: 0;
}

/* Контейнер контента: pc 1398px при отступах 261px от края 1920px */
.container {
  width: var(--container-pc);
  margin: 0 auto;
}

/* Секция — позиционный контекст для фоновых блобов */
.section {
  position: relative;
}

/* Фоновые блобы: размытые эллипсы из Figma, экспортированы как SVG */
.blob {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  max-width: none;
}

.section > .container,
.section > .section__inner {
  position: relative;
  z-index: 1;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 1199px) {
  .container {
    width: var(--container-mb);
  }
}
