/* ============================================================================
   Дизайн-система Home Art · школа рисования · версия 1.0 от 02.10.2026
   Один файл: токены (:root) + UI-кит на префиксе .ha-*
   Подключение:  <link rel="stylesheet" href="tokens.css">  (fonts.css подтянется сам)
   Правило одно: значения берём только из токенов, новых цветов не выдумываем.
   ============================================================================ */
@import url('./fonts/fonts.css');

/* ---------- 1. ТОКЕНЫ ------------------------------------------------------ */
:root {
  /* Поверхности: бумага → песок → холст. Что лежит выше, то светлее. */
  --ha-paper:    #F8F3EA;   /* фон страницы: тёплая бумага. Белого фона нет */
  --ha-paper-2:  #F1E9DB;   /* песок: чередование секций, вторичные поверхности, hover строк */
  --ha-canvas:   #FFFFFF;   /* холст: карточки, поля, паспарту вокруг картин */
  --ha-line:     #E6DCCB;   /* рамка карточек и полей, 1px */
  --ha-line-2:   #EFE7D9;   /* тонкая линия-разделитель внутри блоков */

  /* Чернила: три уровня текста, чёрного нет */
  --ha-ink:      #3D241B;   /* заголовки, основной текст */
  --ha-ink-2:    #6B5248;   /* второй текст, описания */
  --ha-ink-3:    #7D6A5F;   /* подписи, плейсхолдеры (4,6:1 на бумаге) */

  /* Акцент один: терракота — цвет мазка из логотипа, затемнённый до контраста 5:1 с белым */
  --ha-terra:    #B84E28;   /* главная кнопка, акцентное слово, активные состояния */
  --ha-terra-d:  #9C3F1D;   /* hover главной кнопки */
  --ha-terra-soft:#F6E3D8;  /* мягкая подложка: метки, hover вторичной кнопки, выделение */
  --ha-peach:    #E8B49A;   /* персик: мазок и акцентное слово на тёмном, декор. Не для текста на светлом */

  /* Тёмная поверхность: тариф, финальный призыв, подвал. Это те же чернила */
  --ha-dark:     #3D241B;
  --ha-dark-2:   #4E3128;   /* карточка на тёмном */
  --ha-on-dark:  #F8F3EA;   /* текст на тёмном */
  --ha-on-dark-2:rgba(248,243,234,.72);
  --ha-on-dark-line:rgba(248,243,234,.16);

  /* Статусы: шалфей для успеха, кирпич для ошибки. Жёлтого «внимание» нет: срочность подаём тихо */
  --ha-ok:       #56724F;
  --ha-ok-soft:  #E6EDE2;
  --ha-danger:   #B3362C;
  --ha-danger-soft:#F8E3E0;

  /* Шрифты: один рабочий и один «голосовой». Lora только в цитатах и лиде-курсиве, в заголовках курсива нет (решение владельца 02.10.2026) */
  --ha-font:     'Manrope', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;   /* всё: заголовки, текст, кнопки */
  --ha-font-em:  'Lora', Georgia, 'Times New Roman', serif;                        /* только курсив: акцентное слово, цитата, лид */

  /* Радиусы: четыре ступени, остальных нет */
  --ha-r-sm:   10px;   /* поля, метки, мелкие плитки */
  --ha-r:      16px;   /* карточки */
  --ha-r-lg:   24px;   /* крупные карточки, медиа, модалка */
  --ha-r-pill: 999px;  /* кнопки, бейджи */

  /* Линии вместо теней. Тень одна: у всплывающего */
  --ha-bd:        1px solid var(--ha-line);
  --ha-shadow-pop:0 20px 48px rgba(61,36,27,.18);
  --ha-ring:      0 0 0 3px rgba(184,78,40,.28);   /* фокус */

  /* Отступы: шкала кратна 4 */
  --ha-s1: 4px;  --ha-s2: 8px;  --ha-s3: 12px; --ha-s4: 16px; --ha-s5: 24px;
  --ha-s6: 32px; --ha-s7: 48px; --ha-s8: 64px; --ha-s9: 96px; --ha-s10: 128px;
  --ha-container: 1180px;
  --ha-gutter: 24px;
  --ha-section: var(--ha-s9);      /* между секциями на десктопе; на телефоне s8 */

  /* Движение */
  --ha-fast: .15s ease-out;
  --ha-slow: .25s ease-out;

  /* Слои */
  --ha-z-sticky: 50; --ha-z-drop: 60; --ha-z-backdrop: 90; --ha-z-modal: 100; --ha-z-toast: 110;

  /* Персонаж: размеры по месту */
  --ha-mazok-maska: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1006.5 1024%22%3E%3Cpath fill=%22%23000%22 d=%22M381.5 1.05c-5.55 1.55 -11.75 3.8 -13.55 4.9c-0.95 0.6 -2.5 1.05 -3.45 1.05c-0.95 -0 -2.55 0.25 -3.5 0.55c-0.95 0.3 -4.45 0.75 -7.75 1c-10.7 0.75 -16.55 2.15 -19.25 4.65c-2.2 2.05 -6.85 4.7 -9.55 5.5c-1.45 0.45 -3.35 1.45 -4.2 2.3c-2.4 2.3 -8.2 5.15 -9.9 4.8c-1.1 -0.2 -2.5 0.3 -6 2.15c-2.55 1.35 -5.7 2.85 -7.1 3.35c-1.35 0.5 -3.05 1.3 -3.75 1.75c-0.7 0.5 -2.6 1.25 -4.25 1.7c-1.65 0.45 -3.95 1.4 -5.15 2.05c-2.05 1.2 -11.1 2.15 -11.1 1.2c0 -0.55 2.95 -4.8 4 -5.75c1.15 -1.05 1.35 -3 0.35 -3.4c-0.8 -0.3 -10.3 2.7 -12.85 4.1c-0.95 0.5 -2.4 1.1 -3.25 1.25c-1.5 0.35 -14.75 5.5 -16.2 6.35c-2.7 1.5 -10.1 4.55 -11.95 5c-1.2 0.25 -2.9 1 -3.8 1.65c-1.5 1.15 -5.05 2.75 -11.05 5.05c-1.65 0.6 -4.7 1.85 -6.75 2.75c-2.05 0.85 -4.65 1.95 -5.75 2.35c-2.5 0.9 -12.05 5.55 -13.75 6.65c-0.7 0.45 -3.85 1.9 -7 3.2c-5.7 2.4 -10.7 5.1 -13.95 7.55c-0.95 0.7 -2.65 1.5 -3.75 1.8c-1.15 0.3 -2.8 1.1 -3.7 1.8c-0.9 0.7 -2.45 1.45 -3.4 1.7c-1.9 0.55 -2.3 1.8 -0.55 2.15c5.8 1.1 9.8 1.3 25.6 1.4c9.9 0.05 19.35 0.05 21 -0.05c1.65 -0.05 5.05 0.15 7.5 0.45c7.9 1 77.05 1.6 107.95 0.95c45.2 -0.9 70.35 -0.55 107.05 1.55c4.15 0.2 12.1 0.65 17.75 0.95c5.65 0.3 11.2 0.75 12.35 1.05c1.35 0.3 27.9 0.5 74.5 0.55c41 -0 76 0.25 80.65 0.55c23.1 1.35 36.25 1.1 44 -1c4.05 -1.05 21.7 -1.2 27.25 -0.15c3.75 0.65 0.35 0.65 91.25 -0.4c57.65 -0.7 134.45 -0.5 138.75 0.4c5.75 1.2 6.9 1.7 8 3.55c2.05 3.5 2.4 297.45 0.35 303.5c-0.35 0.95 -0.6 3.9 -0.6 6.5c0 2.6 -0.35 6.3 -0.75 8.25c-1.05 4.95 -1.05 29.55 0 34.5c0.55 2.65 0.75 7.3 0.75 19.5c0 10 0.2 16.65 0.55 17.75c0.35 1.2 0.65 49.75 1 161.25c0.25 87.7 0.5 160.6 0.5 162c0.05 1.35 -0.1 6 -0.35 10.25c-1.2 21.25 -0.45 24.85 4.35 21.2c0.95 -0.7 2.9 -2 4.35 -2.85c10 -6.05 12.55 -7.65 14.25 -8.8c1 -0.7 3.2 -2.1 4.85 -3.05c6.5 -3.85 11.2 -6.8 12.7 -8.05c0.85 -0.7 2.35 -1.7 3.3 -2.2c5.15 -2.6 17.05 -12.95 16.3 -14.2c-0.45 -0.65 -1.75 -0.15 -3.3 1.25c-2.25 2.05 -4.75 2.8 -7 2.15c-1.5 -0.45 -2.5 -0.45 -3.85 -0.05c-1.45 0.4 -15 0.9 -18.5 0.65c-1.75 -0.15 3.7 -4.4 6.75 -5.3c0.6 -0.2 3.55 -1.6 6.5 -3.1c2.95 -1.55 6.25 -3.25 7.35 -3.8c2.25 -1.2 9.2 -6.25 11.55 -8.45c2.3 -2.15 4.75 -0.6 5.4 3.4c0.25 1.85 0.15 2.15 -1.4 3.5c-1.95 1.75 -2.85 5.35 -1.6 6.6c1.2 1.2 5.7 -1.35 8.8 -5c3.25 -3.9 3.2 -5.4 -0.3 -5.4c-1.6 -0 -3.2 -1.55 -3.2 -3.15c0 -1.45 2.75 -3.35 4.8 -3.35c1.9 -0 2.15 -0.2 3.6 -2.4c0.85 -1.35 2.6 -3.4 3.85 -4.55c1.25 -1.15 2.25 -2.25 2.25 -2.5c0 -1.35 -5.6 -0.7 -8.2 0.95c-0.85 0.5 -3.1 1.7 -5.05 2.65c-1.9 0.95 -4.95 2.6 -6.7 3.75c-3.55 2.35 -6.5 2.95 -4.75 1.05c0.5 -0.6 2.5 -1.85 4.35 -2.8c1.9 -0.95 4.3 -2.55 5.3 -3.55c3.7 -3.65 8.25 -7.35 10.25 -8.35c3.1 -1.5 3.6 -3.1 2.4 -6.9c-0.55 -1.7 -1.2 -3.75 -1.45 -4.55c-1.35 -4.75 -4.9 -4.1 -16.2 2.95c-7.05 4.4 -9.45 5.5 -9.45 4.25c0 -1.65 8.6 -8.35 14.1 -10.95c6.2 -2.95 11 -7.9 10.1 -10.4c-0.7 -1.95 -1.95 -2.55 -3.1 -1.5c-1.3 1.2 -2.85 1.05 -4 -0.4c-1.8 -2.3 -3.05 -2.5 -6.65 -1c-3.1 1.3 -8.35 4.25 -10 5.6c-0.8 0.7 -9.35 4.15 -10.15 4.15c-0.3 -0 1.1 -1.1 3.05 -2.5c5.75 -4.05 7.6 -6.6 5.8 -8.05c-2.4 -2 -2.6 -3.25 -1.25 -7.1c1.05 -3.05 1.3 -4.75 1.5 -11.1l0.25 -7.55l-2.1 -1.95c-2.1 -2 -2.1 -2.05 -1.85 -4.75c1.9 -18.7 1.85 -30.5 -0.05 -39.65c-0.65 -3 -0.7 -4.25 -0.25 -5.65c0.35 -1.2 0.4 -4.55 0.05 -11.1c-0.65 -13.25 -0.05 -17.9 2.65 -21.75c1.1 -1.55 1.15 -1.95 1 -9.55c-0.15 -8.65 -0.4 -9.65 -2.45 -9.9c-1.15 -0.1 -1.4 -0.4 -1.3 -1.3c0.2 -1.5 -0.6 -2.95 -1.8 -3.35c-1.2 -0.35 -1.55 -1.75 -1 -4.1c0.45 -2.15 -0.9 -7.7 -2.65 -10.55c-0.95 -1.55 -1 -1.8 -0.3 -3.25c2.1 -4.35 2.55 -7.45 2.6 -16.45c0.05 -8.35 0.1 -8.9 1.15 -10c2.6 -2.75 2.75 -6 0.65 -12.55c-1.2 -3.85 -1.5 -5.55 -1.5 -9.3c0 -5.6 -0.4 -6.45 -3.05 -6.85c-3.8 -0.6 -4.35 -1.6 -4.85 -8.45c-0.4 -5.35 -0.6 -6.4 -2.2 -9.75c-2.85 -6 -3.2 -13.5 -0.6 -13.5c2.45 -0 3.15 -5.4 1.05 -8.2c-2.95 -3.9 -3.4 -5.9 -1.6 -7.1c1.65 -1.05 1.65 -3 -0.05 -4.55c-1.65 -1.5 -1.35 -3.1 1.35 -7.6c1.65 -2.75 1.95 -3.65 1.95 -6.1c0 -1.55 0.3 -3.45 0.7 -4.2c0.4 -0.75 0.6 -1.7 0.45 -2.1c-0.5 -1.25 -2.35 -0.5 -3.25 1.35l-0.8 1.75l-0.75 -1.75c-1.3 -3 -2.95 -3 -3.5 -0c-0.5 2.4 -2.7 4.35 -3.75 3.3c-0.75 -0.75 -0.75 -1 0.1 -3.5c1.2 -3.55 0.4 -5.3 -2.55 -5.3l-1.8 -0l0.35 -2.15c0.15 -1.15 0.45 -2.95 0.6 -3.95c0.4 -2.45 -0.95 -6.35 -2.8 -8.15c-2.95 -2.8 -1.7 -5 1.75 -3.2c2.95 1.6 4.35 0.6 3.35 -2.3c-0.6 -1.5 -0.5 -2.2 0.6 -5.75c0.85 -2.6 1.3 -5.25 1.3 -7.4c0.05 -1.85 0.25 -4.35 0.55 -5.6c0.25 -1.25 0.7 -4.3 0.95 -6.75c1.25 -11.2 1.6 -12.5 3.25 -12.5l1.5 -0l-0.2 -7.1l-0.2 -7.15l1.8 -2.6l1.8 -2.65l0.35 -8c0.25 -6.4 0.45 -8.25 1.15 -9.25c0.5 -0.7 1.15 -2.05 1.45 -3c0.65 -1.85 3.45 -6.2 5.7 -8.9c0.8 -0.9 1.4 -1.95 1.4 -2.4c0 -0.4 0.55 -2.05 1.25 -3.7c0.9 -2.1 1.25 -3.9 1.25 -6.05c0 -2.1 0.4 -4.1 1.2 -6.15c1.75 -4.55 2.05 -9.05 0.8 -12.45c-1.5 -3.95 -3.95 -8.3 -5.05 -8.85c-1.3 -0.7 -2.2 -2.6 -3.25 -7c-0.65 -2.7 -1.3 -4.2 -2.5 -5.5c-1.45 -1.6 -1.6 -2.1 -1.35 -3.65c0.2 -1.35 0 -2.25 -0.9 -3.7c-1.7 -2.7 -1.75 -26.7 -0.05 -30.9c1.1 -2.75 1.7 -17 0.9 -19.9c-0.35 -1.1 -0.2 -1.65 0.55 -2.5c0.95 -1 1.05 -2 1.3 -12.85c0.15 -7.5 0.5 -12.3 0.9 -13.25c1.1 -2.8 1.8 -11.4 1.2 -14.9c-0.45 -2.3 0.7 -3.85 2.8 -3.85c1.6 -0 2.35 -0.9 3.9 -4.85l1 -2.6l-1.2 -1.5c-1.3 -1.5 -1.75 -4.7 -0.75 -5.3c0.85 -0.55 0.55 -2.25 -0.75 -4.15c-1.6 -2.35 -1.55 -2.9 0.25 -3.85c1.7 -0.9 2.05 -2.7 0.7 -3.8c-1.15 -0.95 -5.7 -0.9 -6.2 0.05c-0.2 0.4 -0.65 1.35 -1 2.1c-0.45 0.9 -1.45 1.65 -2.9 2.25l-2.25 0.85l-1.7 -1.95c-1.9 -2.2 -2 -2.75 -0.7 -3.95c1.4 -1.25 1.6 -2.65 0.5 -3.95c-0.5 -0.7 -1.15 -2.15 -1.4 -3.3c-0.25 -1.2 -0.55 -2.2 -0.65 -2.25c-0.05 -0.05 -0.75 -0.5 -1.5 -0.95c-1.95 -1.2 -2 -5.05 -0.15 -7.25c1.55 -1.85 1.55 -2.15 0 -3.6c-1.5 -1.4 -1.85 -7.5 -0.5 -9.3c1.15 -1.55 0.85 -3.35 -1 -6c-2.3 -3.25 -2.3 -7.7 0 -7.7c0.4 -0 0.75 -0.25 0.75 -0.5c0 -0.3 -0.35 -0.5 -0.75 -0.5c-1.45 -0 -2.4 -2.35 -2 -4.9c0.15 -1.3 0.3 -3.2 0.3 -4.2c-0.05 -1.05 0.4 -3.2 0.95 -4.85c0.85 -2.55 1 -4.3 1 -11.2c0 -6.95 0.15 -8.35 0.8 -8.9c1.2 -1 2 0.4 2.4 4.15c0.8 6.85 2.9 8.4 5.05 3.75c1.5 -3.2 1.9 -16.75 0.55 -19.25c-0.4 -0.75 -0.85 -1.95 -1 -2.65c-0.15 -0.7 -0.85 -1.55 -1.5 -1.95c-1.65 -0.85 -1.95 -1.8 -1.2 -3.8c1.05 -2.9 -6 -8.15 -8.35 -6.2c-0.55 0.45 -1.65 0.55 -3.9 0.25c-1.7 -0.2 -4.55 -0.4 -6.3 -0.45c-3.3 -0.05 -3.55 0.1 -4.3 2.45c-0.35 0.95 -0.35 0.95 -1.15 -0.2c-2.25 -3.1 -2.8 -3.45 -5.5 -3.15c-2.4 0.2 -2.6 0.15 -3.1 -1.1c-0.65 -1.8 -4.35 -1.95 -4.6 -0.2c-0.2 1.45 -2.4 2.3 -4.25 1.6c-0.9 -0.3 -1.35 -0.8 -1.25 -1.3c0.15 -0.95 -2.35 -2.95 -4.9 -3.9c-0.95 -0.35 -2.85 -1.2 -4.2 -1.85c-1.55 -0.8 -3.9 -1.4 -6.4 -1.65c-4.6 -0.45 -5.5 -1 -4.15 -2.5c1.4 -1.55 0.45 -2.1 -4.4 -2.5c-7.7 -0.7 -14.85 -0.25 -18.45 1.15c-1.75 0.7 -4.6 1.4 -6.4 1.6c-1.8 0.2 -5.85 1 -9 1.85c-3.15 0.8 -7.55 1.95 -9.75 2.45c-2.2 0.55 -5.7 1.5 -7.75 2.2c-2.75 0.85 -5.3 1.25 -9.5 1.4c-3.15 0.15 -6.85 0.5 -8.15 0.85c-1.95 0.5 -2.8 0.5 -4.3 -0c-1.65 -0.55 -2.15 -0.5 -3.85 0.4c-4.25 2.1 -11.25 3.8 -17.2 4.1c-3.15 0.15 -6.4 0.55 -7.15 0.9c-2.6 1.1 -5.05 0.8 -4.15 -0.5c1.95 -2.8 -1.1 -4.5 -5.75 -3.2c-2.15 0.65 -3.15 0.7 -4.25 0.3c-1.7 -0.65 -3.65 -0.25 -5.8 1.2c-3.7 2.45 -7.7 3.5 -10.05 2.6c-1.15 -0.45 -3.3 -0.8 -4.75 -0.8c-2.65 -0 -2.7 -0 -5.35 3.1c-0.65 0.8 -1.7 0.9 -7.55 0.9c-6.4 -0 -6.85 0.05 -8.6 1.25c-3.1 2.1 -15.85 1.45 -20.75 -1.05c-1.5 -0.8 -4.7 -1.4 -11.35 -2.2c-2.05 -0.25 -4.15 -0.55 -4.6 -0.75c-0.45 -0.2 -2.05 -0 -3.6 0.45c-3.7 1.1 -4 1.05 -4.85 -0.85c-0.85 -1.95 -6.5 -3.15 -7.65 -1.65c-0.7 0.9 -2.3 1.55 -6.6 2.55c-6.3 1.45 -9.6 0.85 -11.45 -2.1c-0.55 -0.9 -1.45 -1.75 -2 -1.95c-0.55 -0.15 -1.55 -0.9 -2.25 -1.65c-1.7 -1.8 -6.65 -1.6 -6.9 0.3c-0.3 1.95 -4.35 3.45 -7.1 2.65c-0.95 -0.25 -2.25 -0.15 -3.8 0.3c-2.65 0.8 -8.85 0.45 -9.65 -0.5c-0.35 -0.4 -0.25 -1 0.2 -1.8c3.25 -5.65 3.3 -6.1 0.55 -7.95c-4.75 -3.3 -9 -3.3 -12.55 -0c-1.15 1.05 -3.15 2.5 -4.45 3.2l-2.3 1.2l-0.85 -1.35c-1.3 -2 -1.6 -2.1 -4.95 -1.8c-2.75 0.3 -3.3 0.2 -5.35 -1c-3.2 -1.9 -8.6 -2.65 -10 -1.45c-1.4 1.3 -6.25 1 -8.85 -0.45c-1.8 -1.05 -2.1 -1.1 -4.1 -0.45c-1.2 0.4 -3.4 0.65 -4.9 0.6c-2.85 -0.1 -5.7 0.4 -10.75 1.95c-1.65 0.5 -4.9 1.3 -7.25 1.8c-2.35 0.45 -5.15 1.25 -6.3 1.75c-2.4 1.05 -8.45 1.75 -21.2 2.45c-5.1 0.3 -10.25 0.75 -11.5 1.05c-1.25 0.35 -4.15 0.75 -6.5 1c-2.35 0.2 -5.8 0.65 -7.75 0.9c-1.9 0.3 -6.1 0.75 -9.25 1.05c-3.15 0.3 -6.4 0.8 -7.25 1.1c-1.85 0.65 -7.85 1.2 -20.75 1.9c-5.35 0.3 -11.2 0.8 -13 1.05c-2.05 0.35 -6.35 0.4 -11.5 0.2c-17.45 -0.7 -65.75 -0.05 -69.55 1c-1.35 0.35 -4.45 -2.4 -4.45 -3.95c0 -0.85 3.1 -2.85 6.25 -4.05c2.65 -0.95 10.1 -4.5 11 -5.2c0.25 -0.25 1.9 -1.05 3.65 -1.75c1.7 -0.75 4.05 -2.05 5.25 -2.95c1.15 -0.85 3.5 -2.2 5.15 -3c4.4 -1.95 4.45 -2.65 0.6 -7.7c-1.9 -2.6 -1.55 -4.05 1.45 -5.6c7.05 -3.55 8.35 -8.5 3.15 -11.9c-3.75 -2.45 -3.1 -1.9 -7.4 -6.45c-1.85 -1.95 -3.8 -4.35 -4.35 -5.35l-1 -1.85l-3.25 0.05c-1.8 0.05 -4.7 0.5 -6.5 1ZM538 20c-0.45 0.3 -0.5 0.75 -0.15 1.8c0.65 1.95 1.85 1.85 2.05 -0.1c0.15 -1.65 -0.7 -2.45 -1.9 -1.7ZM542 20.45c0 0.55 0.2 1.15 0.5 1.3c0.25 0.15 0.45 1.05 0.35 1.9c-0.05 1.15 0.1 1.6 0.65 1.6c0.55 -0 0.7 -0.4 0.6 -1.4c-0.1 -0.8 0.1 -1.75 0.45 -2.15c0.85 -1 0.15 -2.2 -1.3 -2.2c-0.9 -0 -1.25 0.25 -1.25 0.95ZM549.6 21.85c0.25 1.3 1.9 1.45 1.9 0.2c0 -0.75 -0.3 -1.05 -1.05 -1.05c-0.7 -0 -0.95 0.25 -0.85 0.85ZM307.6 23.35c0.1 0.5 0.5 0.9 0.9 0.9c1.1 -0 0.9 -1.45 -0.15 -1.65c-0.7 -0.15 -0.9 0.05 -0.75 0.75ZM476.05 28.2c-3.5 1.25 -3.25 2.9 0.7 4.8c4.8 2.35 12.15 -1.9 8.15 -4.7c-1.35 -0.95 -6.35 -1 -8.85 -0.1ZM663.5 44.25c0 1.9 2.15 3.85 3.75 3.45c0.7 -0.15 1.95 -0.05 2.75 0.3c4 1.65 2.75 -0.75 -1.75 -3.25c-3.75 -2.1 -4.75 -2.2 -4.75 -0.5ZM730.15 51.35c-2.55 1 1.1 3.55 3.9 2.7c2.15 -0.65 3.05 -1.85 1.9 -2.6c-0.75 -0.45 -4.75 -0.55 -5.8 -0.1ZM133.75 92.95c-4.45 1.65 -7.25 3 -8.9 4.25c-0.9 0.65 -2.7 1.65 -4.1 2.2c-1.35 0.55 -5.6 2.45 -9.35 4.25c-3.8 1.8 -7.6 3.4 -8.5 3.6c-2.15 0.45 -5.65 2.5 -6.2 3.6c-0.75 1.5 -1.25 39.6 -1.25 93.5c0.05 85.55 0.05 91.85 0 113.75c-0.05 23.6 0.75 55.7 1.55 59.95c0.25 1.5 0.5 4.1 0.5 5.75c0 1.6 0.25 3.75 0.55 4.7c0.55 1.9 1.15 12.95 1.95 36.25c0.3 8.25 0.75 16.35 1.05 18c0.3 1.65 0.75 6.7 1.05 11.25c0.25 4.55 0.7 11.5 1 15.5c1.35 18.65 0.05 62.15 -2 67.75c-1 2.7 -1.6 12.65 -2.1 34.5c-0.25 11.8 -0.6 25.1 -0.75 29.5c-0.15 4.4 -0.5 47.15 -0.75 95c-0.5 100.65 -1.1 145.2 -1.95 149.25c-0.75 3.35 -0.5 59.2 0.3 63.45c0.6 3.35 1.5 4.05 5.1 4.05c1.55 -0 3.6 0.25 4.55 0.55c3.4 1.05 149.65 2.5 153.75 1.5c1.25 -0.3 67.65 -0.6 182.75 -0.8c157.2 -0.3 181.05 -0.45 183.1 -1.05c2.15 -0.7 2.5 -0.7 4 0.1c1.5 0.8 3.8 0.9 23.15 1c11.85 0.1 22.2 0.35 23 0.55c2.1 0.55 10.4 0.4 17.3 -0.3c5.15 -0.55 6.05 -0.55 7.35 0.15c1.75 0.9 4.4 1.05 4.85 0.3c0.2 -0.3 1.15 -0.45 2.15 -0.4c1 0.05 2.35 -0.05 2.95 -0.25c0.8 -0.3 1.4 -0.1 2.1 0.6c1.9 1.9 2.8 2.05 12.65 2.05c9.35 -0 9.75 -0.05 12.05 -1.25l2.35 -1.25l2.1 1.1c2.15 1.15 28.9 1.7 44.65 0.95c2.2 -0.1 4.85 -0 5.85 0.2c1.1 0.2 2.55 0.1 3.6 -0.25c1.35 -0.45 2.2 -0.45 3.5 -0c3.15 1 9.3 -2.25 16.15 -8.6c1.45 -1.35 4.5 -3.3 7 -4.55c5.6 -2.7 13.35 -7.25 16.6 -9.7c1.35 -1.05 5.3 -3.7 8.75 -5.9c3.45 -2.2 7.95 -5.05 9.9 -6.35c5.05 -3.25 10.7 -6.85 16.75 -10.6c2.85 -1.7 5.55 -3.5 6 -3.95c0.5 -0.4 2.25 -1.55 3.9 -2.5c6.7 -3.85 11.6 -6.85 13.25 -8.1c2.1 -1.6 7.25 -4.75 11 -6.7c1.5 -0.8 3.55 -2.15 4.5 -2.95l1.75 -1.5l0.35 -7.15c0.2 -3.95 0.6 -19.1 0.95 -33.6c0.55 -28.5 0.6 -27.85 -2.05 -27.85c-1.25 -0 -2 -0.75 -2 -2.05c0 -0.25 0.75 -0.45 1.7 -0.45c2.3 -0 2.8 -1.55 2.8 -8.7c0 -3.05 0.25 -6.45 0.55 -7.55c1.9 -6.85 1.9 -98.45 0 -109.75c-0.55 -3.25 -1.2 -39.75 -2.05 -114.25c-1.15 -99.2 -1.4 -116.55 -1.95 -118.25c-0.7 -2.2 -0.75 -17.3 -0.05 -20.15c0.25 -1.15 0.75 -5.6 1.05 -9.85c0.3 -4.25 0.7 -9.55 0.95 -11.75c0.25 -2.2 0.65 -7.4 0.95 -11.5c0.3 -4.15 0.8 -8.5 1.1 -9.75c1.45 -5.85 1.6 -17.45 1.6 -98.75c-0.1 -121.85 -0.7 -154.95 -2.9 -157.15c-0.85 -0.9 -69.3 -1.95 -73 -1.15c-2.5 0.55 -10.25 1.2 -25.75 2.15c-16.4 1 -100.75 0.5 -176.25 -1.05c-24.4 -0.5 -27.45 -0.45 -50.5 0.95c-3.85 0.25 -9.35 0.55 -12.25 0.75c-18.4 1.1 -75.75 2.05 -78.75 1.3c-1.1 -0.3 -12.9 -0.65 -26.25 -0.8c-21.15 -0.3 -24.85 -0.45 -29.05 -1.3c-4.75 -0.95 -9.6 -1.4 -30.2 -2.65c-6.05 -0.35 -11.35 -0.8 -11.8 -1c-4.15 -1.8 -61.1 -1.85 -64 -0.05c-0.6 0.4 -10.4 1.5 -19.7 2.25c-6.4 0.55 -10.55 1.1 -15.5 2.05c-3.3 0.65 -59.1 0.25 -64.5 -0.5c-6.2 -0.8 -10 -1.05 -24 -1.6c-14.95 -0.6 -16.35 -0.6 -18.75 -0.5c-0.95 0.05 -4 -0.05 -6.7 -0.25c-3.25 -0.2 -6.15 -0.1 -8.25 0.3c-3.1 0.55 -3.5 0.5 -7.25 -0.75c-6.45 -2.15 -34.6 -3.5 -39.05 -1.8ZM82.05 118.75c-0.8 0.7 -2.7 1.65 -4.15 2.05c-1.45 0.45 -3.75 1.4 -5.15 2.15c-1.35 0.8 -3.95 2 -5.75 2.7c-1.8 0.7 -5.6 2.55 -8.4 4.05c-2.85 1.5 -6.05 3.1 -7.15 3.5c-1.1 0.45 -2.8 1.3 -3.85 1.95c-1 0.65 -2.85 1.55 -4.05 2.05c-1.25 0.5 -2.8 1.25 -3.5 1.75c-0.7 0.5 -3.55 2.1 -6.3 3.55c-2.75 1.45 -6.25 3.45 -7.75 4.45c-1.5 1 -4.3 2.7 -6.25 3.8c-1.9 1.1 -3.55 2.4 -3.65 2.85c-0.25 1.45 1.7 1.1 5.2 -0.85c5.05 -2.85 6.6 -1.6 4.45 3.6c-1.55 3.7 -0.65 4.8 1.55 1.85c1.9 -2.45 3.65 -3.25 6.3 -2.9c3.1 0.45 5.6 -0.7 6.85 -3.15c1.05 -2.15 3.8 -4.3 6.55 -5.15c3 -1 7.2 -3.15 8.9 -4.6c2 -1.7 3.15 -1.65 3.8 0.2c0.8 2.2 -0.3 3.7 -3.8 5.4c-3.1 1.5 -4.05 2.35 -3.6 3.1c0.45 0.7 2.7 -0.1 8.55 -2.9c7.85 -3.75 9.75 -3.5 3.9 0.55c-2.15 1.45 -3.05 2.4 -3.35 3.6c-0.65 2.5 -5.2 5.9 -9.55 7.15c-2 0.6 -4.75 1.35 -6.15 1.75c-3.2 0.95 -3.8 0.95 -5.9 -0.1c-2.15 -1 -6.6 -0.25 -8.1 1.45c-0.55 0.55 -1.85 1.45 -2.95 2c-1.1 0.6 -2.75 1.7 -3.65 2.45c-0.9 0.8 -2.1 1.45 -2.6 1.45c-0.55 -0 -1.85 0.75 -2.85 1.65c-1.05 0.9 -2.95 2.5 -4.25 3.5c-3 2.4 -3 3.15 -0.1 4.45c2.25 1 3.75 1 7.1 0.1c2.85 -0.8 -0.65 3 -4.9 5.25c-1.7 0.9 -3 2.55 -3 3.85c0 2.05 2.7 2.25 6.1 0.45c2.85 -1.5 4.7 -1.7 4.15 -0.4c-1.05 2.4 -1.75 6.2 -1.75 9.25c0 2 -0.5 5.35 -1.25 8.2c-1.8 6.85 -1.9 27.3 -0.15 33.25c0.9 3.1 1.1 5.6 1.4 15.7c0.2 6.6 0.6 12.8 0.9 13.75c0.3 0.95 0.65 3.1 0.75 4.7c0.15 2.15 0.5 3.15 1.15 3.65c1.4 1 1.85 0.8 1.55 -0.8c-0.5 -2.45 1.85 -3.65 2.45 -1.2c0.2 0.75 0.9 2.15 1.55 3.1l1.25 1.8l-1.8 0.15c-3.5 0.3 -2.95 4.55 0.7 5.65c2.35 0.7 2.55 1.3 0.65 1.7c-3.15 0.7 -3.9 2 -2.1 3.7c1.95 1.8 3.25 1.4 4.7 -1.45c1.1 -2.15 2.65 -3.5 4 -3.5c0.45 -0 6.45 6.2 8.1 8.35c1.1 1.45 2.25 3.9 3 6.35c0.7 2.25 1.45 4.25 1.65 4.55c0.2 0.25 0.55 1.05 0.75 1.75c0.2 0.7 0.8 2.25 1.35 3.45c0.9 2 0.95 2.5 0.4 5.15c-0.4 1.9 -0.5 3.9 -0.25 5.8c0.25 1.55 0.45 4.75 0.55 7.1c0.05 2.35 0.3 7.4 0.6 11.25c0.45 7 0.45 7 -0.9 10.25c-2.2 5.15 -2.6 13.85 -0.8 16.4c1.15 1.7 1.25 2.05 0.75 3.85c-0.35 1.15 -0.4 3.45 -0.2 5.7c0.15 2.1 0.45 6.4 0.65 9.55c0.25 4.25 0.6 6.05 1.2 7c0.6 0.8 0.9 2.15 0.9 3.8c0 1.4 0.3 3.35 0.7 4.25c0.7 1.7 0.4 10.6 -0.4 11.85c-0.15 0.3 0.05 1.45 0.5 2.6c1 2.5 0.65 5.95 -1.05 9.95c-2.55 6.1 -2.7 7.5 -2.8 27.8c-0.05 13.95 0.05 19.35 0.5 20.15c0.45 0.8 0.45 1.6 0.05 3c-0.25 1 -0.5 6.35 -0.5 11.85c-0.05 9.75 -0.05 10.05 -1.25 12c-0.95 1.55 -1.25 2.7 -1.25 4.95c0 3.6 -1.15 8.15 -2.9 11.5c-1.25 2.4 -1.35 2.95 -1.35 9.3c-0.05 4 -0.25 7.15 -0.6 7.75c-0.3 0.55 -0.7 2.75 -0.9 4.9c-0.6 6.45 -2.45 7.2 -5.55 2.3c-1.9 -3.05 -6.2 -2 -6.2 1.5c0 1.1 -0.95 2.05 -2.05 2.05c-1.25 -0 -1.45 1 -1.45 7.15c0 4.95 -0.15 6 -1.6 10.15l-1.65 4.65l0.95 1.75c1.8 3.4 -0.15 19.85 -3.4 28.5c-0.7 1.85 -1.3 4.3 -1.3 5.35c0 1.2 -0.6 3.1 -1.6 5c-1.5 2.9 -1.6 3.45 -2 10.6c-0.45 8.5 -1.55 12.85 -3.9 15.5c-2.4 2.75 -3 5.95 -3 15.9l0 8.9l1.5 1.55c1.45 1.5 1.5 1.7 1.5 6.25c0 6.45 1.65 8.45 4.2 5.05c0.9 -1.15 1.1 -2.4 1.4 -8.2c0.4 -7.55 0.9 -10.8 2.15 -13.95c0.8 -2.05 0.8 -2.2 -0.2 -4.3c-2.15 -4.4 -0.25 -11.7 2.15 -8.25c0.6 0.85 0.75 3.6 0.8 15.75c0 8.1 0.15 15.25 0.3 15.9c0.15 0.7 -0.15 2.15 -0.75 3.5c-1.3 3 -1.3 4.55 0 7.85c1 2.5 1.05 3.2 0.7 10.9c-0.5 10.9 -0.5 10.45 0.1 16.75c0.45 4.9 0.65 5.8 2.15 8.2c1.25 2.05 1.75 3.45 1.95 6c0.4 3.95 0.6 4.35 2.5 4.8c1.85 0.4 2.35 1 2.8 3.4c0.2 1.05 0.9 2.5 1.5 3.25c0.6 0.75 2.05 2.9 3.25 4.85c1.15 1.9 2.7 4.15 3.45 5c0.8 0.8 1.7 2.3 2.05 3.25c0.35 0.95 1.4 3.1 2.35 4.8c0.9 1.65 1.65 3.75 1.65 4.55c0 1.8 -1.25 3.1 -2.1 2.25c-0.8 -0.8 -1.4 -0.75 -1.4 0.15c0 0.4 0.35 0.75 0.75 0.75c1.15 -0 0.9 1.7 -0.5 3c-1.55 1.45 -1.55 1.9 0 4c0.7 0.95 1.25 2.2 1.25 2.8c0 0.6 0.45 2.05 1 3.25c1.45 3.3 1.3 4.25 -1 5.7c-2.8 1.75 -3.15 5.1 -1.55 14.15c0.45 2.55 0.45 3.65 -0.2 6.05c-0.4 1.6 -0.75 4.35 -0.75 6.1c0 1.75 -0.35 5.15 -0.8 7.55c-0.85 4.2 -0.85 4.4 0.2 7.25c1.7 4.6 1.85 7.8 0.65 12.3c-0.85 3.1 -0.95 4.05 -0.45 4.8c0.9 1.5 -0.4 4.95 -2.7 7.1c-2.05 2 -2.4 3.55 -1.1 5c0.75 0.85 0.7 1 -0.25 2.4c-0.6 0.85 -1.35 2.2 -1.65 3.05c-0.3 0.9 -1.3 2.05 -2.45 2.75c-2.8 1.8 -3.95 7.05 -2.15 9.65l0.8 1.15l1.75 -1.55c2.95 -2.6 4.45 -2 4.25 1.65c-0.25 4.1 0.05 4.35 5.35 4c5.85 -0.4 6.55 -0 6.55 3.6c0 2.5 -0.15 2.8 -1.75 4.05c-2.15 1.6 -2.15 1.95 -0.3 2.95c2.6 1.3 2.6 4.25 0.05 4.25c-1.7 -0 -2.25 1.2 -1.75 3.8c0.35 2.05 1.45 2.65 2.7 1.5c2.25 -2 5.2 2.6 3.6 5.6c-0.35 0.7 -0.4 1.15 -0.05 1.35c0.75 0.45 0.55 4.3 -0.25 5.75c-0.9 1.6 -0.95 4.1 -0.05 6.25c0.7 1.6 0.65 2 -0.35 4.7c-1 2.7 -1 3.15 -0.4 4.65c0.75 1.75 0.75 2.05 0.3 8.9c-0.35 5.45 -0.6 6.5 -1.5 6.5c-1.2 -0 -1.45 -1.1 -1.5 -5.55c0 -4.65 -0.75 -6.5 -2.05 -5.4c-0.4 0.3 -0.7 1.1 -0.7 1.8c0 0.65 -0.55 2.15 -1.2 3.3c-2.6 4.5 -3.55 15.05 -2 22.35c1.15 5.7 1.6 6.15 7.25 7.7c1.55 0.45 3.1 1.15 3.45 1.6c0.55 0.6 1.2 0.7 3.1 0.45c1.8 -0.25 2.75 -0.15 3.65 0.45c1.8 1.2 2.9 1 3.85 -0.75l0.9 -1.5l4.35 0.15c2.55 0.15 5.95 0.7 8 1.3c2 0.6 4.1 1.1 4.6 1.1c2.75 -0 4.95 3.1 3.05 4.25c-0.75 0.45 -0.6 1.75 0.25 2.05c0.45 0.2 1.25 -0.2 2 -1c1 -1.05 1.65 -1.3 3.75 -1.3c2.55 -0 3.2 -0.6 1.9 -1.9c-1.8 -1.8 1.6 -2.6 3.7 -0.85c1 0.85 1.85 1.15 2.45 1c1.3 -0.4 6.35 2.1 6.7 3.3c0.8 2.55 1.85 2.7 17.75 2.7c9.65 -0.05 15.4 -0.25 16.65 -0.6c1.5 -0.45 2.3 -0.45 3.95 0.15c4.4 1.55 8.95 0.8 11.9 -2c2.6 -2.5 5.1 -3.15 7.55 -2l1.95 0.85l1.45 -1.35c1.3 -1.25 2.15 -1.5 7.15 -2.15c10.8 -1.4 12.3 -1.4 13.65 -0.15c1.45 1.35 2.8 1.15 3.65 -0.65c0.35 -0.75 1.15 -1.45 1.75 -1.55c0.6 -0.1 2.45 -0.45 4.15 -0.75c1.65 -0.3 3.65 -0.55 4.5 -0.55c0.8 -0 2.9 -0.35 4.7 -0.75c3.05 -0.65 3.35 -0.6 4.6 0.3c1.8 1.25 2.2 1.2 3.5 -0.55c1.6 -2.2 4.15 -2.2 3.65 -0c-0.45 1.95 0.7 2.45 3.05 1.35c2.1 -1 2.15 -1.8 0.2 -2.2c-0.85 -0.15 -1.5 -0.45 -1.5 -0.65c0 -1.15 5.05 -1.4 6 -0.25c0.9 1.1 2.75 0.9 4.35 -0.45c2 -1.7 4.7 -2.2 13.15 -2.5c4.8 -0.15 8 -0.5 9.45 -1c3.95 -1.45 7.1 -0.75 5.35 1.15c-1.95 2.15 1 4.05 6.3 4.05c1.75 -0 4.8 0.45 6.8 0.95c2.95 0.7 4.45 0.85 7.5 0.5c2.15 -0.2 10.05 -0.4 17.65 -0.4c15.2 -0.05 18.2 0.35 19.75 2.7c1.55 2.4 0.5 2.75 -8.15 2.75c-8.2 -0 -9.65 0.35 -9.65 2.2c0 1.55 1.85 2.3 5.8 2.3c1.8 -0 4.25 0.25 5.5 0.55c3 0.75 6.7 -0.8 7.6 -3.15c0.55 -1.45 0.65 -1.5 2.45 -1.15c6.85 1.3 10.9 1.6 12 0.95c0.6 -0.4 1.4 -0.7 1.8 -0.7c0.35 -0 1.4 -0.8 2.25 -1.8c1.7 -1.9 1.85 -1.9 5.5 -0.4c1.75 0.7 2.15 2.15 0.85 3.2c-1.45 1.2 1.3 4.3 4.65 5.3c1.05 0.3 2.85 1.2 4.05 2c1.9 1.25 2.9 1.5 6.75 1.8c2.5 0.2 5.25 0.4 6.05 0.5c1.4 0.15 1.55 -0 1.95 -1.95c0.9 -3.95 7.1 -5.15 7.95 -1.6c0.6 2.4 3.6 2.25 3.95 -0.15c0.2 -1.65 1.95 -1.7 3.8 -0.2c1.65 1.4 3.05 1.65 4 0.7c0.4 -0.4 3.5 -0.9 8 -1.25c14.6 -1.15 27.45 -2.7 28.65 -3.45c0.3 -0.2 2.3 -0.55 4.4 -0.8c2.1 -0.25 6.6 -0.75 10.05 -1.15c12.75 -1.45 14.5 -1.7 15.1 -2.05c0.3 -0.2 4.55 -0.7 9.35 -1.05c11.5 -0.9 18.85 -1.8 27.45 -3.25c10.65 -1.8 86.8 -3.25 88.1 -1.65c0.75 0.9 0.25 1.7 -1.7 2.55c-0.85 0.35 -3.35 2 -5.55 3.65c-2.2 1.65 -5.8 4.25 -8.05 5.75c-7.3 5.1 -17.7 16.5 -17.7 19.45c0 0.45 1.2 1.7 2.7 2.8c1.5 1.1 3.2 2.7 3.8 3.55c1.05 1.5 1.2 1.55 3.8 1.2l2.7 -0.3l0.75 1.8c0.4 0.95 0.75 2.35 0.75 3.05c0 0.85 0.7 2.05 2 3.4c1.75 1.75 1.95 2.25 1.7 3.65c-0.7 3.75 1.85 7.2 5.3 7.2c2.05 -0 2.55 0.45 4.15 3.6c0.75 1.45 1.85 2.55 3.6 3.55c1.35 0.8 2.8 1.9 3.15 2.4c0.9 1.3 2.6 1.2 3.95 -0.25c0.7 -0.7 2 -1.3 3.35 -1.5c1.7 -0.25 2.55 -0.8 3.95 -2.3c1 -1.1 2.2 -2 2.7 -2c1.55 -0.05 10.65 -5.7 14.3 -8.85c1 -0.9 2.3 -1.65 2.8 -1.65c0.5 -0 3.4 -1.3 6.35 -2.85c3 -1.55 9.6 -4.9 14.7 -7.5c13.55 -6.8 17.05 -9 17.75 -11.15c0.4 -1.2 1.3 -2.2 2.9 -3.25c7.3 -4.7 8.8 -5.65 11.55 -7.35c1.7 -1.05 4 -2.3 5.1 -2.85c1.15 -0.5 2.25 -1.2 2.4 -1.5c0.45 -0.7 3.15 -0.75 3.55 -0.05c0.6 0.95 1.75 0.45 7 -3.05c6.65 -4.5 7.6 -3.5 3.8 3.95c-1.35 2.65 -1.35 2.8 0.4 2.45c0.75 -0.15 1.65 -0.05 1.9 0.2c0.8 0.8 5.6 -0.05 7 -1.25c1.55 -1.35 1.15 -2.85 -0.8 -2.65c-1.85 0.15 -2.1 -0.8 -0.3 -1.2c0.85 -0.2 2.25 -0.7 3.15 -1.2c2 -1.05 3.1 -0.7 3.1 1c0 0.9 0.25 1.25 0.9 1.25c1.45 -0 3.1 -2.1 2.95 -3.75c-0.1 -1.35 0.2 -1.6 5.1 -4.05l5.15 -2.65l1.95 0.95c3.6 1.85 10.45 0.7 11.75 -1.95c0.45 -0.9 1.5 -1.5 3.65 -2.15c3.7 -1.15 7.55 -3.45 9 -5.45c0.8 -1.1 1.5 -1.45 2.75 -1.45c1.1 -0 2.3 -0.5 3.55 -1.5c1.05 -0.8 2.75 -1.75 3.8 -2c1.05 -0.3 2.55 -1.05 3.3 -1.7c0.75 -0.65 2.3 -1.6 3.4 -2.2c1.1 -0.55 2.55 -1.55 3.15 -2.25c0.65 -0.7 1.9 -1.55 2.75 -1.9c0.9 -0.35 3.2 -1.7 5.1 -3c1.95 -1.25 4.45 -2.95 5.65 -3.65c4.9 -3.05 1.65 -3.55 -25.8 -4.05c-5.55 -0.1 -10.8 -0.4 -11.7 -0.7c-2.4 -0.85 -7.3 -0.65 -11.3 0.45l-3.6 1l-3.6 -1c-4.55 -1.25 -6.75 -1.25 -12.05 -0c-3.3 0.75 -4.6 0.85 -6.05 0.45c-1 -0.25 -3.2 -0.5 -4.95 -0.45c-4 0.05 -9.15 -0.35 -9.75 -0.7c-0.95 -0.55 -5.5 1.2 -6.3 2.45c-1 1.5 -2.1 1.6 -2.55 0.25c-0.6 -1.85 -1.95 -2.05 -11.65 -1.95c-7.65 0.1 -9.85 -0.05 -12.25 -0.75c-4.5 -1.35 -41.35 -1 -43.7 0.4c-1.6 1 -1.6 1 -2.7 -0c-1.7 -1.5 -8.6 -1.65 -106.55 -2.15c-61 -0.3 -91.4 -0.6 -93.5 -1c-14.8 -2.55 -137.5 -3.75 -142.5 -1.35c-3.6 1.7 -148.7 1.7 -151.5 -0c-0.35 -0.25 -3.9 -0.6 -7.9 -0.8c-5.85 -0.35 -15.95 -1.15 -16.35 -1.35c-1.65 -0.8 -1.65 -0.6 -1.65 -41.7c0 -26.6 0.2 -40.7 0.55 -41.85c0.95 -3.2 1.6 -27.95 1.5 -59.75c-0.2 -116.8 -0.05 -201.65 0.45 -236.85c0.85 -54.9 -0.5 -169.65 -2 -173.9c-0.5 -1.35 -0.7 -25.6 -0.85 -109.5c-0.2 -96.65 -0.3 -108.05 -1.05 -110.75c-1.1 -4.2 -0.95 -10.2 0.5 -19.75c0.15 -1.05 -0.55 -5.55 -1.1 -6.9c-0.6 -1.45 -2.05 -1.4 -3.95 0.15ZM18.75 160.15c-1.05 0.8 -0.65 1.85 0.7 1.85c1.4 -0 2.45 -1.45 1.5 -2.05c-0.95 -0.6 -1.1 -0.55 -2.2 0.2ZM10.85 165.8c-0.7 0.7 -0.3 1.25 0.8 1.1c0.6 -0.1 1.1 -0.35 1.1 -0.65c0 -0.6 -1.4 -0.9 -1.9 -0.45ZM29 311.6c-1.5 0.55 -3.75 1.35 -4.95 1.75c-6.1 2.15 -4.1 20.75 2.2 20.75c2.5 -0 7.25 -5.8 8.2 -10.1c0.3 -1.25 0.95 -3.6 1.55 -5.2c2.45 -7.15 -0.05 -9.7 -7 -7.2ZM10.15 428.75c-0.6 0.4 -1.35 1.55 -1.65 2.5c-0.5 1.45 -0.8 1.75 -2.05 1.75c-1.2 -0 -1.45 0.2 -1.45 1.25c0 1.05 0.25 1.25 1.5 1.25c1.9 -0 2 1.25 0.25 4.25c-1.25 2.05 -1.25 2.25 -0.55 3.95c0.75 1.75 1.15 2 2.95 1.85c1.05 -0.15 1.2 2.3 0.2 3.65c-0.6 0.8 -0.8 0.75 -3.4 -0.4c-2.05 -0.95 -3.1 -1.2 -4.2 -0.9l-1.5 0.4l-0.15 7.05c-0.15 8.15 -0.1 8.2 4.1 6.85c2.7 -0.85 4.3 -2.25 4.3 -3.75c0 -0.5 0.6 -1.25 1.4 -1.65c5.45 -2.8 7.05 -13.25 1.95 -12.95c-2.05 0.15 -2.55 -1.2 -1.2 -3.05c0.7 -0.95 3.25 -0.2 4.1 1.2c0.45 0.75 2.25 0.6 2.55 -0.25c0.5 -1.25 -0.2 -2.9 -2.3 -5.45c-2.2 -2.65 -2.4 -3.7 -1.2 -5.55c1.5 -2.25 -1.2 -3.7 -3.65 -2ZM967.2 431.2c-0.45 1.2 0.15 2.3 1.3 2.3c0.85 -0 1.05 -0.25 0.9 -1.35c-0.15 -1.55 -1.7 -2.2 -2.2 -0.95ZM952.2 434.7c-0.8 2.15 0.95 3.8 3.15 3c1.55 -0.5 2.2 -2.55 1.05 -3.25c-1.1 -0.7 -3.9 -0.5 -4.2 0.25ZM954.3 442.8c-0.95 0.95 -1 1.3 -0.2 2.1c1.3 1.3 4.5 -0.8 3.35 -2.2c-0.75 -0.95 -2.2 -0.9 -3.15 0.1ZM975.5 502.25c-0.8 0.95 -0.3 2.25 0.9 2.25c1.25 -0 2.3 -1.25 1.9 -2.25c-0.35 -0.95 -2 -0.95 -2.8 -0ZM35.5 508.45c-0.25 0.55 -0.5 1.9 -0.5 3c0 1.6 -0.2 2.05 -1.1 2.35c-1.4 0.4 -1.9 1.1 -1.9 2.55c0 1.55 1.25 1.45 2.3 -0.1c0.45 -0.65 1.2 -1.35 1.65 -1.5c2.25 -0.7 2.75 -7.25 0.55 -7.25c-0.25 -0 -0.7 0.45 -1 0.95ZM28.25 537.05c-0.65 1 0.7 4.45 1.8 4.45c0.85 -0 0.95 -2 0.2 -3.5c-0.8 -1.55 -1.45 -1.9 -2 -0.95ZM32.25 730.7c-0.75 1.1 -0.75 1.9 0.1 4.9c0.6 2.35 4.15 0.2 4.15 -2.55c0 -3.2 -2.7 -4.7 -4.25 -2.35ZM44 873.25c-0.8 1 -0.25 2.25 0.95 2.25c1.2 -0 1.65 -0.65 1.25 -1.65c-0.4 -1.1 -1.55 -1.4 -2.2 -0.6ZM793.5 950.4c0 0.95 0.9 2.1 1.6 2.1c0.6 -0 0.45 -1.75 -0.2 -2.4c-0.85 -0.85 -1.4 -0.75 -1.4 0.3ZM535.55 958.7c-1.1 1.35 2.8 3.7 5.2 3.1c1.35 -0.35 1.75 -2.1 0.65 -3.2c-0.85 -0.85 -5.15 -0.75 -5.85 0.1ZM76.25 961c-0.45 0.75 0.15 1.5 1 1.2c1.15 -0.45 1.35 -1.7 0.25 -1.7c-0.5 -0 -1.1 0.2 -1.25 0.5ZM466.95 964.65c-4.95 2.7 -5.55 3.25 -5.35 4.75c0.35 3.1 6.2 4.6 14.35 3.75c10.2 -1.15 11.85 -4.15 4.85 -9c-3.75 -2.55 -8.55 -2.4 -13.85 0.5ZM322 966.75c0 0.55 0.35 0.75 1.15 0.65c0.6 -0.1 1.1 -0.4 1.1 -0.65c0 -0.3 -0.5 -0.55 -1.1 -0.65c-0.8 -0.1 -1.15 0.1 -1.15 0.65ZM334.85 969.35c-2.2 2.2 7.15 4.95 11.35 3.35c1.3 -0.5 1 -2.65 -0.5 -3.2c-1.4 -0.55 -10.35 -0.7 -10.85 -0.15ZM318.25 970.05c-0.5 0.8 0.7 1.45 2.65 1.45c1.35 -0 1.65 -0.2 1.5 -0.9c-0.2 -1 -3.6 -1.5 -4.15 -0.55ZM146.4 972.05c-1.3 0.75 -1.15 2.4 0.25 2.65c2.6 0.55 6.2 0.7 6.85 0.3c2.6 -1.6 -4.4 -4.55 -7.1 -2.95ZM133.2 972.55c-0.15 0.3 -0.1 0.75 0.15 1c0.65 0.65 2.15 0.05 2.15 -0.85c0 -0.8 -1.8 -0.95 -2.3 -0.15ZM777.95 979.9c-3 1.5 -3.5 2.6 -2.25 5.05c0.45 0.8 0.8 2.15 0.8 3c0 2.25 2.9 5.75 4.9 5.95c2 0.2 4.95 -2.35 4.35 -3.8c-0.2 -0.45 -0.5 -2.05 -0.7 -3.5c-0.25 -1.6 -0.8 -3.05 -1.45 -3.75c-0.6 -0.65 -1.1 -1.65 -1.1 -2.25c0 -1.95 -1.6 -2.2 -4.55 -0.7Z%22/%3E%3C/svg%3E");   /* силуэт знака для .ha-mazok-frame; data-URI, потому что mask с другого origin режется */
  --ha-mascot-xl: 320px; --ha-mascot-lg: 200px; --ha-mascot: 120px; --ha-mascot-sm: 72px; --ha-mascot-xs: 40px;
}


/* ---------- 1a. ФОНЫ КУРСОВ (темы) ----------------------------------------
   У каждого курса своя пара: глубокий фон тёмных блоков + подкрашенный «песок» светлых секций + светлый акцент на тёмном.
   Класс темы ставится на <body>: <body class="ha-root ha-theme-animalistika">. Без темы — коричневые чернила школы.
   Кнопка, чернила, бумага и подвал остаются общими для всей школы: тема красит окружение, а не бренд. */
.ha-theme-animalistika { --ha-dark: #1F3A2D; --ha-dark-2: #2B4A3B; --ha-paper-2: #E8EBDE; --ha-peach: #BBCB9F; }   /* лес: Анималистика маслом, Интерьерная анималистика */
.ha-theme-maslo        { --ha-dark: #4A2430; --ha-dark-2: #5C3140; --ha-paper-2: #F1E4E2; --ha-peach: #E8B49A; }   /* вино: Анатомия масла, Большой курс */
.ha-theme-more         { --ha-dark: #1C3448; --ha-dark-2: #284559; --ha-paper-2: #E3E9ED; --ha-peach: #A9CFE0; }   /* ночное море: Морская живопись */
.ha-theme-akvarel      { --ha-dark: #1E4A4F; --ha-dark-2: #2A5C61; --ha-paper-2: #E1ECEB; --ha-peach: #A6D5D2; }   /* бирюза: Магия акварели */
.ha-theme-akril        { --ha-dark: #3E2A4A; --ha-dark-2: #4E3A5C; --ha-paper-2: #EEE6EF; --ha-peach: #D9B4D6; }   /* слива: Цветы акрилом, Искусство акрилом */
.ha-theme-peyzazh      { --ha-dark: #3B4425; --ha-dark-2: #4A5532; --ha-paper-2: #ECEBDB; --ha-peach: #D2CF8E; }   /* мох: Лессировка пейзажи */
.ha-theme-mastihin     { --ha-dark: #5A3A1E; --ha-dark-2: #6E4A2A; --ha-paper-2: #F3E8D6; --ha-peach: #F0C27B; }   /* охра: Магия мастихина, Мастер ОК, Объёмные картины */
.ha-theme-grafika      { --ha-dark: #2B2A2E; --ha-dark-2: #3A393E; --ha-paper-2: #ECEAE8; --ha-peach: #D8D2CB; }   /* графит: Портреты карандашом, Чёрно-белая магия, Мастер портретов */
.ha-theme-interier     { --ha-dark: #4B4440; --ha-dark-2: #5B534E; --ha-paper-2: #EDE8E2; --ha-peach: #D9C5B2; }   /* тауп: Интерьерные портреты, Колористика */
.ha-theme-russkaya     { --ha-dark: #5C1F1F; --ha-dark-2: #702B2B; --ha-paper-2: #F2E3DE; --ha-peach: #F0B7A6; }   /* рябина: Русская душа */

/* ---------- 2. БАЗА -------------------------------------------------------- */
.ha-root, .ha-root * , .ha-root *::before, .ha-root *::after { box-sizing: border-box; }
.ha-root {
  margin: 0; background: var(--ha-paper); color: var(--ha-ink);
  font-family: var(--ha-font); font-size: 18px; line-height: 1.6; font-weight: 400;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  font-feature-settings: 'kern'; overflow-wrap: anywhere;
}
.ha-root img, .ha-root svg, .ha-root video { max-width: 100%; height: auto; display: block; }
:where(.ha-root) a { color: var(--ha-terra); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
:where(.ha-root) a:hover { color: var(--ha-terra-d); }
.ha-root :focus-visible { outline: none; box-shadow: var(--ha-ring); border-radius: var(--ha-r-sm); }
.ha-root ::selection { background: var(--ha-terra-soft); color: var(--ha-ink); }
.ha-root p, .ha-root ul, .ha-root ol { margin: 0 0 var(--ha-s4); }
.ha-root h1, .ha-root h2, .ha-root h3, .ha-root h4 { margin: 0 0 var(--ha-s4); }
@media (max-width: 640px) { .ha-root { font-size: 17px; } }
@media (prefers-reduced-motion: reduce) { .ha-root * { transition: none !important; animation: none !important; } }

/* ---------- 3. ТИПОГРАФИКА ------------------------------------------------- */
.ha-h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.05; font-weight: 800; letter-spacing: -.02em; text-wrap: balance; }
.ha-h2 { font-size: clamp(28px, 3.6vw, 46px); line-height: 1.1;  font-weight: 800; letter-spacing: -.015em; text-wrap: balance; }
.ha-h3 { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2;  font-weight: 700; letter-spacing: -.01em; }
.ha-h4 { font-size: 20px; line-height: 1.3; font-weight: 700; }
.ha-lead  { font-size: clamp(19px, 2vw, 22px); line-height: 1.5; color: var(--ha-ink-2); }
.ha-lead--em { font-family: var(--ha-font-em); font-style: italic; font-weight: 400; color: var(--ha-ink-2); }
.ha-body  { font-size: 18px; line-height: 1.6; }
.ha-small { font-size: 15px; line-height: 1.5; }
.ha-cap   { font-size: 13px; line-height: 1.4; color: var(--ha-ink-3); }
.ha-over  { font-size: 13px; line-height: 1.3; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ha-terra); }
.ha-over--mute { color: var(--ha-ink-3); }
.ha-num-big { font-size: clamp(48px, 7vw, 96px); line-height: 1; font-weight: 800; letter-spacing: -.03em; color: var(--ha-terra); font-variant-numeric: tabular-nums; }
.ha-tabular { font-variant-numeric: tabular-nums; }
.ha-quote { font-family: var(--ha-font-em); font-style: italic; font-weight: 500; font-size: clamp(20px, 2.2vw, 24px); line-height: 1.45; color: var(--ha-ink); margin: 0; padding-left: var(--ha-s5); border-left: 3px solid var(--ha-terra); }
.ha-quote cite { display: block; margin-top: var(--ha-s3); font: 600 15px/1.4 var(--ha-font); font-style: normal; color: var(--ha-ink-3); }
.ha-list { list-style: none; padding: 0; margin: 0 0 var(--ha-s4); }
.ha-list li { position: relative; padding-left: 28px; margin-bottom: var(--ha-s2); }
.ha-list li::before { content: ''; position: absolute; left: 6px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--ha-terra); }
.ha-list--check li { padding-left: 30px; } .ha-list--check li::before { left: 0; top: .18em; width: 20px; height: 20px; border-radius: 6px; background: var(--ha-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }   /* «что входит»: зелёный квадрат с галочкой, как в тарифах */
.ha-list--num { counter-reset: n; }
.ha-list--num li { padding-left: 46px; counter-increment: n; min-height: 32px; margin-bottom: 14px; }
.ha-list--num li:not(:last-child)::after { content: ''; position: absolute; left: 15px; top: 36px; bottom: -12px; border-left: 2px dotted var(--ha-dir-pill, var(--ha-line)); }
.ha-list--num li::before { content: counter(n); left: 0; top: -2px; width: 32px; height: 32px; border-radius: 50%; background: var(--ha-dir-deep, var(--ha-ink)); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 14px; font-variant-numeric: tabular-nums; }   /* шаги: номер в кружке, пунктир к следующему */
.ha-mute { color: var(--ha-ink-2); }
.ha-center { text-align: center; }
.ha-measure { max-width: 64ch; }

/* ---------- 4. КАРКАС ------------------------------------------------------ */
.ha-wrap { width: 100%; max-width: var(--ha-container); margin: 0 auto; padding: 0 var(--ha-gutter); }
.ha-section { padding: var(--ha-section) 0; }
.ha-section--sand { background: var(--ha-paper-2); }
.ha-section--dark, .ha-dark { background: var(--ha-dark); color: var(--ha-on-dark); }
.ha-section--dark .ha-lead, .ha-dark .ha-lead, .ha-section--dark .ha-mute, .ha-dark .ha-mute { color: var(--ha-on-dark-2); }
.ha-section--dark .ha-over, .ha-dark .ha-over { color: var(--ha-peach); }
.ha-section--dark .ha-cap, .ha-dark .ha-cap { color: var(--ha-on-dark-2); }
.ha-section--tight { padding: var(--ha-s7) 0; }
.ha-section__head { max-width: 760px; margin-bottom: var(--ha-s7); }
.ha-section__head--center { margin-left: auto; margin-right: auto; text-align: center; }
.ha-grid { display: grid; gap: var(--ha-s5); grid-template-columns: repeat(12, minmax(0, 1fr)); }
.ha-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ha-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ha-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ha-stack { display: flex; flex-direction: column; gap: var(--ha-s4); }
.ha-row { display: flex; flex-wrap: wrap; gap: var(--ha-s3); align-items: center; }
.ha-divider { border: 0; border-top: 1px solid var(--ha-line); margin: var(--ha-s6) 0; }
@media (max-width: 900px) {
  :root { --ha-section: var(--ha-s8); }
  .ha-grid--3, .ha-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .ha-grid, .ha-grid--2, .ha-grid--3, .ha-grid--4 { grid-template-columns: minmax(0, 1fr); }
  .ha-wrap { padding: 0 16px; }
}

/* ---------- 5. КНОПКИ ------------------------------------------------------ */
.ha-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 32px; border-radius: var(--ha-r-pill);
  font: 700 17px/1 var(--ha-font); letter-spacing: 0; text-decoration: none; cursor: pointer;
  border: 1.5px solid transparent; transition: background var(--ha-fast), color var(--ha-fast), border-color var(--ha-fast), transform var(--ha-fast);
  white-space: nowrap; user-select: none;
}
.ha-btn:active { transform: scale(.98); }
.ha-btn--primary { background: var(--ha-terra); color: #fff; }
.ha-btn--primary:hover, .ha-btn--primary.is-hover { background: var(--ha-terra-d); color: #fff; }
.ha-btn--secondary { background: transparent; color: var(--ha-ink); border-color: var(--ha-ink); }
.ha-btn--secondary:hover, .ha-btn--secondary.is-hover { background: var(--ha-terra-soft); border-color: var(--ha-terra); color: var(--ha-terra-d); }
.ha-btn--ghost { background: transparent; color: var(--ha-terra); padding-left: 22px; padding-right: 22px; }   /* поля такие, чтобы фон при наведении не прилипал к тексту */
.ha-btn--ghost:hover, .ha-btn--ghost.is-hover { background: var(--ha-terra-soft); color: var(--ha-terra-d); }
.ha-btn--ondark { background: var(--ha-on-dark); color: var(--ha-ink); }
.ha-btn--ondark:hover { background: #fff; color: var(--ha-terra-d); }
.ha-btn--ondark-ghost { background: transparent; color: var(--ha-on-dark); border-color: rgba(248,243,234,.45); }
.ha-btn--ondark-ghost:hover { border-color: var(--ha-on-dark); background: rgba(248,243,234,.08); }
.ha-btn--sm { min-height: 44px; padding: 0 24px; font-size: 15px; }
.ha-btn--lg { min-height: 60px; padding: 0 40px; font-size: 18px; }
.ha-btn > svg:first-child { margin-left: -4px; }   /* иконка в начале кнопки: визуально ровные поля */
.ha-btn--block { display: flex; width: 100%; }
.ha-btn:disabled, .ha-btn.is-disabled { opacity: .45; cursor: not-allowed; transform: none; }
.ha-btn[data-loading="1"] { color: transparent !important; position: relative; pointer-events: none; }
.ha-btn[data-loading="1"]::after { content: ''; position: absolute; width: 20px; height: 20px; border-radius: 50%; border: 2.5px solid rgba(255,255,255,.4); border-top-color: #fff; animation: ha-spin .8s linear infinite; }
.ha-btn--secondary[data-loading="1"]::after { border-color: rgba(61,36,27,.25); border-top-color: var(--ha-ink); }
@keyframes ha-spin { to { transform: rotate(360deg); } }
.ha-btn-note { display: block; margin-top: var(--ha-s2); font-size: 14px; color: var(--ha-ink-3); }
.ha-btn .ha-icon { width: 20px; height: 20px; }
@media (max-width: 640px) { .ha-btn { white-space: normal; text-align: center; } .ha-btn--lg { min-height: 56px; padding: 0 28px; } }

/* ---------- 6. МЕТКИ, ТЕГИ, БЕЙДЖИ ---------------------------------------- */
.ha-tag { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 12px; border-radius: var(--ha-r-pill); background: var(--ha-terra-soft); color: var(--ha-terra-d); font: 700 13px/1 var(--ha-font); letter-spacing: .02em; }
.ha-tag--mute { background: var(--ha-paper-2); color: var(--ha-ink-2); }
.ha-tag--ok { background: var(--ha-ok-soft); color: var(--ha-ok); }
.ha-tag--solid { background: var(--ha-terra); color: #fff; }
.ha-tag--ondark { background: rgba(248,243,234,.12); color: var(--ha-on-dark); }
.ha-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: var(--ha-r-pill); border: 1.5px solid var(--ha-line); background: var(--ha-canvas); color: var(--ha-ink); font: 600 15px/1 var(--ha-font); cursor: pointer; transition: border-color var(--ha-fast), background var(--ha-fast); }
.ha-chip:hover { border-color: var(--ha-ink-3); }
.ha-chip.is-on { border-color: var(--ha-terra); background: var(--ha-terra-soft); color: var(--ha-terra-d); }
.ha-chip__n { color: var(--ha-ink-3); font-weight: 500; }
.ha-num { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ha-terra-soft); color: var(--ha-terra-d); font: 800 18px/1 var(--ha-font); flex: none; }
.ha-num--solid { background: var(--ha-terra); color: #fff; }
.ha-num--ondark { background: rgba(248,243,234,.12); color: var(--ha-peach); }

/* ---------- 7. КАРТОЧКИ ---------------------------------------------------- */
.ha-card { background: var(--ha-canvas); border: var(--ha-bd); border-radius: var(--ha-r); padding: var(--ha-s6); }
.ha-card--sand { background: var(--ha-paper-2); border-color: transparent; }
.ha-card--soft { background: var(--ha-terra-soft); border-color: transparent; }
.ha-card--dark { background: var(--ha-dark-2); border-color: transparent; color: var(--ha-on-dark); }
.ha-card--dark .ha-mute, .ha-card--dark .ha-cap { color: var(--ha-on-dark-2); }
.ha-card--accent { border-color: var(--ha-terra); border-width: 2px; }
.ha-card--lg { border-radius: var(--ha-r-lg); padding: var(--ha-s7); }
.ha-card--tight { padding: var(--ha-s5); }
.ha-card__icon { width: 44px; height: 44px; margin-bottom: var(--ha-s4); color: var(--ha-terra); }
.ha-card__icon svg { width: 100%; height: 100%; }
.ha-card > :last-child { margin-bottom: 0; }
.ha-card--link { text-decoration: none; color: inherit; display: block; transition: border-color var(--ha-fast), background var(--ha-fast); }
.ha-card--link:hover { border-color: var(--ha-terra); color: inherit; }
@media (max-width: 640px) { .ha-card { padding: var(--ha-s5); } .ha-card--lg { padding: var(--ha-s6); } }

/* ---------- 8. КАРТИНА (главный компонент школы) --------------------------- */
/* Картину никогда не обрезаем: object-fit contain, вокруг паспарту. Пропорции хранит сама картинка. */
.ha-art { display: block; margin: 0; }
.ha-art__frame { background: var(--ha-canvas); border: var(--ha-bd); border-radius: var(--ha-r); padding: 12px; }
.ha-art__frame img { width: 100%; height: auto; object-fit: contain; border-radius: 6px; }
.ha-art--fixed .ha-art__frame { aspect-ratio: 4 / 5; display: grid; place-items: center; }   /* сетка одной высоты: картина вписана, поля белые */
.ha-art--fixed .ha-art__frame img { max-height: 100%; width: auto; max-width: 100%; }
.ha-art--square .ha-art__frame { aspect-ratio: 1; }
.ha-art__cap { display: flex; justify-content: space-between; gap: var(--ha-s3); margin-top: var(--ha-s3); font-size: 15px; line-height: 1.4; color: var(--ha-ink-2); }
.ha-art__cap b { color: var(--ha-ink); font-weight: 700; }
.ha-art--dark .ha-art__frame { background: var(--ha-dark-2); border-color: transparent; }
.ha-art--dark .ha-art__cap { color: var(--ha-on-dark-2); } .ha-art--dark .ha-art__cap b { color: var(--ha-on-dark); }
.ha-art--plain .ha-art__frame { background: transparent; border: 0; padding: 0; }
.ha-gallery { display: grid; gap: var(--ha-s5); grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.ha-gallery--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ha-gallery--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .ha-gallery--4, .ha-gallery--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Фото людей и интерьера кадрировать можно: .ha-photo — обычная плитка с cover */
.ha-photo { border-radius: var(--ha-r-lg); overflow: hidden; background: var(--ha-paper-2); }
.ha-photo img { width: 100%; height: 100%; object-fit: cover; }
.ha-photo--4x5 { aspect-ratio: 4 / 5; } .ha-photo--1x1 { aspect-ratio: 1; } .ha-photo--16x9 { aspect-ratio: 16 / 9; }
/* Мазок-рамка: фото в силуэте фирменного знака (аватар преподавателя, обложка) */
.ha-mazok-frame { aspect-ratio: 1; -webkit-mask: var(--ha-mazok-maska) center / contain no-repeat; mask: var(--ha-mazok-maska) center / contain no-repeat; background: var(--ha-terra-soft); }
.ha-mazok-frame img { width: 100%; height: 100%; object-fit: cover; }
.ha-mazok-frame--terra { background: var(--ha-terra); }

/* ---------- 9. ПОЛЯ И ФОРМЫ ------------------------------------------------ */
.ha-field { display: flex; flex-direction: column; gap: 8px; }
.ha-field__label { font: 600 15px/1.3 var(--ha-font); color: var(--ha-ink); }
.ha-field__input, .ha-field textarea, .ha-field select {
  width: 100%; min-height: 52px; padding: 12px 16px; border-radius: var(--ha-r-sm); border: 1.5px solid var(--ha-line); background: var(--ha-canvas);
  font: 400 17px/1.4 var(--ha-font); color: var(--ha-ink); transition: border-color var(--ha-fast), box-shadow var(--ha-fast); appearance: none;
}
.ha-field textarea { min-height: 120px; resize: vertical; }
.ha-field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%236B5248' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; padding-right: 44px; }
.ha-field__input::placeholder, .ha-field textarea::placeholder { color: var(--ha-ink-3); }
.ha-field__input:hover, .ha-field textarea:hover { border-color: var(--ha-ink-3); }
.ha-field__input:focus, .ha-field textarea:focus, .ha-field select:focus { outline: none; border-color: var(--ha-terra); box-shadow: var(--ha-ring); }
.ha-field__help { font-size: 14px; color: var(--ha-ink-3); }
.ha-field__error { display: none; font-size: 14px; color: var(--ha-danger); font-weight: 600; }
.ha-field.is-error .ha-field__input, .ha-field.is-error textarea { border-color: var(--ha-danger); }
.ha-field.is-error .ha-field__error { display: block; } .ha-field.is-error .ha-field__help { display: none; }
.ha-field.is-ok .ha-field__input { border-color: var(--ha-ok); }
.ha-check { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; font-size: 15px; line-height: 1.45; color: var(--ha-ink-2); }
.ha-check input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ha-check__box { flex: none; width: 22px; height: 22px; margin-top: 1px; border-radius: 6px; border: 1.5px solid var(--ha-ink-3); background: var(--ha-canvas); display: grid; place-items: center; transition: background var(--ha-fast), border-color var(--ha-fast); }
.ha-check__box::after { content: ''; width: 12px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat; opacity: 0; }
.ha-check input:checked + .ha-check__box { background: var(--ha-terra); border-color: var(--ha-terra); }
.ha-check input:checked + .ha-check__box::after { opacity: 1; }
.ha-check input:focus-visible + .ha-check__box { box-shadow: var(--ha-ring); }
.ha-check--radio .ha-check__box { border-radius: 50%; } .ha-check--radio .ha-check__box::after { background: #fff; border-radius: 50%; width: 10px; height: 10px; }
.ha-form { display: flex; flex-direction: column; gap: var(--ha-s4); }
.ha-form__row { display: grid; gap: var(--ha-s4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 640px) { .ha-form__row { grid-template-columns: minmax(0, 1fr); } }
.ha-form__legal { font-size: 13px; line-height: 1.45; color: var(--ha-ink-3); }

/* ---------- 10. СООБЩЕНИЯ, СОСТОЯНИЯ --------------------------------------- */
.ha-alert { display: flex; gap: 12px; padding: 16px 20px; border-radius: var(--ha-r-sm); border: 1px solid var(--ha-line); background: var(--ha-canvas); font-size: 16px; line-height: 1.5; }
.ha-alert b { display: block; margin-bottom: 2px; }
.ha-alert--ok { background: var(--ha-ok-soft); border-color: transparent; color: var(--ha-ok); }
.ha-alert--error { background: var(--ha-danger-soft); border-color: transparent; color: var(--ha-danger); }
.ha-alert--info { background: var(--ha-terra-soft); border-color: transparent; color: var(--ha-terra-d); }
.ha-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: var(--ha-z-toast); max-width: min(520px, calc(100% - 32px)); padding: 14px 20px; border-radius: var(--ha-r-sm); background: var(--ha-dark); color: var(--ha-on-dark); font-size: 15px; box-shadow: var(--ha-shadow-pop); display: flex; gap: 12px; align-items: center; }
.ha-toast__x { margin-left: auto; background: none; border: 0; color: var(--ha-on-dark-2); font-size: 20px; cursor: pointer; line-height: 1; }
.ha-empty { text-align: center; padding: var(--ha-s8) var(--ha-s5); color: var(--ha-ink-2); }
.ha-empty .ha-mascot { margin: 0 auto var(--ha-s4); }
.ha-empty__title { font-size: 20px; font-weight: 700; color: var(--ha-ink); margin-bottom: 6px; }
.ha-sk { background: linear-gradient(90deg, var(--ha-paper-2) 25%, #F7F0E4 50%, var(--ha-paper-2) 75%); background-size: 200% 100%; animation: ha-sk 1.4s infinite; border-radius: var(--ha-r-sm); min-height: 16px; }
.ha-sk--text { height: 14px; } .ha-sk--title { height: 28px; width: 60%; } .ha-sk--art { aspect-ratio: 4/5; border-radius: var(--ha-r); }
@keyframes ha-sk { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.ha-pbar { height: 8px; border-radius: 999px; background: var(--ha-paper-2); overflow: hidden; }
.ha-pbar > i { display: block; height: 100%; background: var(--ha-terra); border-radius: 999px; transition: width var(--ha-slow); }
.ha-steps { display: flex; gap: 8px; list-style: none; padding: 0; margin: 0; }
.ha-steps li { flex: 1; height: 6px; border-radius: 999px; background: var(--ha-line); }
.ha-steps li.is-done { background: var(--ha-terra); } .ha-steps li.is-now { background: var(--ha-peach); }

/* ---------- 11. ВСПЛЫВАЮЩЕЕ ----------------------------------------------- */
.ha-backdrop { position: fixed; inset: 0; z-index: var(--ha-z-backdrop); background: rgba(61,36,27,.5); backdrop-filter: blur(2px); display: none; }
.ha-backdrop.is-open { display: block; }
.ha-modal { position: fixed; z-index: var(--ha-z-modal); left: 50%; top: 50%; transform: translate(-50%,-50%); width: min(560px, calc(100% - 32px)); max-height: calc(100% - 32px); overflow: auto; background: var(--ha-canvas); border-radius: var(--ha-r-lg); padding: var(--ha-s6); box-shadow: var(--ha-shadow-pop); display: none; }
.ha-modal.is-open { display: block; }
.ha-modal__x { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--ha-paper-2); color: var(--ha-ink-2); font-size: 22px; cursor: pointer; line-height: 1; }
.ha-modal__x:hover { background: var(--ha-terra-soft); color: var(--ha-terra-d); }
.ha-modal--static { position: relative; left: auto; top: auto; transform: none; max-height: none; overflow: visible; display: block; box-shadow: none; border: var(--ha-bd); }
.ha-menu { background: var(--ha-canvas); border: var(--ha-bd); border-radius: var(--ha-r-sm); padding: 6px; box-shadow: var(--ha-shadow-pop); min-width: 220px; }
.ha-menu a, .ha-menu button { display: block; width: 100%; text-align: left; padding: 10px 12px; border-radius: 6px; border: 0; background: none; font: 500 16px/1.3 var(--ha-font); color: var(--ha-ink); text-decoration: none; cursor: pointer; }
.ha-menu a:hover, .ha-menu button:hover { background: var(--ha-paper-2); color: var(--ha-ink); }

/* ---------- 12. АККОРДЕОН, ТАБЛИЦА ----------------------------------------- */
.ha-acc { display: grid; gap: 10px; }   /* карточки, как вопросы на странице курса (03.10.2026) */
.ha-acc details { background: var(--ha-canvas); border: 1px solid var(--ha-line); border-radius: 18px; padding: 0 20px; }
.ha-acc summary { list-style: none; cursor: pointer; display: flex; justify-content: flex-start; align-items: center; gap: 12px; padding: 18px 0; font: 700 18px/1.3 var(--ha-font); color: var(--ha-ink); }
.ha-acc summary::-webkit-details-marker { display: none; }
.ha-acc summary::after { content: ''; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--ha-terra-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 4v12M4 10h12' stroke='%23B84E28' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 50%/16px no-repeat; transition: transform var(--ha-fast); }
.ha-acc details[open] summary::after { transform: rotate(45deg); }
.ha-acc details[open] summary { color: var(--ha-terra-d); }
.ha-acc__body { padding: 0 0 18px; color: var(--ha-ink-2); max-width: 70ch; }
.ha-acc__body > :last-child { margin-bottom: 0; }
.ha-acc summary .ha-tag { margin: 0; flex: none; }
.ha-acc summary::after { margin-left: auto; }
.ha-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 16px; background: var(--ha-canvas); border: 1px solid var(--ha-line); border-radius: 18px; overflow: hidden; }
.ha-table th, .ha-table td { text-align: left; padding: 14px 18px; border-bottom: 1px solid var(--ha-line); vertical-align: middle; }
.ha-table tr:last-child td { border-bottom: 0; }
.ha-table td img { display: inline-block; width: 40px; height: 40px; object-fit: contain; background: var(--ha-paper); border-radius: 8px; vertical-align: middle; margin-right: 12px; }
.ha-table th { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ha-ink-3); font-weight: 800; background: var(--ha-paper-2); }
.ha-table--zebra tbody tr:nth-child(even) { background: var(--ha-paper); }

/* ---------- 13. БЛОКИ САЙТА ------------------------------------------------ */
/* Шапка */
.ha-topbar { position: sticky; top: 0; z-index: var(--ha-z-sticky); background: rgba(248,243,234,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--ha-line-2); }
.ha-topbar__in { display: flex; align-items: center; gap: var(--ha-s5); min-height: 72px; }
.ha-topbar__logo { display: block; height: 34px; } .ha-topbar__logo img, .ha-topbar__logo svg { height: 100%; width: auto; }
.ha-topbar__nav { display: flex; gap: var(--ha-s5); margin-left: auto; }
.ha-topbar__nav a { color: var(--ha-ink-2); text-decoration: none; font-weight: 600; font-size: 16px; }
.ha-topbar__nav a:hover { color: var(--ha-terra); }
.ha-topbar__cta { margin-left: auto; }
.ha-topbar__nav + .ha-topbar__cta { margin-left: 0; }
.ha-topbar__burger { display: none; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; margin-left: auto; color: var(--ha-ink); }
@media (max-width: 900px) { .ha-topbar__nav { display: none; } .ha-topbar__burger { display: grid; place-items: center; } .ha-topbar__cta { margin-left: 0; } .ha-topbar__in { min-height: 60px; } .ha-topbar__logo { height: 28px; } .ha-topbar__cta .ha-btn { min-height: 40px; padding: 0 16px; font-size: 14px; } }

/* Первый экран курса: слева текст, справа картины курса (не обрезанные) */
.ha-hero { padding: var(--ha-s8) 0 var(--ha-s9); }
.ha-hero__in { display: grid; gap: var(--ha-s7); grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
.ha-hero__text .ha-over { margin-bottom: var(--ha-s4); }
.ha-hero__text .ha-h1 { margin-bottom: var(--ha-s5); }
.ha-hero__text .ha-lead { margin-bottom: var(--ha-s6); }
.ha-hero__actions { display: flex; flex-wrap: wrap; gap: var(--ha-s3); align-items: center; }
.ha-hero__art { display: grid; gap: var(--ha-s4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ha-hero__art .ha-art:nth-child(2) { margin-top: var(--ha-s7); }
.ha-hero__facts { display: flex; flex-wrap: wrap; gap: var(--ha-s5) var(--ha-s6); margin-top: var(--ha-s6); padding-top: var(--ha-s5); border-top: var(--ha-bd); }
.ha-hero__fact b { display: block; font-size: 26px; font-weight: 800; letter-spacing: -.02em; line-height: 1; margin-bottom: 4px; }
.ha-hero__fact span { font-size: 14px; color: var(--ha-ink-3); }
@media (max-width: 900px) { .ha-hero { padding: var(--ha-s6) 0 var(--ha-s8); } .ha-hero__in { grid-template-columns: minmax(0, 1fr); } .ha-hero__art .ha-art:nth-child(2) { margin-top: var(--ha-s5); } }

/* Шаги, цифры, факты */
.ha-step { display: flex; gap: var(--ha-s4); align-items: flex-start; }
.ha-step__body h4 { margin-bottom: 4px; }
.ha-step__body p { color: var(--ha-ink-2); margin: 0; }
.ha-stat { padding: var(--ha-s5) 0; border-top: 2px solid var(--ha-ink); }
.ha-stat b { display: block; font-size: clamp(32px, 4vw, 44px); font-weight: 800; letter-spacing: -.02em; line-height: 1; margin-bottom: 8px; }
.ha-stat span { color: var(--ha-ink-2); font-size: 16px; }
.ha-section--dark .ha-stat { border-top-color: var(--ha-peach); } .ha-section--dark .ha-stat span { color: var(--ha-on-dark-2); }

/* Тариф */
.ha-price { background: var(--ha-dark); color: var(--ha-on-dark); border-radius: var(--ha-r-lg); padding: var(--ha-s7); display: grid; gap: var(--ha-s6); grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.ha-price__name { font-size: 15px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ha-peach); margin-bottom: var(--ha-s4); }
.ha-price__sum { font-size: clamp(44px, 6vw, 72px); font-weight: 800; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.ha-price__old { font-size: 22px; color: var(--ha-on-dark-2); text-decoration: line-through; margin-left: 12px; font-weight: 500; }
.ha-price__note { color: var(--ha-on-dark-2); margin: var(--ha-s3) 0 var(--ha-s6); }
.ha-price__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.ha-price__list li { position: relative; padding-left: 30px; color: var(--ha-on-dark); font-size: 17px; }
.ha-price__list li::before { content: ''; position: absolute; left: 0; top: .15em; width: 20px; height: 20px; border-radius: 50%; background: rgba(248,243,234,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 7' fill='none' stroke='%23E8B49A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/14px no-repeat; }
.ha-price__actions { display: flex; flex-wrap: wrap; gap: var(--ha-s3); margin-top: var(--ha-s5); }
.ha-price__actions .ha-btn--primary { background: var(--ha-on-dark); color: var(--ha-ink); }
.ha-price__actions .ha-btn--primary:hover { background: #fff; color: var(--ha-terra-d); }
.ha-price--light { background: var(--ha-canvas); color: var(--ha-ink); border: 2px solid var(--ha-terra); }
.ha-price--light .ha-price__name { color: var(--ha-terra); } .ha-price--light .ha-price__old, .ha-price--light .ha-price__note { color: var(--ha-ink-2); }
.ha-price--light .ha-price__list li { color: var(--ha-ink); } .ha-price--light .ha-price__list li::before { background-color: var(--ha-terra-soft); }
.ha-price--light .ha-price__actions .ha-btn--primary { background: var(--ha-terra); color: #fff; }
.ha-price--light .ha-price__actions .ha-btn--primary:hover { background: var(--ha-terra-d); }
@media (max-width: 900px) { .ha-price { grid-template-columns: minmax(0, 1fr); padding: var(--ha-s6); } }

/* Отзыв */
.ha-review { background: var(--ha-canvas); border: var(--ha-bd); border-radius: var(--ha-r); padding: var(--ha-s5); display: flex; flex-direction: column; gap: var(--ha-s4); }
.ha-review__who { display: flex; gap: 12px; align-items: center; }
.ha-review__ava { width: 48px; height: 48px; border-radius: 50%; background: var(--ha-terra-soft); color: var(--ha-terra-d); display: grid; place-items: center; font-weight: 800; font-size: 18px; overflow: hidden; flex: none; }
.ha-review__ava img { width: 100%; height: 100%; object-fit: cover; }
.ha-review__name { font-weight: 700; } .ha-review__meta { font-size: 14px; color: var(--ha-ink-3); }
.ha-review__text { font-size: 17px; line-height: 1.55; color: var(--ha-ink-2); margin: 0; }
.ha-review__text mark { background: none; color: var(--ha-terra-d); font-weight: 600; }
.ha-review .ha-art { margin-top: auto; }

/* Преподаватель */
.ha-teacher { display: grid; gap: var(--ha-s6); grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: center; }
.ha-teacher__photo { max-width: 360px; }
.ha-teacher__name { font-size: 24px; font-weight: 800; margin-bottom: 4px; }
.ha-teacher__role { color: var(--ha-terra); font-weight: 600; margin-bottom: var(--ha-s4); }
@media (max-width: 900px) { .ha-teacher { grid-template-columns: minmax(0, 1fr); } }

/* Финальный призыв */
.ha-cta { background: var(--ha-dark); color: var(--ha-on-dark); border-radius: var(--ha-r-lg); padding: var(--ha-s8) var(--ha-s7); display: grid; gap: var(--ha-s6); grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: center; position: relative; overflow: hidden; }
.ha-cta .ha-h2 { margin-bottom: var(--ha-s4); }
.ha-cta .ha-lead { color: var(--ha-on-dark-2); margin-bottom: var(--ha-s6); }
.ha-cta__mascot { justify-self: end; align-self: end; margin-bottom: calc(-1 * var(--ha-s8)); }
.ha-cta--light { background: var(--ha-terra-soft); color: var(--ha-ink); }
.ha-cta--light .ha-lead { color: var(--ha-ink-2); }
@media (max-width: 900px) { .ha-cta { grid-template-columns: minmax(0, 1fr); padding: var(--ha-s7) var(--ha-s5); } .ha-cta__mascot { justify-self: center; } }

/* Подвал по бренд-гайду v3.0, раздел 14: логотип и слоган, контакты, документы, реквизиты текстом, лицензия, реестр ПДн, cookie, копирайт, 0+ */
.ha-footer { background: var(--ha-ink); color: rgba(248,243,234,.85); padding: var(--ha-s8) 0 var(--ha-s6); font-size: 15px; line-height: 1.5; }
.ha-footer a { color: rgba(248,243,234,.85); text-decoration: none; } .ha-footer a:hover { color: var(--ha-on-dark); text-decoration: underline; }
.ha-footer__top { display: grid; gap: var(--ha-s6) var(--ha-s8); grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); padding-bottom: var(--ha-s7); border-bottom: 1px solid var(--ha-on-dark-line); }
.ha-footer__logo { width: 140px; margin-bottom: var(--ha-s4); } .ha-footer__logo img { width: 100%; height: auto; }
.ha-footer__slogan { font-family: var(--ha-font); font-weight: 700; font-size: 18px; color: var(--ha-on-dark); margin: 0 0 var(--ha-s3); }   /* без курсива и цвета, решение владельца 03.10.2026 */
.ha-footer__about { font-size: 14px; color: rgba(248,243,234,.7); margin: 0; max-width: 34ch; }
.ha-footer h4 { color: var(--ha-on-dark); font-size: 16px; font-weight: 800; margin: 0 0 var(--ha-s3); }
.ha-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.ha-footer__hours { font-size: 14px; color: rgba(248,243,234,.65); margin-top: var(--ha-s3); }
.ha-footer__legal { padding: var(--ha-s6) 0 var(--ha-s5); text-align: left; font-size: 14px; color: rgba(248,243,234,.65); display: grid; gap: 6px; }
.ha-footer__legal b { color: rgba(248,243,234,.9); font-weight: 700; }
.ha-footer__legal a { color: rgba(248,243,234,.9); text-decoration: underline; }
.ha-footer__cookie { font-size: 12px; color: rgba(248,243,234,.45); max-width: 900px; margin: 0 0 var(--ha-s5); text-align: left; line-height: 1.5; }
.ha-footer__cookie a { color: inherit; text-decoration: underline; }
.ha-footer__bottom { border-top: 1px solid var(--ha-on-dark-line); padding-top: var(--ha-s5); display: flex; justify-content: space-between; align-items: center; gap: var(--ha-s3); font-size: 13px; color: rgba(248,243,234,.45); }
.ha-footer__age { font-size: 15px; font-weight: 800; color: var(--ha-on-dark); border: 1.5px solid rgba(248,243,234,.45); border-radius: 6px; padding: 2px 8px; }
.ha-footer--light { background: var(--ha-paper-2); color: var(--ha-ink); }   /* только если секция выше тёмная */
.ha-footer--light a, .ha-footer--light h4, .ha-footer--light .ha-footer__age { color: var(--ha-ink); } .ha-footer--light .ha-footer__slogan { color: var(--ha-ink); }
.ha-footer--light .ha-footer__about, .ha-footer--light .ha-footer__legal, .ha-footer--light .ha-footer__hours { color: var(--ha-ink-2); } .ha-footer--light .ha-footer__legal b, .ha-footer--light .ha-footer__legal a { color: var(--ha-ink); }
.ha-footer--light .ha-footer__cookie, .ha-footer--light .ha-footer__bottom { color: var(--ha-ink-3); } .ha-footer--light .ha-footer__top, .ha-footer--light .ha-footer__bottom { border-color: var(--ha-line); } .ha-footer--light .ha-footer__age { border-color: var(--ha-ink-3); }
@media (max-width: 900px) { .ha-footer__top { grid-template-columns: minmax(0, 1fr); gap: var(--ha-s6); } .ha-footer__bottom { flex-direction: column; } }

/* Плавающий призыв на телефоне: одна кнопка, не перекрывает контент (снизу у страницы padding) */
.ha-float { display: none; }
@media (max-width: 900px) {
  .ha-float { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--ha-z-sticky); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(248,243,234,.94); backdrop-filter: blur(10px); border-top: 1px solid var(--ha-line); }
  .ha-has-float { padding-bottom: 84px; }
}

/* ---------- 14. ПЕРСОНАЖ, ЛОГОТИП, ЗНАКИ ---------------------------------- */
.ha-mascot { width: var(--ha-mascot); height: auto; display: block; }
.ha-mascot--xl { width: var(--ha-mascot-xl); } .ha-mascot--lg { width: var(--ha-mascot-lg); } .ha-mascot--sm { width: var(--ha-mascot-sm); } .ha-mascot--xs { width: var(--ha-mascot-xs); }
.ha-mascot-bubble { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--ha-s4); align-items: end; }
.ha-mascot-bubble__text { background: var(--ha-canvas); border: var(--ha-bd); border-radius: var(--ha-r) var(--ha-r) var(--ha-r) 4px; padding: 14px 18px; font-size: 16px; line-height: 1.5; color: var(--ha-ink-2); }
.ha-mascot-bubble__text b { color: var(--ha-ink); }
.ha-logo { display: inline-block; height: 40px; } .ha-logo img, .ha-logo svg { height: 100%; width: auto; }
.ha-mark { display: inline-block; width: 48px; height: 48px; } .ha-mark img, .ha-mark svg { width: 100%; height: 100%; }
.ha-icon { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ha-icon--sm { width: 18px; height: 18px; } .ha-icon--lg { width: 32px; height: 32px; }
.ha-mazok { display: block; width: 120px; height: auto; } /* мазок как разделитель или подчёркивание */

/* ---------- 15. СЛАЙД 1080×1080 (эфиры, OBS) ------------------------------ */
.ha-slide { width: 1080px; height: 1080px; padding: 80px; background: var(--ha-paper); color: var(--ha-ink); font-family: var(--ha-font); display: flex; flex-direction: column; position: relative; overflow: hidden; container-type: size; }
.ha-slide--dark { background: var(--ha-dark); color: var(--ha-on-dark); }
.ha-slide--sand { background: var(--ha-paper-2); }
.ha-slide__kicker { font: 700 24px/1.2 var(--ha-font); letter-spacing: .12em; text-transform: uppercase; color: var(--ha-terra); margin-bottom: 32px; }
.ha-slide--dark .ha-slide__kicker { color: var(--ha-peach); }
.ha-slide__title { font-size: 76px; line-height: 1.04; font-weight: 800; letter-spacing: -.02em; margin: 0 0 32px; text-wrap: balance; }
.ha-slide__title--xl { font-size: 104px; }
.ha-slide__lead { font-size: 32px; line-height: 1.4; color: var(--ha-ink-2); margin: 0; max-width: 860px; }
.ha-slide--dark .ha-slide__lead { color: var(--ha-on-dark-2); }
.ha-slide__text { font-size: 28px; line-height: 1.45; }
.ha-slide__num { font-size: 220px; line-height: .9; font-weight: 800; letter-spacing: -.04em; color: var(--ha-terra); }
.ha-slide--dark .ha-slide__num { color: var(--ha-peach); }
.ha-slide__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; font: 600 20px/1 var(--ha-font); color: var(--ha-ink-3); }
.ha-slide--dark .ha-slide__foot { color: var(--ha-on-dark-2); }
.ha-slide__foot img { height: 36px; width: auto; }
.ha-slide__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 24px; font-size: 32px; line-height: 1.3; }
.ha-slide__list li { display: flex; gap: 20px; align-items: flex-start; }
.ha-slide__list .ha-num { width: 56px; height: 56px; font-size: 24px; }
.ha-slide__art { flex: 1; min-height: 0; display: grid; place-items: center; }
.ha-slide__art img { max-width: 100%; max-height: 100%; object-fit: contain; border: 14px solid var(--ha-canvas); border-radius: 8px; }
.ha-slide__mascot { position: absolute; right: 64px; bottom: 64px; width: 260px; }


/* ---------- 17. КАРТОЧНЫЙ СТИЛЬ ГЛАВНОЙ И ЭФИРОВ ----------------------------
   Собран по референсу 02.10.2026: страница как стопка больших белых карточек на бумаге, вырезанный человек
   поверх первой карточки, круглый бейдж, пилюли-таблички, рисованные закорючки, объёмные иконки.
   Применяется на главной, страницах эфиров и мини-курсов. Страница курса остаётся секционной (разделы 13, 1a). */
:root { --ha-r-big: 28px; --ha-sun: #FFD56A; --ha-sun-ink: #7A5A0A; --ha-sun-soft: #FFE8A8; }   /* солнечный — третий мягкий цвет для табличек, только в карточном стиле */
.ha-page { display: grid; gap: 20px; max-width: var(--ha-container); margin: 0 auto; padding: 24px var(--ha-gutter) 64px; }
.ha-page > * { min-width: 0; }
.ha-big { background: var(--ha-canvas); border-radius: var(--ha-r-big); padding: var(--ha-s6); position: relative; }
.ha-big--sand { background: var(--ha-paper-2); } .ha-big--soft { background: var(--ha-terra-soft); } .ha-big--dir { background: var(--ha-dir-tint, var(--ha-paper-2)); }
.ha-big__title { font-size: clamp(26px, 3vw, 38px); line-height: 1.08; font-weight: 800; letter-spacing: -.015em; margin: 0 0 var(--ha-s5); text-wrap: balance; }
.ha-big__title b { color: var(--ha-terra); }
@media (max-width: 640px) { .ha-big { padding: 24px 20px; } }

/* Направления курсов: тональная карточка, пилюля, глубокий цвет цифры. Класс на плитке или на карточке. */
.ha-dir-maslo    { --ha-dir-tint: #F1E4E2; --ha-dir-pill: #F3CFC6; --ha-dir-deep: #4A2430; }   /* масло: вино */
.ha-dir-akvarel  { --ha-dir-tint: #E1ECEB; --ha-dir-pill: #BFE0DD; --ha-dir-deep: #1E4A4F; }   /* акварель: бирюза */
.ha-dir-akril    { --ha-dir-tint: #EEE6EF; --ha-dir-pill: #E3CBE3; --ha-dir-deep: #3E2A4A; }   /* акрил: слива */
.ha-dir-grafika  { --ha-dir-tint: #ECEAE8; --ha-dir-pill: #D8D2CB; --ha-dir-deep: #2B2A2E; }   /* карандаш, графика: графит */
.ha-dir-mastihin { --ha-dir-tint: #F3E8D6; --ha-dir-pill: #F5D58F; --ha-dir-deep: #5A3A1E; }   /* мастихин, объёмные: охра */
.ha-dir-more     { --ha-dir-tint: #E3E9ED; --ha-dir-pill: #BFD9E6; --ha-dir-deep: #1C3448; }   /* море, пейзаж: ночное море */
.ha-dir-zhivotnye{ --ha-dir-tint: #E8EBDE; --ha-dir-pill: #CDD9B6; --ha-dir-deep: #1F3A2D; }   /* анималистика: лес */
.ha-dir-interier { --ha-dir-tint: #EDE8E2; --ha-dir-pill: #D9C5B2; --ha-dir-deep: #4B4440; }   /* интерьерная живопись, портреты: тауп */

/* Пилюля-табличка */
.ha-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 14px; border-radius: var(--ha-r-pill); font: 700 13px/1 var(--ha-font); white-space: nowrap; background: var(--ha-dir-pill, var(--ha-terra-soft)); color: var(--ha-dir-deep, var(--ha-terra-d)); }
.ha-pill--sun { background: var(--ha-sun); color: var(--ha-sun-ink); }
.ha-pill--peach { background: var(--ha-terra-soft); color: var(--ha-terra-d); }
.ha-pill--sage { background: var(--ha-ok-soft); color: var(--ha-ok); }
.ha-pill--line { background: var(--ha-canvas); border: 1.5px solid var(--ha-ink); color: var(--ha-ink); }
.ha-pill--tilt { transform: rotate(-4deg); }
.ha-pill--top { position: absolute; top: -15px; left: 24px; }          /* табличка, «приколотая» к верхнему краю карточки */
.ha-pill--top-center { position: absolute; top: -15px; left: 50%; transform: translateX(-50%) rotate(-2deg); }

/* Круглый бейдж с цифрой */
.ha-badge { width: 150px; height: 150px; border-radius: 50%; background: var(--ha-terra); color: #fff; display: grid; place-items: center; text-align: center; padding: 10px; transform: rotate(8deg); }
.ha-badge b { display: block; font-size: 44px; line-height: .95; font-weight: 800; letter-spacing: -.03em; }
.ha-badge span { display: block; font-size: 13px; line-height: 1.2; font-weight: 700; margin-top: 4px; }
.ha-badge small { display: block; font-size: 11px; opacity: .85; margin-top: 2px; }
.ha-badge--dir { background: var(--ha-dir-deep, var(--ha-terra)); } .ha-badge--sun { background: var(--ha-sun); color: var(--ha-sun-ink); }
.ha-badge--sm { width: 110px; height: 110px; } .ha-badge--sm b { font-size: 32px; }

/* Закорючки: рисованные линии терракотой. Три вида, не больше двух на экран */
.ha-doodle { position: absolute; pointer-events: none; }
img.ha-doodle { width: 64px; height: auto; } img.ha-doodle--s { width: 40px; } img.ha-doodle--l { width: 96px; }   /* закорючки кистью из assets/doodles/, не больше двух на экран */
@media (max-width: 640px) { .ha-doodle { display: none; } }
.ha-doodle path { fill: none; stroke: var(--ha-terra); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.ha-doodle--sun path { stroke: var(--ha-sun-ink); } .ha-doodle--sage path { stroke: var(--ha-ok); }
.ha-ring { position: relative; display: inline-block; padding: 0 6px; }   /* кольцо вокруг одного слова в заголовке секции */
.ha-ring svg { position: absolute; left: -8px; top: -10px; width: calc(100% + 16px); height: calc(100% + 20px); }
.ha-ring svg path { fill: none; stroke: var(--ha-terra); stroke-width: 3; stroke-linecap: round; }

/* Карточка-герой с вырезанным человеком */
.ha-hero-card { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 24px; padding-bottom: 0; min-height: 520px; margin-top: 40px; margin-bottom: 20px; z-index: 1; }
.ha-hero-card__top { grid-column: 1 / -1; display: flex; align-items: center; gap: 20px; margin-bottom: 28px; }
.ha-hero-card__top .ha-logo { height: 34px; }
.ha-hero-card__soc { display: flex; gap: 16px; margin-left: 12px; font-size: 14px; font-weight: 600; color: var(--ha-ink-2); }
.ha-hero-card__soc a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.ha-hero-card__soc i { width: 22px; height: 22px; border-radius: 50%; background: var(--ha-terra-soft); display: inline-grid; place-items: center; font-style: normal; font-size: 11px; color: var(--ha-terra-d); font-weight: 800; }
.ha-hero-card__cta { margin-left: auto; }
.ha-hero-card__text { padding-bottom: 40px; align-self: center; }
.ha-hero-card__text .ha-pill { margin-bottom: 18px; }
.ha-hero-card__text .ha-h1 { margin-bottom: 16px; font-size: clamp(32px, 3.8vw, 50px); }
.ha-hero-card__text .ha-lead { max-width: 440px; margin-bottom: 28px; }
.ha-hero-card__photo { position: relative; align-self: end; min-height: 460px; }
.ha-hero-card__person { position: absolute; bottom: -26px; left: 50%; transform: translateX(-62%); height: 590px; width: auto; max-width: none; }   /* низ вырезки лежит на бумаге, а не на краю карточки */
.ha-hero-card__badge { position: absolute; right: -28px; top: 110px; }
.ha-hero-card__note { position: absolute; left: 0; top: 40px; z-index: 2; }
@media (max-width: 900px) {
  .ha-hero-card { grid-template-columns: minmax(0, 1fr); min-height: 0; margin-top: 24px; }
  .ha-hero-card__soc { display: none; } .ha-hero-card__photo { min-height: 400px; } .ha-hero-card__person { height: 440px; }
  .ha-hero-card__badge { right: 0; top: 24px; width: 120px; height: 120px; } .ha-hero-card__badge b { font-size: 34px; }
}

/* Плитка цифры с иконкой */
.ha-stat-tile { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 16px; align-items: end; }
.ha-stat-tile p { margin: 0 0 14px; font-weight: 700; font-size: 17px; line-height: 1.3; }
.ha-stat-tile b { white-space: nowrap; font-size: clamp(40px, 5vw, 64px); line-height: 1; font-weight: 800; letter-spacing: -.03em; color: var(--ha-dir-deep, var(--ha-terra)); }
.ha-stat-tile img { width: 120px; height: 120px; object-fit: contain; }
.ha-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 640px) { .ha-stats { grid-template-columns: minmax(0, 1fr); } .ha-stat-tile { grid-template-columns: minmax(0, 1fr) 84px; } .ha-stat-tile img { width: 84px; height: 84px; } }

/* Плитка курса: картина целиком сверху, табличка направления, название, описание с жирным, кнопка. Текст по левому краю */
.ha-course-tile { background: var(--ha-dir-tint, var(--ha-paper-2)); border-radius: 22px; padding: 16px 16px 20px; display: flex; flex-direction: column; gap: 10px; position: relative; text-decoration: none; color: var(--ha-ink); transition: transform var(--ha-fast); }
.ha-course-tile:hover { color: var(--ha-ink); transform: translateY(-2px); }
.ha-course-tile__art { background: var(--ha-canvas); border-radius: 14px; padding: 8px; aspect-ratio: 4 / 3; display: grid; place-items: center; }
.ha-course-tile__art img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 6px; }
.ha-course-tile .ha-pill { align-self: flex-start; margin-top: 6px; }
.ha-course-tile h4 { margin: 0; font-size: 19px; font-weight: 800; line-height: 1.2; }
.ha-course-tile p { margin: 0; font-size: 15px; color: var(--ha-ink-2); line-height: 1.45; }
.ha-course-tile p b { color: var(--ha-ink); font-weight: 700; }
.ha-course-tile__foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; padding-top: 6px; }
.ha-course-tile__meta { font-size: 13px; color: var(--ha-ink-3); }
.ha-courses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
@media (max-width: 900px) { .ha-courses { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ha-courses { grid-template-columns: minmax(0, 1fr); } }

/* Карточка формата с табличкой сверху и списком со звёздочками */
.ha-format { text-align: center; padding-top: 44px; }
.ha-format h4 { margin: 0 0 12px; font-size: 20px; font-weight: 800; }
.ha-format ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; font-size: 15px; color: var(--ha-ink-2); line-height: 1.45; }
.ha-format li::before { content: '✦'; display: block; color: var(--ha-terra); font-size: 12px; margin-bottom: 4px; }
.ha-formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .ha-formats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ha-formats { grid-template-columns: minmax(0, 1fr); } }

/* Форма в одну строку (пилюли) */
.ha-form-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; }
.ha-form-row input { min-height: 52px; padding: 12px 18px; border-radius: var(--ha-r-pill); border: 1.5px solid var(--ha-line); font: 400 16px var(--ha-font); background: var(--ha-canvas); color: var(--ha-ink); }
.ha-form-row input:focus { outline: none; border-color: var(--ha-terra); box-shadow: var(--ha-ring); }
@media (max-width: 640px) { .ha-form-row { grid-template-columns: minmax(0, 1fr); } }

/* Вопросы в карточном стиле */
.ha-faq { display: grid; gap: 12px; }
.ha-faq details { background: var(--ha-paper); border-radius: 18px; padding: 0 22px; }
.ha-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font: 700 17px/1.3 var(--ha-font); }
.ha-faq summary::-webkit-details-marker { display: none; }
.ha-faq summary::after { content: '+'; width: 30px; height: 30px; border-radius: 50%; background: var(--ha-canvas); display: grid; place-items: center; color: var(--ha-terra); font-weight: 800; flex: none; }
.ha-faq details[open] summary::after { content: '–'; }
.ha-faq p { margin: 0 0 18px; color: var(--ha-ink-2); font-size: 16px; }

/* Объёмные иконки */
.ha-ikonka { width: 64px; height: 64px; object-fit: contain; display: block; }
.ha-ikonka--lg { width: 120px; height: 120px; } .ha-ikonka--sm { width: 40px; height: 40px; }


/* Плитка курса: четыре картины 2×2 одного размера, без паспарту. Картинки заранее приведены к 3:4 (картина целиком, поля в цвет фона снимка) */
.ha-course-tile__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ha-course-tile__grid > div { border-radius: 12px; overflow: hidden; aspect-ratio: 3 / 4; }
.ha-course-tile__grid img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ha-course-tile__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ha-course-tile__tags .ha-pill { min-height: 26px; padding: 0 10px; font-size: 12px; }
.ha-course-tile__tags .ha-pill--mute { background: rgba(255,255,255,.7); color: var(--ha-ink-2); }

/* Строка доверия под кнопкой: аватары + текст + звёзды */
.ha-trust { display: flex; align-items: center; gap: 12px; margin-top: 20px; font-size: 14px; color: var(--ha-ink-2); flex-wrap: wrap; }
.ha-trust__avas { display: flex; }
.ha-trust__avas img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; border: 2px solid var(--ha-canvas); margin-left: -10px; background: var(--ha-paper-2); }
.ha-trust__avas img:first-child { margin-left: 0; }
.ha-trust__stars { color: var(--ha-sun-ink); letter-spacing: 1px; font-size: 13px; }
.ha-trust b { color: var(--ha-ink); }

/* Шаги обучения */
.ha-steps-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.ha-step-card { background: var(--ha-paper); border-radius: 22px; padding: 22px 20px; position: relative; }
.ha-step-card .ha-num { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; font-size: 15px; }
.ha-step-card img { width: 72px; height: 72px; object-fit: contain; margin-bottom: 12px; }
.ha-step-card h4 { margin: 0 0 6px; font-size: 18px; font-weight: 800; }
.ha-step-card p { margin: 0; font-size: 15px; color: var(--ha-ink-2); line-height: 1.45; }
@media (max-width: 900px) { .ha-steps-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ha-steps-row { grid-template-columns: minmax(0, 1fr); } }

/* Преподаватели */
.ha-teachers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.ha-teacher-card { background: var(--ha-paper); border-radius: 22px; padding: 12px 12px 18px; display: flex; flex-direction: column; gap: 8px; }
.ha-teacher-card .ha-photo { border-radius: 16px; background: var(--ha-canvas); }
.ha-teacher-card .ha-photo img { object-fit: contain; }   /* фото с картиной в руках: картину не режем */
.ha-teacher-card h4 { margin: 6px 0 0; font-size: 18px; font-weight: 800; }
.ha-teacher-card p { margin: 0; font-size: 14px; color: var(--ha-ink-2); line-height: 1.45; }
.ha-teacher-card .ha-course-tile__tags { margin-top: 4px; }
@media (max-width: 900px) { .ha-teachers { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Работы учеников: картины целиком, подпись с именем */
.ha-works { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.ha-works .ha-art__frame { padding: 8px; border-radius: 12px; aspect-ratio: 4 / 5; display: grid; place-items: center; }
.ha-works .ha-art__frame img { max-height: 100%; width: auto; max-width: 100%; }
.ha-works .ha-art__cap { font-size: 13px; margin-top: 8px; display: block; }
.ha-works .ha-art__cap span { display: block; color: var(--ha-ink-3); font-size: 12px; }
@media (max-width: 900px) { .ha-works { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ha-works { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Отзывы в карточном стиле */
.ha-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.ha-reviews .ha-review { background: var(--ha-paper); border: 0; border-radius: 22px; }
@media (max-width: 900px) { .ha-reviews { grid-template-columns: minmax(0, 1fr); } }

/* Полоса «остались вопросы» с Охрой и мессенджерами */
.ha-ask { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; background: var(--ha-paper); border-radius: 22px; padding: 16px 24px; margin-top: 20px; }
.ha-ask__btns { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 640px) { .ha-ask { grid-template-columns: minmax(0, 1fr); text-align: center; } .ha-ask .ha-mascot { margin: 0 auto; } .ha-ask__btns { justify-content: center; } }

/* Форма с персонажем сбоку */
.ha-form-card { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 24px; align-items: end; }
.ha-form-card__chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
@media (max-width: 900px) { .ha-form-card { grid-template-columns: minmax(0, 1fr); } .ha-form-card .ha-mascot--lg { margin: 0 auto; width: 160px; } }

/* Телефон: карточный стиль */
@media (max-width: 640px) {
  .ha-page { padding: 16px 16px 48px; gap: 14px; }
  .ha-big__title { font-size: 26px; }
  .ha-hero-card { margin-top: 16px; padding-bottom: 0; }
  .ha-hero-card__top { margin-bottom: 16px; gap: 12px; } .ha-hero-card__top .ha-logo { height: 28px; }
  .ha-hero-card__cta .ha-btn { min-height: 40px; padding: 0 14px; font-size: 14px; }
  .ha-hero-card__text { padding-bottom: 16px; } .ha-hero-card__text .ha-h1 { font-size: 30px; }
  .ha-hero-card__photo { min-height: 420px; margin-top: 8px; } .ha-hero-card__person { height: 400px; transform: translateX(-50%); }
  .ha-hero-card svg.ha-doodle { display: none; }
  .ha-hero-card__badge { width: 100px; height: 100px; right: -8px; top: 8px; } .ha-hero-card__badge b { font-size: 30px; } .ha-hero-card__badge span { font-size: 11px; }
  .ha-hero-card__note { display: none; }   /* на телефоне плашка ложилась на картину; цифры есть в строке доверия */
  .ha-badge small { display: none; }
  .ha-course-tile { padding: 12px 12px 16px; }
  .ha-courses { gap: 14px; }
  .ha-form-row .ha-btn { width: 100%; }
}


/* ---------- 18. ВИДЖЕТЫ И КАРУСЕЛИ ГЛАВНОЙ (по структуре homechef-school.ru) ---------- */
.ha-big__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px; }
.ha-big__head .ha-big__title { margin-bottom: 6px; }
.ha-big__head p { margin: 0; color: var(--ha-ink-2); max-width: 620px; }
.ha-arrows { display: flex; gap: 8px; flex: none; }
.ha-arrow { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--ha-line); background: var(--ha-canvas); color: var(--ha-ink); font: 700 18px/1 var(--ha-font); cursor: pointer; display: grid; place-items: center; transition: border-color var(--ha-fast), background var(--ha-fast); }
.ha-arrow:hover { border-color: var(--ha-terra); color: var(--ha-terra); }
.ha-scroller { display: grid; grid-auto-flow: column; grid-auto-columns: var(--ha-scroll-w, 300px); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(-1 * var(--ha-s6)); padding: 0 var(--ha-s6) 4px; scroll-padding-inline: var(--ha-s6); }
.ha-scroller::-webkit-scrollbar { display: none; }
.ha-scroller > * { scroll-snap-align: start; min-width: 0; }
@media (max-width: 640px) { .ha-scroller { margin: 0 -20px; padding: 0 20px 4px; scroll-padding-inline: 20px; --ha-scroll-w: 78vw; } .ha-big__head { flex-wrap: wrap; } .ha-big__head .ha-arrows { display: none; } }

/* Галерея работ «как Pinterest»: колонки разной высоты, листается вбок. Картины целиком */
.ha-pin { display: grid; grid-auto-flow: column; grid-auto-columns: 230px; gap: 14px; align-items: start; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--ha-s6)); padding: 0 var(--ha-s6) 4px; scroll-snap-type: x proximity; }
.ha-pin::-webkit-scrollbar { display: none; }
.ha-pin__col { display: flex; flex-direction: column; gap: 14px; scroll-snap-align: start; }
.ha-pin__col:nth-child(even) { padding-top: 40px; }
.ha-pin figure { margin: 0; }
.ha-pin img { width: 100%; height: auto; display: block; border-radius: 14px; }
.ha-pin figcaption { font-size: 13px; line-height: 1.35; margin-top: 8px; color: var(--ha-ink-2); }
.ha-pin figcaption b { color: var(--ha-ink); display: block; font-size: 14px; }
@media (max-width: 640px) { .ha-pin { grid-auto-columns: 46vw; margin: 0 -20px; padding: 0 20px 4px; gap: 10px; } .ha-pin__col { gap: 10px; } }

/* Карточки «как устроено обучение» с мини-виджетами */
.ha-learn { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ha-learn-card { background: var(--ha-paper); border-radius: 22px; padding: 14px 14px 22px; display: flex; flex-direction: column; gap: 14px; }
.ha-learn-card__w { background: var(--ha-terra-soft); border-radius: 16px; height: 236px; position: relative; overflow: hidden; display: grid; place-items: center; padding: 16px; }
.ha-learn-card h4 { margin: 0 6px; font-size: 18px; font-weight: 800; display: flex; align-items: center; gap: 10px; }
.ha-learn-card h4 img { width: 30px; height: 30px; object-fit: contain; }
.ha-learn-card p { margin: 0 6px; font-size: 15px; color: var(--ha-ink-2); line-height: 1.5; }
.ha-learn-card p b { color: var(--ha-ink); }
.ha-learn-card--accent { background: var(--ha-terra-soft); } .ha-learn-card--accent .ha-learn-card__w { background: transparent; }
@media (max-width: 900px) { .ha-learn { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ha-learn { grid-template-columns: minmax(0, 1fr); } }
/* виджет: неделя потока */
.w-week { background: var(--ha-canvas); border-radius: 16px; padding: 14px; width: 100%; max-width: 260px; }
.w-week__t { font-size: 12px; color: var(--ha-ink-3); margin-bottom: 8px; }
.w-week__days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.w-week__days span { height: 44px; border-radius: 10px; background: var(--ha-paper); display: grid; place-items: center; font-size: 13px; font-weight: 700; color: var(--ha-ink-2); line-height: 1.1; text-align: center; }
.w-week__days span.on { background: var(--ha-terra); color: #fff; font-size: 12px; }
.w-week__group { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 12px; color: var(--ha-ink-3); }
.w-week__group img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; border: 2px solid var(--ha-canvas); margin-left: -8px; }
.w-week__group img:first-child { margin-left: 0; }
.w-week__group b { color: var(--ha-ok); }
/* виджет: телефон со списком уроков */
.w-phone { width: 190px; height: 250px; align-self: start; margin-top: 6px; background: var(--ha-canvas); border: 7px solid var(--ha-ink); border-radius: 28px; padding: 14px 10px; display: flex; flex-direction: column; gap: 7px; box-shadow: 0 12px 30px rgba(61,36,27,.18); }
.w-phone__t { font-size: 11px; font-weight: 800; text-align: center; margin-bottom: 2px; }
.w-phone__row { display: grid; grid-template-columns: 30px 1fr auto; gap: 8px; align-items: center; background: var(--ha-paper); border-radius: 10px; padding: 5px; font-size: 10px; line-height: 1.2; }
.w-phone__row img { width: 30px; height: 40px; object-fit: cover; border-radius: 5px; }
.w-phone__row b { display: block; font-size: 10.5px; }
.w-phone__row i { font-style: normal; color: var(--ha-ok); font-weight: 800; }
.w-phone__row.now { outline: 1.5px solid var(--ha-terra); } .w-phone__row.now i { color: var(--ha-terra); }
.w-phone__row.lock { opacity: .55; }
/* виджет: плеер урока */
.w-player { width: 100%; max-width: 280px; background: var(--ha-canvas); border-radius: 14px; padding: 8px; }
.w-player__v { height: 120px; background: #2A1B15; border-radius: 10px; display: grid; place-items: center; position: relative; overflow: hidden; }
.w-player__v img { height: 120px !important; width: auto !important; max-width: 100%; object-fit: contain; }   /* кадр урока: картина целиком, поля тёмные как у видео */
.w-player__v::after { content: '▶'; position: absolute; width: 40px; height: 40px; border-radius: 50%; background: var(--ha-terra); color: #fff; display: grid; place-items: center; font-size: 14px; padding-left: 3px; }
.w-player__bar { height: 4px; border-radius: 4px; background: var(--ha-line); margin: 10px 4px 6px; position: relative; } .w-player__bar i { position: absolute; inset: 0 55% 0 0; background: var(--ha-terra); border-radius: 4px; }
.w-player__chips { display: flex; gap: 6px; flex-wrap: wrap; padding: 0 2px; } .w-player__chips span { font-size: 10px; font-weight: 700; background: var(--ha-paper); border-radius: 999px; padding: 4px 8px; color: var(--ha-ink-2); }
/* плеер во всю ширину (страница записи): кадр 16:9, картина вписана целиком */
.w-player__v--big { height: auto; aspect-ratio: 16 / 9; }
.w-player__v--big img { position: absolute; inset: 0; margin: auto; height: 100% !important; width: auto !important; max-width: 100%; }
/* виджет: чат группы */
.w-chat { width: 100%; max-width: 280px; display: flex; flex-direction: column; gap: 8px; font-size: 11.5px; line-height: 1.35; }
.w-chat__m { display: flex; gap: 6px; align-items: flex-end; }
.w-chat__m img.ava { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; flex: none; }
.w-chat__b { background: var(--ha-canvas); border-radius: 12px 12px 12px 4px; padding: 7px 10px; } .w-chat__b b { display: block; font-size: 10.5px; color: var(--ha-terra-d); }
.w-chat__m--kur .w-chat__b { background: var(--ha-ok-soft); } .w-chat__m--kur .w-chat__b b { color: var(--ha-ok); }
.w-chat__pic { align-self: flex-end; width: 130px; background: var(--ha-terra); border-radius: 12px; padding: 4px 4px 6px; color: #fff; font-size: 10.5px; font-weight: 700; text-align: center; }
.w-chat__pic img { width: 100%; height: auto; border-radius: 9px; display: block; margin-bottom: 4px; }
/* виджет: сертификат */
.w-cert { width: 230px; background: var(--ha-canvas); border-radius: 10px; padding: 16px 16px 14px; transform: rotate(-4deg); box-shadow: 0 12px 30px rgba(61,36,27,.16); position: relative; }
.w-cert img.logo { height: 18px; width: auto; }
.w-cert__t { font-size: 18px; font-weight: 800; color: var(--ha-terra); letter-spacing: .06em; margin: 8px 0 2px; }
.w-cert__n { font-size: 11px; color: var(--ha-ink-2); line-height: 1.4; } .w-cert__n b { color: var(--ha-ink); font-size: 13px; display: block; }
.w-cert__seal { position: absolute; right: 12px; bottom: 10px; width: 42px; height: 42px; }
/* виджет: куратор */
.w-kur { text-align: center; } .w-kur img { width: 130px; height: 130px; border-radius: 50%; object-fit: cover; border: 5px solid var(--ha-canvas); }

/* Отзывы: большая цитата + карусель карточек с фото ученицы и её картиной */
.ha-bigquote { border-left: 4px solid var(--ha-terra); padding-left: 24px; margin: 0 0 28px; max-width: 760px; }
.ha-bigquote p { font-size: clamp(24px, 3vw, 36px); line-height: 1.15; font-weight: 800; letter-spacing: -.015em; margin: 0 0 10px; }
.ha-bigquote cite { font-style: normal; font-size: 14px; color: var(--ha-ink-3); }
.ha-rev { background: var(--ha-paper); border-radius: 22px; padding: 14px 14px 20px; display: flex; flex-direction: column; gap: 14px; height: 100%; }
.ha-rev__art { border-radius: 14px; overflow: hidden; aspect-ratio: 3 / 4; } .ha-rev__art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ha-rev__text { margin: 0 6px; font-size: 15px; line-height: 1.55; color: var(--ha-ink-2); flex: 1; }
.ha-rev__text mark { background: none; color: var(--ha-ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--ha-terra); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ha-rev__who { display: flex; align-items: center; gap: 12px; margin: 0 6px; }
.ha-rev__who img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex: none; }
.ha-rev__who b { display: block; font-size: 15px; } .ha-rev__who span { display: block; font-size: 12.5px; color: var(--ha-ink-3); line-height: 1.35; }
.ha-rev__stars { color: var(--ha-sun-ink); font-size: 12px; letter-spacing: 1px; }

/* Автор / ведущий преподаватель */
.ha-author { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: center; }
.ha-author__photo { border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 5; } .ha-author__photo img { width: 100%; height: 100%; object-fit: cover; }
.ha-author__name { font-size: 24px; font-weight: 800; margin: 0; } .ha-author__role { color: var(--ha-ink-3); font-size: 15px; margin: 4px 0 18px; }
.ha-author__quote { font-size: clamp(20px, 2.2vw, 26px); line-height: 1.35; font-weight: 700; margin: 0 0 16px; }
@media (max-width: 900px) { .ha-author { grid-template-columns: minmax(0, 1fr); gap: 24px; } .ha-author__photo { max-width: 420px; } }

/* Преподаватели каруселью: фото во всю ширину карточки, без вложенных рамок */
.ha-tcard { background: var(--ha-canvas); border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; height: 100%; }
.ha-tcard__photo { aspect-ratio: 4 / 5; background: var(--ha-dir-tint, var(--ha-terra-soft)); overflow: hidden; }
.ha-tcard__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ha-tcard__photo--cut img { object-fit: contain; object-position: center bottom; }
.ha-tcard__body { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 4px; }
.ha-tcard__body b { font-size: 18px; font-weight: 800; } .ha-tcard__role { font-size: 14px; color: var(--ha-ink-2); } .ha-tcard__meta { font-size: 13px; color: var(--ha-ink-3); } .ha-tcard__courses { font-size: 13px; color: var(--ha-terra-d); font-weight: 600; margin-top: 6px; }

/* Клуб рисования: тёмный блок с телефонами */
.ha-club { background: var(--ha-ink); color: var(--ha-on-dark); border-radius: var(--ha-r-big); padding: 48px; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 32px; align-items: center; overflow: hidden; position: relative; }
.ha-club .ha-pill { background: rgba(248,243,234,.12); color: var(--ha-peach); }
.ha-club__title { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.08; font-weight: 800; letter-spacing: -.015em; margin: 16px 0; } .ha-club__title b { color: var(--ha-peach); }
.ha-club__lead { color: var(--ha-on-dark-2); margin: 0 0 22px; max-width: 520px; }
.ha-club__list { list-style: none; padding: 0; margin: 0 0 28px; display: grid; gap: 14px; }
.ha-club__list li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; } .ha-club__list li::before { content: '✓'; width: 26px; height: 26px; border-radius: 50%; background: var(--ha-terra); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 13px; }
.ha-club__list b { display: block; } .ha-club__list span { color: var(--ha-on-dark-2); font-size: 14px; }
.ha-club__phones { position: relative; height: 440px; }
.ha-club__phone { position: absolute; width: 210px; height: 430px; border: 8px solid #1A100C; border-radius: 34px; background: var(--ha-paper); overflow: hidden; padding: 16px 10px; box-shadow: 0 24px 50px rgba(0,0,0,.35); }
.ha-club__phone:first-child { left: 0; top: 30px; transform: rotate(-6deg); opacity: .9; } .ha-club__phone:last-child { right: 10px; top: 0; }
.ha-club__app-t { font-size: 12px; font-weight: 800; color: var(--ha-ink); margin: 2px 4px 8px; } .ha-club__app-s { font-size: 10px; color: var(--ha-ink-3); margin: -6px 4px 8px; }
.ha-club__app-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.ha-club__app-grid figure { margin: 0; background: var(--ha-canvas); border-radius: 10px; padding: 4px 4px 6px; color: var(--ha-ink); font-size: 9.5px; font-weight: 700; line-height: 1.2; }
.ha-club__app-grid img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 7px; display: block; margin-bottom: 4px; }
.ha-club__app-grid span { display: block; font-weight: 500; color: var(--ha-ink-3); }
@media (max-width: 900px) { .ha-club { grid-template-columns: minmax(0, 1fr); padding: 32px 24px; } .ha-club__phones { height: 380px; max-width: 360px; margin: 0 auto; width: 100%; } .ha-club__phone { width: 180px; height: 370px; } }

/* Форма мастер-класса с картиной и Охрой справа */
.ha-mk { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 32px; align-items: center; }
.ha-mk__art { position: relative; padding: 10px 10px 30px 40px; max-width: 330px; justify-self: center; width: 100%; }
.ha-mk__art .pic { width: 100%; height: auto; display: block; border-radius: 6px; transform: rotate(3deg); box-shadow: 0 18px 40px rgba(61,36,27,.22); }
.ha-mk__art .cat { position: absolute; left: -36px; bottom: -6px; width: 130px; }
.ha-mk__art .ha-badge { position: absolute; right: -14px; top: -10px; width: 112px; height: 112px; } .ha-mk__art .ha-badge b { font-size: 26px; }
@media (max-width: 900px) { .ha-mk { grid-template-columns: minmax(0, 1fr); } .ha-mk__art { max-width: 340px; margin: 0 auto; padding-left: 100px; } .ha-mk__art .cat { left: 0; bottom: 0; width: 96px; } }   /* Охра рядом с картиной, не на ней */

/* О школе */
.ha-about { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 40px; align-items: center; }
.ha-about__feats { display: grid; gap: 16px; margin: 20px 0 24px; }
.ha-about__feat { display: grid; grid-template-columns: 44px 1fr; gap: 14px; } .ha-about__feat img { width: 44px; height: 44px; object-fit: contain; }
.ha-about__feat b { display: block; font-size: 16px; } .ha-about__feat span { font-size: 14px; color: var(--ha-ink-2); }
.ha-about__photo { border-radius: 24px; overflow: hidden; aspect-ratio: 1; } .ha-about__photo img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) { .ha-about { grid-template-columns: minmax(0, 1fr); } }

/* Вопросы: слева мессенджеры и мини-форма, справа аккордеон */
.ha-qa { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 40px; align-items: start; }
.ha-msgr { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 20px; }
.ha-msgr a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px 0 6px; border-radius: 999px; background: var(--ha-paper); color: var(--ha-ink); font-weight: 700; font-size: 14px; text-decoration: none; }
.ha-msgr a i { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 11px; font-weight: 800; color: #fff; }
.ha-msgr a img { width: 26px; height: 26px; display: block; border-radius: 7px; flex: none; }
.ha-msgr a:hover { background: var(--ha-terra-soft); color: var(--ha-ink); }
.ha-qa__form { display: grid; gap: 10px; background: var(--ha-paper); border-radius: 18px; padding: 16px; }
.ha-qa__form input { min-height: 48px; padding: 10px 16px; border-radius: 999px; border: 1.5px solid var(--ha-line); font: 400 16px var(--ha-font); background: var(--ha-canvas); color: var(--ha-ink); }
.ha-qa__form input:focus { outline: none; border-color: var(--ha-terra); box-shadow: var(--ha-ring); }
@media (max-width: 900px) { .ha-qa { grid-template-columns: minmax(0, 1fr); gap: 24px; } }

/* Финальный призыв карточного стиля */
.ha-final { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; }
.ha-final .ha-mascot { width: 200px; }
@media (max-width: 640px) { .ha-final { grid-template-columns: minmax(0, 1fr); text-align: center; } .ha-final .ha-mascot { margin: 0 auto; width: 150px; } }

/* Навигация в первой карточке */
.ha-hero-card__nav { display: flex; gap: 22px; margin-left: 16px; font-size: 15px; font-weight: 600; }
.ha-hero-card__nav a { color: var(--ha-ink-2); text-decoration: none; } .ha-hero-card__nav a:hover { color: var(--ha-terra); }
@media (max-width: 900px) { .ha-hero-card__nav { display: none; } }

/* Линейные иконки интерфейса (assets/ikonki-lin/icons.js): 24 px, обводка 1.75, цвет от текста */
.ha-root .ha-ico, .ha-ico { display: inline-block; vertical-align: -0.2em; flex: none; }
.ha-btn .ha-ico { width: 20px; height: 20px; vertical-align: 0; }

/* ---------- 16. СЛУЖЕБНОЕ -------------------------------------------------- */
.ha-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ha-hide-mobile { } .ha-only-mobile { display: none; }
@media (max-width: 900px) { .ha-hide-mobile { display: none !important; } .ha-only-mobile { display: block; } }

/* ---------- 19. КАК ПРОХОДИТ ОБУЧЕНИЕ и МИССИЯ (03.10.2026) ----------------- */
/* .ha-how: карточки в две колонки, картинка-виджет над карточкой, номер в углу, светлые и тёмные шахматкой.
   Цвета берутся из направления курса (ha-dir-*), на главной — песок и шоколад. Виджеты: w-lap, w-phone, w-player, w-chat, w-ref, w-cert, w-doc, w-kur. */
.ha-how { --ha-how-light: var(--ha-dir-tint, var(--ha-paper-2)); --ha-how-dark: var(--ha-dir-deep, var(--ha-ink)); --ha-how-blob: var(--ha-dir-pill, var(--ha-terra-soft));
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
.ha-how__item { display: flex; flex-direction: column; min-width: 0; }
.ha-how__art { position: relative; z-index: 1; height: 220px; margin-bottom: -30px; display: flex; align-items: flex-end; justify-content: center; }
.ha-how__art::before { content: ''; position: absolute; z-index: -1; width: 190px; height: 190px; border-radius: 46% 54% 52% 48% / 50% 44% 56% 50%; background: var(--ha-how-blob); opacity: .55; left: 18%; top: 4px; }
.ha-how__item:nth-child(even) .ha-how__art::before { left: auto; right: 16%; }
.ha-how__card { position: relative; flex: 1; background: var(--ha-how-light); border-radius: 24px; padding: 46px 26px 24px; }
.ha-how__n { position: absolute; top: 16px; right: 22px; font-weight: 800; font-size: 15px; opacity: .55; }
.ha-how__card h4 { margin: 0 0 8px; font-size: 20px; font-weight: 800; line-height: 1.25; padding-right: 24px; }
.ha-how__card p { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--ha-ink-2); } .ha-how__card p b { color: var(--ha-ink); }
.ha-how__item:nth-child(4n+2) .ha-how__card, .ha-how__item:nth-child(4n+3) .ha-how__card { background: var(--ha-how-dark); color: var(--ha-on-dark); }
.ha-how__item:nth-child(4n+2) .ha-how__card p, .ha-how__item:nth-child(4n+3) .ha-how__card p { color: var(--ha-on-dark-2); }
.ha-how__item:nth-child(4n+2) .ha-how__card p b, .ha-how__item:nth-child(4n+3) .ha-how__card p b { color: var(--ha-on-dark); }
.ha-how .w-phone { margin-top: 0; align-self: flex-end; height: 214px; }
.ha-how .w-player, .ha-how .w-chat { align-self: center; margin-bottom: 36px; }
.ha-how .w-cert { align-self: center; margin-bottom: 40px; }
.ha-how .w-chat { max-width: 300px; }
.ha-how .w-chat__pic { width: auto; display: flex; align-items: center; gap: 8px; padding: 4px 10px 4px 4px; }
.ha-how .w-chat__pic img { width: auto; height: 64px; margin: 0; border-radius: 7px; }
.ha-how .w-week { align-self: center; margin-bottom: 40px; box-shadow: 0 12px 28px rgba(61,36,27,.12); }
.ha-how .w-week__days span.on { background: var(--ha-how-dark); }

.ha-how .w-kur { align-self: center; margin-bottom: 36px; }
@media (max-width: 760px) {
  .ha-how { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .ha-how__art { height: 200px; }
  .ha-how__item:nth-child(n) .ha-how__card { background: var(--ha-how-light); color: var(--ha-ink); } .ha-how__item:nth-child(n) .ha-how__card p { color: var(--ha-ink-2); } .ha-how__item:nth-child(n) .ha-how__card p b { color: var(--ha-ink); }
  .ha-how__item:nth-child(even) .ha-how__card { background: var(--ha-how-dark); color: var(--ha-on-dark); } .ha-how__item:nth-child(even) .ha-how__card p { color: var(--ha-on-dark-2); } .ha-how__item:nth-child(even) .ha-how__card p b { color: var(--ha-on-dark); }
  .ha-how__card { padding: 42px 20px 20px; } .ha-how__card h4 { font-size: 18px; }
}
/* ноутбук с экраном курса и телефоном рядом */
.w-lap { position: relative; width: 300px; margin-bottom: 30px; }
.w-lap__scr { border: 8px solid var(--ha-ink); border-bottom-width: 10px; border-radius: 14px 14px 0 0; background: var(--ha-canvas); aspect-ratio: 16 / 10; padding: 8px; display: grid; grid-template-rows: auto 1fr; gap: 6px; overflow: hidden; }
.w-lap__top { display: flex; align-items: center; gap: 6px; font-size: 8px; font-weight: 800; } .w-lap__top img { height: 9px; } .w-lap__top span { margin-left: auto; color: var(--ha-ink-3); font-weight: 700; }
.w-lap__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: min-content; align-content: start; gap: 5px; min-height: 0; }
.w-lap__grid div { background: var(--ha-paper); border-radius: 5px; padding: 3px; display: flex; flex-direction: column; gap: 2px; font-size: 6.5px; font-weight: 700; line-height: 1.2; min-height: 0; overflow: hidden; }
.w-lap__grid img { width: 100%; height: 40px; object-fit: contain; background: var(--ha-paper-2); border-radius: 3px; }
.w-lap__base { height: 10px; margin: 0 -22px; background: #d9d0c4; border-radius: 0 0 14px 14px; box-shadow: 0 10px 24px rgba(61,36,27,.18); }
.w-lap__ph { position: absolute; right: -26px; bottom: -6px; width: 74px; height: 140px; border: 5px solid var(--ha-ink); border-radius: 16px; background: var(--ha-canvas); padding: 6px 5px; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 10px 22px rgba(61,36,27,.22); }
.w-lap__ph img { width: 100%; height: 50px; object-fit: contain; background: var(--ha-paper-2); border-radius: 5px; } .w-lap__ph i { display: block; height: 6px; border-radius: 3px; background: var(--ha-paper-2); } .w-lap__ph i:last-child { width: 60%; }
/* референс и материалы урока */
.w-ref { width: 270px; background: var(--ha-canvas); border-radius: 16px; padding: 10px; display: grid; grid-template-columns: 92px 1fr; gap: 10px; align-items: center; box-shadow: 0 12px 28px rgba(61,36,27,.14); margin-bottom: 40px; }
.w-ref > img { width: 92px; height: 118px; object-fit: contain; background: var(--ha-paper-2); border-radius: 8px; }
.w-ref__l { display: grid; gap: 6px; font-size: 11px; font-weight: 700; }
.w-ref__l span { display: flex; align-items: center; gap: 6px; background: var(--ha-paper); border-radius: 9px; padding: 7px 8px; }
.w-ref__l span.on { background: var(--ha-how-dark, var(--ha-ink)); color: #fff; }
.w-ref__dots { display: flex; gap: 4px; } .w-ref__dots i { width: 14px; height: 14px; border-radius: 50%; display: block; }
/* документ-лицензия */
.w-doc { width: 220px; background: var(--ha-canvas); border-radius: 8px; padding: 16px 16px 14px; transform: rotate(3deg); box-shadow: 0 12px 30px rgba(61,36,27,.16); margin-bottom: 40px; font-size: 9px; color: var(--ha-ink-2); line-height: 1.4; border-top: 6px solid var(--ha-how-dark, var(--ha-ink)); }
.w-doc b { display: block; font-size: 12px; color: var(--ha-ink); margin-bottom: 6px; letter-spacing: .04em; } .w-doc i { display: block; height: 5px; border-radius: 3px; background: var(--ha-paper-2); margin: 5px 0; } .w-doc i:nth-of-type(2) { width: 80%; } .w-doc i:nth-of-type(3) { width: 64%; }
.w-doc__seal { position: absolute; right: 12px; bottom: 10px; width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--ha-terra); display: grid; place-items: center; color: var(--ha-terra); font-weight: 800; font-size: 9px; }
@media (max-width: 760px) { .w-lap { width: 250px; } .w-lap__ph { right: -14px; } }

/* .ha-mission: миссия школы — слева карточка «Наша миссия» и тёмная «Как мы этого достигаем», справа фото преподавателя с картиной */
.ha-mission { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px; align-items: stretch; }
.ha-mission__l { display: grid; gap: 16px; align-content: start; }
.ha-mission__goal { background: var(--ha-paper); border-radius: 24px; padding: 24px 26px; }
.ha-mission__goal h3 { margin: 0 0 8px; font-size: 20px; font-weight: 800; color: var(--ha-terra-d); }
.ha-mission__goal p { margin: 0; font-size: 17px; line-height: 1.55; color: var(--ha-ink-2); } .ha-mission__goal p b { color: var(--ha-ink); }
.ha-mission__how { background: var(--ha-ink); color: var(--ha-on-dark); border-radius: 24px; padding: 26px; }
.ha-mission__how h3 { margin: 0 0 16px; font-size: 22px; font-weight: 800; }
.ha-mission__how ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; counter-reset: m; }
.ha-mission__how li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; align-items: start; font-size: 15.5px; line-height: 1.45; color: var(--ha-on-dark-2); }
.ha-mission__how li::before { counter-increment: m; content: counter(m); width: 30px; height: 30px; border-radius: 50%; background: var(--ha-on-dark); color: var(--ha-ink); display: grid; place-items: center; font-weight: 800; font-size: 14px; }
.ha-mission__how li b { color: var(--ha-on-dark); }
.ha-mission__ph { border-radius: 24px; overflow: hidden; background: var(--ha-paper-2); display: flex; align-items: flex-end; }
.ha-mission__ph img { width: 100%; height: auto; display: block; }   /* фото целиком: картина в руках преподавателя не обрезается */
@media (max-width: 900px) { .ha-mission { grid-template-columns: minmax(0, 1fr); } }


/* .ha-justify: галерея рядами одной высоты (03.10.2026). У figure style="--ar: ширина/высота". Картины целиком, ряд на всю ширину, последний ряд не растягивается */
.ha-justify { --ha-row-h: 220px; display: flex; flex-wrap: wrap; gap: 12px; }
.ha-justify::after { content: ''; flex-grow: 999999; }
.ha-justify--fill::after { display: none; }   /* один ряд на всю ширину */
.ha-justify figure { margin: 0; flex-grow: calc(var(--ar) * 100); flex-basis: calc(var(--ar) * var(--ha-row-h)); min-width: 0; }
.ha-justify img { display: block; width: 100%; height: auto; aspect-ratio: var(--ar); border-radius: 6px; box-shadow: 0 6px 16px rgba(61,36,27,.10); }
.ha-justify figcaption { font-size: 13.5px; color: var(--ha-ink-2); margin-top: 8px; } .ha-justify figcaption b { color: var(--ha-ink); }
@media (max-width: 640px) { .ha-justify { --ha-row-h: 140px; gap: 8px; } }

/* .ha-status: крупное состояние с Охрой — заявка принята, оплата не прошла, эфир скоро (03.10.2026). В продукте одно на экран (правило 7) */
.ha-status { position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 16px; align-items: center; border-radius: 22px; padding: 22px 20px 20px; background: var(--ha-canvas); border: 1px solid var(--ha-line); }
.ha-status > img { width: 92px; height: auto; }
.ha-status__badge { position: absolute; top: -11px; left: 20px; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; padding: 4px 11px; border-radius: 999px; background: var(--ha-ink); color: #fff; }
.ha-status__t { margin: 0 0 4px; font-size: 19px; font-weight: 800; line-height: 1.25; }
.ha-status p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ha-ink-2); }
.ha-status__act { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ha-status .ha-btn { white-space: normal; text-align: center; min-height: 40px; padding: 8px 18px; line-height: 1.2; }
.ha-status--ok { background: var(--ha-ok-soft); border-color: transparent; } .ha-status--ok .ha-status__badge { background: var(--ha-ok); }
.ha-status--error { background: var(--ha-danger-soft); border-color: transparent; } .ha-status--error .ha-status__badge { background: var(--ha-danger); }
.ha-status--info { background: var(--ha-sun-soft); border-color: transparent; } .ha-status--info .ha-status__badge { background: var(--ha-sun-ink); }
.ha-status__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; } .ha-status__chips span { font-size: 13px; font-weight: 700; background: rgba(255,255,255,.7); border-radius: 999px; padding: 4px 10px; }
@media (max-width: 640px) { .ha-status { grid-template-columns: 64px minmax(0, 1fr); } .ha-status > img { width: 64px; } }

/* Линейные иконки Phosphor Duotone (03.10.2026): контур цветом текста, акцент мягкой заливкой */
.ha-ico { flex: none; }
.ha-ico__acc { fill: var(--ha-ico-acc, var(--ha-sun)); opacity: 1; }
.ha-btn .ha-ico__acc, .ha-ico--mono .ha-ico__acc { fill: currentColor; opacity: .22; }   /* в кнопках и одноцветно — полупрозрачный цвет текста */
.ha-ico--terra { --ha-ico-acc: var(--ha-terra-soft); }
