* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: auto; /* Lenis handles smooth scroll */
}

body {
  font-family: var(--font-main);
  background: var(--bg-cream);
  color: var(--text-dark);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

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

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

button {
  font-family: inherit;
  border: none;
  cursor: pointer;
  background: none;
}

.container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Скролл-reveal: базовое состояние + видимое состояние */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Плюсики-эйбрау: докручиваются и проявляются при появлении блока в зоне видимости */
.eyebrow-tag__plus {
  display: inline-block;
  transform: scale(0.3) rotate(-180deg);
  opacity: 0;
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.5s ease;
  transition-delay: 0.15s;
}

.reveal.is-visible .eyebrow-tag__plus {
  transform: scale(1) rotate(0deg);
  opacity: 1;
}

/* Оптическая компенсация крупных заголовков: у большого кегля боковой пробел
   глифа шире, чем у мелкого текста под ним, и блок кажется сдвинутым вправо.
   Отрицательный отступ в em масштабируется вместе с размером шрифта. */
.tri-kita__title,
.formaty__title,
.pochitat__title,
.trener__title,
.lokaciya__title,
.raspisanie__title,
.vpechatleniya__title,
.kurs__title,
.merch__title,
.voprosy__title,
.zapis__title,
.rezultat__title,
.video-carousel__title,
.dlyakogo__title {
  margin-left: -0.035em;
}

/* iOS подставляет цветные эмодзи вместо стрелок и треугольников.
   Знак U+FE0E в разметке просит текстовое начертание, а это правило
   дополнительно уводит такие символы от эмодзи-шрифта системы. */
.footer__link--ext span,
.trener-photo-card__tg-arrow,
.play-btn span,
.vp-video__play,
.loc-arrow,
.vp-arrow,
.stars,
.cert-item__more span,
.post-cta__arrow,
.format-item__arrow {
  font-variant-emoji: text;
  font-family: var(--font-main), 'Segoe UI Symbol', sans-serif;
}

