/* v21 · компьютер (.d): сцена слева на высоту окна, справа колонка шагов, рельс под сценой. */
.d .top { padding: 12px 32px; }
.d .tl { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, 1fr); gap: 40px; padding: 24px 32px 0; max-width: 1440px; margin: 0 auto; }
.d .stage-wrap { position: sticky; top: 76px; height: calc(100vh - 96px); display: flex; flex-direction: column; gap: 14px; align-self: start; }
.d .stage { flex: 1; min-height: 320px; }
.d .rail { display: grid; grid-template-columns: repeat(6, 1fr); gap: 4px; padding-top: 10px; }
.d .rail::before { content: ""; position: absolute; left: 13px; right: 13px; top: 23px; height: 2px; background: var(--line); }
.d .rail-fill { left: 13px; top: 23px; height: 2px; width: calc((100% - 26px) * var(--p)); }
.d .rail a { flex-direction: column; align-items: flex-start; gap: 4px; position: relative; z-index: 1; }
.d .col { padding-bottom: 40vh; }
.d .intro { min-height: calc(100vh - 140px); display: flex; flex-direction: column; justify-content: center; padding-bottom: 6vh; }
.d .kin { font-size: clamp(52px, 6.2vw, 96px); }
.d .lead { font-size: 19px; max-width: 34em; }
.d .steps { display: flex; flex-direction: column; gap: 40vh; }
.d .step { min-height: 50vh; }
.d .step:first-child { min-height: 0; }
.d .quote { margin-top: 40vh; }
.d .mbar { display: none; }
