body { background: #fff; color: #000; }

/* Первый экран: тёмная скруглённая карточка с обложкой */
.hero { padding: 10px; }
.hero__card {
  position: relative;
  max-width: 1840px;
  margin: 0 auto;
  border-radius: 60px;
  background: #000007;
  overflow: hidden;
}
.hero__img { width: 100%; max-height: 931px; object-fit: cover; }
.reg_hero {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 36px;
}

/* Кнопки регистрации: фон-картинка с иконкой справа, как на Tilda */
.reg {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 33px;
}
.reg__btn {
  display: flex;
  align-items: center;
  width: 332px;
  height: 75px;
  padding: 0 80px 0 32px;
  border-radius: 26px;
  background: center / 100% 100% no-repeat;
  color: #fff;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.reg__btn:hover { transform: translateY(-2px); filter: brightness(1.1); box-shadow: 0 10px 26px rgba(0, 0, 0, .35); }
.reg__btn_vk { background-image: url('img/btn-vk.png'); }
.reg__btn_max { background-image: url('img/btn-max.png'); }

/* Блоки программы */
.topic { padding: 45px 0 30px; text-align: center; }
/* Размеры как у классов Tilda: t-title_xxl 82, t-text_sm 20, t-name_xl 26 (жирные 700) */
.topic__title {
  max-width: 1000px;
  margin: 0 auto 20px;
  font-size: 82px;
  font-weight: 700;
  line-height: 1.17;
}
.topic__descr {
  max-width: 940px;
  margin: 0 auto 50px;
  font-size: 20px;
  line-height: 1.55;
}
.topic__sub { margin-bottom: 30px; font-size: 44px; font-weight: 700; line-height: 1.17; }
.topic__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px 60px;
  max-width: 1160px;
  margin: 0 auto;
  text-align: left;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.35;
}
.topic__list li { position: relative; padding-left: 22px; }
/* Треугольный маркер, как на Tilda */
.topic__list li::before {
  content: '';
  position: absolute;
  left: 2px;
  top: .5em;
  border: 4px solid transparent;
  border-left: 5px solid currentColor;
  border-right: 0;
}

/* Автор и регистрация */
.bottom { margin-top: 15px; padding: 15px 0 55px; background: #eee; }
.bottom .reg { margin-top: 35px; }
/* Как в оригинале: фото горизонтальное, текст в карточке по центру */
.bottom .author__photo { aspect-ratio: 6 / 5; height: auto; }
.bottom .author__card { justify-content: center; padding: 60px; }

@media (max-width: 1200px) {
  .topic__title { font-size: 78px; }
  .topic__descr { font-size: 18px; }
  .topic__list { font-size: 24px; }
}

@media (max-width: 960px) {
  .hero__card { border-radius: 36px; }
  .reg_hero { bottom: 20px; }
  .reg__btn { width: 280px; height: 64px; padding: 0 70px 0 24px; font-size: 18px; }
  .topic__title { font-size: 56px; }
  .topic__sub { font-size: 36px; }
}

@media (max-width: 639px) {
  .hero { padding: 0; }
  .hero__card { border-radius: 0 0 30px 30px; }
  .hero__img { max-height: none; height: auto; aspect-ratio: 9 / 10; }
  .reg { flex-direction: column; align-items: center; gap: 14px; }
  .topic__title { font-size: 36px; }
  .topic__descr { font-size: 16px; line-height: 1.45; }
  .topic__sub { font-size: 36px; }
  .topic__list { grid-template-columns: 1fr; gap: 18px; font-size: 22px; }
  .bottom { margin-top: 15px; }
  .bottom .author__photo { aspect-ratio: 1 / 1; }
  .bottom .author__card { padding: 32px 24px; }
}

@media (max-width: 480px) {
  .topic__title, .topic__sub { font-size: 30px; }
}

.seminar-title{max-width:1160px;margin:0 auto;padding:28px 20px;font-size:clamp(26px,4vw,44px);line-height:1.2;text-align:center}
