/* v33 — широкий экран (≥ 768): пролог на весь экран с гербом слева от заголовка;
   салон — сцена прилипает слева (≈55%), главы с большим воздухом — справа. */
.pro { min-height: calc(100vh - 56px); padding: 60px 6vw 70px; justify-content: center; }
.crest { width: clamp(140px, 13vw, 200px); margin-bottom: 30px; }
.pro .kt { font-size: clamp(56px, 7.4vw, 112px); max-width: 12em; }
.lead { font-size: 20px; }

.salon { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); border-top: 1px solid var(--line); }
.stage { position: sticky; top: 56px; height: calc(100vh - 56px); min-height: 520px; border-right: 1px solid var(--line); }
.chapters { padding: 0 clamp(28px, 5vw, 80px); }
.ch { min-height: 88vh; padding: 14vh 0 10vh; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; }
.ch:last-child { border-bottom: 0; }
.ch .kt { font-size: clamp(42px, 4.4vw, 64px); }
.items { grid-template-columns: 1fr 1fr; gap: 18px; }
.box { width: min(100%, 380px); }

.fears, .req { max-width: 1180px; margin: 0 auto; padding: 120px clamp(28px, 6vw, 80px) 100px; }
.fears .kt, .req .kt { font-size: clamp(44px, 5vw, 72px); }
.fears ol { grid-template-columns: repeat(3, 1fr); gap: 40px; }
.fears li { border-top: 1px solid var(--line2); }
.req { border-top: 1px solid var(--line); }
.req-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(40px, 6vw, 90px); margin-top: 50px; align-items: start; }
.bar { display: none; }
.foot { padding-bottom: 50px; }
