/* heg-course.css — компоненты раздела «Курсы и медиатека».
 *
 * Зачем отдельный файл: раздел вырос с одной страницы до четырёх
 * (/courses/ + три лендинга). Инлайнить ~270 строк в каждую — четыре копии,
 * которые разъедутся при первой правке; класть в heg-ds.css — грузить их на
 * всех 255 страницах ради четырёх. Правило CLAUDE.md: свой CSS живёт в _heg/,
 * pre-commit сам проставит content fingerprint.
 *
 * Порядок подключения на странице:
 *   _astro/oferta.css → heg-course.css → heg-ds.css (последним) → heg-video-facade.css
 * heg-ds.css перебивает часть .cr-* через !important (блоки на строках
 * 2573–2706, 2893–2899, 3250, 3269) — базовая геометрия здесь написана сразу
 * DS-корректно, чтобы не зависеть от слоя коррекций и совпадать с ним.
 *
 * Палитра: Ivory #FCFAF1 · Ink #101F18 · Green #06463D · Ember #FF6A3D ·
 * Blue #B7D4E4. Без градиентов. Прямоугольники 16px (секции) / 12px (кнопки,
 * инпуты). Pills только на тегах-бейджах. Равнозначные элементы — строгая
 * симметричная сетка.
 *
 * ВАЖНО: в oferta.css живёт глобальный section{margin-bottom:106px} — каждая
 * секция здесь обязана его гасить, иначе между блоками появляется полоса.
 */

/* ---------------------------------------------------------------
   Общее для секций раздела
   --------------------------------------------------------------- */
.cr-hero,
.cr-answer,
.cr-course,
.cr-specwrap,
.cr-authorswrap,
.cr-statswrap,
.cr-tierswrap,
.cr-apply,
.cr-hubwrap,
.cr-mediawrap,
.cr-reviews,
.cr-access { margin-bottom: 0; }

/* Возврат на хаб — тонкая mono-ссылка над заголовком. */
.cr-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(250, 247, 234, .66);
  text-decoration: none;
  margin-bottom: 20px;
  transition: color .2s;
}
.cr-back:hover { color: var(--heg-ivory, #FCFAF1); }

/* ---------------------------------------------------------------
   Hero — плоская Ink-панель (гобо-подсветку добавляет heg-ds.css)
   --------------------------------------------------------------- */
.cr-hero {
  padding: 96px 0 72px;
  background: var(--heg-ink, #101F18);
  color: var(--heg-ivory, #FCFAF1);
  position: relative;
  overflow: hidden;
}
.cr-hero__eyebrow {
  display: inline-block;
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(250, 247, 234, .66);
  margin-bottom: 16px;
}
.cr-hero__h {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-weight: 700;
  font-size: clamp(32px, 4.6vw, 52px);
  line-height: 1.08;
  letter-spacing: -.02em;
  margin: 0 0 20px;
  color: var(--heg-ivory, #FCFAF1);
  max-width: 18ch;
}
.cr-hero__h em { font-style: normal; color: var(--heg-ember, #FF6A3D); }
.cr-hero__lede {
  font-size: 18px;
  line-height: 1.6;
  color: rgba(250, 247, 234, .78);
  max-width: 60ch;
  margin: 0 0 28px;
}
.cr-hero--center { text-align: center; }
.cr-hero--center .cr-hero__h,
.cr-hero--center .cr-hero__lede { margin-left: auto; margin-right: auto; }

/* Плашка «бесплатно участникам» — единственный pill, разрешён как тег. */
.cr-hero__free {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: rgba(252, 250, 241, .10);
  border: 1px solid rgba(250, 247, 234, .24);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: var(--heg-ivory, #FCFAF1);
}

/* Пара CTA в hero. */
.cr-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-bottom: 24px;
}
.cr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 26px;
  border-radius: 12px;
  font-family: var(--f-sans, "Onest", sans-serif);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  transition: filter .18s, background .18s, color .18s, border-color .18s;
}
.cr-btn--ember { background: var(--heg-ember, #FF6A3D); color: var(--heg-green-text, #06463D); }
.cr-btn--ember:hover { filter: brightness(1.05); }
.cr-btn--green { background: var(--heg-green, #06463D); color: var(--heg-ivory, #FCFAF1); }
.cr-btn--green:hover { filter: brightness(1.12); }
.cr-btn--onink {
  background: transparent;
  color: var(--heg-ivory, #FCFAF1);
  border: 1px solid rgba(250, 247, 234, .5);
}
.cr-btn--onink:hover { background: rgba(250, 247, 234, .12); }

/* ---------------------------------------------------------------
   Answer-first — короткий прямой ответ под hero (его цитируют LLM)
   --------------------------------------------------------------- */
.cr-answer { padding: 56px 0 0; }
.cr-answer__box {
  max-width: 820px;
  border-left: 3px solid var(--heg-ember, #FF6A3D);
  padding: 4px 0 4px 22px;
}
.cr-answer__box p {
  margin: 0;
  font-size: 19px;
  line-height: 1.6;
  color: var(--heg-ink, #101F18);
}
.cr-answer__box p + p { margin-top: 14px; }

/* ---------------------------------------------------------------
   Блок курса (используется хабом и лендингом)
   --------------------------------------------------------------- */
.cr-course { padding: 72px 0; border-bottom: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12)); }
.cr-hero + .cr-course { padding-top: 48px; }
.cr-course--plain { border-bottom: 0; }
.cr-course__head { max-width: 760px; margin-bottom: 40px; }
.cr-course__badge {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;          /* pill разрешён: это тег */
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.cr-course__badge--green  { background: var(--heg-green, #06463D); color: var(--heg-ivory, #FCFAF1); }
.cr-course__badge--orange { background: var(--heg-ember, #FF6A3D); color: var(--heg-green-text, #06463D); }
.cr-course__badge--purple { background: var(--heg-blue, #B7D4E4); color: var(--heg-green-text, #06463D); }
.cr-course__h {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-weight: 700;
  font-size: clamp(26px, 3.6vw, 38px);
  line-height: 1.15;
  letter-spacing: -.01em;
  margin: 0 0 16px;
  color: var(--heg-ink, #101F18);
}
.cr-course__desc {
  font-size: 17px;
  line-height: 1.6;
  color: var(--heg-text-2, #4a5a53);
  margin: 0;
  max-width: 68ch;
}

/* Программа: модули и уроки — строгая симметрия, равнозначные элементы. */
.cr-modules { display: grid; gap: 16px; }
.cr-module {
  background: var(--heg-ivory, #FCFAF1);
  border: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12));
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--heg-shadow-sm, 0 1px 2px rgba(16, 31, 24, .05));
}
.cr-module__title {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 24px;
  font-family: var(--f-sans, "Onest", sans-serif);
  font-weight: 600;
  font-size: 17px;
  color: var(--heg-ink, #101F18);
}
.cr-module__num {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  background: var(--heg-green, #06463D);
  color: var(--heg-ivory, #FCFAF1);
  border-radius: 8px;
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 13px;
  font-weight: 600;
}
.cr-module__lessons { padding: 4px 16px 16px; border-top: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12)); }
.cr-lesson { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; }
.cr-lesson__icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border-radius: 8px;
  background: var(--heg-ivory-300, #F3F0E4);
  display: grid;
  place-items: center;
}
.cr-lesson__icon svg { color: var(--heg-green, #06463D); }
.cr-lesson__info { flex: 1; min-width: 0; }
.cr-lesson__name { font-size: 14px; font-weight: 600; color: var(--heg-ink, #101F18); }
.cr-lesson__meta {
  font-size: 12px;
  color: var(--heg-text-2, #4a5a53);
  margin-top: 2px;
}

/* ---------------------------------------------------------------
   Бесплатный урок (фасад видео)
   --------------------------------------------------------------- */
.cr-preview {
  margin-top: 40px;
  background: var(--heg-ivory, #FCFAF1);
  border: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12));
  border-radius: 16px;
  box-shadow: var(--heg-shadow-sm, 0 1px 2px rgba(16, 31, 24, .05));
  overflow: hidden;
  padding: 32px;
}
.cr-preview__label {
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--heg-green, #06463D);
  margin-bottom: 12px;
}
.cr-preview__h {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-weight: 700;
  font-size: 22px;
  margin: 0 0 20px;
  color: var(--heg-ink, #101F18);
}
/* Ratio-box: фасад и iframe встают в него через position:absolute.
   Стили самого фасада — в heg-video-facade.css, он обязателен. */
.cr-preview__video {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  border-radius: 12px;
  overflow: hidden;
  background: var(--heg-ink, #101F18);
}
.cr-preview__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------------------------------------------------------------
   Спецификация курса / таблица сравнения
   --------------------------------------------------------------- */
.cr-specwrap { padding: 72px 0; }
.cr-h2 {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-weight: 700;
  font-size: clamp(24px, 3.2vw, 34px);
  line-height: 1.15;
  letter-spacing: -.01em;
  margin: 0 0 24px;
  color: var(--heg-ink, #101F18);
}
.cr-lead { font-size: 17px; line-height: 1.6; color: var(--heg-text-2, #4a5a53); max-width: 68ch; margin: 0 0 28px; }
/* Маркированный список в прозе (кому подойдёт, что получите). */
.cr-list { list-style: none; margin: 0 0 24px; padding: 0; max-width: 68ch; }
.cr-list li {
  position: relative;
  padding-left: 22px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--heg-ink, #101F18);
  margin-bottom: 10px;
}
.cr-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .6em;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--heg-ember, #FF6A3D);
}

.cr-spec { width: 100%; overflow-x: auto; }
.cr-spec table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 560px; }
.cr-spec th,
.cr-spec td {
  text-align: left;
  padding: 14px 16px;
  border-bottom: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12));
  vertical-align: top;
}
.cr-spec thead th {
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--heg-text-2, #4a5a53);
  border-bottom: 1px solid var(--heg-ink, #101F18);
}
.cr-spec tbody th {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-weight: 600;
  color: var(--heg-ink, #101F18);
  width: 34%;
}
.cr-spec td { color: var(--heg-text-2, #4a5a53); }
.cr-spec td strong { color: var(--heg-ink, #101F18); font-weight: 600; }

/* ---------------------------------------------------------------
   Авторы курса — строгая сетка, скруглённые прямоугольники (не круги)
   --------------------------------------------------------------- */
.cr-authorswrap { padding: 0 0 72px; }
.cr-authors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cr-authors--1 { grid-template-columns: minmax(0, 420px); }
.cr-author {
  background: var(--heg-ivory, #FCFAF1);
  border: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12));
  border-radius: 16px;
  padding: 24px;
  box-shadow: var(--heg-shadow-sm, 0 1px 2px rgba(16, 31, 24, .05));
}
.cr-author__mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;                 /* DS запрещает круглые аватары */
  background: var(--heg-green, #06463D);
  color: var(--heg-ivory, #FCFAF1);
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 15px;
  font-weight: 600;
  margin-bottom: 14px;
}
.cr-author__name { font-family: var(--f-sans, "Onest", sans-serif); font-size: 17px; font-weight: 600; color: var(--heg-ink, #101F18); }
.cr-author__role { font-size: 14px; line-height: 1.5; color: var(--heg-text-2, #4a5a53); margin-top: 6px; }

/* ---------------------------------------------------------------
   Citable-числа — тёмная панель, крупная ivory-типографика
   --------------------------------------------------------------- */
.cr-statswrap { padding: 64px 0; background: var(--heg-ink, #101F18); }
.cr-stats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.cr-stat__n {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--heg-ivory, #FCFAF1);
  line-height: 1.1;
}
.cr-stat__l {
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(250, 247, 234, .62);
  margin-top: 8px;
  line-height: 1.4;
}

/* ---------------------------------------------------------------
   Два тарифа — равные карточки (асимметрия здесь = баг DS)
   --------------------------------------------------------------- */
.cr-tierswrap { padding: 72px 0; background: var(--heg-ivory-300, #F3F0E4); }
.cr-tiers { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; align-items: stretch; }
.cr-tier {
  display: flex;
  flex-direction: column;
  background: var(--heg-ivory, #FCFAF1);
  border: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12));
  border-radius: 16px;
  padding: 28px;
  box-shadow: var(--heg-shadow-sm, 0 1px 2px rgba(16, 31, 24, .05));
}
.cr-tier__k {
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--heg-text-2, #4a5a53);
}
.cr-tier__price {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--heg-ink, #101F18);
  margin: 12px 0 4px;
}
.cr-tier__sub { font-size: 14px; color: var(--heg-text-2, #4a5a53); margin-bottom: 18px; }
.cr-tier__list { list-style: none; margin: 0 0 24px; padding: 0; flex: 1; }
.cr-tier__list li {
  position: relative;
  padding-left: 22px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--heg-ink, #101F18);
  margin-bottom: 10px;
}
.cr-tier__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--heg-ember, #FF6A3D);
}
.cr-tier--green { background: var(--heg-green, #06463D); border-color: var(--heg-green, #06463D); }
.cr-tier--green .cr-tier__k { color: rgba(250, 247, 234, .62); }
.cr-tier--green .cr-tier__price,
.cr-tier--green .cr-tier__list li { color: var(--heg-ivory, #FCFAF1); }
.cr-tier--green .cr-tier__sub { color: rgba(250, 247, 234, .78); }
.cr-tier--green .cr-btn--ember { background: var(--heg-ember, #FF6A3D); color: var(--heg-green-text, #06463D); }

/* ---------------------------------------------------------------
   Форма заявки — Ink-панель, якорь конверсии
   --------------------------------------------------------------- */
.cr-apply { padding: 80px 0; background: var(--heg-ink, #101F18); color: var(--heg-ivory, #FCFAF1); }
.cr-apply__inner { max-width: 720px; margin: 0 auto; }
.cr-apply__h {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-weight: 700;
  font-size: clamp(24px, 3.2vw, 34px);
  line-height: 1.15;
  margin: 0 0 12px;
  color: var(--heg-ivory, #FCFAF1);
}
.cr-apply__desc { font-size: 16px; line-height: 1.6; color: rgba(250, 247, 234, .78); margin: 0 0 28px; }
.cr-apply__form { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.cr-apply__form .cr-field--wide { grid-column: 1 / -1; }
.cr-field { display: block; margin-bottom: 18px; }
.cr-field__label {
  display: block;
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(250, 247, 234, .62);
  margin-bottom: 8px;
}
/* Инпуты стилизуем сами: базового unscoped-правила .input на сайте нет,
   оно живёт в scoped-CSS страницы /join/. */
.cr-input {
  width: 100%;
  padding: 13px 14px;
  border-radius: 12px;
  border: 1px solid rgba(250, 247, 234, .28);
  background: rgba(252, 250, 241, .06);
  color: var(--heg-ivory, #FCFAF1);
  font-family: var(--f-sans, "Onest", sans-serif);
  font-size: 15px;
  transition: border-color .18s, background .18s;
}
.cr-input::placeholder { color: rgba(250, 247, 234, .38); }
.cr-input:focus {
  outline: none;
  border-color: var(--heg-ember, #FF6A3D);
  background: rgba(252, 250, 241, .10);
}
.cr-input[aria-invalid="true"] { border-color: var(--heg-ember, #FF6A3D); }
.cr-field__note { font-size: 12px; line-height: 1.4; color: var(--heg-ember, #FF6A3D); margin-top: 7px; min-height: 1px; }

.cr-check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(250, 247, 234, .78);
  padding: 6px 0;
  cursor: pointer;
}
.cr-check input { margin-top: 2px; flex-shrink: 0; accent-color: var(--heg-ember, #FF6A3D); }
.cr-check a { color: var(--heg-ivory, #FCFAF1); text-decoration: underline; text-underline-offset: 3px; }

/* Honeypot: уводим за экран, а не display:none — часть ботов такие поля
   игнорирует. Именно поле `website` гасит пинг в чат лидов, если заполнено. */
.cr-apply__hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.cr-apply__submit { margin-top: 8px; }
.cr-apply__submit[disabled] { opacity: .6; cursor: progress; }
.cr-apply__err { grid-column: 1 / -1; font-size: 14px; color: var(--heg-ember, #FF6A3D); margin-top: 4px; }

.cr-apply__ok {
  background: var(--heg-green, #06463D);
  border-radius: 16px;
  padding: 28px;
  color: var(--heg-ivory, #FCFAF1);
}
.cr-apply__ok h3 { font-family: var(--f-sans, "Onest", sans-serif); font-size: 20px; font-weight: 700; margin: 0 0 10px; color: var(--heg-ivory, #FCFAF1); }
.cr-apply__ok p { margin: 0 0 18px; font-size: 15px; line-height: 1.6; color: rgba(250, 247, 234, .84); }

/* ---------------------------------------------------------------
   Хаб: карточки курсов
   --------------------------------------------------------------- */
.cr-hubwrap { padding: 64px 0 72px; }
.cr-hubgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cr-hubcard {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 26px;
  border-radius: 16px;
  background: var(--heg-ivory, #FCFAF1);
  border: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12));
  box-shadow: var(--heg-shadow-sm, 0 1px 2px rgba(16, 31, 24, .05));
  text-decoration: none;
  transition: transform .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.cr-hubcard:hover {
  transform: translateY(-4px);
  background: var(--heg-green, #06463D);
  border-color: var(--heg-green, #06463D);
  box-shadow: 0 18px 42px -18px rgba(16, 31, 24, .55);
}
.cr-hubcard__k {
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--heg-text-2, #4a5a53);
}
.cr-hubcard__t { font-family: var(--f-sans, "Onest", sans-serif); font-size: 20px; font-weight: 700; letter-spacing: -.01em; color: var(--heg-ink, #101F18); }
.cr-hubcard__d { font-size: 14px; line-height: 1.5; color: var(--heg-text-2, #4a5a53); flex: 1; }
.cr-hubcard__go { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--heg-green, #06463D); }
.cr-hubcard:hover .cr-hubcard__k { color: rgba(250, 247, 234, .62); }
.cr-hubcard:hover .cr-hubcard__t,
.cr-hubcard:hover .cr-hubcard__d { color: var(--heg-ivory, #FCFAF1); }
.cr-hubcard:hover .cr-hubcard__go { color: var(--heg-ember, #FF6A3D); }

/* ---------------------------------------------------------------
   Хаб: медиатека — ряды-ссылки (записи, база знаний)
   --------------------------------------------------------------- */
.cr-mediawrap { padding: 0 0 72px; }
.cr-mediawrap--alt { padding: 72px 0; background: var(--heg-ivory-300, #F3F0E4); }
.cr-media { display: grid; gap: 0; border-top: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12)); }
.cr-medialink {
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 0;
  border-bottom: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12));
  text-decoration: none;
  transition: padding-left .2s ease;
}
.cr-medialink:hover { padding-left: 8px; }
.cr-medialink__t { font-family: var(--f-sans, "Onest", sans-serif); font-size: 17px; font-weight: 600; color: var(--heg-ink, #101F18); }
.cr-medialink__d { font-size: 14px; color: var(--heg-text-2, #4a5a53); flex: 1; min-width: 220px; }
.cr-medialink__k {
  font-family: var(--heg-mono, ui-monospace, monospace);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--heg-green, #06463D);
  white-space: nowrap;
}
.cr-note { font-size: 14px; line-height: 1.6; color: var(--heg-text-2, #4a5a53); margin: 20px 0 0; max-width: 68ch; }
.cr-note a { color: var(--heg-green, #06463D); text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------
   Отзывы (компонент готов, разметка появляется по мере сбора)
   --------------------------------------------------------------- */
.cr-reviews { padding: 72px 0; background: var(--heg-ivory-300, #F3F0E4); }
.cr-reviews__h {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-weight: 700;
  font-size: clamp(24px, 3.2vw, 34px);
  margin: 0 0 32px;
  color: var(--heg-ink, #101F18);
}
.cr-reviews__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cr-review {
  background: var(--heg-ivory, #FCFAF1);
  border: 1px solid var(--heg-line-ink, rgba(16, 31, 24, .12));
  border-radius: 16px;
  padding: 28px;
  box-shadow: var(--heg-shadow-sm, 0 1px 2px rgba(16, 31, 24, .05));
}
.cr-review__text {
  font-family: var(--heg-quote, "Source Serif 4", Georgia, serif);
  font-style: italic;
  font-size: 17px;
  line-height: 1.6;
  color: var(--heg-ink, #101F18);
  margin: 0 0 18px;
}
.cr-review__author { display: flex; align-items: center; gap: 12px; }
.cr-review__avatar {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 12px;
  background: var(--heg-green, #06463D);
  color: var(--heg-ivory, #FCFAF1);
  display: grid;
  place-items: center;
  font-weight: 600;
  font-size: 14px;
}
.cr-review__name { font-size: 14px; font-weight: 600; color: var(--heg-ink, #101F18); }
.cr-review__role { font-size: 12px; color: var(--heg-text-2, #4a5a53); }

/* ---------------------------------------------------------------
   Финальный CTA
   --------------------------------------------------------------- */
.cr-access { padding: 80px 0; text-align: center; background: var(--heg-ivory, #FCFAF1); position: relative; overflow: hidden; }
.cr-access__h {
  font-family: var(--f-sans, "Onest", sans-serif);
  font-weight: 700;
  font-size: clamp(24px, 3.4vw, 36px);
  margin: 0 0 16px;
  color: var(--heg-ink, #101F18);
}
.cr-access__desc { font-size: 16px; line-height: 1.6; color: var(--heg-text-2, #4a5a53); max-width: 56ch; margin: 0 auto 28px; }
.cr-access__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 30px;
  background: var(--heg-green, #06463D);
  color: var(--heg-ivory, #FCFAF1);
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: filter .18s;
}
.cr-access__btn:hover { filter: brightness(1.12); }

/* ---------------------------------------------------------------
   Адаптив
   --------------------------------------------------------------- */
@media (max-width: 960px) {
  .cr-authors { grid-template-columns: repeat(2, 1fr); }
  .cr-stats { grid-template-columns: repeat(3, 1fr); }
  .cr-hubgrid { grid-template-columns: 1fr 1fr; }
  .cr-reviews__grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .cr-hero { padding: 64px 0 52px; }
  .cr-hero__h { max-width: none; }
  .cr-course { padding: 52px 0; }
  .cr-preview { padding: 20px; }
  .cr-apply { padding: 56px 0; }
  .cr-apply__form { grid-template-columns: 1fr; }
  .cr-specwrap, .cr-tierswrap, .cr-mediawrap--alt, .cr-reviews { padding: 52px 0; }
  .cr-statswrap { padding: 48px 0; }
  .cr-hubgrid, .cr-authors, .cr-tiers { grid-template-columns: 1fr; }
  .cr-stats { grid-template-columns: repeat(2, 1fr); }
  .cr-access { padding: 56px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .cr-hubcard, .cr-medialink, .cr-btn, .cr-input { transition: none; }
  .cr-hubcard:hover { transform: none; }
  .cr-medialink:hover { padding-left: 0; }
}
