/* ============================================================
   Мобильная версия (≤600px). Всё внутри media-запросов —
   десктоп этот файл не затрагивает. Перекрывает inline-стили
   и правила styles.css через !important.
   Раскрывающиеся блоки управляются js/mobile.js (data-m-*).
   ============================================================ */
@keyframes m-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {

  section[id], #format { scroll-margin-top: 60px !important; }
  /* появление при скролле: короче и без задержек, чтобы заголовки не оставляли пустых мест */
  [data-reveal] { transition-duration: .6s !important; transition-delay: 0s !important; }

  /* ---------- header ---------- */
  header { padding: 8px 14px !important; }
  header > div { gap: 10px !important; }
  header img { height: 15px !important; }
  header > div > span { font-size: 10px !important; padding: 5px 9px !important; letter-spacing: 0.12em !important; }
  header > div > a:last-child { margin-left: auto; font-size: 13px !important; padding: 10px 16px !important; }

  /* ---------- typography system ---------- */
  section h2 { font-size: 28px !important; line-height: 1.06 !important; }
  section p { text-wrap: pretty; }
  section h3 { text-wrap: balance; }

  [data-m-head] { cursor: pointer; -webkit-tap-highlight-color: transparent; outline: none; }
  [data-m-skill], ul[data-m-more] { cursor: pointer; -webkit-tap-highlight-color: transparent; outline: none; }

  [data-m-disclose][data-m-open] [data-m-chev] { transform: rotate(-135deg) !important; margin-top: 4px !important; }

  /* ---------- HERO: eyebrow → заголовок → сцена модели → описание → CTA, без пустот ---------- */
  [data-hero] { display: flex; flex-direction: column; padding: 20px 18px 0; }
  [data-hero] > div:nth-child(2) { display: contents !important; }
  [data-hero] > div:nth-child(3) { display: none !important; }
  [data-hero] > div:nth-child(4) { height: 100% !important; background: linear-gradient(180deg, rgba(11,11,15,0) 0%, rgba(11,11,15,0) 70%, rgba(11,11,15,0.5) 100%) !important; }
  [data-hero] > div:nth-child(5) { display: contents !important; }
  [data-hero] [data-m-scope] { display: contents !important; }
  [data-hero] [data-m-scope] > * { position: relative; z-index: 2; }

  [data-hero] [data-m-scope] > :first-child { order: 1; gap: 4px !important; margin-bottom: 12px !important; flex-wrap: nowrap !important; }
  [data-hero] [data-m-scope] > :first-child > span:not(:nth-child(5)) { font-size: 10px !important; padding: 6px 7px !important; letter-spacing: 0.12em !important; white-space: nowrap; }
  [data-hero] [data-m-scope] > :first-child > span:nth-child(5) { width: 12px !important; flex-shrink: 0; }
  [data-hero] h1 { order: 2; margin: 0 !important; font-size: 27px !important; line-height: 1.04 !important; }

  /* сцена — живой фон за заголовком и описанием (без отдельной полосы), текст поверх на тёмной подложке */
  [data-hero] [data-nlp-scene] {
    display: block !important;
    position: absolute !important; z-index: 0; right: auto !important; left: -50px; top: -96px !important;
    zoom: 0.8; margin: 0;
    /* граф и фраза — рядом с заголовком и в зазоре под ним; под описанием и кнопками сцена почти гаснет */
    -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0.25) 0%, #000 42%), linear-gradient(180deg, #000 0, #000 340px, rgba(0,0,0,0.08) 384px);
    -webkit-mask-composite: source-in;
    mask-image: linear-gradient(90deg, rgba(0,0,0,0.25) 0%, #000 42%), linear-gradient(180deg, #000 0, #000 340px, rgba(0,0,0,0.08) 384px);
    mask-composite: intersect;
  }
  [data-hero] > div:first-child {
    top: 40px !important; height: 440px !important;
    mask-image: linear-gradient(180deg, transparent 0%, #000 25%, #000 60%, transparent 100%) !important;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 25%, #000 60%, transparent 100%) !important;
  }
  [data-hero] > div:first-child img { opacity: 0.28 !important; object-position: 62% 45% !important; mask-image: none !important; -webkit-mask-image: none !important; }
  [data-hero] [data-motion-group][data-parallax="0.045"] { top: 60px !important; height: 400px !important; opacity: 0.35; }
  [data-hero] h1, [data-hero] [data-m-scope] > :first-child > span { text-shadow: 0 0 20px rgba(10,10,14,0.95); }
  /* лёгкая затеняющая подложка под заголовком и описанием — успокаивает пёстрый фон */
  [data-hero] h1::before, [data-hero] [data-m-scope] > p[data-reveal]::before {
    content: ""; position: absolute; inset: -40px -60px; z-index: -1; pointer-events: none;
    /* растушёванное затемнение без краёв: эллипс плавно уходит в прозрачность */
    background: radial-gradient(ellipse 60% 55% at 40% 50%, rgba(11,11,15,0.62) 0%, rgba(11,11,15,0.42) 45%, rgba(11,11,15,0) 100%);
  }

  [data-hero] [data-m-scope] > p[data-reveal] {
    order: 4; font-size: 14.5px !important; line-height: 1.55 !important; color: var(--gray-1);
    margin: 44px 0 22px !important; padding: 0 !important;
    text-shadow: 0 0 14px rgba(10,10,14,1), 0 0 3px rgba(10,10,14,0.9);
  }
  [data-hero] [data-m-scope] > [data-reveal="240"] { order: 5; flex-direction: column; flex-wrap: nowrap !important; align-items: stretch !important; gap: 10px !important; margin: 0 0 40px !important; }
  [data-hero] [data-m-scope] > [data-reveal="240"] > a { width: 100% !important; box-sizing: border-box; text-align: center; white-space: nowrap; }
  [data-hero] [data-m-scope] > [data-reveal="240"] > a:first-child { font-size: 16px !important; padding: 18px 20px !important; }
  [data-hero] [data-m-scope] > [data-reveal="240"] > a:last-child { font-size: 15px !important; padding: 14px 20px !important; border-color: rgba(197,255,114,0.4) !important; }
  [data-hero] #format { order: 6; position: relative; z-index: 2; }

  /* ---------- формат: схема, цифры, маршрут (без изменений) ---------- */
  #format { margin-bottom: 28px !important; }
  #format [data-scheme] { overflow: visible !important; mask-image: none !important; -webkit-mask-image: none !important; }
  #format [data-scheme] > svg { min-width: 0 !important; }
  #format > div:nth-child(2) { margin-top: -6px !important; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(1),
  #format > div:nth-child(2) > [data-cols3]:nth-child(2) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(1) svg { height: 20px !important; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(2) { padding-top: 6px !important; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(2) > div { align-items: center !important; text-align: center !important; gap: 8px !important; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(2) > div > span:first-child { font-size: 44px !important; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(2) > div > span:last-child { font-size: 10px !important; letter-spacing: 0.12em !important; }
  #format > div:nth-child(2) > div:nth-child(3) { text-align: left !important; margin: 36px 0 20px !important; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(4) { display: none !important; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(5) > div { position: relative; padding: 0 0 26px 42px; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(5) > div:last-child { padding-bottom: 0; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(5) > div > div:first-child {
    position: absolute; left: 0; top: 0; width: 24px; height: 24px; margin: 0 !important;
    display: flex; align-items: center; justify-content: center; letter-spacing: 0.04em !important;
    font-size: 10px !important; border: 1px solid currentColor; background: #0b0b0f;
  }
  #format > div:nth-child(2) > [data-cols3]:nth-child(5) > div::before {
    content: ""; position: absolute; left: 12px; top: 30px; bottom: 6px; width: 1px;
    background: linear-gradient(180deg, var(--c, #c5ff72), rgba(199,205,211,0.08));
  }
  #format > div:nth-child(2) > [data-cols3]:nth-child(5) > div:nth-child(2) { --c: #d7dce0; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(5) > div:last-child::before { display: none; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(5) > div > div:nth-child(2) { font-size: 21px !important; line-height: 1.02 !important; padding-top: 2px; }
  #format > div:nth-child(2) > [data-cols3]:nth-child(5) > div > div:nth-child(3) { font-size: 14px !important; margin: 6px 0 8px !important; }
  /* «Дополнительные материалы»: значок «документы» в рамке, как у квадратов 01–03 */
  #format > div:nth-child(3) > span:first-child {
    width: 24px !important; height: 24px !important; margin-top: 0 !important; opacity: 1 !important; box-sizing: border-box;
    border: 1px solid #c7cdd3; background: #0b0b0f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c7cdd3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M18 17h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h4l5 5v7a2 2 0 0 1 -2 2z'/%3E%3Cpath d='M16 17v2a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h2'/%3E%3C/svg%3E") center / 14px 14px no-repeat !important;
  }
  #format > div:nth-child(2) > [data-cols3]:nth-child(5) [data-fmt-desc] { font-size: 14px !important; line-height: 1.55 !important; }
  #format > div:nth-child(3) { margin-top: 28px !important; gap: 18px !important; }

  /* ---------- для кого: выбираемые карточки (спокойная редакционная подача) ---------- */
  #audience { padding: 32px 18px 28px !important; }
  #audience > div:first-child { gap: 10px !important; margin-bottom: 22px !important; }
  #audience > div:first-child > p { font-size: 14.5px !important; }
  #audience > div:nth-child(2) { gap: 0 !important; }
  #audience > div:nth-child(2) > div:first-child { gap: 0 !important; border-bottom: 1px solid var(--hairline-1); }
  #audience > div:nth-child(2) > div:first-child > div {
    position: relative; grid-template-columns: 9px minmax(0, 1fr) !important; gap: 14px !important;
    padding: 16px 62px 16px 0; border: 0; border-top: 1px solid var(--hairline-1);
    transition: border-color .35s ease-in-out, background-color .35s ease-in-out;
    --acc: #c5ff72; --acc-g: rgba(197,255,114,0.45);
  }
  #audience > div:nth-child(2) > div:first-child > div:nth-child(2) { --acc: #ff5a3d; --acc-g: rgba(255,90,61,0.45); }
  #audience > div:nth-child(2) > div:first-child > div:nth-child(3) { --acc: #c7cdd3; --acc-g: rgba(199,205,211,0.35); }
  
  #audience > div:nth-child(2) > div:first-child > div::after {
    content: ""; position: absolute; right: 5px; top: 21px; width: 11px; height: 11px; pointer-events: none;
    background: linear-gradient(var(--gray-2), var(--gray-2)) center / 11px 1px no-repeat, linear-gradient(var(--gray-2), var(--gray-2)) center / 1px 11px no-repeat;
    transition: transform .4s cubic-bezier(0.19,1,0.22,1);
  }
  #audience > div:nth-child(2) > div:first-child > div[data-m-open]::after {
    transform: rotate(45deg);
    background: linear-gradient(var(--acc), var(--acc)) center / 11px 1px no-repeat, linear-gradient(var(--acc), var(--acc)) center / 1px 11px no-repeat;
  }
  #audience > div:nth-child(2) > div:first-child > div > div:first-child > span:first-child { width: 8px !important; height: 8px !important; margin-top: 6px !important; transition: box-shadow .4s ease-in-out; }
  #audience > div:nth-child(2) > div:first-child > div[data-m-open] > div:first-child > span:first-child { box-shadow: 0 0 8px var(--acc-g); }
  #audience > div:nth-child(2) > div:first-child > div > div:first-child > span:last-child { transform-origin: top; transform: scaleY(0); opacity: 0; transition: transform .6s cubic-bezier(0.19,1,0.22,1), opacity .4s; }
  #audience > div:nth-child(2) > div:first-child > div[data-m-open] > div:first-child > span:last-child { transform: none; opacity: 0.7; }
  #audience h3 { font-size: 17px !important; line-height: 1.25 !important; margin: 0 0 8px !important; }
  #audience h3 + div { flex-direction: column; align-items: flex-start !important; gap: 0 !important; margin-bottom: 0 !important; }
  #audience h3 + div > span:nth-child(odd) { max-width: 100%; box-sizing: border-box; font-size: 11.5px !important; padding: 4px 8px !important; line-height: 1.35 !important; }
  #audience h3 + div > span:nth-child(1),
  #audience h3 + div > span:nth-child(2) { overflow: hidden; transition: max-height .45s cubic-bezier(0.19,1,0.22,1), opacity .3s ease-in-out, padding .45s cubic-bezier(0.19,1,0.22,1); }
  #audience h3 + div > span:nth-child(2) { width: 1px !important; height: 8px !important; max-height: 8px; margin-left: 10px; opacity: 0.5 !important; }
  #audience [data-m-item]:not([data-m-open]) h3 + div > span:nth-child(1) { max-height: 0; opacity: 0; padding-top: 0 !important; padding-bottom: 0 !important; border-width: 0 !important; }
  #audience [data-m-item]:not([data-m-open]) h3 + div > span:nth-child(2) { max-height: 0; opacity: 0 !important; }
  #audience [data-m-item] h3 + div > span:nth-child(1) { max-height: 60px; }
  #audience h3 ~ p { font-size: 14.5px !important; line-height: 1.55 !important; overflow: hidden; max-height: 0; opacity: 0; margin-top: 0 !important; transition: max-height .5s cubic-bezier(0.19,1,0.22,1), opacity .35s ease-in-out, margin .5s cubic-bezier(0.19,1,0.22,1); }
  #audience [data-m-open] h3 ~ p { max-height: 240px; opacity: 1; margin-top: 12px !important; }

  /* итог: три линии по правому краю сходятся в точку рядом с «Современный NLP…» (линии и точку рисует mobile.js) */
  #audience > div:nth-child(2) { position: relative; }
  #audience > div:nth-child(2) > div:first-child { position: relative; z-index: 1; }
  #audience [data-m-flow] { display: block !important; }
  #audience > div:nth-child(2) > div:last-child { display: block !important; min-height: 0 !important; margin-top: 18px; padding: 4px 44px 0 0; }
  #audience > div:nth-child(2) > div:last-child > div:first-child { display: none !important; }
  #audience > div:nth-child(2) > div:last-child > div:last-child { padding: 0 !important; }
  #audience > div:nth-child(2) > div:last-child > div:last-child > div:first-child { margin-bottom: 8px !important; }
  #audience > div:nth-child(2) > div:last-child > div:last-child > div:last-child { font-size: 18px !important; }

  /* ---------- результаты: сетка из 6 карточек, подробности по тапу ---------- */
  #results > div:last-child { padding: 32px 18px 28px !important; }
  #results > div:last-child > div:first-child { gap: 10px !important; margin-bottom: 22px !important; }
  #results > div:last-child > div:first-child > p { font-size: 14.5px !important; }
  #results [data-m-skills] { display: grid !important; }
  #results [data-m-skills] ~ div { display: none !important; }
  #results [data-m-card] { -webkit-tap-highlight-color: transparent; outline: none; }
  #results [data-m-card][data-m-open] { grid-column: 1 / -1; background: rgba(255,255,255,0.035) !important; border-color: rgba(199,205,211,0.16) !important; }
  #results [data-m-card][data-m-open] [data-m-card-line] { width: calc(100% + 2px) !important; }
  #results [data-m-card][data-m-open] [data-m-chev] { transform: rotate(-135deg) !important; margin-top: 4px !important; }
  #results [data-m-card][data-m-open] [data-m-card-detail] { max-height: 200px !important; opacity: 1 !important; margin-top: 10px; }

  /* ---------- уровень: inline-аккордеон — требования раскрываются прямо под выбранной областью ---------- */
  #level > div { display: flex !important; flex-direction: column; padding: 32px 18px 28px !important; }
  #level > div > div:first-child { gap: 10px !important; margin-bottom: 18px !important; }
  #level > div > div:first-child > p { font-size: 14.5px !important; }
  #level [data-m-lvl] {
    display: block !important; padding: 0 !important; gap: 0 !important; border-top: 1px solid var(--hairline-1) !important;
    --acc: #c5ff72; transition: background-color .35s ease-in-out, box-shadow .35s ease-in-out;
  }
  #level > div > div:nth-child(3) { --acc: #ff5a3d; }
  #level > div > div:nth-child(4) { --acc: #c7cdd3; border-bottom: 1px solid var(--hairline-1); }
  #level [data-m-lvl] > div:first-child { display: none !important; }
  #level [data-m-lvl][data-m-sel] { background: rgba(255,255,255,0.02); box-shadow: inset 2px 0 0 var(--acc); }
  #level [data-m-lvl] > div:nth-child(2) {
    position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; row-gap: 10px;
    padding: 15px 0 15px 16px; min-height: 44px; box-sizing: border-box;
    cursor: pointer; -webkit-tap-highlight-color: transparent; outline: none;
  }
  #level [data-m-lvl] > div:nth-child(2) > div:first-child { grid-column: 1; grid-row: 1; font-size: 18px !important; margin: 0 !important; opacity: 0.72; transition: opacity .3s ease-in-out; }
  #level [data-m-lvl] > div:nth-child(2) > div:last-child { display: none !important; }
  #level [data-m-lvl] > div:nth-child(2)::before {
    content: attr(data-m-count); grid-column: 2; grid-row: 1 / span 2; align-self: center; display: flex; align-items: center;
    font: 400 13px/1 var(--font-body); color: var(--gray-2);
    min-height: 28px; padding-right: 38px; margin-right: 2px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Ccircle cx='14' cy='14' r='13.5' stroke='%23444a52'/%3E%3Cpath d='M10 12.5l4 4 4-4' stroke='%23c7cdd3' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right center / 28px 28px no-repeat;
    transition: color .3s ease-in-out;
  }
  #level [data-m-lvl][data-m-sel] > div:nth-child(2)::before { color: var(--white); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Ccircle cx='14' cy='14' r='13.5' stroke='%23c5ff72'/%3E%3Cpath d='M10 15.5l4-4 4 4' stroke='%23c5ff72' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
  #level > div > div:nth-child(3)[data-m-sel] > div:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Ccircle cx='14' cy='14' r='13.5' stroke='%23ff5a3d'/%3E%3Cpath d='M10 15.5l4-4 4 4' stroke='%23ff5a3d' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
  #level > div > div:nth-child(4)[data-m-sel] > div:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28' fill='none'%3E%3Ccircle cx='14' cy='14' r='13.5' stroke='%23c7cdd3'/%3E%3Cpath d='M10 15.5l4-4 4 4' stroke='%23c7cdd3' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
  #level [data-m-lvl] > div:nth-child(2):active { background: rgba(255,255,255,0.03); }
  #level [data-m-lvl] > div:nth-child(2)::after {
    content: ""; grid-column: 1 / -1; grid-row: 2; width: calc(var(--n, 3) * 14px); height: 8px; opacity: 0.45;
    background: radial-gradient(circle at 4px 4px, var(--acc) 3px, transparent 3.5px) 0 0 / 14px 8px repeat-x;
    transition: opacity .3s ease-in-out;
  }
  #level [data-m-lvl][data-m-sel] > div:nth-child(2) > div:first-child,
  #level [data-m-lvl][data-m-sel] > div:nth-child(2)::after { opacity: 1; }
  #level [data-m-lvl] ul {
    display: flex !important; flex-direction: column; gap: 0 !important; overflow: hidden;
    margin: 0 !important; padding: 0 16px !important; max-height: 0; opacity: 0;
    transition: max-height .5s cubic-bezier(0.19,1,0.22,1), opacity .3s ease-in-out, padding .5s cubic-bezier(0.19,1,0.22,1);
  }
  #level [data-m-lvl][data-m-sel] ul { max-height: 280px; opacity: 1; padding: 2px 16px 16px !important; }
  #level [data-m-lvl] ul::before { content: attr(data-m-title); font: 500 12px/1.45 var(--font-body); color: var(--acc); letter-spacing: 0.02em; margin-bottom: 6px; padding-top: 12px; border-top: 1px solid var(--hairline-1); }
  #level li { font-size: 14px !important; padding: 5px 0 !important; gap: 10px !important; border: 0 !important; }
  #level li svg { width: 16px; height: 16px; margin-top: 2px !important; }

  #level > div > div:last-child {
    display: grid !important; grid-template-columns: 20px minmax(0, 1fr); column-gap: 12px !important;
    padding: 20px 0 0 !important; margin-top: 22px !important; border: 0 !important; border-radius: 0 !important; background: none !important; align-items: start !important;
  }
  #level > div > div:last-child > svg { margin-top: 0; }
  #level > div > div:last-child > span { font-size: 14px !important; color: var(--gray-1) !important; line-height: 1.45 !important; }
  #level > div > div:last-child > span::before { content: "Готовы к старту"; display: block; font: 600 13px/1.2 var(--font-body); text-transform: uppercase; letter-spacing: 0.14em; color: #c5ff72; margin: 3px 0 7px; }

  /* ---------- программа: вертикальный маршрут курса ---------- */
  #program > div { padding: 32px 18px 28px !important; }
  #program > div > div:first-child { gap: 14px !important; margin-bottom: 20px !important; }
  #program > div > div:first-child > div { gap: 12px !important; }
  #program > div > div:first-child > div > span { font-size: 13px !important; }
  [data-track-host] { display: flex !important; gap: 3px !important; margin-bottom: 26px !important; }
  [data-track-host] > div { min-width: 0 !important; gap: 0 !important; }
  [data-track-host] > div > div:not([data-track]) { display: none !important; }
  [data-track-host] > div > [data-track] { height: 6px !important; }
  #program > div > div[style^="border-top"]:not([data-m-stage]) { display: none !important; }

  #program [data-m-stage] { position: relative; padding-left: 46px; border-top: 0 !important; --sc: #c5ff72; --sl: rgba(197,255,114,0.35); }
  #program [data-m-stage="2"] { --sc: #c7cdd3; --sl: rgba(199,205,211,0.3); }
  #program [data-m-stage="3"] { --sc: #ff5a3d; --sl: rgba(255,90,61,0.35); }
  #program [data-m-stage="4"] { --sc: #ff5a3d; --sl: rgba(255,90,61,0.18); }
  #program [data-m-stage]::before { content: ""; position: absolute; left: 14px; top: 0; bottom: 0; width: 1px; background: var(--sl); }
  #program [data-m-stage="1"]::before { top: 16px; }
  #program [data-m-stage="4"]::before { bottom: auto; height: 16px; background: linear-gradient(180deg, var(--sl), transparent); }
  #program [data-m-stage] > button {
    position: static !important; display: block !important; padding: 8px 26px 26px 0 !important; min-height: 0;
    -webkit-tap-highlight-color: transparent;
  }
  #program [data-m-stage] > button > :nth-child(1) {
    position: absolute; left: 0; top: 2px; width: 29px; height: 29px; box-sizing: border-box; border-radius: 999px;
    display: flex; align-items: center; justify-content: center; font-size: 11px !important; letter-spacing: 0.02em !important;
    border: 1px solid var(--sc); color: var(--sc) !important; background: #0b0b0f; z-index: 1;
    transition: background-color .35s ease-in-out, color .35s ease-in-out, box-shadow .35s ease-in-out;
  }
  #program [data-m-stage="4"] > button > :nth-child(1) { border-style: dashed; }
  #program [data-m-stage]:has(> div[style*="opacity: 1"]) > button > :nth-child(1) { background: var(--sc); color: #0b0b0f !important; box-shadow: 0 0 14px var(--sl); }
  #program [data-m-stage] > button > :nth-child(2) { display: block; font-size: 19px !important; line-height: 1.2 !important; letter-spacing: -0.015em !important; }
  #program [data-m-stage] > button > :nth-child(3) { display: block; margin-top: 6px; font-size: 13px !important; color: var(--sc) !important; }
  #program [data-m-stage] > button::after { display: block; margin-top: 4px; font: 400 13.5px/1.45 var(--font-body); color: var(--gray-2); }
  #program [data-m-stage="1"] > button::after { content: "нейросети и Transformer"; }
  #program [data-m-stage="2"] > button::after { content: "дообучение моделей"; }
  #program [data-m-stage="3"] > button::after { content: "RAG, агенты, инференс, system design"; }
  #program [data-m-stage="4"] > button::after { content: "за пределами Transformer"; }
  #program [data-m-stage] > button > :nth-child(4) { position: absolute; right: 0; top: 10px; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; font-size: 15px !important; color: var(--gray-2) !important; }
  #program [data-prog-body] { padding: 0 0 22px 0 !important; }
  #program [data-prog-body] > div { min-width: 0; }
  #program [style*="grid-template-columns: 104px 1fr"] { padding: 12px 0 !important; gap: 6px !important; grid-template-columns: minmax(0, 1fr) !important; border-top-color: rgba(199,205,211,0.07) !important; }
  #program [style*="grid-template-columns: 104px 1fr"] > span:first-child { font-size: 10px !important; padding: 0 !important; border: 0 !important; justify-self: start; color: var(--sc) !important; }
  #program [style*="grid-template-columns: 104px 1fr"] > div > div { font-size: 15.5px !important; margin-bottom: 4px !important; }
  #program [style*="grid-template-columns: 104px 1fr"] p { font-size: 13.5px !important; line-height: 1.55 !important; overflow-wrap: anywhere; }
  #program > div > div:last-child { margin-top: 24px !important; gap: 12px !important; }
  #program > div > div:last-child > a { width: 100%; text-align: center; padding: 18px 20px !important; }
  #program > div > div:last-child > span { font-size: 14px !important; }

  /* ---------- преподаватели: два редакционных профиля ---------- */
  #teacher > div:nth-child(3) { padding: 32px 18px 28px !important; }
  #teacher > div:nth-child(3) > div:first-child { margin-bottom: 24px !important; }
  [data-teachers] { gap: 0 !important; grid-template-columns: minmax(0, 1fr) !important; }
  [data-teachers] img[alt="Андрей Жогов"] { max-width: none !important; aspect-ratio: 5 / 4 !important; object-position: 50% 28%; }
  [data-teachers] > div:first-child > img:first-child { left: -60px !important; top: -60px !important; width: 300px !important; height: 300px !important; }
  [data-teachers] > div:first-child > div:nth-child(3) { margin-top: 18px !important; }
  [data-teachers] > div:first-child > div:nth-child(4) { font-size: 28px !important; margin: 10px 0 14px !important; }
  [data-teachers] > div:first-child > div:nth-child(5) > div { font-size: 17px !important; padding: 11px 0 !important; }
  [data-teachers] > div:first-child > ul { margin-top: 14px !important; gap: 10px !important; }
  [data-teachers] li { font-size: 14px !important; }
  [data-teachers] ul[data-m-more]:not([data-m-open]) > li:nth-child(n+2) { display: none !important; }
  [data-teachers] ul[data-m-more] > li { animation: m-in .4s cubic-bezier(0.19,1,0.22,1); }
  [data-teachers] ul[data-m-more]::after {
    content: attr(data-m-count); align-self: flex-start; display: inline-flex; align-items: center; min-height: 36px;
    font: 500 13px/1 var(--font-body); color: #c5ff72; letter-spacing: 0.02em;
    margin-left: 17px; border-bottom: 1px solid rgba(197,255,114,0.35);
  }
  [data-teachers] ul[data-m-more][data-m-open]::after { content: "Свернуть"; }

  [data-teachers] > [data-reveal="260"] {
    display: grid; grid-template-columns: 128px minmax(0, 1fr); column-gap: 18px; align-items: center;
    margin-top: 36px; padding-top: 26px !important; border-top: 1px solid var(--hairline-2);
  }
  [data-teachers] > [data-reveal="260"] > div:nth-child(2) { grid-column: 1 / -1; grid-row: 1; margin: 0 0 16px !important; }
  [data-teachers] > [data-reveal="260"] > img { grid-column: 1; grid-row: 2 / 4; width: 128px !important; max-width: none !important; align-self: start; }
  [data-teachers] > [data-reveal="260"] > div:nth-child(3) { grid-column: 2; grid-row: 2; align-self: end; font-size: 23px !important; line-height: 1.05 !important; margin: 0 0 8px !important; }
  [data-teachers] > [data-reveal="260"] > div:nth-child(4) { grid-column: 2; grid-row: 3; align-self: start; margin: 0 !important; font-size: 14px !important; color: var(--gray-1) !important; }
  [data-teachers] > [data-reveal="260"] > ul { grid-column: 1 / -1; grid-row: 4; margin-top: 18px !important; padding-top: 16px !important; border-top: 1px solid var(--hairline-1); gap: 10px !important; }
  [data-teachers] > [data-reveal="260"] li { font-size: 14px !important; line-height: 1.45 !important; }

  /* ---------- стоимость: value summary + детали по желанию ---------- */
  #price > img { width: 100% !important; opacity: 0.12 !important; }
  #price > div { padding: 32px 18px 32px !important; }
  #price h2 { margin-bottom: 20px !important; }
  #price > div > div { gap: 0 !important; padding-top: 24px !important; }
  #price [data-course="installmentLabel"] { font-size: 11px !important; }
  #price [data-course="installmentPrice"] { font-size: 56px !important; line-height: 0.9 !important; }
  #price > div > div > div:first-child > div:nth-child(2) > div { flex: 1 1 auto; flex-wrap: nowrap !important; gap: 0 10px !important; }
  #price [data-course="installmentPeriod"] { font-size: 20px !important; }
  #price [data-course="installmentNote"] { font-size: 13px !important; margin-top: 12px !important; }
  #price > div > div > div:first-child > div:nth-child(4) { margin: 18px 0 26px !important; padding-top: 14px !important; max-width: none !important; }
  #price > div > div > div:first-child > div:last-child { flex-direction: column; align-items: stretch !important; gap: 10px !important; }
  #price > div > div > div:first-child > div:last-child > a { width: 100%; text-align: center; }
  #price > div > div > div:first-child > div:last-child > a:first-child { padding: 19px 20px !important; }
  #price > div > div > div:first-child > div:last-child > a:last-child {
    display: block; padding: 16px 20px !important; border: 1px solid rgba(197,255,114,0.35) !important; border-radius: 999px; font-size: 15px !important;
  }
  #price [data-m-scope] { margin-top: 30px; padding: 0 !important; }
  #price [data-m-included] { display: block !important; }
  #price [data-m-included] [data-m-disclose] { min-height: 56px; -webkit-tap-highlight-color: transparent; }
  #price [data-m-scope] > div:nth-child(2),
  #price [data-m-scope] > div:nth-child(3),
  #price [data-m-scope] > div:nth-child(4),
  #price [data-m-scope] > div:nth-child(5) { display: none !important; }
  #price [data-m-scope][data-m-open] [data-m-detail] { max-height: 200px !important; opacity: 1 !important; }
  #price [data-m-scope] > div:last-child { overflow: hidden; max-height: 0; opacity: 0; transition: max-height .55s cubic-bezier(0.19,1,0.22,1), opacity .35s ease-in-out; }
  #price [data-m-scope][data-m-open] > div:last-child { max-height: 260px; opacity: 1; }
  #price [data-m-scope] > div:last-child > div { padding: 11px 0 !important; gap: 14px !important; }
  #price [data-m-scope] > div:last-child > div:last-child { border-bottom: 0 !important; }
  #price [data-m-scope] > div:last-child > div > span { font-size: 15px !important; }

  /* ---------- контакты (без изменений) ---------- */
  #form > div { padding: 40px 18px 40px !important; gap: 22px !important; }
  #form h2 { margin-bottom: 10px !important; }
  #form p { font-size: 15px !important; }
  #form > div > div:last-child { gap: 10px !important; }
  #form > div > div:last-child > div { padding: 14px 14px 14px 18px !important; gap: 12px !important; flex-wrap: nowrap !important; border-radius: 12px !important; }
  #form > div > div:last-child > div > div { gap: 6px !important; }
  #form > div > div:last-child > div > div > span:first-child { font-size: 10px !important; }
  #form > div > div:last-child > div > div > span:last-child { font-size: 18px !important; }
  #form > div > div:last-child button { font-size: 14px !important; padding: 0 16px !important; min-height: 44px; flex-shrink: 0; }

  /* ---------- footer (без изменений) ---------- */
  footer > div { padding: 30px 18px 28px !important; gap: 22px !important; }
  footer > div > div { gap: 12px !important; }
  footer img { height: 20px !important; }
  footer > div > div > div { gap: 8px 22px !important; }
  footer a { display: inline-flex; min-height: 32px; align-items: center; }
}

@media (min-width: 390px) and (max-width: 600px) {
  [data-hero] [data-nlp-scene] { zoom: 0.84; left: -44px; top: -106px !important; }
  }
@media (min-width: 420px) and (max-width: 600px) {
  [data-hero] [data-nlp-scene] { zoom: 0.92; left: -36px; top: -124px !important; }
}
@media (max-width: 380px) {
  [data-hero] [data-m-scope] > :first-child > span:nth-child(5) { display: none; }
}
@media (max-width: 360px) {
  header > div { gap: 8px !important; }
  header img { height: 13px !important; }
  header > div > a:last-child { font-size: 12px !important; padding: 9px 12px !important; }
  [data-hero] [data-nlp-scene] { zoom: 0.76; left: -56px; top: -92px !important; }
  [data-hero] h1 { font-size: 24px !important; }
  [data-hero] [data-m-scope] > :first-child > span:not(:nth-child(5)) { font-size: 9px !important; padding: 5px 6px !important; }
  [data-hero] [data-m-scope] > [data-reveal="240"] { gap: 12px !important; }
  [data-hero] [data-m-scope] > [data-reveal="240"] > a:first-child { padding: 16px 14px !important; font-size: 15px !important; }
  [data-hero] [data-m-scope] > [data-reveal="240"] > a:last-child { font-size: 13px !important; }
  #results [data-m-skills] { grid-template-columns: minmax(0, 1fr) !important; }
  #price [data-course="installmentPrice"] { font-size: 48px !important; }
  [data-teachers] > [data-reveal="260"] { grid-template-columns: 104px minmax(0, 1fr); }
  [data-teachers] > [data-reveal="260"] > img { width: 104px !important; }
  #form > div > div:last-child > div > div > span:last-child { font-size: 16px !important; }
}
