/* ==========================================================================
   Тренинг «Методика виртуального моделирования» — стили лендинга
   --------------------------------------------------------------------------
   1. Шрифты            6. Пакеты программы    11. Гарантия
   2. База              7. Тарифы              12. Финальный блок
   3. Общие элементы    8. «В результате»      13. Подвал
   4. Первый экран      9. Об авторе           14. Лайтбокс
   5. Аудитория, боли  10. Дипломы, слайдер    15. Анимации
   16. Адаптив: ≥1350px — широкий экран, ≤980px — планшет, ≤767px — телефон.
   ========================================================================== */


/* ---------- 1. Шрифты (локальные копии Google Fonts) ---------- */

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url("../fonts/oswald-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url("../fonts/oswald-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Open Sans подключён отдельными начертаниями 400/600/700, как в оригинале:
   текст с font-weight: 500 рисуется начертанием 400. */
@font-face { font-family: "Open Sans"; font-weight: 400; font-display: swap; src: url("../fonts/open-sans-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Open Sans"; font-weight: 400; font-display: swap; src: url("../fonts/open-sans-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Open Sans"; font-weight: 600; font-display: swap; src: url("../fonts/open-sans-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Open Sans"; font-weight: 600; font-display: swap; src: url("../fonts/open-sans-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Open Sans"; font-weight: 700; font-display: swap; src: url("../fonts/open-sans-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Open Sans"; font-weight: 700; font-display: swap; src: url("../fonts/open-sans-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-family: "Lobster"; font-weight: 400; font-display: swap; src: url("../fonts/lobster-cyrillic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Lobster"; font-weight: 400; font-display: swap; src: url("../fonts/lobster-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }


/* ---------- 2. База ---------- */

:root {
  --font-head: "Oswald", Helvetica, Arial, sans-serif;
  --font-body: "Open Sans", Arial, sans-serif;
  --font-sans: Helvetica, Arial, sans-serif;
  --font-script: "Lobster", cursive;

  --gold: #cca420;
  --gold-light: #ccb66d;
  --yellow: #ffe900;
  --orange: #e09900;
  --blue: #0c71c3;
  --red: #e02b20;
  --text: #666;
  --heading: #333;

  --shadow-soft: .08em .08em .08em rgba(0, 0, 0, .4);
  --glow-dark: 0 0 .3em rgba(0, 0, 0, .4);
  --glow-grey: 0 0 .3em rgba(91, 91, 91, .77);
  --card-shadow: 0 2px 18px 0 rgba(0, 0, 0, .3);

  /* Ритм сетки. Проценты считаются от ширины родителя — как в оригинальной вёрстке. */
  --sec-pad: 4%;    /* вертикальный отступ секции */
  --row-pad: 2%;    /* вертикальный отступ контейнера */
  --gap: 2.75%;     /* отступ между блоками внутри контейнера */
}

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

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  background: #fff;
  color: var(--text);
  font: 500 14px/1.7em var(--font-body); /* em: дочерние элементы наследуют 23.8px, как в оригинале */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6, p, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: #2ea3f2; text-decoration: none; }
button { font: inherit; }

.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.center { text-align: center; }


/* ---------- 3. Общие элементы ---------- */

/* Контейнер = «строка» сетки: 80% ширины, не шире 1080px */
.container {
  position: relative;
  width: 80%;
  max-width: 1080px;
  margin-inline: auto;
  padding-block: var(--row-pad);
}

/* Фото-фоны секций (на десктопе — «параллакс» через fixed) */
.bg-photo {
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
  background-attachment: fixed;
}
.bg-photo--hero {
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, .36) 0%, rgba(0, 0, 0, .48) 51%, rgba(0, 0, 0, .31) 100%),
    url("../img/bg/hero.webp");
}
.bg-photo--basic { background-image: url("../img/bg/package-basic.webp"); }
.bg-photo--conscious {
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .56) 100%),
    url("../img/bg/package-conscious.webp");
}
.bg-photo--advanced {
  background-image:
    linear-gradient(rgba(0, 0, 0, .42), rgba(0, 0, 0, .42)),
    url("../img/bg/package-advanced.webp");
}
.bg-photo--master {
  background-image:
    linear-gradient(rgba(0, 0, 0, .42), rgba(0, 0, 0, .42)),
    url("../img/modules/module-22.webp");
}
.bg-photo--pricing {
  background-image:
    linear-gradient(rgba(0, 0, 0, .35), rgba(0, 0, 0, .35)),
    url("../img/bg/pricing-dream.webp");
}

/* Фоновые узоры */
.has-pattern { position: relative; }
.has-pattern::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/decor/pattern-hex.svg") repeat;
  opacity: var(--pattern-opacity, .06);
  pointer-events: none;
}
.has-pattern--waves::before {
  background-image: url("../img/decor/pattern-waves.svg");
  opacity: .1;
}

/* Фигурные разделители между секциями */
.has-divider { position: relative; }
.has-divider > .container { z-index: 2; }
.has-divider::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: 89px;
  background: url("../img/decor/divider-waves-bottom.svg") 0 0 / 100% 100% no-repeat;
  pointer-events: none;
}
.has-divider--triangle::after {
  height: 100px;
  background-image: url("../img/decor/divider-triangle.svg");
}
.has-divider--top::after {
  top: 0;
  bottom: auto;
  height: 40px;
  background-image: url("../img/decor/divider-waves-top.svg");
}

/* Золотая черта-разделитель */
.divider-gold {
  display: block;
  margin-inline: auto;
}

/* Большой золотой заголовок */
.title-gold {
  padding-bottom: 10px;
  color: var(--gold);
  font: 600 48px/1.4 var(--font-head);
  text-align: center;
  text-transform: uppercase;
}

/* Блок «Освойте методику виртуального моделирования!» */
.call {
  width: 99%;
  max-width: 800px;
  margin: 40px auto var(--gap);
  color: var(--gold-light);
  font: 500 32px/1 var(--font-head);
  text-align: center;
}
.call__note--spaced { padding-bottom: 1em; }

/* Списки с иконкой слева */
.icon-list li {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-inline: auto;
  padding-bottom: 10px;
}
.icon-list img,
.icon-list svg {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  margin-bottom: -10px; /* иконка не увеличивает высоту однострочного пункта */
}

/* ---- Кнопки ----
   При наведении кнопка сдвигает текст влево и показывает стрелку «»». */
.btn {
  position: relative;
  display: inline-block;
  padding: .3em 1em;
  border: 2px solid #fff;
  border-radius: 3px;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.7;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: all .3s ease;
}
.btn::after {
  content: "";
  position: absolute;
  width: 1em;
  height: 1.7em;
  margin-left: -1em;
  opacity: 0;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 8l8 8-8 8M16 8l8 8-8 8' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 55% / .62em no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 8l8 8-8 8M16 8l8 8-8 8' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50% 55% / .62em no-repeat;
  transition: all .3s ease;
}
.btn:hover {
  padding: .3em 2em .3em .7em;
  border-color: transparent;
}
.btn:hover::after {
  margin-left: .3em;
  opacity: 1;
}
.btn--no-arrow::after { display: none; }

.btn:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
}

/* «Выбрать» на первом экране */
.btn--glass {
  border-radius: 6px;
  background-color: rgba(255, 255, 255, .29);
  font-family: var(--font-head);
  font-size: 24px;
}
.btn--glass:hover {
  background-color: rgba(255, 255, 255, .76);
  color: var(--orange);
}

/* Золотая кнопка «Выбрать» в блоках */
.btn--gold {
  border-radius: 30px;
  background-color: var(--gold-light);
  font-size: 32px;
  font-weight: 700;
}

/* Кнопки тарифов */
.btn--plan {
  border-width: 4px;
  border-radius: 35px;
  background-color: var(--gold-light);
  font-size: 24px;
  font-weight: 600;
}
.btn--plan:hover { border-color: #fff; }
.btn--plan-solid,
.btn--plan-solid:hover { border-color: var(--gold-light); }

/* «Смотреть отзывы» */
.btn--promo {
  background-color: var(--gold);
  font-family: var(--font-head);
  font-size: 24px;
  font-weight: 600;
  text-transform: none;
}

/* Красная кнопка в финальном блоке: без сдвига и стрелки */
.btn--red {
  padding: 15px 30px;
  border: 0;
  border-radius: 0;
  background-color: #e84a37;
  font: 700 14px/1.7 var(--font-sans);
  letter-spacing: 1px;
}
.btn--red:hover { padding: 15px 30px; }
.btn--red::after { display: none; }


/* ---------- 4. Первый экран ---------- */

.hero { padding: var(--sec-pad) 0 22px; }

.hero__label {
  margin: 28px 0 16px;
  padding-bottom: 10px;
  color: #fff;
  font: 700 26px/1 var(--font-head);
  text-align: right;
  text-transform: uppercase;
  text-shadow: var(--shadow-soft);
}

.hero__main {
  background: url("../img/bg/dots.png") 50% 50% / cover no-repeat;
}

.hero__author {
  margin: 25px 0 31px;
  padding-left: 20px;
  color: #fff;
  font-family: var(--font-head);
  font-weight: 400;
  line-height: 1;
  text-shadow: var(--shadow-soft);
}
.hero__author span { display: block; padding-bottom: 10px; }
.hero__author-caption { font-size: 24px; }
.hero__author-name { font-size: 32px; text-transform: uppercase; }

.hero__title {
  margin-top: 95px;
  color: #fff;
  font: 700 62px/1 var(--font-head);
  text-transform: uppercase;
}
.hero__title span { display: block; padding-bottom: 10px; }
.hero__title-line2 {
  line-height: 1.6;
  text-shadow: var(--glow-dark);
}

.hero__slogan {
  margin-bottom: var(--gap);
  padding-bottom: 10px;
  color: var(--yellow);
  font: 500 30px/1 var(--font-head);
  text-shadow: var(--glow-grey);
}

.hero__lead {
  max-width: 600px;
  margin: -.8em auto 0;
  padding-left: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2px;
  text-align: center;
  text-transform: uppercase;
  text-shadow: .36em -.08em .84em #000;
}

.hero__actions {
  margin-top: 15px;
  padding-bottom: 10px;
}
.hero__actions .center { margin-bottom: var(--gap); }


/* ---------- 5. «Для кого этот курс» и «Вам обязательно нужно…» ---------- */

.audience { padding: 20px 0 120px; }

.audience__grid {
  display: flex;
  gap: 5.5%;
}

.audience__intro {
  display: flex;
  flex: 0 0 29.6667%;
  flex-direction: column;
  margin-top: 9px;
}
.audience__title {
  margin-bottom: 9.27%;
  font-family: var(--font-head);
  line-height: 1;
}
.audience__title span { display: block; padding-bottom: 10px; }
.audience__title-main {
  color: #fff;
  font-size: 62px;
  font-weight: 700;
  line-height: 1.6;
  text-shadow: var(--glow-dark);
}
.audience__title-sub {
  color: var(--yellow);
  font-size: 65px;
  font-weight: 500;
  text-shadow: var(--glow-grey);
}
.audience__divider { order: 1; margin-bottom: 9.27%; }
.audience__icon {
  order: 2;
  align-self: center;
  width: 96px;
  height: 96px;
  color: var(--yellow);
}

.audience__cards {
  display: grid;
  flex: 1;
  grid-auto-flow: column;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(3, auto);
  column-gap: 8.4833%;
}

.audience-card {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  min-height: 154px;
  margin-bottom: 9.27%;
  /* содержимое карточки не шире 550px и по центру — заметно на планшете */
  padding: 10px max(8px, calc((100% - 550px) / 2));
  background: rgba(0, 0, 0, .61);
  color: #fff9dd;
  font: 500 18px/1.4 var(--font-head);
}
.audience-card:nth-child(3n) { margin-bottom: 0; }
.audience-card__icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  color: var(--yellow);
}
.audience-card__title {
  padding-bottom: 10px;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

/* «Вам обязательно нужно пройти этот тренинг» */
.pains {
  padding: 35px 0 100px;
  background: #fff repeating-linear-gradient(179deg, #fff 0%, rgba(38, 38, 38, .19) 100%);
  --pattern-opacity: .05;
}
.pains__head { padding: 18px 20px var(--row-pad); }
.pains__head .title-gold {
  width: 99%;
  max-width: 800px;
  margin: 40px auto var(--gap);
}
.pains__rule {
  width: 46%;
  height: 23px;
  margin: 0 auto -23px;
  border: 0;
  border-top: 2px solid #000;
}

.pains__body {
  padding: var(--row-pad) 40px;
  background: rgba(255, 255, 255, .82);
}
.icon-list--pains li {
  max-width: 800px;
  margin-bottom: 9px;
  color: var(--heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.pains__decision {
  max-width: 800px;
  margin: 40px auto var(--gap);
  padding-bottom: 10px;
  color: #bc1818;
  font: 600 32px/1.7 var(--font-head);
  text-align: center;
}


/* ---------- 6. Пакеты программы ---------- */

.program-title { padding: 17px 0 15px; }
.program-title .container { padding: 10px 0 16px; }
.program-title .title-gold {
  width: 99%;
  max-width: 800px;
  margin: 12px auto 10px;
}

.package { padding: 0 0 var(--sec-pad); }

/* Название пакета прилипает к верху экрана, пока листается пакет */
.package__header {
  display: flow-root;
  position: sticky;
  top: 0;
  z-index: 10;
  padding-left: 100px;
  background: linear-gradient(180deg, rgba(0, 0, 0, .13) 0%, rgba(0, 0, 0, .18) 100%);
}
.package__name {
  width: 47.25%;
  margin: 4px 0;
  padding-bottom: 10px;
  color: #fff;
  font: 700 64px/1.6 var(--font-head);
  text-shadow: var(--shadow-soft);
  transition: font-size .3s ease;
}
.package__header.is-stuck .package__name { font-size: 42px; }

/* Фон «Базового» пакета светлый — затемняем полосу под названием */
.bg-photo--basic .package__header,
.bg-photo--basic .package__header.is-stuck {
  background: linear-gradient(180deg, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, .4) 100%);
}

/* Модуль: картинка слева, темы справа */
.module {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  padding-block: 0 30px;
  background: rgba(255, 255, 255, .56);
}
.module__media { margin: 50px 0 20px 12px; }
.module__media img {
  border-style: solid;
  border-width: 12px 0 0 30px;
  border-color: #390068 #fcf8f3 #fcf8f3 #390068;
  box-shadow: 6px 6px 18px 0 rgba(0, 0, 0, .1);
}
.module__body {
  margin-inline: 1%;
  padding: 50px 40px 0;
}
.module__title {
  padding-bottom: 10px;
  color: #3f3f3f;
  font: 700 50px/1.2 var(--font-head);
  text-shadow: var(--glow-dark);
}
.module__topics { counter-reset: topic; }
.module__topics li {
  padding-bottom: 10px;
  color: #595959;
  font: 500 24px/1.2 var(--font-head);
  counter-increment: topic;
}
.module__topics li::before { content: counter(topic) ". "; }
.module__result {
  margin-top: 10px;
  color: #3f3f3f;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}

/* Итоги пакета */
.package__results {
  padding-block: 30px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .56) 0%, rgba(255, 255, 255, .82) 17%);
}
.package__results .divider-gold {
  margin-top: 33px;
  margin-bottom: var(--gap);
}
.package__results-title,
.package__summary {
  max-width: 840px;
  margin-inline: auto;
  padding-bottom: 10px;
  color: #5b5b5b;
  font: 700 36px/1.1 var(--font-head);
  text-align: center;
}
.package__results-title { margin-bottom: 10px; }
.package__summary { font-size: 32px; font-weight: 500; }
.package__summary:last-child { margin-bottom: 10px; }

.icon-list--results li {
  width: 70%;
  max-width: 72%;
  margin-bottom: 11px;
  color: #545454;
  font: 500 20px/1.4 var(--font-sans);
}
.icon-list--results svg { color: var(--orange); }

/* Подарок */
.gift {
  display: grid;
  grid-template-columns: 36.8% 57.4%;
  column-gap: 5.5%;
  align-items: start;
  padding-block: 30px;
  background: rgba(255, 255, 255, .82);
}
.gift__image { justify-self: center; }
.gift__body { text-align: center; }
.bg-photo--basic .gift__body { padding-inline: 10px; }
.gift__label {
  margin: 41px 0 10px;
  padding-bottom: 10px;
  color: var(--blue);
  font: 700 36px/1.1 var(--font-head);
}
.gift__name {
  margin-bottom: 10px;
  padding-bottom: 10px;
  color: #5b5b5b;
  font: 500 32px/1.1 var(--font-head);
}


/* ---------- 7. Тарифы ---------- */

.pricing { padding: 0 0 var(--sec-pad); }

.pricing__head { padding: 27px 0 60px; }
.pricing__kicker {
  margin-top: 95px;
  padding-bottom: 10px;
  color: var(--yellow);
  font: 500 30px/1 var(--font-head);
  text-shadow: var(--glow-grey);
}
.pricing__title {
  color: #fff;
  font: 700 62px/1 var(--font-head);
  text-transform: uppercase;
}
.pricing__title span { display: block; padding-bottom: 10px; }
.pricing__title span:first-child { text-shadow: var(--glow-dark); }

.pricing__plans {
  display: flex;
  align-items: flex-start;
  margin-bottom: var(--gap);
}

.plan {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  margin: 30px -1px 0 0;
  padding-bottom: 30px;
  border: 1px solid #bebebe;
  background: #fcfcfc;
  text-align: center;
}
.plan::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/decor/pattern-lines.svg");
  opacity: .04;
  pointer-events: none;
}
.plan--basic::before { opacity: .05; }
.plan--conscious::before,
.plan--master::before { transform: scaleX(-1); }
.plan > * { position: relative; }

.plan--featured {
  z-index: 1;
  margin-top: 0;
  background: #fff;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, .1);
}

.plan__header {
  padding: 10px 2px;
  background: #bebebe;
}
.plan--conscious .plan__header { background: var(--orange); }
.plan--advanced .plan__header { background: var(--gold); }
.plan--master .plan__header { background: #8300e9; }

.plan__name {
  padding-bottom: 5px;
  color: #fff;
  font: 700 30px/1 var(--font-sans);
  text-shadow: var(--glow-dark);
}
.plan--basic .plan__name { font-family: var(--font-head); }
.plan--conscious .plan__name { text-shadow: 0 0 .3em rgba(0, 0, 0, .59); }
.plan--advanced .plan__name { font-weight: 600; }

.plan__badge {
  color: #fff;
  font-size: 15px;
  line-height: 20px;
  text-shadow: var(--glow-dark);
}

.plan__price {
  padding: 17px 2px 30px;
  border-bottom: 1px solid #bebebe;
  line-height: 0;
}
.plan__sum {
  position: relative;
  display: inline-block;
  color: var(--gold-light);
  font: 600 44px/80px Georgia, "Times New Roman", serif;
}
.plan--advanced .plan__sum { color: var(--gold); font-weight: 700; }
.plan__currency {
  position: absolute;
  top: 0;
  right: 100%;
  color: #999;
  font: 400 18px/23.8px var(--font-body);
}

.plan__features {
  padding: 30px 2px;
  font-size: 14px;
  line-height: 14px;
}
.plan--featured .plan__features { padding-bottom: 50px; }
.plan__features li { padding: 0 0 22.4px 14px; }
.plan__features li:last-child { padding-bottom: 0; }
.plan__features .plan__accent,
.plan__features .plan__charity,
.plan__features .plan__alumni-price {
  padding-bottom: 32.4px;
  color: var(--heading);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
.plan__features .plan__charity { color: #f00; font-size: 18px; }
.plan__features .plan__alumni-price { color: #f00; font-size: 30px; }
.plan__features .plan__charity:last-child,
.plan__features .plan__alumni-price:last-child { padding-bottom: 10px; }
.plan__line,
.plan__alumni { font-weight: 700; }

.plan .btn--plan { margin-inline: 2px; }
/* Единый тариф */
.pricing__plans:has(.plan--single) { justify-content: center; }
.plan--single,
.plan--single.plan--featured { flex: 0 1 460px; margin: 0; padding-top: 20px; }
.plan--single .plan__features { padding-bottom: 40px; }
.plan__period {
  display: block;
  margin-top: -14px;
  color: #999;
  font: 400 18px/1.3 var(--font-body);
}

/* У тарифа «Мастер» в оригинале содержимое сдвинуто вправо */
.plan--master .plan__header,
.plan--master .plan__price,
.plan--master .plan__features { padding-right: 1px; padding-left: 10px; }
.plan--master .btn--plan { margin: 0 1px 0 10px; }

.pricing__discount {
  max-width: 80%;
  margin: 0 auto 20px;
  padding: 20px 0;
  border-radius: 35px;
  background: rgba(255, 255, 255, .87);
  box-shadow: var(--card-shadow);
  color: #ad1914;
  font: 500 20px/1.9 var(--font-head);
  text-align: center;
}
.pricing__discount-title {
  padding-bottom: 10px;
  color: var(--red);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  text-shadow: var(--glow-dark);
}


/* ---------- 8. «В результате» ---------- */

.outcome {
  padding: 48px 0;
  --pattern-opacity: .07;
}
.outcome__title {
  margin-bottom: var(--gap);
  padding-bottom: 10px;
  color: var(--heading);
  font: 700 48px/1.3 var(--font-head);
  text-align: center;
  text-transform: uppercase;
}
/* Призыв на фоне звёздной ночи */
.night-call {
  padding: 30px 0 60px;
  background:
    radial-gradient(1.5px 1.5px at 20px 30px, #fff, transparent),
    radial-gradient(1px 1px at 90px 120px, rgba(255, 255, 255, .8), transparent),
    radial-gradient(1.5px 1.5px at 160px 60px, rgba(255, 255, 255, .9), transparent),
    radial-gradient(1px 1px at 230px 170px, rgba(255, 255, 255, .6), transparent),
    radial-gradient(2px 2px at 280px 90px, rgba(255, 233, 160, .9), transparent),
    radial-gradient(1px 1px at 50px 200px, rgba(255, 255, 255, .7), transparent),
    radial-gradient(ellipse at 30% 25%, #3a2a7a 0%, #141033 55%, #07061a 100%);
  background-size: 300px 220px, 300px 220px, 300px 220px, 300px 220px, 300px 220px, 300px 220px, cover;
}
.night-call .call { color: #e8c25a; }

.outcome__rule {
  max-width: 40%;
  height: 23px;
  margin: 4px auto 0;
  border: 0;
  border-top: 3px double #7ebec5;
}

.icon-list--outcome li {
  max-width: 700px;
  margin-bottom: 16px;
  color: var(--heading);
  font: 500 24px/1.2 var(--font-head);
}


/* ---------- 9. Об авторе ---------- */

.author {
  margin-top: 100px;
  padding: var(--sec-pad) 0;
  background: #0b0806 url("../img/bg/author-candles.jpg") 50% 50% / cover no-repeat;
}

.author__card {
  display: grid;
  grid-template-columns: 57.4% 36.8%;
  column-gap: 5.5%;
  margin-top: -134px;
  padding: var(--row-pad) 60px 3px;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(180deg, #002e3f 25%, rgba(0, 46, 63, .72) 100%);
}
.author__intro { padding-top: 20px; }
.author__name {
  margin-bottom: 4.8%;
  padding-bottom: 10px;
  color: #fff;
  font: 700 62px/1.1 var(--font-sans);
}
.author p { color: rgba(255, 255, 255, .71); }
.author p:not(:last-child) { padding-bottom: 1em; }
.author__picture {
  justify-self: center;
  margin-top: -60px;
}
.author__photo {
  display: block;
  width: auto;
  max-height: 440px;
}

.author__more {
  margin-bottom: 30px;
  padding: 10px 60px var(--row-pad);
  border-radius: 0 0 20px 20px;
  background: rgba(0, 46, 63, .72);
}


/* ---------- 10. Дипломы, слайдер, отзывы ---------- */

.diplomas { padding: var(--sec-pad) 0 16px; }

.diplomas__title {
  width: 85%;
  margin: 0 auto 5px;
  padding-bottom: 10px;
  color: #a51b17;
  font: 400 48px/1 var(--font-script);
  text-align: center;
  text-shadow: var(--shadow-soft);
}

.diplomas__grid {
  display: grid;
  column-gap: 5.5%;
  align-items: start;
}
.diplomas__grid--3 { grid-template-columns: repeat(3, 1fr); }
.diplomas__grid--2 { grid-template-columns: repeat(2, 1fr); }
.diplomas__col .lightbox-link:not(:last-child) { margin-bottom: 5.82%; }
.diplomas__col .lightbox-link:last-child { text-align: center; }
.lightbox-link { display: block; cursor: zoom-in; }

/* Слайдер */
.slider {
  position: relative;
  overflow: hidden;
}
.slider__track { display: grid; }
.slider__slide {
  grid-area: 1 / 1;
  padding: 4.4% 13.03%;
  background: rgba(219, 219, 219, .31);
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s ease, visibility .6s;
}
.slider__slide.is-active { opacity: 1; visibility: visible; }
.slider__slide img { vertical-align: baseline; }
.slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 48px;
  height: 48px;
  margin-top: -24px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--blue);
  opacity: 0;
  cursor: pointer;
  transition: all .2s ease;
}
.slider__arrow svg { width: 100%; height: 100%; }
.slider__arrow--prev { left: -22px; }
.slider__arrow--prev svg { transform: scaleX(-1); }
.slider__arrow--next { right: -22px; }
.slider:hover .slider__arrow,
.slider__arrow:focus-visible { opacity: 1; }
.slider:hover .slider__arrow--prev,
.slider__arrow--prev:focus-visible { left: 22px; }
.slider:hover .slider__arrow--next,
.slider__arrow--next:focus-visible { right: 22px; }

.slider__dots {
  position: absolute;
  left: 0;
  bottom: 20px;
  z-index: 2;
  width: 100%;
  line-height: 0;
  text-align: center;
}
.slider__dot {
  width: 7px;
  height: 7px;
  margin-right: 10px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: var(--blue);
  opacity: .5;
  cursor: pointer;
}
.slider__dot:last-child { margin-right: 0; }
.slider__dot.is-active { opacity: 1; }

/* Отзывы */
.reviews__title {
  margin-bottom: var(--gap);
  padding-bottom: 10px;
  color: var(--red);
  font: 700 36px/1 var(--font-head);
  text-align: center;
  transition: font-size .3s ease;
}
.reviews__title:hover { font-size: 42px; }

.promo {
  max-width: 600px;
  margin: 28px auto 0;
  padding: 40px 60px;
  border: 1px solid var(--gold-light);
  border-radius: 1px;
  background: rgba(204, 182, 109, .37);
  box-shadow: var(--card-shadow);
  text-align: center;
}
.promo__title {
  padding-bottom: 30px;
  color: #000;
  font: 700 28px/1 var(--font-head);
}


/* ---------- 11. Гарантия ---------- */

.guarantee {
  padding: 49px 0 22px;
  background: #fff linear-gradient(1deg, #fff 0%, rgba(0, 0, 0, .08) 100%);
}
.guarantee__head { padding-bottom: 7px; }
.guarantee__title {
  margin-bottom: 7px;
  padding-bottom: 10px;
  color: var(--blue);
  font: 500 42px/1 var(--font-head);
  text-align: center;
  text-shadow: 0 0 .3em #fff;
}
.guarantee__rule {
  width: 100px;
  height: 23px;
  margin: 0 auto;
  border: 0;
  border-top: 2px solid #ffd4a3;
}

.guarantee__body {
  display: grid;
  grid-template-columns: 36.8% 57.4%;
  column-gap: 5.5%;
  align-items: start;
  margin-top: -6px;
  padding-top: 25px;
}
.guarantee__image {
  justify-self: center;
  margin-bottom: -4px;
}
.guarantee__text {
  padding-top: 9px;
  font-size: 20px;
  line-height: 1.4;
}
.guarantee__text p:not(:last-child) { padding-bottom: 1em; }
.guarantee__text p.guarantee__lead {
  padding-bottom: 10px;
  color: #ba2a1a;
  font: 400 34px/1 var(--font-script);
  text-align: center;
}
.guarantee__text p.guarantee__accent {
  padding-bottom: 10px;
  color: var(--heading);
  font: 500 22px/1.4 var(--font-head);
  text-align: center;
}


/* ---------- 12. Финальный блок ---------- */

.final {
  padding: 18px 0 67px;
  background:
    linear-gradient(360deg, rgba(255, 255, 255, 0) 0%, #fff 100%),
    url("../img/bg/final-gold.jpg") 50% 50% / cover;
}
.final__intro .divider-gold { margin-bottom: var(--gap); }
.final__question {
  width: 99%;
  max-width: 800px;
  margin: 40px auto var(--gap);
}
.final__subtitle {
  max-width: 800px;
  margin: 0 auto 13px;
  padding-bottom: 10px;
  color: rgba(0, 0, 0, .4);
  font: 600 22px/1.7 var(--font-head);
  letter-spacing: 1px;
  text-align: center;
  text-transform: uppercase;
}
.final__brand {
  margin-top: 22px;
  font-family: var(--font-head);
  text-align: center;
}
.final__brand span { display: block; padding-bottom: 10px; line-height: 1; }
.final__brand-small {
  color: var(--gold-light);
  font-size: 30px;
}
.final__brand-big {
  color: var(--gold);
  font-size: 62px;
  font-weight: 700;
  text-transform: uppercase;
}
.final__brand .final__brand-big--tall { line-height: 1.6; }

.final__action {
  max-width: 1080px;
  margin: 0 auto 136px;
  padding: 1px 0 var(--row-pad);
}
.final__action .center { margin-bottom: 2.75%; }
.final__motto {
  width: 99%;
  max-width: 800px;
  width: fit-content;
  margin: 18px auto 0;
  padding: 10px 30px;
  border-radius: 20px;
  background: rgba(255, 255, 255, .85);
  color: rgba(0, 0, 0, .64);
  font: 600 32px/1.4 var(--font-head);
  text-align: center;
  text-transform: uppercase;
}

/* Чаты поддержки */
.support__head,
.support__links {
  width: 80%;
  max-width: 603px;
  margin: 11px auto 0;
  padding-block: var(--row-pad);
  box-shadow: var(--card-shadow);
}
.support__head {
  padding-inline: 22px;
  border-radius: 16px 16px 0 0;
  background: rgba(255, 255, 255, .87);
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}
.support__title {
  padding-bottom: 10px;
  color: rgba(0, 0, 0, .59);
  font: 600 30px/1.4 var(--font-head);
  letter-spacing: 1px;
  text-transform: uppercase;
}
.support__links {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 5.5%;
  align-items: start;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}
/* Ширина ячейки иконки — как в оригинале (доля колонки) */
.support__links li { margin-inline: auto; }
.support__links li:nth-child(1) { width: 60%; }
.support__links li:nth-child(2) { width: 48%; }
.support__links li:nth-child(3) { width: 44%; }
.support__links li:nth-child(4) { width: 51%; }
.support__links a { display: inline-block; transition: transform .2s ease; }
.support__links a:hover { transform: scale(1.08); }


/* ---------- 13. Подвал ---------- */

.footer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 5.5%;
  align-items: start;
  padding: 27px 0 15px;
  background: #adadad;
  text-align: center;
}
.footer__brand {
  color: var(--text);
  font: 800 18px/23.8px Arial, sans-serif;
  font-variant: small-caps;
}
.footer__contacts a { display: block; font-weight: 700; }
.footer__email {
  padding-bottom: 10px;
  color: var(--heading);
  font-size: 15px;
  line-height: 1;
}
.footer__privacy { color: #808080; }

.footer__social {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 8px;
  padding-top: 1px;
  filter: hue-rotate(283deg) saturate(64%) brightness(51%);
}
.footer__social img { display: block; }


/* ---------- 14. Лайтбокс ---------- */

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 8px;
  background: rgba(11, 11, 11, .8);
  opacity: 0;
  visibility: hidden;
  cursor: zoom-out;
  transition: opacity .25s ease, visibility .25s;
}
.lightbox.is-open { opacity: 1; visibility: visible; }
.lightbox__image {
  max-width: 100%;
  max-height: calc(100vh - 80px);
  box-shadow: 0 0 8px rgba(0, 0, 0, .6);
}
.lightbox__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: #fff;
  font: 300 32px/44px Arial, sans-serif;
  cursor: pointer;
  opacity: .8;
}
.lightbox__close:hover,
.lightbox__close:focus-visible { opacity: 1; }
body.has-lightbox { overflow: hidden; }


/* ---------- 15. Анимации появления ---------- */

@keyframes fade-top {
  from { opacity: 0; transform: translateY(-60%); }
  to { opacity: 1; transform: none; }
}
@keyframes slide-left {
  from { opacity: 0; transform: translateX(-50%); }
  to { opacity: 1; transform: none; }
}

.js .reveal-top,
.js .slide-in { opacity: 0; }
.js .reveal-top.is-visible { animation: fade-top 1s cubic-bezier(.77, 0, .175, 1) both; }
.js .slide-in.is-visible { animation: slide-left 1s ease-in-out both; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .reveal-top,
  .js .slide-in { opacity: 1; animation: none !important; }
  .package__name,
  .btn,
  .btn::after { transition: none; }
}


/* ==========================================================================
   16. Адаптив
   ========================================================================== */

/* ---------- Широкий экран ---------- */
@media (min-width: 1350px) {
  :root {
    --sec-pad: 54px;
    --row-pad: 27px;
  }
}

/* ---------- Планшет и телефон (≤980px) ---------- */
@media (max-width: 980px) {
  :root {
    --sec-pad: 50px;
    --row-pad: 30px;
    --gap: 30px;
  }

  /* Мобильные браузеры не поддерживают fixed-фон — обычная прокрутка */
  .bg-photo {
    background-attachment: scroll;
    background-position: 50% 50%;
  }

  /* Кнопки на мобильных компактнее (размеры как в оригинале) */
  .btn,
  .btn--glass,
  .btn--gold,
  .btn--plan,
  .btn--promo {
    font-size: 20px;
  }
  .btn--plan { border-width: 2px; }
  .btn--red,
  .btn--red:hover {
    padding: .3em 1em;
    border: 2px solid #e84a37;
    font-size: 20px;
  }

  /* Первый экран */
  .hero { padding: 21px 0 12px; }
  .hero__top { padding-block: 4px 2px; }
  .hero__main { margin-left: 0; }
  .hero__author { margin-top: 11px; }
  .hero__title { margin-top: 34px; }
  .hero__title-line2 { font-size: 48px; line-height: 1.2; }
  .hero__lead { font-size: 14px; }

  /* Для кого: иконка слева от заголовка, карточки в столбик */
  .audience { padding: 13px 0 86px; }
  .audience::after { height: 48px; }
  .audience__grid { display: block; padding-block: 4px; }
  .audience__intro {
    display: grid;
    grid-template-columns: 1fr auto minmax(0, 417px) 1fr;
    grid-template-areas:
      ". icon title ."
      "divider divider divider divider";
    align-items: start;
    margin: 0 0 68px;
  }
  .audience__icon {
    grid-area: icon;
    align-self: start;
    width: 118px;
    height: 118px;
    margin-right: 15px;
  }
  .audience__title { grid-area: title; margin-bottom: 0; }
  .audience__title-main { font-size: 48px; line-height: 1; }
  .audience__title .audience__title-sub {
    padding-bottom: 0;
    font-size: 47px;
    font-weight: 700;
    line-height: 1.2;
  }
  .audience__divider { grid-area: divider; margin: 30px 0 0; }
  .audience__cards { display: block; }
  .audience-card,
  .audience-card:nth-child(3n) { margin-bottom: 30px; }
  .audience-card:last-child { margin-bottom: 0; }

  /* Вам обязательно нужно */
  .pains__head .title-gold { font-size: 32px; }
  .icon-list--pains li { font-size: 16px; line-height: 2; }
  .pains__decision { margin-block: 12px; font-size: 25px; line-height: 1.2; }
  .call { margin-top: 20px; font-size: 24px; }
  .call .title-gold { font-size: 32px; }

  .program-title .title-gold { font-size: 42px; }

  /* Пакеты */
  .package__header { padding-bottom: 30px; }
  .package__name { width: auto; }

  /* flow-root: верхний отступ картинки не «проваливается» наружу блока */
  .module,
  .package__results { display: flow-root; }
  .module__body { margin: 0 1%; padding: 38px 20px 0; }
  .module__title { font-size: 30px; }
  .module__topics li { font-size: 18px; }
  .module__result { font-size: 16px; }

  .package__results { padding-block: 0; }
  .package__results-title { font-size: 32px; }
  .package__summary { font-size: 26px; }
  .icon-list--results li { width: 97%; max-width: 98%; font-size: 18px; line-height: 1.3; }

  .gift { display: flow-root; padding-block: 0; }
  .gift__image { display: block; width: 36%; margin: 0 auto 30px; }
  .gift__body { display: flow-root; padding-bottom: 16px; }
  .gift__label { margin: 6px 0 8px; font-size: 42px; }
  .gift__name { font-size: 28px; }

  /* Тарифы: по два в ряд */
  .pricing__plans { flex-wrap: wrap; }
  .plan { flex: 0 0 50%; margin: 0 -1px 0 0; }
  .plan--featured { margin-top: 20px; }
  .plan__sum { font-size: 48px; }
  .plan--advanced .plan__sum,
  .plan--master .plan__sum { font-size: 50px; }
  .pricing__discount { max-width: none; line-height: 1.6; }

  /* В результате */
  .outcome { padding: 19px 0 48px; }
  .outcome__head { padding-bottom: 11px; }
  .outcome__title { font-size: 38px; }
  .icon-list--outcome li { font-size: 20px; }

  /* Об авторе */
  .author__card { display: block; padding: var(--row-pad) 30px 3px; }
  .author__intro { margin-bottom: 30px; }
  .author__name { margin-bottom: 30px; font-size: 34px; }
  .author__picture { display: block; margin-top: 0; }
  .author__photo { max-width: min(100%, 375px); margin-inline: auto; }
  .author__more { padding: 10px 30px 30px; }

  /* Дипломы */
  .diplomas__title { width: auto; font-size: 37px; }
  .diplomas__grid { display: block; }
  .diplomas__grid .lightbox-link,
  .diplomas__col .lightbox-link:not(:last-child) { margin: 0 auto 30px; }
  .diplomas__grid > .lightbox-link:last-child,
  .diplomas__col:last-child .lightbox-link:last-child { margin-bottom: 0; }
  .diplomas__grid--portrait .lightbox-link,
  .diplomas__grid--2 .lightbox-link:not(.lightbox-link--wide) { max-width: 50%; }
  .reviews__title { font-size: 26px; }
  .reviews__title:hover { font-size: 30px; }

  /* Гарантия */
  .guarantee__title { font-size: 32px; }
  .guarantee__body { display: block; padding: 6px 0 var(--row-pad); }
  .guarantee__image { display: block; width: 60%; margin: 0 auto 26px; }
  .guarantee__text { font-size: 18px; }
  .guarantee__text p.guarantee__lead { font-size: 30px; }
  .guarantee__text p.guarantee__accent { font-size: 20px; }

  /* Финальный блок */
  .final__question { margin-top: 20px; font-size: 32px; }
  .final__action { padding-bottom: 30px; }
  .final__action .center { margin-bottom: 30px; }
  .final__motto { margin-top: 75px; font-size: 36px; }
  .support__links {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 30px;
  }
  .support__links li { width: auto !important; }

  /* Подвал: колонки друг под другом */
  .footer { grid-template-columns: 1fr; row-gap: 30px; }
  .footer__brand { font-size: 14px; }
}

/* ---------- Только планшет (768–980px) ---------- */
@media (min-width: 768px) and (max-width: 980px) {
  /* на планшете оригинал показывает 480-пиксельные версии картинок */
  .divider-gold { width: 480px; }
  .diplomas__grid--3:not(.diplomas__grid--portrait) img,
  .lightbox-link--wide img { max-width: 480px; }
  .hero__main { width: 80%; }
  .package__header.is-stuck .package__name { font-size: 42px; }
}

/* ---------- Телефон (≤767px) ---------- */
@media (max-width: 767px) {
  .hero__main { width: 97%; }
  .hero__author { margin-bottom: 24px; }
  .hero__author-caption { font-size: 18px; }
  .hero__author-name { font-size: 26px; }
  .hero__title,
  .hero__slogan,
  .hero__lead { padding-left: 20px; }
  .hero__title-line1 { font-size: 56px; }
  .hero__title-line2 { font-size: 32px; }
  .hero__slogan { line-height: 1.2; text-align: center; }
  .hero__lead { font-size: 12px; }

  .audience { padding-top: 21px; }
  .audience__icon { width: 98px; height: 98px; }
  .audience__title-main,
  .audience__title .audience__title-sub { font-size: 42px; line-height: 1; }

  .pains__head { width: 98%; }
  .pains__head .title-gold { font-size: 28px; }
  .pains__body { padding-inline: 20px; }
  .icon-list--pains li { font-size: 14px; line-height: 1.4; }
  .pains__decision { font-size: 22px; }
  .call { font-size: 22px; }
  .call .title-gold { font-size: 26px; }

  .program-title .container { width: 98%; }
  .program-title .title-gold { font-size: 36px; }

  /* Пакеты: блоки на всю ширину экрана */
  .package__header { padding: 0 0 0 80px; }
  .package__header.is-stuck { background: linear-gradient(180deg, rgba(0, 0, 0, .13) 0%, rgba(0, 0, 0, .41) 100%); }
  .package__name,
  .package__header.is-stuck .package__name { font-size: 30px; line-height: 1.2; }
  .module,
  .package__results,
  .gift { width: 100%; }
  .module__body { width: 90%; margin: 0 auto; padding: 42px 0 0; }
  .module__title { font-size: 24px; }
  .module__result { font-size: 14px; }
  .package__results-title { font-size: 20px; }
  .package__summary { font-size: 20px; }
  .icon-list--results li { width: 100%; font-size: 14px; line-height: 1.2; }
  .gift__body { padding-bottom: 11px; }
  .gift__label { font-size: 32px; }
  .gift__name { font-size: 20px; }

  /* Тарифы: по одному */
  .pricing__head { width: 96%; }
  .pricing__kicker,
  .pricing__title { padding-left: 18px; }
  .pricing__kicker { margin-top: 36px; line-height: 1.2; }
  .pricing__title span:first-child { font-size: 52px; line-height: 1.2; }
  .pricing__title span:last-child { font-size: 32px; }
  .pricing__head + .container { width: 94%; }
  .pricing__plans { margin-bottom: 0; }
  .plan,
  .plan--featured { flex-basis: 100%; margin: 0 0 30px; }
  .plan__sum,
  .plan--advanced .plan__sum,
  .plan--master .plan__sum { font-size: 42px; }
  .pricing__discount-title { font-size: 26px; line-height: 1.2; }

  .outcome { padding: 26px 0 21px; }
  .outcome__head { padding: 17px 0 8px; }
  .outcome__title { margin-bottom: 11px; font-size: 32px; }
  .outcome__head + .container { padding: 12px 0 18px; }
  .icon-list--outcome li { font-size: 18px; }
  .call .title-gold { font-size: 28px; }
  .pains .call .title-gold { font-size: 26px; }

  .author { background-image: url("../img/bg/author-mobile.jpg"); }
  .author__card { padding-inline: 20px; }
  .author__name { font-size: 24px; }
  .author p { line-height: 1.4; }
  .author__more { padding-inline: 20px; }

  .diplomas__title { width: 90%; font-size: 32px; }
  .diplomas > .container:first-child { margin-block: 4px; padding-block: 2px; }
  .diplomas__grid--2 .lightbox-link:not(.lightbox-link--wide) { max-width: 80%; }
  .promo { padding: 40px; }

  .guarantee { padding: 17px 0 16px; }
  .guarantee__title { font-size: 26px; }
  .guarantee__image { width: 80%; }
  .guarantee__text { font-size: 14px; }
  .guarantee__text p.guarantee__lead { font-size: 24px; }
  .guarantee__text p.guarantee__accent { font-size: 18px; }

  .final__intro { padding-block: 2px; }
  .final__question { margin-bottom: 12px; font-size: 28px; }
  .final__subtitle { font-size: 18px; }
  .final__brand .final__brand-small { line-height: 1.2; }
  .final__brand-big { font-size: 52px; }
  .final__brand .final__brand-big--tall { font-size: 32px; line-height: 1.2; }
  .final__action { margin-bottom: 17px; }
  .final__motto { margin-top: 24px; font-size: 24px; }
  .support__title { font-size: 22px; }
  .support__links { grid-template-columns: 1fr; }

  .footer__social { display: none; }
}
