    /* ════════════════════════════════════════════════════════════
     * PROGRAM — editorial rail-list, 5 modules, 48 weeks
     *
     * Каждый модуль = строка:
     *   [M-num + period]  |  [title + chips тем]  |  [outcome →]
     *
     * Линии — hairline dividers. Никаких карточек/коробок.
     * Outcome имеет accent-arrow «→» и highlighted strong-фразу.
     * ════════════════════════════════════════════════════════════ */

    .q-program {
      padding: var(--q-s-10) 0 var(--q-s-11);
      border-top: 1px solid var(--q-line-soft);
      background: var(--q-bg-0);
    }

    .q-program__head {
      display: flex;
      flex-direction: column;
      gap: var(--q-s-3);
      margin-bottom: var(--q-s-9);
      max-width: 64ch;
    }
    .q-program__head__kicker {
      font: 500 11px/1 "Geist Mono", monospace;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--q-text-low);
    }
    .q-program__head__title {
      margin: 0;
      font-family: "Inter Variable", "Inter", sans-serif;
      font-weight: 600;
      font-size: clamp(28px, 3.6vw, 42px);
      line-height: 1.08;
      letter-spacing: -0.024em;
      color: var(--q-text-hi);
    }
    .q-program__head__title em {
      font-style: normal;
      color: var(--q-accent);
    }
    .q-program__head__sub {
      margin: 4px 0 0;
      font: 400 15px/1.55 "Inter Variable", sans-serif;
      color: var(--q-text-mid);
      max-width: 56ch;
    }

    /* ─── Module list — native <details>/<summary> accordion ─── */
    .q-program__list {
      list-style: none;
      margin: 0;
      padding: 0;
      border-top: 1px solid var(--q-line);
    }
    .q-program__module {
      border-bottom: 1px solid var(--q-line-soft);
    }
    .q-program__module:last-child {
      border-bottom-color: var(--q-line);
    }
    .q-program__module > summary { list-style: none; }
    .q-program__module > summary::-webkit-details-marker { display: none; }

    /* Summary — кликабельный заголовок строки */
    .q-program__module__summary {
      display: grid;
      grid-template-columns: minmax(140px, 18%) 1fr auto;
      gap: var(--q-s-8);
      padding: var(--q-s-7) 0;
      cursor: pointer;
      align-items: start;
      transition: padding-left var(--q-dur-med) var(--q-ease);
    }
    .q-program__module:hover > .q-program__module__summary {
      padding-left: 6px;
    }
    .q-program__module[open] > .q-program__module__summary {
      padding-bottom: var(--q-s-3);
    }

    /* Rail — M-num + period */
    .q-program__module__rail {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .q-program__module__num {
      font: 600 14px/1 "Geist Mono", monospace;
      letter-spacing: 0.04em;
      color: var(--q-text-hi);
      font-feature-settings: "tnum" 1;
    }
    .q-program__module__period {
      font: 500 11px/1.3 "Geist Mono", monospace;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--q-text-low);
    }

    /* Primary — title + brief outcome */
    .q-program__module__primary {
      display: flex;
      flex-direction: column;
      gap: var(--q-s-3);
    }
    .q-program__module__title {
      margin: 0;
      font: 600 clamp(20px, 2.2vw, 26px)/1.2 "Inter Variable", sans-serif;
      letter-spacing: -0.018em;
      color: var(--q-text-hi);
      max-width: 36ch;
    }
    .q-program__module__title code {
      font-family: "Geist Mono", monospace;
      font-size: 0.9em;
      color: var(--q-accent);
    }
    .q-program__module__brief {
      margin: 0;
      font: 400 14px/1.55 "Inter Variable", sans-serif;
      color: var(--q-text-mid);
      max-width: 64ch;
    }
    .q-program__module__brief strong {
      color: var(--q-text-hi);
      font-weight: 500;
    }

    /* Chevron */
    .q-program__module__chevron {
      width: 16px;
      height: 16px;
      color: var(--q-text-low);
      margin-top: 6px;
      transition: transform var(--q-dur-med) var(--q-ease), color var(--q-dur-fast) var(--q-ease);
      flex-shrink: 0;
    }
    .q-program__module[open] .q-program__module__chevron {
      transform: rotate(180deg);
      color: var(--q-text-hi);
    }
    .q-program__module:hover .q-program__module__chevron { color: var(--q-text-mid); }

    /* ─── Detail (open state) ─── */
    .q-program__module__detail {
      display: grid;
      grid-template-columns: minmax(140px, 18%) 1fr;
      gap: var(--q-s-8);
      padding: 0 0 var(--q-s-7);
    }
    .q-program__module__detail::before { content: ""; }
    .q-program__module__detail__inner {
      display: flex;
      flex-direction: column;
      gap: var(--q-s-6);
    }

    /* Phase — sub-фаза по 6 нед */
    .q-program__phase {
      display: flex;
      flex-direction: column;
      gap: var(--q-s-3);
    }
    .q-program__phase__head {
      display: flex;
      align-items: baseline;
      gap: var(--q-s-3);
      padding-bottom: 4px;
      border-bottom: 1px solid var(--q-line-soft);
    }
    .q-program__phase__name {
      font: 600 13px/1.2 "Geist Mono", monospace;
      letter-spacing: 0.02em;
      color: var(--q-text-hi);
    }
    .q-program__phase__period {
      font: 500 10.5px/1 "Geist Mono", monospace;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--q-text-low);
    }

    /* Weeks list */
    .q-program__weeks {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .q-program__week {
      display: grid;
      grid-template-columns: minmax(60px, 70px) minmax(0, 1fr);
      gap: var(--q-s-4);
      padding: 6px 0;
      align-items: baseline;
    }
    .q-program__week__n {
      font: 500 11.5px/1.3 "Geist Mono", monospace;
      letter-spacing: 0.04em;
      color: var(--q-text-low);
      font-feature-settings: "tnum" 1;
    }
    .q-program__week__body {
      display: block;
      font: 400 13.5px/1.55 "Inter Variable", sans-serif;
      color: var(--q-text-mid);
    }
    .q-program__week__theme {
      color: var(--q-text-hi);
      font-weight: 500;
    }
    .q-program__week__art {
      color: var(--q-text-mid);
    }
    .q-program__week__art::before {
      content: "·";
      margin: 0 6px 0 4px;
      color: var(--q-text-low);
    }
    .q-program__week__art strong {
      color: var(--q-accent);
      font-weight: 500;
    }
    .q-program__week--milestone .q-program__week__n {
      color: var(--q-accent);
      font-weight: 600;
    }

    /* Demo Day footer of expanded module */
    .q-program__demoday {
      display: flex;
      flex-direction: column;
      gap: 4px;
      padding: var(--q-s-4);
      border: 1px solid color-mix(in srgb, var(--q-accent) 22%, var(--q-line));
      border-radius: var(--q-r-md);
      background: color-mix(in srgb, var(--q-accent) 4%, var(--q-bg-1));
    }
    .q-program__demoday__label {
      font: 500 10px/1 "Geist Mono", monospace;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--q-accent);
    }
    .q-program__demoday__text {
      margin: 0;
      font: 400 13.5px/1.5 "Inter Variable", sans-serif;
      color: var(--q-text-mid);
    }
    .q-program__demoday__text strong {
      color: var(--q-text-hi);
      font-weight: 600;
    }

    /* Annotation note (для гипотез M03/M04) */
    .q-program__note {
      margin: 0;
      padding: 8px 12px;
      border-left: 2px solid var(--q-line);
      font: 400 12.5px/1.5 "Inter Variable", sans-serif;
      color: var(--q-text-low);
      font-style: italic;
    }

    /* Foot — bottom signal under list */
    .q-program__foot {
      margin-top: var(--q-s-7);
      padding: var(--q-s-5);
      border: 1px solid var(--q-line-soft);
      border-radius: var(--q-r-lg);
      background: var(--q-bg-1);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--q-s-5);
      flex-wrap: wrap;
    }
    .q-program__foot__text {
      font: 400 14px/1.5 "Inter Variable", sans-serif;
      color: var(--q-text-mid);
      max-width: 56ch;
    }
    .q-program__foot__text strong {
      color: var(--q-text-hi);
      font-weight: 600;
    }
    .q-program__foot__cta {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 10px 16px;
      border: 1px solid var(--q-line);
      border-radius: var(--q-r-md);
      font: 500 13px/1 "Inter Variable", sans-serif;
      color: var(--q-text-hi);
      text-decoration: none;
      transition: border-color var(--q-dur-fast) var(--q-ease), background var(--q-dur-fast) var(--q-ease);
    }
    .q-program__foot__cta:hover {
      border-color: var(--q-line-hover);
      background: var(--q-bg-2);
    }
    .q-program__foot__cta__arrow {
      transition: transform var(--q-dur-fast) var(--q-ease);
    }
    .q-program__foot__cta:hover .q-program__foot__cta__arrow {
      transform: translateX(3px);
    }

    /* Program responsive */
    @media (max-width: 960px) {
      .q-program__module__summary {
        grid-template-columns: 1fr auto;
        gap: var(--q-s-4);
      }
      .q-program__module__rail {
        flex-direction: row;
        gap: 12px;
        align-items: baseline;
        grid-column: 1 / -1;
      }
      .q-program__module__primary {
        grid-column: 1 / 2;
        grid-row: 2;
      }
      .q-program__module__chevron {
        grid-column: 2 / 3;
        grid-row: 2;
      }
      .q-program__module__detail {
        grid-template-columns: 1fr;
        gap: 0;
      }
      .q-program__module__detail::before { display: none; }
    }

    /* ════════════════════════════════════════════════════════════
     * ADDENDUM 2026-05-27 — UI-фиксы программы:
     *   1) .q-pulse-badge   — inline-chip для Pulse v0.X
     *   2) .q-gloss          — обёртка-тултип для англицизмов
     *   3) milestone-strip  — accent-полоса вместо ⭐ emoji
     * ════════════════════════════════════════════════════════════ */

    /* ─── Pulse-badge ─── */
    .q-pulse-badge {
      display: inline-block;
      padding: 1px 7px;
      margin: 0 2px;
      font-family: "Geist Mono", monospace;
      font-size: 0.82em;
      font-weight: 500;
      letter-spacing: 0.02em;
      line-height: 1.5;
      color: var(--q-accent);
      background: color-mix(in srgb, var(--q-accent) 9%, transparent);
      border: 1px solid color-mix(in srgb, var(--q-accent) 28%, transparent);
      border-radius: 4px;
      white-space: nowrap;
      vertical-align: baseline;
      font-feature-settings: "tnum" 1;
    }

    /* ─── q-term: tooltip-обёртка для англицизмов ─── */
    .q-gloss {
      border-bottom: 1px dotted var(--q-text-low);
      cursor: help;
      position: relative;
      transition: color var(--q-dur-fast) var(--q-ease),
                  border-bottom-color var(--q-dur-fast) var(--q-ease);
    }
    .q-gloss:hover,
    .q-gloss:focus-visible {
      color: var(--q-text-hi);
      border-bottom-color: var(--q-accent);
      outline: none;
    }

    @media (hover: hover) {
      .q-gloss:hover::after,
      .q-gloss:focus-visible::after,
      .q-gloss.is-open::after {
        content: attr(data-tip);
        position: absolute;
        bottom: calc(100% + 8px);
        left: 50%;
        transform: translateX(-50%);
        background: var(--q-bg-2);
        color: var(--q-text-hi);
        border: 1px solid var(--q-line);
        padding: 8px 12px;
        border-radius: 6px;
        font: 400 12px/1.45 "Inter Variable", sans-serif;
        letter-spacing: 0;
        white-space: normal;
        width: max-content;
        max-width: 280px;
        z-index: 50;
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
        pointer-events: none;
      }
      .q-gloss:hover::before,
      .q-gloss:focus-visible::before,
      .q-gloss.is-open::before {
        content: "";
        position: absolute;
        bottom: calc(100% + 4px);
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
        width: 8px;
        height: 8px;
        background: var(--q-bg-2);
        border: 1px solid var(--q-line);
        border-top: none;
        border-left: none;
        z-index: 51;
        pointer-events: none;
      }
    }

    /* Touch: тултип появляется только при .is-open (выставляет JS на tap) */
    @media (hover: none) {
      .q-gloss { border-bottom-style: dashed; }
      .q-gloss.is-open::after {
        content: attr(data-tip);
        position: absolute;
        bottom: calc(100% + 8px);
        left: 50%;
        transform: translateX(-50%);
        background: var(--q-bg-2);
        color: var(--q-text-hi);
        border: 1px solid var(--q-line);
        padding: 8px 12px;
        border-radius: 6px;
        font: 400 12px/1.45 "Inter Variable", sans-serif;
        white-space: normal;
        width: max-content;
        max-width: 260px;
        z-index: 50;
        box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
        pointer-events: none;
      }
    }

    /* ─── Milestone enhancement: тонкая accent-полоса слева ─── */
    .q-program__week--milestone {
      padding-left: 10px;
      margin-left: -12px;
      border-left: 2px solid var(--q-accent);
    }
    .q-program__week--milestone .q-program__week__theme {
      color: var(--q-text-hi);
    }
