/*
 * Marketing Management System — страница программы для собственников.
 *
 * Визуальный язык взят у страницы профессии eduson.academy: тёмный первый
 * экран, синий акцент, белые карточки с крупным скруглением, светло-голубые
 * и светло-серые полосы секций, тёмный блок записи и вопросов. Фотографий
 * у программы нет, поэтому на местах фото — интерфейсы её артефактов.
 *
 * Все цвета, радиусы и ширина сетки — токены ниже. Сырое значение в правиле
 * означает, что токена под него нет и он не нужен больше нигде.
 */

:root {
  --c-ink: #131313;
  --c-ink-2: #2f3137;
  --c-text: #3a3c42;
  --c-muted: #6b6e76;
  --c-faint: #6b6e76;
  --c-line: #dfe1e6;
  --c-dark: #2b2b2b;
  --c-darker: #1e1e20;
  --c-dark-card: #2c2e33;
  --c-soft: #f3f6fc;
  --c-gray: #f7f7f8;
  --c-gray-2: #f2f2f4;
  --c-white: #ffffff;
  --c-blue: #4f64ff;
  --c-blue-2: #3a50f5;
  --c-blue-3: #6c7dff;
  --c-blue-mute: #b8c0ff;
  --c-lilac: #dde3ff;
  --c-lilac-2: #eef0ff;
  --c-yellow: #ffd43b;
  --c-green: #22b35e;
  --c-green-soft: #e7f8ee;
  --c-red: #c62828;
  --c-chat: #dde3f1;
  --c-bubble: #dcf8c6;

  --grad-blue: linear-gradient(160deg, #8b98ff 0%, #6477ff 48%, #4f64ff 100%);
  /* Белый текст на плашке: крайние цвета держат контраст 4.5:1, светлее
     градиент у референса, но там и надпись читается хуже. */
  --grad-banner: linear-gradient(100deg, #4a5ef5 0%, #5266ff 46%, #4658f0 100%);

  --r-xxl: 80px;
  --r-xl: 40px;
  --r-l: 30px;
  --r-m: 20px;
  --r-s: 12px;
  --r-xs: 10px;

  --wrap: 1160px;
  --gutter: 20px;
  --font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --shadow-card: 0 30px 60px -24px rgba(17, 27, 120, 0.45);
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* ------------------------------------------------------------------ основа */

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

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

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  margin: 0;
  font-family: var(--font);
  font-size: 18px;
  line-height: 1.35;
  color: var(--c-ink);
  background: var(--c-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

h1,
h2,
h3,
p,
ul,
ol,
figure {
  margin: 0;
}

ul,
ol {
  padding: 0;
  list-style: none;
}

a {
  color: inherit;
}

button,
input {
  font: inherit;
  color: inherit;
}

svg {
  display: block;
}

/* Значки нарисованы линией: заливка у них пустая, цвет берётся у текста. */
svg[viewBox='0 0 24 24'] {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

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

.skip {
  position: absolute;
  left: -9999px;
  top: 12px;
  z-index: 100;
  background: var(--c-white);
  color: var(--c-ink);
  padding: 10px 14px;
  border-radius: var(--r-xs);
}

.skip:focus {
  left: 12px;
}

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

.wrap {
  width: 100%;
  max-width: calc(var(--wrap) + var(--gutter) * 2);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

/* Пропуск в фактуре: пунктир виден сразу и не читается как готовый текст. */
.tbd {
  border: 1.5px dashed #b6bccc;
  border-radius: 8px;
  color: #5f6577;
  padding: 0 8px;
}

/* ------------------------------------------------------------------ кнопки */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  text-decoration: none;
  font-weight: 500;
  line-height: 1.15;
  text-align: center;
  transition:
    background-color 0.2s,
    color 0.2s,
    border-color 0.2s,
    box-shadow 0.25s,
    transform 0.25s;
}

.btn:disabled {
  opacity: 0.6;
  cursor: progress;
}

.btn--primary {
  min-height: 74px;
  padding: 10px 10px 10px 38px;
  gap: 22px;
  background: var(--c-blue);
  color: var(--c-white);
  font-size: 20px;
}

.btn--primary:hover {
  background: var(--c-blue-2);
  box-shadow: 0 20px 40px -18px rgba(79, 100, 255, 0.9);
}

.btn__orb {
  flex: none;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--c-white);
  color: var(--c-blue);
  display: grid;
  place-items: center;
  transition: transform 0.35s var(--ease);
}

.btn__orb svg {
  width: 28px;
  height: 28px;
  stroke-width: 2.2;
}

.btn--primary:hover .btn__orb {
  transform: rotate(45deg);
}

.btn--ghost {
  min-height: 52px;
  padding: 0 24px;
  border: 2px solid #5a5a5a;
  background: transparent;
  color: #9a9a9a;
  font-size: 16px;
}

.btn--ghost:hover {
  border-color: var(--c-white);
  color: var(--c-white);
}

.btn--blue {
  min-height: 64px;
  padding: 0 40px;
  background: var(--c-blue);
  color: var(--c-white);
  font-size: 18px;
}

.btn--blue:hover {
  background: var(--c-blue-2);
  box-shadow: 0 16px 30px -14px rgba(0, 11, 48, 0.35);
}

.btn--black {
  min-height: 64px;
  padding: 0 44px;
  background: var(--c-darker);
  color: var(--c-white);
  font-size: 19px;
}

.btn--black:hover {
  background: #000000;
}

.btn--white {
  min-height: 64px;
  padding: 0 50px;
  background: var(--c-white);
  color: var(--c-ink);
  font-size: 19px;
}

.btn--white:hover {
  box-shadow: 0 18px 30px -16px rgba(0, 0, 0, 0.55);
}

.btn--block {
  width: 100%;
  border-radius: var(--r-xs);
}

.btn--square {
  width: 100%;
  min-height: 65px;
  border-radius: 8px;
  padding: 0 20px;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 6px 20px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
}

.pill--lilac {
  background: var(--c-lilac);
  color: var(--c-ink);
}

.pill--gray {
  background: #ececef;
  color: var(--c-ink);
  font-size: 14px;
  font-weight: 500;
  padding: 7px 14px;
}

.round {
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: var(--c-blue);
  color: var(--c-white);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition:
    background-color 0.2s,
    opacity 0.2s;
}

.round:hover {
  background: var(--c-blue-2);
}

.round:disabled {
  opacity: 0.35;
  cursor: default;
}

.round svg {
  width: 24px;
  height: 24px;
  stroke-width: 2.2;
}

.round--sm {
  width: 40px;
  height: 40px;
}

/* ---------------------------------------------------------------- подсказка */

.tip {
  position: relative;
  display: inline-flex;
  vertical-align: middle;
}

.tip__btn {
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.tip__btn svg {
  width: 22px;
  height: 22px;
  stroke-width: 1.6;
}

.tip__btn--light svg {
  width: 30px;
  height: 30px;
}

.tip__bubble {
  position: absolute;
  right: -14px;
  bottom: calc(100% + 12px);
  z-index: 20;
  width: 280px;
  padding: 14px 16px;
  border-radius: var(--r-s);
  background: var(--c-white);
  color: var(--c-ink);
  box-shadow: 0 22px 44px -14px rgba(0, 0, 0, 0.4);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
  text-align: left;
  letter-spacing: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition:
    opacity 0.2s,
    transform 0.2s,
    visibility 0.2s;
}

.tip__bubble::after {
  content: '';
  position: absolute;
  right: 20px;
  bottom: -6px;
  width: 12px;
  height: 12px;
  background: var(--c-white);
  transform: rotate(45deg);
}

.tip:hover .tip__bubble,
.tip.is-open .tip__bubble,
.tip:focus-within .tip__bubble {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* ---------------------------------------------------------------- шапка */

.top {
  background: var(--c-dark);
  color: var(--c-white);
  padding-top: 56px;
}

.top__in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.top__logo {
  display: inline-flex;
  color: var(--c-white);
}

.top__mark {
  height: 40px;
  width: auto;
}

.langs {
  display: inline-flex;
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
}

.langs__btn {
  min-width: 44px;
  padding: 7px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition:
    background-color 0.2s,
    color 0.2s;
}

.langs__btn:hover {
  color: var(--c-white);
}

.langs__btn[aria-pressed='true'] {
  background: var(--c-white);
  color: var(--c-ink);
}

/* ------------------------------------------------------------ первый экран */

.hero {
  position: relative;
  padding: 58px 0 48px;
  background: var(--c-dark);
  color: var(--c-white);
  /* Скрытая подсказка у значка защиты не должна раздвигать страницу вбок. */
  overflow-x: clip;
}

.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 450px;
  gap: 50px;
  align-items: start;
}

.hero__eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  margin-bottom: 20px;
}

.hero__eyebrow .pill {
  padding: 6px 16px;
  font-size: 15px;
}

.hero__label {
  font-size: 20px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.92);
}

.hero__title {
  margin-bottom: 30px;
  font-size: 74px;
  line-height: 1.04;
  font-weight: 500;
  letter-spacing: -0.025em;
}

.hero__line {
  display: block;
}

.hero__icon {
  position: relative;
  top: -8px;
  display: inline-grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-left: 12px;
  vertical-align: middle;
  border-radius: 19px;
  background: linear-gradient(145deg, #93a0ff 0%, #5b6eff 60%, #4254f0 100%);
  box-shadow:
    inset 0 2px 8px rgba(255, 255, 255, 0.45),
    inset 0 -6px 10px rgba(20, 30, 140, 0.35),
    0 14px 30px -10px rgba(79, 100, 255, 0.85);
  transform: rotate(-9deg);
}

.hero__icon::after {
  content: '';
  position: absolute;
  top: -6px;
  right: -8px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--c-blue-3);
}

.hero__icon svg {
  width: 34px;
  height: 34px;
  color: var(--c-white);
  stroke-width: 2.2;
}

.hero__lead {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 600;
}

.hero__list {
  display: grid;
  gap: 12px;
  max-width: 580px;
  margin-bottom: 40px;
}

.hero__list li {
  position: relative;
  padding-left: 27px;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.94);
}

.hero__list li::before {
  content: '>';
  position: absolute;
  left: 1px;
  top: -2px;
  color: var(--c-blue-3);
  font-size: 21px;
  font-weight: 500;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}

.hero__visual {
  position: relative;
  min-width: 0;
}

.hero__stage {
  position: relative;
  height: 590px;
  border-radius: var(--r-xxl);
  overflow: hidden;
  background: var(--grad-blue);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
}

/* Дуги за картинкой — как круги за фото на референсе. */
.hero__stage::before,
.hero__stage::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
}

.hero__stage::before {
  width: 640px;
  height: 640px;
  left: -60px;
  top: 150px;
}

.hero__stage::after {
  width: 420px;
  height: 420px;
  right: -170px;
  top: 300px;
  background: rgba(79, 100, 255, 0.55);
}

.dash {
  position: relative;
  z-index: 1;
  width: 368px;
  padding: 20px 20px 18px;
  border-radius: 24px;
  background: var(--c-white);
  color: var(--c-ink);
  box-shadow: var(--shadow-card);
  transform: rotate(-3deg) translateY(-18px);
}

.dash__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.dash__title {
  font-size: 16px;
  font-weight: 700;
}

.dash__week {
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--c-lilac-2);
  color: var(--c-blue);
  font-size: 12px;
  font-weight: 600;
}

.dash__kpis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 14px;
}

.kpi {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 12px;
  background: #f5f6fb;
}

.kpi__k {
  font-size: 11px;
  font-weight: 600;
  color: var(--c-muted);
}

.kpi__v {
  font-size: 18px;
  font-weight: 700;
  color: var(--c-green);
}

.kpi__v--up {
  color: var(--c-blue);
}

.kpi__bar {
  height: 4px;
  border-radius: 4px;
  background: #e3e6f3;
  overflow: hidden;
}

.kpi__bar i {
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: inherit;
  background: var(--c-blue);
}

.dash__chart {
  position: relative;
  height: 120px;
  margin-bottom: 12px;
  padding: 8px 0 0;
  border-radius: 12px;
  background: repeating-linear-gradient(0deg, transparent 0 27px, #eef0f6 27px 28px), var(--c-white);
}

.dash__chart svg {
  width: 100%;
  height: 100px;
}

.dash__plan {
  fill: none;
  stroke: #c3c8d6;
  stroke-width: 2;
  stroke-dasharray: 6 6;
}

.dash__fact {
  fill: none;
  stroke: var(--c-blue);
  stroke-width: 3;
  stroke-linejoin: round;
}

.dash__dot {
  fill: var(--c-white);
  stroke: var(--c-blue);
  stroke-width: 3;
}

.dash__legend {
  display: flex;
  gap: 14px;
  font-size: 11px;
  color: var(--c-muted);
}

.lg::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 3px;
  margin-right: 6px;
  vertical-align: middle;
  border-radius: 2px;
  background: var(--c-blue);
}

.lg--plan::before {
  background: #c3c8d6;
}

.dash__rows {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.drow {
  display: grid;
  grid-template-columns: 92px 1fr 26px;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}

.drow__k {
  color: var(--c-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.drow__track {
  height: 8px;
  border-radius: 8px;
  background: #eceef6;
  overflow: hidden;
}

.drow__track i {
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8e9bff, var(--c-blue));
}

.drow__v {
  font-weight: 700;
  text-align: right;
}

.dash__decision {
  padding: 12px;
  border-radius: 12px;
  background: var(--c-green-soft);
}

.dash__state {
  display: inline-block;
  margin-bottom: 6px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--c-green);
  color: var(--c-white);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dash__text {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

.dash__owner {
  margin-top: 2px;
  font-size: 11px;
  color: var(--c-muted);
}

.final {
  position: absolute;
  right: -30px;
  bottom: 58px;
  z-index: 3;
  width: 158px;
  padding: 12px 12px 14px;
  border-radius: var(--r-s);
  background: var(--c-dark-card);
  color: var(--c-white);
  box-shadow: 0 20px 40px -18px rgba(0, 0, 0, 0.6);
}

.final__top {
  margin-bottom: 8px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.75);
}

.final__title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 500;
}

.final__date {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 12px;
  font-weight: 600;
  color: var(--c-lilac);
}

.hero__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 25px;
  margin-top: 54px;
}

.fcard {
  min-height: 180px;
  padding: 20px 20px 24px;
  border-radius: 18px;
  background: var(--c-white);
  color: var(--c-ink);
}

.fcard__t {
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 600;
}

.fcard__d {
  font-size: 17px;
  line-height: 1.3;
  font-weight: 300;
  color: var(--c-ink-2);
}

/* ---------------------------------------------------------------- секции */

.sec {
  padding: 96px 0;
}

.sec--soft {
  background: var(--c-soft);
}

.sec--gray {
  background: var(--c-gray);
}

/* Две соседние секции на одном фоне читаются одной полосой, как у референса:
   двойной отступ между ними выглядел бы дырой. */
.learn {
  padding-bottom: 50px;
}

.defense {
  padding-top: 60px;
}

.mentor {
  padding-bottom: 30px;
}

.h2 {
  margin-bottom: 48px;
  font-size: 46px;
  line-height: 1.12;
  font-weight: 500;
  letter-spacing: -0.02em;
}

.h2__line {
  display: block;
}

.h2__accent {
  color: #7a7a7a;
}

.h2--xl {
  font-size: 62px;
}

.h2--big {
  font-size: 56px;
}

.h2--center {
  text-align: center;
}

.h2--bold {
  font-weight: 700;
}

.h2--black {
  font-weight: 800;
  letter-spacing: -0.035em;
}

.h2--light {
  color: var(--c-white);
}

/* Галочка в синем круге: список преимуществ в двух блоках. */
.checks {
  display: grid;
  gap: 22px;
}

.checks li {
  position: relative;
  padding-left: 40px;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 400;
  color: #18191a;
}

.checks li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: var(--c-blue)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E")
    center / 15px no-repeat;
}

/* --------------------------------------------------------------- что это */

.why__grid {
  display: grid;
  grid-template-columns: 458px minmax(0, 1fr);
  gap: 52px;
  align-items: start;
}

.why__visual {
  height: 430px;
  padding: 30px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.9) 0, transparent 45%),
    linear-gradient(160deg, #e9ecf7 0%, #d5dbf2 100%);
  display: grid;
  place-items: center;
  overflow: hidden;
}

.funnel {
  width: 100%;
  padding: 22px 20px;
  border-radius: 20px;
  background: var(--c-white);
  box-shadow: 0 24px 48px -26px rgba(30, 40, 120, 0.45);
}

.funnel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.funnel__title {
  font-size: 17px;
  font-weight: 700;
}

.funnel__badge {
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--c-lilac-2);
  color: var(--c-blue);
  font-size: 12px;
  font-weight: 700;
}

.funnel__rows {
  display: grid;
  gap: 10px;
}

.frow {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 46px;
  padding: 0 14px;
  font-size: 14px;
}

.frow__bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--w);
  border-radius: 10px;
  background: linear-gradient(90deg, #dfe3ff, #c7cfff);
}

.frow__k,
.frow__v,
.frow__flag {
  position: relative;
}

.frow__k {
  color: var(--c-ink-2);
  font-weight: 500;
}

.frow__v {
  margin-left: auto;
  font-weight: 700;
}

.frow--gap .frow__bar {
  background: linear-gradient(90deg, #ffe7a8, #ffd43b);
}

.frow__flag {
  order: 3;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--c-ink);
  color: var(--c-white);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
}

.stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 64px;
  margin-top: 84px;
}

/* Число — одной строкой: «25–40%» на 77 px не влезало в колонку и рвалось
   по тире. */
.stat__n {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 2px solid #e2e2e2;
  font-size: 66px;
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: -0.02em;
  white-space: nowrap;
  color: var(--c-blue);
}

.stat__l {
  font-size: 16px;
  line-height: 1.35;
  color: #6f6f6f;
}

/* ---------------------------------------------------------------- кому */

/* Три карточки аудитории в ряд: картинка с буквой сверху, под ней — кому.
   До правок 18.09.2026 здесь было два пути программы с описанием. */
.who__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.wcard {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 20px;
  padding: 15px 15px 26px;
  border-radius: var(--r-l);
  background: var(--c-white);
}

.wcard__img {
  position: relative;
  height: 190px;
  border-radius: var(--r-m);
  overflow: hidden;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, #ffffff 0%, #dfe3ff 40%, #6f80ff 100%);
}

.wcard__img--b {
  background: linear-gradient(180deg, #ffffff 0%, #e7e3ff 40%, #8b7dff 100%);
}

.wcard__img--c {
  background: linear-gradient(180deg, #ffffff 0%, #dcebff 40%, #5b8cff 100%);
}

.wcard__letter {
  font-size: 128px;
  line-height: 1;
  font-weight: 800;
  color: var(--c-white);
  text-shadow: 0 16px 30px rgba(38, 52, 180, 0.35);
}

.wcard__ico {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  padding: 9px;
  border-radius: 50%;
  background: var(--c-white);
  color: var(--c-blue);
  box-shadow: 0 8px 16px -8px rgba(30, 40, 120, 0.5);
}

.wcard__body {
  padding: 0 10px;
}

.wcard__t {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 500;
  color: #151925;
}

/* --------------------------------------------------------- что сделаете */

.learn__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.learn__item {
  position: relative;
  padding: 34px 40px 36px 0;
}

.learn__item:nth-child(3n + 2),
.learn__item:nth-child(3n + 3) {
  padding-left: 40px;
}

/* Вертикальный разделитель между колонками и горизонтальный между рядами —
   как у сетки навыков референса: линии не доходят до пересечений. */
.learn__item:not(:nth-child(3n))::after {
  content: '';
  position: absolute;
  right: 0;
  top: 22px;
  bottom: 22px;
  width: 1px;
  background: #d6d6d8;
}

.learn__item:nth-child(-n + 3)::before {
  content: '';
  position: absolute;
  left: 0;
  right: 40px;
  bottom: 0;
  height: 1px;
  background: #d6d6d8;
}

.learn__item:nth-child(3n + 2)::before,
.learn__item:nth-child(3n + 3)::before {
  left: 40px;
}

.dot-ico {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: var(--c-blue);
  color: var(--c-white);
}

.dot-ico svg {
  width: 19px;
  height: 19px;
  stroke-width: 1.9;
}

.learn__item p {
  font-size: 18px;
  line-height: 1.38;
  color: #1b1b1b;
}

.gbanner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  min-height: 93px;
  margin-top: 56px;
  padding: 18px 110px 18px 60px;
  border-radius: 22px;
  overflow: hidden;
  background: var(--grad-banner);
  color: var(--c-white);
  font-size: 22px;
  line-height: 1.25;
  font-weight: 500;
  text-align: center;
}

/* Два светлых косых среза поверх градиента — фактура плашки референса. */
.gbanner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    115deg,
    transparent 18%,
    rgba(255, 255, 255, 0.07) 18% 42%,
    transparent 42% 63%,
    rgba(255, 255, 255, 0.05) 63% 82%,
    transparent 82%
  );
  pointer-events: none;
}

.gbanner > * {
  position: relative;
}

.gbanner__orb {
  position: absolute;
  right: 48px;
  top: 50%;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--c-white);
  color: #3b3f9d;
  transform: translateY(-50%);
}

.gbanner__orb svg {
  width: 30px;
  height: 30px;
  stroke-width: 1.7;
}

.gbanner--center {
  padding: 18px 60px;
  min-height: 100px;
  font-size: 26px;
}

.gbanner__inf {
  flex: none;
  width: 60px;
  height: 60px;
  stroke-width: 2.4;
}

.gbanner .tip__bubble {
  right: -20px;
}

/* ---------------------------------------------------------------- защита */

.defense__grid {
  display: grid;
  grid-template-columns: 600px minmax(0, 1fr);
  gap: 60px;
  align-items: center;
}

.defense__visual {
  position: relative;
  height: 440px;
  border-radius: var(--r-l);
  overflow: hidden;
  display: grid;
  /* Колонка ровно по ширине блока: без неё она растягивалась по карточке, и
     на телефоне карточка съезжала вправо и упиралась в край. */
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  background: var(--grad-blue);
}

.defense__visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    115deg,
    transparent 12%,
    rgba(255, 255, 255, 0.1) 12% 36%,
    transparent 36% 64%,
    rgba(255, 255, 255, 0.08) 64% 86%,
    transparent 86%
  );
}

.score {
  position: relative;
  width: 380px;
  padding: 22px;
  border-radius: 22px;
  background: var(--c-white);
  box-shadow: var(--shadow-card);
  transform: rotate(2deg);
}

.score__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 16px;
}

.score__title {
  font-size: 18px;
  font-weight: 700;
}

.score__sub {
  font-size: 13px;
  color: var(--c-muted);
}

.score__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.score__list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 11px;
  border-radius: var(--r-xs);
  background: #f5f6fb;
  font-size: 13px;
  font-weight: 500;
}

/* Нечётная последняя строка — на всю ширину: «ИИ-автоматизация» в половине
   карточки ломалась на «ИИ-» и «автоматизация». */
.score__list li:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.lamp {
  flex: none;
  width: 11px;
  height: 11px;
  border-radius: 50%;
}

.lamp--g {
  background: var(--c-green);
  box-shadow: 0 0 0 4px rgba(34, 179, 94, 0.16);
}

.lamp--y {
  background: #ffbf1f;
  box-shadow: 0 0 0 4px rgba(255, 191, 31, 0.2);
}

/* Красная лампа — слабое место: карточка разбора показывает, что нашли. */
.lamp--r {
  background: #ff4d4f;
  box-shadow: 0 0 0 4px rgba(255, 77, 79, 0.18);
}

.score__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed #dddfe6;
  font-size: 13px;
  color: var(--c-muted);
}

.score__foot b {
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--c-green-soft);
  color: #137a3e;
  font-size: 14px;
}

/* ------------------------------------------------------- заявка (полоса) */

.leadband {
  padding: 50px 0 56px;
}

.leadband__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 454px;
  align-items: stretch;
}

.leadband__dark {
  position: relative;
  min-height: 456px;
  padding: 54px 60px;
  border-radius: var(--r-xl);
  overflow: hidden;
  background: var(--c-dark);
  color: var(--c-white);
}

.leadband__t {
  position: relative;
  z-index: 1;
  max-width: 560px;
  font-size: 44px;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.leadband__shape {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 400px;
  height: 360px;
}

.leadband__card {
  padding: 46px 44px 40px;
  border-radius: var(--r-xl);
  background: var(--c-white);
}

/* ------------------------------------------------------------------ формы */

.lead {
  position: relative;
}

.field {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: border-color 0.2s;
}

.field__input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
}

.field__input::placeholder {
  color: #767982;
  opacity: 1;
}

.field__flag {
  flex: none;
  width: 24px;
  height: 16px;
  border-radius: 3px;
  stroke: none;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.field.is-invalid {
  border-color: var(--c-red) !important;
}

.field__error {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.3;
  color: var(--c-red);
}

.field__error:empty {
  display: none;
}

.lead--line .field {
  margin-top: 20px;
  padding: 8px 0 12px;
  border-bottom: 1px solid #c9c9c9;
}

.lead--line .field:first-child {
  margin-top: 0;
}

.lead--line .field:focus-within {
  border-color: var(--c-blue);
}

.lead--line .field__input {
  font-size: 16px;
}

.lead__hint {
  margin-top: 14px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--c-faint);
}

.check {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-top: 22px;
  font-size: 13px;
  line-height: 1.4;
  color: var(--c-muted);
  cursor: pointer;
}

.check__input {
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.check__box {
  flex: none;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 1.5px solid var(--c-darker);
  border-radius: 3px;
  background: var(--c-white);
}

.check__box svg {
  width: 14px;
  height: 14px;
  stroke-width: 3;
  color: var(--c-darker);
  opacity: 0;
}

.check__input:checked + .check__box svg {
  opacity: 1;
}

.check__input:focus-visible + .check__box {
  outline: 2px solid var(--c-blue);
  outline-offset: 2px;
}

.check--light {
  color: rgba(255, 255, 255, 0.82);
}

.check--light .check__box {
  border-color: var(--c-white);
  background: transparent;
}

.check--light .check__box svg {
  color: var(--c-white);
}

.lead__trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.lead__submit {
  margin-top: 32px;
}

.leadband .lead__submit {
  min-width: 300px;
}

.lead__status {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--c-muted);
}

.lead__status:empty {
  display: none;
}

.lead__status.is-error {
  color: var(--c-red);
}

/* Успех: форма уступает место ответу, а не прячет его под собой. */
.lead.is-done > :not([data-form-done]) {
  display: none !important;
}

.done {
  padding: 8px 0;
  outline: none;
}

.done__icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: var(--c-blue);
  color: var(--c-white);
}

.done__icon svg {
  width: 30px;
  height: 30px;
  stroke-width: 2.6;
}

.done__t {
  margin-bottom: 8px;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 600;
}

.done__d {
  font-size: 16px;
  line-height: 1.45;
  color: #5b5e66;
}

.done__again {
  margin-top: 18px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--c-blue);
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.done__file {
  margin-top: 22px;
  min-height: 56px;
  padding: 0 28px;
  font-size: 16px;
}

.done__file svg {
  width: 24px;
  height: 24px;
}

.done--dark .done__t {
  color: var(--c-white);
}

.done--dark .done__d {
  color: rgba(255, 255, 255, 0.8);
}

.done--dark .done__again {
  color: var(--c-white);
}

/* ------------------------------------------------------------- программа */

.program__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 42px;
}

.program__head .h2 {
  margin-bottom: 0;
}

.btn--pdf {
  min-height: 56px;
  padding: 0 28px;
  font-size: 16px;
  font-weight: 500;
}

.btn--pdf svg {
  width: 28px;
  height: 28px;
  stroke-width: 1.6;
}

.program__stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px 32px;
  margin-bottom: 44px;
}

.program__stats li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 500;
}

.program__stats svg {
  width: 30px;
  height: 30px;
  stroke-width: 1.6;
}

.acc__item {
  border-bottom: 1px solid #ececef;
}

.acc__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 50px;
  column-gap: 28px;
  align-items: center;
  padding: 28px 0;
  list-style: none;
  cursor: pointer;
}

.acc__head::-webkit-details-marker {
  display: none;
}

.acc__when {
  grid-column: 1;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-blue);
}

.acc__title {
  grid-column: 1;
  font-size: 26px;
  line-height: 1.25;
  font-weight: 500;
  color: var(--c-ink);
}

.acc__plus {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: var(--c-blue-mute);
  color: var(--c-white);
  transition:
    transform 0.3s var(--ease),
    background-color 0.2s;
}

.acc__plus svg {
  width: 30px;
  height: 30px;
  stroke-width: 1.6;
}

.acc__head:hover .acc__plus,
.acc__item[open] .acc__plus {
  background: var(--c-blue);
}

.acc__item[open] .acc__plus {
  transform: rotate(45deg);
}

.acc__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 48px;
  padding: 4px 0 36px;
}

.acc__label {
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-muted);
}

.acc__side .acc__label:not(:first-child) {
  margin-top: 20px;
}

.dots {
  display: grid;
  gap: 10px;
}

.dots li {
  position: relative;
  padding-left: 24px;
  font-size: 19px;
  line-height: 1.38;
  color: #121212;
}

.dots li::before {
  content: '';
  position: absolute;
  left: 4px;
  top: 0.58em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--c-blue);
}

.acc__side {
  align-self: start;
  padding: 22px 24px 24px;
  border-radius: var(--r-m);
  background: var(--c-soft);
}

.acc__art {
  font-size: 17px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--c-ink);
}

.acc__crisis {
  font-size: 16px;
  line-height: 1.45;
  color: var(--c-text);
}

.acc__note {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.45;
  color: #5b5e66;
}

.acc__break {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 0;
  border-bottom: 1px dashed #d7d8de;
  font-size: 16px;
  color: var(--c-muted);
}

.acc__break svg {
  width: 22px;
  height: 22px;
}

/* --------------------------------------------------------- 18 артефактов */

.artifacts {
  background: var(--c-gray-2);
}

.artifacts__stage {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 520px;
  padding: 0 30px;
  border-radius: 32px;
  overflow: hidden;
  background: var(--c-yellow);
}

.artifacts__stage::before,
.artifacts__stage::after {
  content: '';
  position: absolute;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-radius: 50%;
}

.artifacts__stage::before {
  width: 820px;
  height: 820px;
  left: -260px;
  top: 60px;
}

.artifacts__stage::after {
  width: 700px;
  height: 700px;
  right: -240px;
  top: -80px;
}

.sheet {
  position: relative;
  z-index: 1;
  flex: none;
  width: 330px;
  margin: 0 8px;
  padding: 30px 28px 26px;
  border-radius: 8px 8px 0 0;
  background: var(--c-white);
  box-shadow: 0 24px 50px -20px rgba(0, 0, 0, 0.35);
}

.sheet--1 {
  transform: rotate(-5deg) translateY(40px);
}

.sheet--2 {
  z-index: 2;
  transform: translateY(6px);
}

.sheet--3 {
  transform: rotate(5deg) translateY(44px);
}

.sheet__brand {
  margin-bottom: 18px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.sheet__group {
  margin-bottom: 18px;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 700;
}

.sheet__list {
  display: grid;
  gap: 9px;
  counter-reset: sheet;
}

.sheet__list li {
  position: relative;
  padding-left: 30px;
  font-size: 15px;
  line-height: 1.3;
  counter-increment: sheet;
}

.sheet__list li::before {
  content: counter(sheet);
  position: absolute;
  left: 0;
  top: -1px;
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: var(--c-lilac-2);
  color: var(--c-blue);
  font-size: 11px;
  font-weight: 700;
}

.sheet__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 24px;
  padding-top: 14px;
  border-top: 1px dashed #dddddd;
  font-size: 12px;
  color: #6b6b6b;
}

.sheet__stamp {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 2px solid var(--c-blue);
  border-radius: 50%;
  color: var(--c-blue);
  font-size: 19px;
  font-weight: 800;
  transform: rotate(-12deg);
}

.artifacts__note {
  max-width: 780px;
  margin: 36px auto 0;
  font-size: 16px;
  line-height: 1.45;
  text-align: center;
  color: #676767;
}

/* ------------------------------------------------------- неделя: слайдер */

.wslider {
  position: relative;
}

.wslider__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  border-radius: 22px;
  overscroll-behavior-x: contain;
}

.wslider__track::-webkit-scrollbar {
  display: none;
}

.wslide {
  display: grid;
  grid-template-columns: 474px minmax(0, 1fr);
  gap: 54px;
  align-items: center;
  min-height: 380px;
  padding: 70px 110px 70px 130px;
  border-radius: 22px;
  background: var(--c-white);
  scroll-snap-align: start;
}

.wslider .round {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
}

.round--prev {
  left: -54px;
}

.round--prev svg {
  transform: rotate(180deg);
}

.round--next {
  right: -54px;
}

.wvis {
  position: relative;
  height: 236px;
  padding: 22px;
  border-radius: 18px;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 110%, rgba(79, 100, 255, 0.55) 0, transparent 50%),
    linear-gradient(140deg, #16171b 0%, #2a2c36 100%);
}

.wvis::after {
  content: '';
  position: absolute;
  left: -40px;
  bottom: -60px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(185, 192, 255, 0.55), transparent 65%);
}

.wvis__days {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 24px;
}

.wvis__days > span {
  padding: 10px 0;
  border-radius: var(--r-xs);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.6);
  font-size: 12px;
  font-weight: 600;
  text-align: center;
}

.wvis__days > span.on {
  background: var(--c-blue);
  color: var(--c-white);
}

.wvis__card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 12px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--c-white);
}

.wvis__ico {
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  padding: 10px;
  border-radius: var(--r-s);
  background: var(--c-lilac-2);
  color: var(--c-blue);
}

.wvis__label {
  font-size: 12px;
  color: var(--c-muted);
}

.wvis__name {
  grid-column: 2;
  font-size: 16px;
  color: var(--c-ink);
}

.wvis__chip,
.wvis__time {
  grid-column: 3;
  grid-row: 1 / span 2;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff4d6;
  color: #8a5a00;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.wvis__chip--ok {
  background: var(--c-green-soft);
  color: #137a3e;
}

.wvis__time {
  background: var(--c-lilac-2);
  color: var(--c-blue);
}

.wslide__day {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-blue);
}

.wslide__t {
  margin-bottom: 20px;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 500;
}

.wslide__d {
  font-size: 18px;
  line-height: 1.4;
  color: #222222;
}

/* ---------------------------------------------------------------- ментор */

.mentor__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 630px;
  gap: 60px;
  align-items: center;
}

.mentor .h2 {
  margin-bottom: 26px;
}

.mentor__d {
  font-size: 20px;
  line-height: 1.4;
  color: #333333;
}

.chat {
  padding: 28px 40px 26px;
  border-radius: 36px;
  background: var(--c-chat);
}

.chat__msg {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 440px;
}

.chat__msg + .chat__msg {
  margin-top: 16px;
}

.chat__msg--out {
  align-items: flex-end;
  margin-left: auto;
}

.bubble {
  padding: 12px 18px;
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.4;
  color: #111111;
}

.bubble--out {
  border-bottom-right-radius: 4px;
  background: var(--c-bubble);
}

.bubble--in {
  border-bottom-left-radius: 4px;
  background: var(--c-white);
}

.chat__who {
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #5c6478;
}

/* ------------------------------------------------------------- вопросы */

.ask {
  padding: 50px 0 96px;
}

.ask__card {
  padding: 56px 60px 60px;
  border-radius: var(--r-xl);
  background: var(--c-dark);
  color: var(--c-white);
}

.ask__t {
  margin-bottom: 28px;
  font-size: 48px;
  line-height: 1.28;
  font-weight: 500;
  letter-spacing: -0.01em;
}

.ask__line {
  display: block;
}

.lead__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 290px;
  gap: 20px;
  align-items: start;
}

.field--solid {
  height: 65px;
  padding: 0 16px;
  border: 2px solid transparent;
  border-radius: var(--r-xs);
  background: var(--c-white);
}

.field--solid .field__input {
  font-size: 18px;
  color: var(--c-ink);
}

.ask .lead__submit {
  margin-top: 0;
}

.ask .field__error {
  color: #ff8a8e;
}

.ask .lead__status.is-error {
  color: #ff8a8e;
}

/* Простая заявка после разбора — та же тёмная карточка, но на сером поле
   разбора: одна полоса, без второго отступа сверху. Двумя классами, чтобы
   отступ телефона из правил ниже его не вернул. */
.ask.cta {
  padding-top: 0;
}

/* ---------------------------------------------------------- кто ведёт */

.team {
  padding-bottom: 90px;
}

.team .h2 {
  font-size: 52px;
}

.tslider__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 590px;
  gap: 16px;
  padding: 0 max(var(--gutter), calc((100vw - var(--wrap)) / 2)) 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: max(var(--gutter), calc((100vw - var(--wrap)) / 2));
  scroll-behavior: smooth;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}

.tslider__track::-webkit-scrollbar {
  display: none;
}

.tcard {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  min-height: 330px;
  border-radius: var(--r-m);
  overflow: hidden;
  background: var(--c-white);
  scroll-snap-align: start;
}

.tcard__left {
  display: flex;
  flex-direction: column;
  padding: 28px;
  background: #f6f6f7;
}

.tcard__photo {
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 8px;
  width: 170px;
  height: 150px;
  margin-bottom: 20px;
  padding: 0;
  font-size: 13px;
}

.tcard__photo svg {
  width: 34px;
  height: 34px;
  color: #a5abbd;
}

.tcard__name {
  margin-bottom: 8px;
  font-size: 17px;
  line-height: 1.3;
}

.tcard__role {
  margin-top: auto;
  font-size: 21px;
  line-height: 1.2;
  font-weight: 500;
}

.tcard__right {
  display: flex;
  flex-direction: column;
  padding: 28px 30px 26px;
}

.tcard__sub {
  margin-bottom: 18px;
  font-size: 18px;
  font-weight: 700;
}

.tcard__facts {
  display: grid;
  gap: 14px;
  margin-bottom: 22px;
}

.tcard__facts li {
  position: relative;
  padding-left: 34px;
  font-size: 15px;
  line-height: 1.35;
  color: #2c2e33;
}

.tcard__facts li::before {
  content: '';
  position: absolute;
  left: 0;
  top: -2px;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: var(--c-lilac-2)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f64ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E")
    center / 13px no-repeat;
}

.tcard__stat {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #e6e7eb;
  font-size: 14px;
  font-weight: 500;
  color: #2c2e33;
}

.tcard__stat b {
  font-size: 24px;
  font-weight: 500;
  color: var(--c-blue);
}

.tslider__nav {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
}

/* ------------------------------------------------------- спикеры семинара */

/*
 * Две карточки рядом, а не слайдер, как у команды программы: спикеров двое,
 * и листать двоих — прятать второго за стрелкой. Галочки фактов — те же, что
 * у карточек команды (.tcard__facts), чтобы блоки читались одной страницей.
 */
.speakers__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.spk {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  border-radius: var(--r-m);
  overflow: hidden;
  background: var(--c-gray);
}

/*
 * Портрет на всю высоту карточки, а не аватар: вариант с аватаром —
 * квадратом со скруглением — владелец посмотрел 21.09.2026 и вернул этот.
 * Фото тянется по высоте, потому что факты у спикеров разной длины,
 * и фиксированная высота обрезала бы либо фото, либо текст.
 */
.spk__photo {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 275px;
  object-fit: cover;
  object-position: center 25%;
}

.spk__body {
  padding: 28px 28px 26px;
}

.spk__name {
  margin-bottom: 20px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
}

.spk__facts {
  margin-bottom: 0;
}

/* ------------------------------------------------------- 30 и 90 дней */

.results {
  padding-top: 40px;
}

.results__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
}

.rcard {
  position: relative;
  min-height: 210px;
  padding: 34px 36px 38px;
  border-radius: var(--r-l);
  overflow: hidden;
  background: var(--c-white);
}

.rcard__t {
  max-width: 62%;
  margin-bottom: 22px;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 500;
  color: var(--c-blue);
}

.rcard__d {
  max-width: 63%;
  font-size: 16px;
  line-height: 1.45;
  color: #1b1b1b;
}

.rcard__art {
  position: absolute;
  right: 22px;
  bottom: -14px;
  width: 170px;
  height: 190px;
  display: grid;
  place-items: center;
}

.cal {
  position: relative;
  display: grid;
  place-content: center;
  justify-items: center;
  width: 146px;
  height: 150px;
  border-radius: 28px;
  background: linear-gradient(160deg, #b7c0ff 0%, #6f81ff 55%, #4f64ff 100%);
  box-shadow:
    inset -10px -12px 0 rgba(20, 30, 140, 0.18),
    inset 6px 6px 14px rgba(255, 255, 255, 0.45),
    0 24px 34px -14px rgba(79, 100, 255, 0.6);
  color: var(--c-white);
  transform: rotate(-9deg);
}

.cal--tilt {
  transform: rotate(8deg);
}

.cal__rings {
  position: absolute;
  top: -12px;
  left: 34px;
  right: 34px;
  height: 26px;
  border-left: 10px solid #3d52f0;
  border-right: 10px solid #3d52f0;
  border-radius: 6px;
}

.cal__n {
  font-size: 62px;
  line-height: 1;
  font-weight: 800;
  text-shadow: 0 6px 14px rgba(20, 30, 140, 0.35);
}

.cal__u {
  font-size: 15px;
  font-weight: 600;
  opacity: 0.9;
}

/* ------------------------------------------------------ запись и цена */

.price {
  padding: 84px 0 96px;
  background: var(--c-darker);
  color: var(--c-white);
}

.price__title {
  position: relative;
  margin: 0 auto 36px;
  max-width: 760px;
  font-size: 50px;
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-align: center;
}

.price__badge {
  position: absolute;
  top: -14px;
  right: -40px;
  padding: 3px 10px;
  border: 1.5px solid var(--c-yellow);
  border-radius: 999px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0;
  white-space: nowrap;
}

.price__box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 476px;
  gap: 26px;
  padding: 34px 24px 24px 34px;
  border-radius: var(--r-l);
  background: var(--c-gray-2);
  color: var(--c-ink);
}

.price__h {
  margin-bottom: 8px;
  font-size: 34px;
  line-height: 1.15;
  font-weight: 700;
}

.price__sub {
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 1.4;
  color: #4a4d55;
}

.price__card {
  position: relative;
  padding: 26px 22px 26px;
  border-radius: var(--r-m);
  background: var(--c-white);
}

.price__sticker {
  position: absolute;
  top: -28px;
  right: -8px;
  padding: 10px 16px;
  border-radius: var(--r-s);
  background: var(--c-yellow);
  color: var(--c-ink);
  font-size: 22px;
  font-weight: 700;
  box-shadow: 0 12px 20px -10px rgba(0, 0, 0, 0.35);
  transform: rotate(-6deg);
}

.price__label {
  margin-bottom: 4px;
  font-size: 14px;
  color: var(--c-muted);
}

.price__cost {
  margin-bottom: 8px;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 700;
}

/* Семинар: старая цена зачёркнута перед новой — как в окне записи. */
.price__old {
  margin-right: 10px;
  font-size: 22px;
  font-weight: 500;
  color: var(--c-muted);
  text-decoration-thickness: 2px;
}

/* Таймер скидки в строке под ценой: цифры не прыгают по ширине. */
.price__note b {
  color: var(--c-ink);
  font-variant-numeric: tabular-nums;
}

.price__note {
  margin-bottom: 20px;
  font-size: 15px;
  line-height: 1.4;
  color: #5b5e66;
}

.price__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
}

.price__date {
  font-weight: 600;
  color: #4b3bd6;
}

.price__chips {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.price__chips li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 13px 5px 8px;
  border: 1.5px solid var(--c-yellow);
  border-radius: 999px;
  font-size: 15px;
  line-height: 1.3;
}

.price__chips li::before {
  content: '';
  flex: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--c-darker)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E")
    center / 9px no-repeat;
}

.price__formcard {
  padding: 28px 22px 30px;
  border-radius: 24px;
  background: var(--c-white);
}

.price__formtitle {
  margin-bottom: 22px;
  font-size: 24px;
  line-height: 1.22;
  font-weight: 700;
  text-align: center;
}

.opts {
  display: grid;
  gap: 12px;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
}

.opt {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 17px 18px;
  border: 1px solid #d0d1d6;
  border-radius: var(--r-xs);
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s;
}

.opt:has(.opt__input:checked) {
  border-color: var(--c-darker);
}

.opt__input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.opt__dot {
  flex: none;
  width: 14px;
  height: 14px;
  border: 1px solid #9a9da5;
  border-radius: 50%;
}

.opt__input:checked + .opt__dot {
  border-color: transparent;
  background: var(--c-yellow);
  box-shadow: 0 0 0 3px rgba(255, 212, 59, 0.35);
}

.opt__input:focus-visible + .opt__dot {
  outline: 2px solid var(--c-blue);
  outline-offset: 3px;
}

.field--box {
  height: 56px;
  margin-top: 12px;
  padding: 0 18px;
  border: 1px solid #c8c9ce;
  border-radius: var(--r-xs);
}

.field--box:focus-within {
  border-color: var(--c-ink);
}

.field--box .field__input {
  font-size: 17px;
}

.tgrow {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 12px;
}

.switch {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  line-height: 1.25;
  cursor: pointer;
}

.switch__input {
  position: absolute;
  left: 0;
  top: 0;
  width: 44px;
  height: 26px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.switch__track {
  position: relative;
  flex: none;
  width: 44px;
  height: 26px;
  border-radius: 999px;
  background: #d4d5da;
  transition: background-color 0.2s;
}

.switch__knob {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--c-white);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s var(--ease);
}

.switch__input:checked + .switch__track {
  background: var(--c-yellow);
}

.switch__input:checked + .switch__track .switch__knob {
  transform: translateX(18px);
}

.switch__input:focus-visible + .switch__track {
  outline: 2px solid var(--c-blue);
  outline-offset: 2px;
}

.tgrow .field--tg {
  height: 50px;
  margin-top: 0;
}

.field--tg.is-off {
  opacity: 0.45;
}

.lead--box .lead__submit {
  display: flex;
  width: 100%;
  max-width: 340px;
  margin: 26px auto 0;
}

.lead--box .check {
  margin-top: 18px;
}

/* ------------------------------------------------------------- вопросы */

.faq {
  background: var(--c-dark);
  color: var(--c-white);
}

.faq__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  align-items: start;
}

.faq__item {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.faq__item:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
  font-size: 21px;
  line-height: 1.3;
  list-style: none;
  cursor: pointer;
}

.faq__q::-webkit-details-marker {
  display: none;
}

.faq__plus {
  flex: none;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--c-blue);
  transition:
    transform 0.3s var(--ease),
    background-color 0.2s;
}

.faq__plus svg {
  width: 26px;
  height: 26px;
  stroke-width: 1.6;
  color: var(--c-white);
}

.faq__q:hover .faq__plus {
  background: var(--c-blue-2);
}

.faq__item[open] .faq__plus {
  transform: rotate(45deg);
}

.faq__a {
  padding: 0 64px 26px 0;
  font-size: 17px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
}

/* --------------------------------------------------- чем программа не является */

.not__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 72px 26px;
  padding-top: 36px;
}

.ncard {
  position: relative;
  padding: 58px 26px 32px;
  border-radius: var(--r-l);
  background: var(--c-soft);
}

.ncard__icon {
  position: absolute;
  top: -35px;
  left: 50%;
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--c-blue);
  color: var(--c-white);
  transform: translateX(-50%);
}

.ncard__icon svg {
  width: 34px;
  height: 34px;
  stroke-width: 1.6;
}

.ncard__t {
  margin-bottom: 12px;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 500;
}

.ncard__d {
  font-size: 15px;
  line-height: 1.45;
  color: #555861;
}

/* ---------------------------------------------------------------- подвал */

.foot {
  padding: 32px 0 40px;
  background: var(--c-darker);
  color: var(--c-white);
}

.tgbar {
  display: flex;
  align-items: center;
  gap: 26px;
  min-height: 84px;
  margin-bottom: 64px;
  padding: 14px 60px;
  border-radius: var(--r-s);
  background: var(--c-gray-2);
  color: var(--c-ink);
}

.tgbar__icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #2aabee;
}

.tgbar__icon svg {
  width: 30px;
  height: 30px;
  fill: var(--c-white);
  stroke: none;
}

.tgbar__t {
  flex: 1;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 600;
  text-align: center;
}

.tgbar__btn {
  min-height: 56px;
  padding: 0 60px;
  font-size: 16px;
}

.foot__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1.2fr;
  gap: 40px;
}

/* Колонка ссылок на блоки программы скрыта вместе с блоками — без неё
   подвал не держит пустую четвёртую колонку. Только на широком экране: уже
   сетку подвала задают свои правила ниже. */
@media (min-width: 1024px) {
  .foot__grid:not(:has(> :nth-child(4))) {
    grid-template-columns: 1.2fr 1fr 1.2fr;
  }
}

.foot__logo {
  display: inline-flex;
  color: var(--c-white);
}

.foot__logo img {
  width: auto;
  height: 36px;
}

.foot__tagline {
  margin: 12px 0 18px;
  font-size: 15px;
  color: #9a9a9a;
}

.foot__socials {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
}

.foot__socials a {
  color: var(--c-white);
  opacity: 0.85;
  transition: opacity 0.2s;
}

.foot__socials a:hover {
  opacity: 1;
}

.foot__socials svg {
  width: 24px;
  height: 24px;
}

.foot__contact a {
  font-size: 18px;
  line-height: 1.9;
  text-decoration: none;
}

.foot__h {
  margin-bottom: 14px;
  font-size: 16px;
  font-weight: 700;
}

.foot__col a {
  display: block;
  font-size: 17px;
  line-height: 1.95;
  color: #9a9a9a;
  text-decoration: none;
  transition: color 0.2s;
}

.foot__col a:hover {
  color: var(--c-white);
}

.foot__addr {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  font-size: 16px;
  line-height: 1.45;
  color: #9a9a9a;
}

.foot__addr a {
  display: inline;
  line-height: 1.45;
}

.foot__addr svg {
  flex: none;
  width: 20px;
  height: 20px;
  margin-top: 2px;
}

.foot__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 20px;
  margin-top: 48px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 15px;
  color: #8f8f8f;
}

/* ----------------------------------------------------------------- окна */

.modal {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--c-ink);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.modal[open] {
  display: grid;
  /* Колонка не шире экрана: без minmax сетка растягивалась по карточке, и на
     телефоне окно в 500 px уезжало за оба края. */
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
  padding: 48px 16px;
}

.modal::backdrop {
  background: rgba(8, 8, 10, 0.82);
}

.modal--gift::backdrop {
  background: rgba(20, 20, 26, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.modal__x {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--c-white);
  cursor: pointer;
}

/* Окно семинара открывают и с тёмного первого экрана: тёмный крестик на
   размытой тёмной странице пропадал, поэтому он стоит на светлом круге. */
.modal--gift .modal__x {
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--c-ink);
  box-shadow: 0 8px 20px -10px rgba(0, 0, 0, 0.6);
}

.modal__x svg {
  width: 36px;
  height: 36px;
  stroke-width: 1.5;
}

.modal--gift .modal__x svg {
  width: 26px;
  height: 26px;
  stroke-width: 2;
}

.modal__card,
.gift {
  animation: pop 0.28s var(--ease);
}

/* Карточка окна принимает фокус при открытии вместо крестика: рамка фокуса на
   крестике выглядела как выделенная кнопка, а до полей отсюда один Tab. */
.modal__card:focus,
.gift:focus {
  outline: none;
}

@keyframes pop {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.98);
  }
}

@media (prefers-reduced-motion: reduce) {
  .modal__card,
  .gift {
    animation: none;
  }
}

.modal__card {
  width: 100%;
  max-width: 560px;
  border-radius: 16px;
  overflow: hidden;
  background: var(--c-white);
}

.modal__banner {
  position: relative;
  display: grid;
  place-items: center;
  height: 168px;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 90%, #5aa9ff 0, transparent 55%),
    linear-gradient(135deg, #0e1014 0%, #1e3b8f 55%, #3f87ff 100%);
}

.doc3d {
  position: relative;
  display: grid;
  align-content: start;
  gap: 9px;
  width: 112px;
  height: 138px;
  margin-top: 52px;
  padding: 22px 16px;
  border-radius: 10px;
  background: linear-gradient(160deg, #ffffff 0%, #e6e9f5 100%);
  box-shadow:
    0 26px 40px -16px rgba(0, 0, 0, 0.6),
    inset -6px -6px 0 rgba(0, 0, 0, 0.05);
  transform: rotate(-8deg);
}

.doc3d--back {
  position: absolute;
  left: calc(50% - 20px);
  top: 40px;
  margin: 0;
  background: linear-gradient(160deg, #b9c3ff 0%, #6f81ff 100%);
  transform: rotate(10deg);
}

.doc3d__line {
  display: block;
  height: 7px;
  width: 70%;
  border-radius: 4px;
  background: #cfd4e4;
}

.doc3d__line--wide {
  width: 100%;
  background: #aeb6d0;
}

.doc3d__badge {
  position: absolute;
  right: -16px;
  bottom: 42px;
  padding: 6px 10px;
  border-radius: 8px;
  background: var(--c-blue);
  color: var(--c-white);
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 10px 18px -8px rgba(79, 100, 255, 0.9);
}

.modal__body {
  padding: 40px 46px 44px;
}

.modal__t {
  margin-bottom: 16px;
  font-size: 32px;
  line-height: 1.2;
  font-weight: 500;
  text-align: center;
}

.modal .lead--line .field {
  margin-top: 26px;
}

.modal .lead__submit {
  margin-top: 30px;
}

.modal .done {
  text-align: center;
}

.modal .done__icon {
  margin-left: auto;
  margin-right: auto;
}

/* Подарок: яркая карточка на размытой странице, как у референса. */
.gift {
  position: relative;
  width: 100%;
  max-width: 500px;
  padding: 36px 30px 34px;
  border-radius: 18px;
  overflow: hidden;
  color: var(--c-white);
  text-align: center;
  background: #1b1640;
}

.gift::before {
  content: '';
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(circle at 18% 88%, #10d06b 0, transparent 30%),
    radial-gradient(circle at 60% 98%, #ffe14d 0, transparent 30%),
    radial-gradient(circle at 92% 72%, #ff4fa3 0, transparent 34%),
    radial-gradient(circle at 88% 26%, #7a3cff 0, transparent 36%),
    radial-gradient(circle at 20% 30%, #2a4bff 0, transparent 42%),
    linear-gradient(160deg, #221a5e 0%, #3a2fd0 100%);
  filter: saturate(1.15);
}

.gift > * {
  position: relative;
}

.gift__t {
  margin-bottom: 16px;
  font-size: 27px;
  line-height: 1.25;
  font-weight: 700;
}

/* Цена семинара в той же яркой рамке, где у подарка был чек-лист, и таймер
   скидки сбоку — так в правках. На узком экране таймер уходит под цену. */
.gift__offer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 12px;
  margin-bottom: 16px;
}

.gift__price {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 4px 12px;
  padding: 8px 16px;
  border: 2px solid #ff4fa3;
  border-radius: var(--r-s);
  background: rgba(14, 12, 40, 0.6);
  box-shadow: 0 0 0 2px rgba(122, 60, 255, 0.55);
  line-height: 1.2;
}

.gift__old {
  font-size: 17px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.78);
  text-decoration-thickness: 2px;
}

.gift__new {
  font-size: 24px;
  font-weight: 800;
  color: #ffe14d;
  white-space: nowrap;
}

.gift__timer {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 14px;
  border-radius: var(--r-s);
  background: rgba(14, 12, 40, 0.6);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.gift__timer[hidden] {
  display: none;
}

.gift__timer svg {
  width: 20px;
  height: 20px;
  stroke-width: 2;
}

/* Час прошёл: таймер стоит на нуле и гаснет, заново не заводится. */
.gift__timer.is-over {
  opacity: 0.6;
}

.gift__sub {
  margin-bottom: 22px;
  font-size: 17px;
  line-height: 1.35;
}

.field--dark {
  height: 56px;
  margin-top: 12px;
  padding: 0 20px;
  border: 2px solid transparent;
  border-radius: var(--r-xs);
  background: var(--c-darker);
}

.field--dark .field__input {
  font-size: 17px;
  color: var(--c-white);
}

.field--dark .field__input::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.lead--gift .check {
  text-align: left;
}

.lead--gift .field__error {
  text-align: left;
  color: #ffe3e4;
}

.lead--gift .lead__status {
  color: var(--c-white);
}

.lead--gift .lead__submit {
  margin-top: 26px;
}

/* ------------------------------------------------------------------ cookie */

.cookie {
  position: fixed;
  left: 50%;
  bottom: 16px;
  z-index: 60;
  display: flex;
  align-items: center;
  gap: 28px;
  width: min(920px, calc(100% - 24px));
  padding: 12px 14px 12px 26px;
  border-radius: 16px;
  background: rgba(242, 242, 244, 0.97);
  color: #555861;
  box-shadow: 0 16px 36px -16px rgba(0, 0, 0, 0.35);
  transform: translateX(-50%);
}

.cookie[hidden] {
  display: none;
}

.cookie__t {
  flex: 1;
  font-size: 13px;
  line-height: 1.4;
}

.cookie__btn {
  flex: none;
  min-height: 42px;
  padding: 0 46px;
  font-size: 14px;
}

/* ---------------------------------------------------------------- движение */

.js-motion [data-reveal],
.js-motion [data-reveal-group] > * {
  opacity: 0;
  transform: translateY(26px);
  transition:
    opacity 0.7s ease,
    transform 0.7s var(--ease);
}

.js-motion [data-reveal].is-in,
.js-motion [data-reveal-group] > .is-in {
  opacity: 1;
  transform: none;
}

.js-motion [data-reveal-group] > :nth-child(2) {
  transition-delay: 0.07s;
}

.js-motion [data-reveal-group] > :nth-child(3) {
  transition-delay: 0.14s;
}

.js-motion [data-reveal-group] > :nth-child(4) {
  transition-delay: 0.21s;
}

.js-motion [data-reveal-group] > :nth-child(5) {
  transition-delay: 0.28s;
}

.js-motion [data-reveal-group] > :nth-child(6) {
  transition-delay: 0.35s;
}

/* ============================================================== адаптив */

@media (max-width: 1279px) {
  :root {
    --gutter: 32px;
  }

  .hero__grid {
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 40px;
  }

  .hero__title {
    font-size: 64px;
  }

  .final {
    right: -12px;
  }

  .why__grid {
    grid-template-columns: 400px minmax(0, 1fr);
  }

  .defense__grid {
    grid-template-columns: 480px minmax(0, 1fr);
  }

  .wslide {
    grid-template-columns: 420px minmax(0, 1fr);
    gap: 40px;
    padding: 56px 70px;
  }

  .round--prev {
    left: -22px;
  }

  .round--next {
    right: -22px;
  }

  .mentor__grid {
    grid-template-columns: minmax(0, 1fr) 520px;
  }

  .h2--big {
    font-size: 48px;
  }

  .sheet {
    width: 290px;
    margin: 0 6px;
    padding: 26px 22px 22px;
  }

  .sheet__list li {
    font-size: 14px;
  }

  .price__box {
    grid-template-columns: minmax(0, 1fr) 440px;
  }

  .price__badge {
    right: 0;
  }
}

@media (max-width: 1023px) {
  body {
    font-size: 17px;
  }

  .sec {
    padding: 76px 0;
  }

  .h2 {
    font-size: 38px;
    margin-bottom: 36px;
  }

  .h2--xl {
    font-size: 48px;
  }

  .h2--big,
  .team .h2 {
    font-size: 44px;
  }

  .hero__grid {
    grid-template-columns: minmax(0, 1fr) 340px;
  }

  .hero__title {
    font-size: 52px;
  }

  .hero__stage {
    height: 500px;
    border-radius: 56px;
  }

  .dash {
    transform: rotate(-3deg) translateY(-18px) scale(0.84);
  }

  .final {
    right: 12px;
    bottom: 22px;
  }

  .hero__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .why__grid,
  .defense__grid,
  .mentor__grid,
  .leadband__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .why__visual {
    height: auto;
  }

  .stats {
    margin-top: 56px;
  }

  /* Три узкие колонки уже тесны: карточки встают друг под другом, картинка —
     слева от текста. */
  .who__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .speakers__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .wcard {
    grid-template-columns: 150px minmax(0, 1fr);
    grid-template-rows: none;
    align-items: center;
    gap: 24px;
    padding: 12px 24px 12px 12px;
  }

  .wcard__img {
    height: 150px;
  }

  .wcard__letter {
    font-size: 96px;
  }

  .wcard__body {
    padding: 0;
  }

  .learn__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .learn__item,
  .learn__item:nth-child(3n + 2),
  .learn__item:nth-child(3n + 3) {
    padding: 26px 26px 28px 0;
    border-bottom: 1px solid #d6d6d8;
  }

  .learn__item::after,
  .learn__item::before {
    display: none;
  }

  .learn__item:nth-child(2n) {
    padding-left: 26px;
    border-left: 1px solid #d6d6d8;
  }

  .defense__visual {
    height: 420px;
  }

  .leadband__dark {
    min-height: 320px;
    padding: 44px 40px 160px;
  }

  .leadband__shape {
    width: 300px;
    height: 270px;
  }

  .leadband__card {
    margin-top: 16px;
  }

  .acc__body {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  .artifacts__stage {
    height: 450px;
    padding: 0 10px;
  }

  .sheet {
    width: 236px;
    margin: 0 5px;
    padding: 22px 18px 18px;
  }

  .sheet__group {
    font-size: 18px;
  }

  .sheet__list li {
    padding-left: 26px;
    font-size: 13px;
  }

  .wslide {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    padding: 40px 48px 44px;
  }

  .wslider .round {
    top: 142px;
  }

  .chat {
    margin-top: 10px;
  }

  .lead__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lead__row .lead__cell:last-child {
    grid-column: 1 / -1;
  }

  .tslider__track {
    grid-auto-columns: min(560px, 86vw);
  }

  .results__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .price__box {
    grid-template-columns: minmax(0, 1fr);
  }

  .price__badge {
    position: static;
    display: inline-block;
    margin-top: 12px;
  }

  .faq__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .faq__col + .faq__col .faq__item:first-child {
    border-top: 0;
  }

  .faq__col:first-child .faq__item:last-child {
    border-bottom: 0;
  }

  .not__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tgbar {
    padding: 14px 24px;
  }

  .tgbar__t {
    font-size: 20px;
  }

  .foot__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 859px) {
  /* Три листа рядом перестают помещаться раньше телефона: на планшете они
     уже идут стопкой, чуть развёрнутые. */
  .artifacts__stage {
    flex-direction: column;
    align-items: center;
    height: auto;
    padding: 34px 18px 40px;
    border-radius: var(--r-l);
  }

  .sheet {
    width: 100%;
    max-width: 330px;
    margin: 0;
    padding: 26px 22px 22px;
    border-radius: 10px;
  }

  .sheet__group {
    font-size: 20px;
  }

  .sheet__list li {
    font-size: 14px;
  }

  .sheet + .sheet {
    margin-top: 14px;
  }

  .sheet--1 {
    transform: rotate(-2deg);
  }

  .sheet--2 {
    transform: rotate(1.5deg);
  }

  .sheet--3 {
    transform: rotate(-1.5deg);
  }
}

@media (max-width: 719px) {
  :root {
    --gutter: 20px;
  }

  body {
    font-size: 16px;
  }

  .sec {
    padding: 60px 0;
  }

  .h2 {
    margin-bottom: 26px;
    font-size: 30px;
    line-height: 1.15;
  }

  .h2--xl {
    font-size: 38px;
  }

  .h2--big,
  .team .h2 {
    font-size: 32px;
  }

  /* Первый экран: как у референса на телефоне — заголовок, картинка,
     список, кнопки, карточки. Колонка текста распадается, чтобы картинка
     встала между заголовком и списком. */
  .top {
    padding-top: 28px;
  }

  .top__mark {
    height: 32px;
  }

  .hero {
    padding: 28px 0 40px;
  }

  .hero__grid {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .hero__copy {
    display: contents;
  }

  .hero__eyebrow {
    order: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 10px;
  }

  .hero__eyebrow .pill {
    order: -1;
  }

  .hero__label {
    font-size: 16px;
  }

  .hero__title {
    order: 2;
    margin-bottom: 20px;
    font-size: 38px;
    line-height: 1.06;
  }

  .hero__icon {
    width: 40px;
    height: 40px;
    top: -4px;
    margin-left: 8px;
    border-radius: 12px;
  }

  .hero__icon svg {
    width: 22px;
    height: 22px;
  }

  .hero__visual {
    order: 3;
    margin-bottom: 30px;
  }

  .hero__lead {
    order: 4;
    font-size: 17px;
  }

  .hero__list {
    order: 5;
    margin-bottom: 30px;
  }

  .hero__list li {
    font-size: 16px;
  }

  .hero__actions {
    order: 6;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .btn--primary {
    min-height: 64px;
    padding: 6px 6px 6px 28px;
    justify-content: space-between;
    font-size: 18px;
  }

  .btn__orb {
    width: 52px;
    height: 52px;
  }

  .btn--ghost {
    min-height: 64px;
    font-size: 18px;
  }

  .hero__stage {
    height: 400px;
    border-radius: var(--r-xl);
  }

  .hero__stage::before {
    width: 460px;
    height: 460px;
    top: 120px;
  }

  .dash {
    transform: rotate(-3deg) translateY(-26px) scale(0.78);
  }

  .final {
    left: 14px;
    right: auto;
    bottom: 14px;
    width: 136px;
    padding: 10px;
  }

  .final__title {
    font-size: 17px;
  }

  .final .tip {
    position: static;
  }

  .final .tip__bubble {
    left: 0;
    right: auto;
    width: min(300px, calc(100vw - 48px));
  }

  .final .tip__bubble::after {
    display: none;
  }

  .tip__bubble {
    left: -14px;
    right: auto;
    width: min(280px, calc(100vw - 48px));
  }

  .tip__bubble::after {
    left: 20px;
    right: auto;
  }

  .hero__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-top: 30px;
  }

  .fcard {
    min-height: 0;
    padding: 16px 20px 18px;
    border-radius: 20px;
  }

  .fcard__t {
    margin-bottom: 6px;
    font-size: 16px;
  }

  .fcard__d {
    font-size: 15px;
  }

  .checks {
    gap: 16px;
  }

  .checks li {
    padding-left: 34px;
    font-size: 16px;
  }

  .checks li::before {
    width: 23px;
    height: 23px;
  }

  .why__visual {
    padding: 18px;
    border-radius: 20px;
    margin-bottom: 8px;
  }

  .frow {
    height: 40px;
    font-size: 13px;
  }

  .stats {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    margin-top: 36px;
  }

  .stat__n {
    margin-bottom: 10px;
    padding-bottom: 8px;
    font-size: 52px;
  }

  .stat__l {
    font-size: 14px;
  }

  .wcard {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 16px;
    padding: 10px 16px 10px 10px;
  }

  .wcard__img {
    height: 96px;
  }

  .wcard__letter {
    font-size: 60px;
  }

  .wcard__ico {
    top: 6px;
    right: 6px;
    width: 26px;
    height: 26px;
    padding: 5px;
  }

  .wcard__t {
    font-size: 16px;
  }

  .learn__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .learn__item,
  .learn__item:nth-child(2n),
  .learn__item:nth-child(3n + 2),
  .learn__item:nth-child(3n + 3) {
    padding: 0 0 26px;
    border: 0;
  }

  .dot-ico {
    width: 34px;
    height: 34px;
    margin-bottom: 12px;
  }

  .learn__item p {
    font-size: 17px;
  }

  /* Плашка на телефоне: значок встаёт над текстом по центру. */
  .gbanner {
    flex-direction: column;
    margin-top: 44px;
    padding: 40px 22px 24px;
    border-radius: var(--r-l);
    font-size: 19px;
    overflow: visible;
  }

  .gbanner::before {
    border-radius: inherit;
  }

  .gbanner__orb {
    top: -28px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    box-shadow: 0 8px 16px -8px rgba(30, 40, 120, 0.5);
  }

  .gbanner--center {
    padding: 24px 20px;
    font-size: 20px;
    gap: 14px;
  }

  .gbanner__inf {
    width: 48px;
    height: 48px;
  }

  .gbanner .tip__bubble {
    left: 50%;
    right: auto;
    transform: translate(-50%, 6px);
  }

  .gbanner .tip:hover .tip__bubble,
  .gbanner .tip.is-open .tip__bubble,
  .gbanner .tip:focus-within .tip__bubble {
    transform: translate(-50%, 0);
  }

  .gbanner .tip__bubble::after {
    left: calc(50% - 6px);
  }

  .defense__visual {
    height: 360px;
    border-radius: var(--r-m);
  }

  .score {
    transform: rotate(2deg) scale(0.84);
  }

  .leadband {
    padding: 30px 0 40px;
  }

  .leadband__dark {
    padding: 30px 22px 150px;
    border-radius: var(--r-l);
    min-height: 0;
  }

  .leadband__t {
    font-size: 26px;
  }

  .leadband__shape {
    width: 230px;
    height: 210px;
  }

  .leadband__card {
    padding: 28px 22px 30px;
    border-radius: var(--r-l);
  }

  .leadband .lead__submit,
  .lead__submit {
    width: 100%;
    min-width: 0;
  }

  .program__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 26px;
  }

  .btn--pdf {
    width: 100%;
    font-size: 15px;
  }

  .program__stats {
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
  }

  .program__stats li {
    font-size: 16px;
  }

  .program__stats svg {
    width: 24px;
    height: 24px;
  }

  .acc__head {
    grid-template-columns: minmax(0, 1fr) 36px;
    column-gap: 16px;
    padding: 20px 0;
  }

  .acc__when {
    font-size: 12px;
  }

  .acc__title {
    font-size: 18px;
    line-height: 1.3;
  }

  .acc__plus {
    width: 36px;
    height: 36px;
  }

  .acc__plus svg {
    width: 22px;
    height: 22px;
  }

  .dots li {
    font-size: 16px;
  }

  .acc__side {
    padding: 18px;
  }

  .acc__art {
    font-size: 15px;
  }

  .acc__break {
    font-size: 14px;
  }

  .artifacts__note {
    font-size: 14px;
  }

  .wslide {
    gap: 22px;
    padding: 20px 20px 26px;
    align-items: start;
  }

  .wvis {
    height: auto;
    padding: 14px;
  }

  .wvis__days {
    gap: 3px;
    margin-bottom: 14px;
  }

  .wvis__days > span {
    padding: 8px 0;
    font-size: 10px;
    border-radius: 7px;
  }

  .wvis__card {
    grid-template-columns: 36px minmax(0, 1fr);
    padding: 12px;
  }

  .wvis__ico {
    width: 36px;
    height: 36px;
    padding: 8px;
  }

  .wvis__chip,
  .wvis__time {
    grid-column: 2;
    grid-row: auto;
    justify-self: start;
    margin-top: 6px;
  }

  .wslide__t {
    margin-bottom: 12px;
    font-size: 21px;
  }

  .wslide__d {
    font-size: 15px;
  }

  /* Стрелки уходят под карточку, по центру — как у референса. */
  .wslider {
    padding-bottom: 64px;
  }

  .wslider .round {
    top: auto;
    bottom: 0;
    transform: none;
  }

  .round--prev {
    left: calc(50% - 52px);
  }

  .round--next {
    right: calc(50% - 52px);
  }

  .mentor .h2 {
    margin-bottom: 18px;
  }

  .mentor__d {
    font-size: 16px;
  }

  .chat {
    padding: 18px 14px;
    border-radius: 22px;
  }

  .bubble {
    font-size: 13px;
    padding: 10px 14px;
  }

  .ask {
    padding: 50px 0 60px;
  }

  .ask__card {
    padding: 30px 16px 30px;
    border-radius: var(--r-l);
  }

  .ask__t {
    margin-bottom: 20px;
    font-size: 23px;
    line-height: 1.25;
  }

  .lead__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .field--solid {
    height: 56px;
  }

  .field--solid .field__input {
    font-size: 16px;
  }

  .tcard {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .tcard__left {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 16px;
    align-items: center;
    padding: 14px;
  }

  .tcard__photo {
    grid-row: 1 / span 2;
    width: 90px;
    height: 90px;
    margin: 0;
    font-size: 11px;
  }

  .tcard__photo svg {
    width: 26px;
    height: 26px;
  }

  .tcard__name {
    align-self: end;
    margin: 0 0 4px;
    font-size: 14px;
  }

  .tcard__role {
    align-self: start;
    margin: 0;
    font-size: 18px;
  }

  .tcard__right {
    padding: 18px 16px 18px;
  }

  .tcard__sub {
    margin-bottom: 14px;
    font-size: 16px;
  }

  .tcard__facts li {
    font-size: 14px;
  }

  /* На телефоне фото — над текстом: сбоку ему осталось бы меньше трети ширины. */
  .spk {
    grid-template-columns: minmax(0, 1fr);
  }

  .spk__photo {
    height: auto;
    min-height: 0;
    aspect-ratio: 1 / 1;
  }

  .spk__body {
    padding: 20px 18px 22px;
  }

  .spk__name {
    margin-bottom: 16px;
    font-size: 20px;
  }

  .results {
    padding-top: 20px;
  }

  .rcard {
    min-height: 0;
    padding: 24px 20px 150px;
    border-radius: var(--r-m);
  }

  .rcard__t,
  .rcard__d {
    max-width: none;
  }

  .rcard__t {
    font-size: 21px;
    margin-bottom: 14px;
  }

  .rcard__d {
    font-size: 15px;
  }

  .rcard__art {
    right: 14px;
    bottom: -18px;
    transform: scale(0.8);
    transform-origin: bottom right;
  }

  .price {
    padding: 60px 0 70px;
  }

  .price__title {
    font-size: 30px;
    margin-bottom: 26px;
  }

  .price__badge {
    font-size: 13px;
  }

  .price__box {
    margin: 0 calc(var(--gutter) * -1 + 10px);
    padding: 34px 10px 10px;
    gap: 16px;
    border-radius: var(--r-l);
  }

  .price__info {
    padding: 0 8px;
  }

  .price__h {
    font-size: 26px;
    text-align: center;
  }

  .price__sub {
    font-size: 15px;
    text-align: center;
    margin-bottom: 36px;
  }

  .price__card {
    margin: 0 -8px;
    padding: 30px 16px 22px;
    text-align: center;
  }

  .price__sticker {
    left: 50%;
    right: auto;
    top: -24px;
    font-size: 18px;
    transform: translateX(-50%) rotate(-5deg);
  }

  .price__cost {
    font-size: 26px;
  }

  .price__pills {
    justify-content: center;
  }

  .price__chips {
    align-items: center;
  }

  .price__chips li {
    font-size: 13px;
    text-align: left;
  }

  .price__formcard {
    padding: 24px 14px 24px;
  }

  .price__formtitle {
    font-size: 20px;
  }

  .opt {
    padding: 14px;
    font-size: 15px;
  }

  .tgrow {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .faq__q {
    gap: 16px;
    padding: 18px 0;
    font-size: 17px;
  }

  .faq__plus {
    width: 34px;
    height: 34px;
  }

  .faq__a {
    padding: 0 0 20px;
    font-size: 15px;
  }

  .not__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 58px;
    padding-top: 30px;
  }

  .ncard {
    padding: 50px 20px 26px;
  }

  .ncard__icon {
    width: 62px;
    height: 62px;
    top: -31px;
  }

  .ncard__t {
    font-size: 18px;
  }

  .ncard__d {
    font-size: 14px;
  }

  .tgbar {
    flex-direction: column;
    gap: 14px;
    margin-bottom: 44px;
    padding: 24px 18px;
    text-align: center;
  }

  .tgbar__t {
    font-size: 18px;
  }

  .tgbar__btn {
    width: 100%;
  }

  .foot__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .foot__bottom {
    flex-direction: column;
    margin-top: 34px;
    font-size: 13px;
  }

  .modal[open] {
    padding: 64px 12px 24px;
    align-items: start;
  }

  .modal__banner {
    height: 130px;
  }

  .doc3d {
    transform: rotate(-8deg) scale(0.8);
  }

  .modal__body {
    padding: 26px 20px 28px;
  }

  .modal__t {
    font-size: 24px;
  }

  .gift {
    padding: 28px 16px 24px;
  }

  .gift__t {
    font-size: 22px;
  }

  .gift__old {
    font-size: 15px;
  }

  .gift__new {
    font-size: 21px;
  }

  .gift__timer {
    padding: 8px 12px;
    font-size: 18px;
  }

  .gift__sub {
    font-size: 15px;
  }

  .cookie {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    bottom: 10px;
    padding: 16px;
  }

  .cookie__btn {
    width: 100%;
  }
}
