/* прогон 34 — слой поверх leaf33 */
/* S34 · Роман 02.11: «в «Вопросах»… строка подчёркивается цветом заглавной буквы… на телефоне она поломанная, нарезанная на куски» —
   подчёркивание обходило хвосты букв (skip-ink: у, р, д, ф) и рвалось; теперь одна ровная линия (ПК и телефон) */
.v-owl18 .fq-q .t{text-decoration-skip-ink:none!important}
/* R2 34: ступенька оставалась и после буквицы — у «.ini» свой сдвиг вниз, и кусок подчёркивания уезжал с ней; на телефоне перенос давал обрывки.
   Подчёркивание теперь не text-decoration, а одна линия под всем вопросом (с буквицей), растёт слева направо */
.v-owl18 .fq-q .t{--fq-l:var(--ul,var(--ic,var(--gold)));text-decoration-line:none!important;display:inline-block;padding-bottom:.14em;
  background:linear-gradient(var(--fq-l),var(--fq-l)) 0 100% / 0 2px no-repeat;transition:background-size .25s ease;
  flex:0 1 auto!important;width:fit-content!important;max-width:100%}
.v-owl18 .fq-q[aria-expanded="true"] .t{background-size:100% 2px}
@media (hover:hover) and (min-width:1024px){ .v-owl18 .fq-q:hover:not([aria-expanded="true"]) .t{--fq-l:color-mix(in srgb,var(--ul,var(--ic,var(--gold))) 45%,transparent);background-size:100% 2px} }
@media (prefers-reduced-motion:reduce){ .v-owl18 .fq-q .t{transition:none} }

/* S34 · R2: рамка фокуса 3 px — правило leaf27 тем же весом перебивало leaf32 (при zoom .9 выходил 1 px экрана) */
:root[data-look] :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline-width:3px!important}

/* ══ H34: шапка и ангел (дизайнер H, прогон 34) ═══════════════════════════════════════════════════════════════════════
   Роман 02.11 вечер (голос по пульту 33): ПК – «облака подрастянуть… заполнить вот до сюда… чтобы чуть-чуть выходили за пределы коробки» (эксперимент, пункт hc);
   телефон – «шапку чуть-чуть прозрачнее… от края до края… облака… выходили за пределы шапки вниз» (эксперимент, пункт ht); нимб «справа внизу недорисованный»;
   «душнилы»: «свиток криво стоит… наклон шрифта» (новый пункт hs «Шапка: надпись ангела»).
   «Редакция» R1: облака были одним рисунком и его зеркальной копией под CSS-сепией (программная раскраска). Здесь – новая цельная гряда художника
   g34-clouds-wide-b (тёплый тон в самом файле, без фильтров), отражена целиком по горизонтали: свет слева, как у ангела и лучей неба. Ангел не двигается. */

/* H34 · (1) ПК, пункт «Шапка: облака под ангелом» (hc): h33 – как сейчас; h34 – новая гряда в коробке (вместо зеркальной пары), закрывает склон справа;
   h34w – эксперимент Романа: гряда во всю ширину низа коробки, концами на 3 % за боковые кромки, низ выходит за кромку и тает в лист.
   Гряда – слой ::after самой коробки (z 3: над ангелом, под текстом и стрелкой). Высота левого края гряды считается в единицах шапки:
   облака не поднимаются выше 710u (стрелка под кнопкой – до 714u), на 1440 и на 1710 одинаково. */
@media (min-width:1024px){
  html:is([data-hc="h34"],[data-hc="h34w"]) [data-sec="hero"] .v-sky28 .cl-bed{display:none!important}
  html:is([data-hc="h34"],[data-hc="h34w"]) [data-sec="hero"] .v-sky28.v-angel17.hero::after{content:"";position:absolute;z-index:3;pointer-events:none;
    aspect-ratio:2064/512;background:url(img34/h34c-clouds-2064.webp) 0 0/100% 100% no-repeat}
  html[data-hc="h34"] [data-sec="hero"] .v-sky28.v-angel17.hero::after{right:calc(-60 * var(--u));width:calc(1000 * var(--u));bottom:calc(-40 * var(--u))}
  /* подол уходит в новую гряду раньше: собственные облака картинки ангела (белая дымка под подолом) не выглядывают между клубами */
  html:is([data-hc="h34"],[data-hc="h34w"]) [data-sec="hero"] .v-sky28 .angel .fig{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 69%,transparent 75%)!important;mask-image:linear-gradient(180deg,#000 0,#000 69%,transparent 75%)!important}
  /* h34w: коробка не режет облака по бокам и снизу (верх режет – над ангелом ничего не видно); небо, гора и туман режутся своей рамкой */
  html[data-hc="h34w"] [data-sec="hero"] .v-sky28.v-angel17.hero{overflow:visible!important;clip-path:inset(0 -6% -30% -6%)}
  html[data-hc="h34w"] [data-sec="hero"] .v-sky28 :is(.sky28,.land28,.m32-mist){overflow:hidden;overflow:clip;border-radius:inherit}
  html[data-hc="h34w"] [data-sec="hero"] .v-sky28.v-angel17.hero::after{left:-4%;width:108%;bottom:0;translate:0 calc(77% - 150 * var(--u));
    -webkit-mask-image:linear-gradient(#000 0,#000 calc(23% + 150 * var(--u)),transparent calc(23% + 214 * var(--u)));
    mask-image:linear-gradient(#000 0,#000 calc(23% + 150 * var(--u)),transparent calc(23% + 214 * var(--u)))}
  /* гора в этом варианте стоит вместе с коробкой (отстаёт только небо): её нижний край теперь открыт облакам, и при отставании она выползала бы из-под коробки,
     а сдвиг картинки внутри рамки открывал её верхний срез; гору почти целиком закрывают облака – разницы в движении не видно */
  html[data-hc="h34w"] [data-sec="hero"] .v-sky28 .land28{animation:none!important;transform:none!important}
}

/* H34 · (2) телефон, пункт «Шапка на телефоне» (ht), новое значение h34a (эксперимент Романа): раскладка h33a (ангел под текстом, шапка в один экран),
   но коробка от края до края экрана (без полос фона по бокам), небо прозрачнее (лист просвечивает), низ неба тает; облака – та же гряда художника
   (средняя часть), плотные у подола, выходят за нижнюю кромку шапки на 44 px и тают в лист до книжки-разделителя. Только телефон.
   Ниже до «h34a ↓» – правила h33a, повторённые для h34a (селектор h33 их не ловит). */
@media (max-width:1023.98px){
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28.v-angel17.hero{--hd:772;--pu:clamp(.8px, calc(100vw / 390), 1.35px);--avh:100vh;
    --u:max(.66px, min(var(--pu), calc((var(--avh) - 58 * var(--pu) - 12px) / var(--hd))));
    --exk:max(0px, 41.6px - 41.6 * var(--u));
    --exb:calc(2.6 * max(0px, 16px - 19 * var(--u)) + max(0px, 44px - 52 * var(--u)));
    --sh0:0px;--Ph:calc(var(--hd) * var(--u));
    height:calc(var(--hd) * var(--u))!important;margin-top:0!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .copy{left:calc(14 * var(--pu));right:calc(14 * var(--pu));top:calc(18 * var(--u));width:auto!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 h1{font-size:calc(56 * var(--u))!important;line-height:.88;margin:calc(12 * var(--u)) 0 calc(14 * var(--u))!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .lede{font-size:max(16px, calc(19 * var(--u)))!important;line-height:1.3;max-width:none}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .acts{margin-top:calc(18 * var(--u))!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .acts .btn{min-height:max(44px, calc(52 * var(--u)))!important;font-size:max(16px, calc(18 * var(--u)))}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .angel{width:calc(var(--aw) * var(--u))!important;left:calc(50% - var(--aw) * var(--u) / 2)!important;top:calc(var(--ay) * var(--u) + var(--sh0))!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .angel .fig{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 var(--fm0,74%),transparent var(--fm1,80%))!important;mask-image:linear-gradient(180deg,#000 0,#000 var(--fm0,74%),transparent var(--fm1,80%))!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .cl-bed{-webkit-mask-image:none!important;mask-image:none!important;opacity:1!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .cl-bed.b1{width:calc(var(--c1w) * var(--u))!important;left:calc(50% - var(--c1w) * var(--u) / 2)!important;top:calc(var(--c1y) * var(--u) + var(--sh0))!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .cl-bed.b2{width:calc(var(--c2w) * var(--u))!important;left:calc(50% + var(--c2x) * var(--u))!important;top:calc(var(--c2y) * var(--u) + var(--sh0))!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .angel .sheet{left:49.8%!important;width:31.6%!important;height:18.6%!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .angel .pv{font-size:max(11.5px, 4.9cqw)!important;line-height:1.12}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .angel .pv .t{display:inline!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .angel .pv[data-ref="Proverbs 4:7"]{display:none!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .angel .pv cite{font-size:max(11.5px, 4.3cqw)!important;margin-top:.45em!important;line-height:1.1!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .m32-chev{display:none!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .sky28{top:0;bottom:auto;height:calc(var(--sh) * var(--u))}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28:not(.sky28-yar) .sky28 img{object-position:50% 0}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .land28{display:none!important}
}
@supports (height:100svh){ @media (max-width:1023.98px){ html[data-ht="h34a"] [data-sec="hero"] .v-sky28.v-angel17.hero{--avh:100svh} } }
@media (max-width:1023.98px){
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28{--aw:280;--ay:336;--fm0:70%;--fm1:76%;--c1w:420;--c1y:680;--c2w:470;--c2x:-235;--c2y:580;--sh:1100}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28.v-angel17.hero{--sh0:calc(var(--exk) + var(--exb))}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28:not(.sky28-yar) .sky28::after{background:radial-gradient(90% 34% at 28% 15%, rgba(251,248,241,.72) 0, rgba(251,248,241,.42) 55%, rgba(251,248,241,0) 100%)}
}
@media (max-width:389.98px){
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .kick{letter-spacing:.085em!important}
}
/* h34a ↓ */
@media (max-width:1023.98px){
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28.v-angel17.hero{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:auto!important;max-width:none!important;
    border-radius:0!important;overflow:visible!important;overflow-x:clip!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .copy{left:calc((14 + var(--gut,16)) * var(--pu))!important;right:calc((14 + var(--gut,16)) * var(--pu))!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .sky28{height:100%!important;overflow:hidden;overflow:clip;border-radius:0!important;opacity:.8;
    -webkit-mask-image:linear-gradient(#000 0,#000 calc(100% - 96 * var(--u)),transparent 100%);mask-image:linear-gradient(#000 0,#000 calc(100% - 96 * var(--u)),transparent 100%)}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .sky28 picture{height:calc(var(--sh) * var(--u))}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28 .cl-bed{display:none!important}
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28.v-angel17.hero::after{content:"";position:absolute;z-index:3;pointer-events:none;
    left:calc(50% - 273 * var(--u));width:calc(495 * var(--u));aspect-ratio:1300/512;top:calc(100% - 134 * var(--u));
    background:url(img34/h34c-clouds-m-1300.webp) 0 0/100% 100% no-repeat;
    -webkit-mask-image:linear-gradient(#000 0,#000 calc(134 * var(--u)),transparent calc(134 * var(--u) + 44px));
    mask-image:linear-gradient(#000 0,#000 calc(134 * var(--u)),transparent calc(134 * var(--u) + 44px))}
}

/* H34 · (3) нимб (Роман: «справа внизу… недорисованный», скрин 2). Разбор: в самом рисунке нижне-правая четверть нимба (3–5 часов) бледнее – штрих гаснет к кромке
   (это заказ художнику), а слой сияния это усиливал: свет за нимбом стоял на треть радиуса выше и левее центра нимба (40,4 % / 13,2 % вместо 42,0 % / 15,7 % картинки;
   на телефоне 41 % / 14,8 % вместо 42,0 % / 18,2 %) – низ справа оставался без света. Центр света – по замеру круга нимба (leaf34.js, H34).
   R2: нимб «дышал» масштабом – теперь только прозрачностью, как блики (ангел и всё в нём стоит). */
@keyframes h34-breath{from{opacity:.78}to{opacity:1}}
.g25-halo{animation-name:h34-breath}

/* H34 · (4) пункт «Шапка: надпись ангела» (hs): h34s (по умолчанию) – надпись лежит на листе, а не поверх него; as – как было (курсив Vollkorn со скосом −2,4°).
   R1: лист нарисован в перспективе (верхний край почти горизонтален, нижний уходит вниз вправо ≈ 6°, левый край наклонён влево), а строки стояли ровно со скосом –
   лист и текст в разных плоскостях, отсюда «криво»; курсив плюс скос давали двойной наклон. Теперь поле надписи натянуто на четыре угла листа
   (перспектива из углов картинки: ПК 568,712 · 935,718 · 928,1175 · 542,1135 из 1120 px; телефон 352,440 · 590,442 · 580,725 · 325,707 из 700 px) –
   строки идут вдоль листа, как написанные на нём. Прямой EB Garamond вместо курсива, поля ≈ 11 %, LORD – капителью, как в Библии короля Якова, ссылка – капителью
   с разрядкой, тёмным золотом; чернила #2a1f14 через multiply. Всё в единицах ширины ангела (cqw) – на любом экране одинаково. */
html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .sheet{left:0!important;top:0!important;width:33.71cqw!important;height:39.32cqw!important;
  transform-origin:0 0!important;transform:translate(50.714cqw,63.571cqw) matrix(.92416,.01511,-.03114,.9204,0,0) perspective(100cqw) rotateY(-11.981deg) rotateX(7.543deg)!important;
  padding:3.2cqw 3.1cqw 6.4cqw!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:center!important;align-content:center!important;justify-items:center}
html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv{font:normal 500 4.7cqw/1.16 var(--f-head)!important;color:#2a1f14!important;letter-spacing:.005em;text-wrap:balance;hyphens:manual}
html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv.long{font-size:3.7cqw!important;line-height:1.16!important}
html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv cite{font:normal 600 2.8cqw/1.15 var(--f-head)!important;letter-spacing:.12em!important;text-transform:uppercase;color:#8a6a1f!important;margin-top:.8em!important}
html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv .h34-sc{font-size:.78em;letter-spacing:.045em;font-weight:560}
/* телефон: поле – по листу телефонной картинки; на свитке короткое изречение (до 5 слов, точный отрывок того же стиха), кегль от 13 px;
   полный стих и перевод остаются в «Переводе свитка» (свиток на телефоне – картинка, для чтения вслух – строка под ним) */
@media (max-width:1023.98px){
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .sheet{width:35.26cqw!important;height:39.4cqw!important;
    transform:translate(50.286cqw,62.857cqw) matrix(.92413,.00777,-.06813,.91613,0,0) perspective(100cqw) rotateY(-8.508deg) rotateX(10.157deg)!important;
    padding:2.6cqw 2.3cqw 5.6cqw!important}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel :is(.pv,.pv.long){display:block!important;font-size:max(13px, 5.7cqw)!important;line-height:1.1!important}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv .t{display:none!important}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv::before{display:block}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv[data-ref="Proverbs 9:10"]::before{content:"The beginning of wisdom"}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv[data-ref="Proverbs 15:1"]::before{content:"A soft answer"}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv[data-ref="Proverbs 25:11"]::before{content:"A word fitly spoken"}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv[data-ref="Proverbs 18:21"]::before{content:"The power of the tongue"}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv[data-ref="Proverbs 4:7"]::before{content:"Get wisdom"}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv[data-ref="Proverbs 27:17"]::before{content:"Iron sharpeneth iron"}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv[data-ref="Proverbs 16:24"]::before{content:"Pleasant words"}
  html[data-hs="h34s"] [data-sec="hero"] .v-angel17.hero .angel .pv cite{font-size:max(11.5px, 3.8cqw)!important;letter-spacing:.05em!important;margin-top:.55em!important}
}

/* H34 · пульт: «Облака под ангелом» – только ПК (как в H33, строка по названию группы); «Шапка на телефоне» – только телефон (по ключу h33b, H33) */

/* A34: пункт пульта «bf · Цвет строки записи» у «С чего начать» (Роман 02.11: «голубая строка ввода… ник или телефон и кнопка записаться…
   голубой цвет не нравится, замени… пусть предлагают разные»). Строка записи = плашка формы под оглавлением (все варианты раздела на x32).
   as – как сейчас (светлая лазурь); kost – кость с золотой каймой, кнопка лазурью («белый лист с каймой, цвет только в словах», 01.11);
   yar – светлая ярь, кнопка ярью; gold – кость с золотой каймой, кнопка золотом (тушь по золоту). Мяты и «старой бумаги» нет – проверено кадром. */
html[data-bf="kost"] [data-sec="board"] .x32 .x32-form{background:#fbf8f1!important;box-shadow:inset 0 0 0 1px rgba(201,168,76,.62)!important}
html[data-bf="kost"] [data-sec="board"] .x32 .x32-in{box-shadow:inset 0 0 0 1px rgba(36,38,43,.2)}
html[data-bf="yar"] [data-sec="board"] .x32 .x32-form{background:color-mix(in srgb,#2c5a4e 9%,#fffdf8)!important;box-shadow:inset 0 0 0 1px rgba(44,90,78,.24)!important}
html[data-bf="yar"] [data-sec="board"] .x32 .x32-in{box-shadow:inset 0 0 0 1px rgba(44,90,78,.32)}
html[data-bf="yar"] [data-sec="board"] .x32 .x32-in:focus{box-shadow:inset 0 0 0 1.5px #2c5a4e}
html[data-bf="yar"] [data-sec="board"] .x32 .x32-btn{--cta-bg:#2c5a4e;--cta-fg:#fff;background:#2c5a4e!important}
html[data-bf="yar"] [data-sec="board"] .x32 .x32-btn::before{background:#2c5a4e!important}
html[data-bf="yar"] [data-sec="board"] .x32 :is(.x32-note a,.x32-chip .b30-arr){color:#2c5a4e}
html[data-bf="gold"] [data-sec="board"] .x32 .x32-form{background:#fbf8f1!important;box-shadow:inset 0 0 0 1px rgba(201,168,76,.62)!important}
html[data-bf="gold"] [data-sec="board"] .x32 .x32-in{box-shadow:inset 0 0 0 1px rgba(36,38,43,.2)}
html[data-bf="gold"] [data-sec="board"] .x32 .x32-in:focus{box-shadow:inset 0 0 0 1.5px #8a6a1f}
html[data-bf="gold"] [data-sec="board"] .x32 .x32-btn{--cta-bg:#c9a84c;--cta-fg:#24262b;background:#c9a84c!important;color:#24262b!important}
html[data-bf="gold"] [data-sec="board"] .x32 .x32-btn::before{background:#b8963d!important}


/* ══ C34 · разделители (дизайнер C, прогон 34; пункт пульта «Разделители», html[data-rd]: p34 – новое, as – как было) ═══════════════
   Роман 02.11: глобус «покрупнее»; книга перед «Ценами» «тоже… увеличить в размерах»; колокольчик «чуть ниже его опустить, и чтобы он… шевелился, болтался»;
   «секции достаточно близко друг к другу и к разделителю… расстояние чуть-чуть увеличить по умолчанию».
   (1) шаг 240u → 280u (телефон 144 → 168); (2) глобус и книга ×1,35 (телефон ×1,2); (3) у плит (низ «Отзывов», верх и низ «Записи») плита съедала
   48–56u зазора – виньетка стояла у самой плиты (колокольчик – в 38u под «Записью» и в 86u над «Между уроками»); теперь зазор у плиты больше на её выступ,
   виньетка – посередине видимой бумаги, то есть ниже; (4) колокольчик – отдельным слоем (вырезан из того же рисунка художника, под ним лента та же),
   подвес – в кольце; качание от прокрутки ±6° (ключевые кадры M32 m32-sway); маятник с затуханием и «звонок» по касанию – место для M. */
html[data-rh="p32"][data-rd="p34"]{--zg:280}
html[data-rh="p32"][data-rd="p34"][data-gb="nb"] [data-sec="how"]{--p-rw:830;--p-rhh:86}
html[data-rh="p32"][data-rd="p34"] [data-sec="prices"]{--p-rw:603;--p-rhh:97}
html[data-rh="p32"][data-rd="p34"] [data-sec="channel"]{--p-rh:url(img34/p34-rh-g-nobell.webp)}
/* виньетки у плит: зазор больше на выступ плиты (--zo), виньетка в середине видимой бумаги */
html[data-rh="p32"][data-rd="p34"] [data-sec="how"]{--zo:56}
html[data-rh="p32"][data-rd="p34"] [data-sec="zapis"]{--zo-t:48}
html[data-rh="p32"][data-rd="p34"] [data-sec="channel"]{--zo:48}
html[data-rh="p32"][data-rd="p34"][data-zg="even"] main.wrap > [data-sec]:is([data-sec="how"],[data-sec="zapis"],[data-sec="channel"]):not([hidden]) > section:is(#how,#zapis,#channel,[id]){
  margin-top:calc((var(--zg) + var(--zo,0) + var(--zo-t,0)) * var(--u))!important}
html[data-rh="p32"][data-rd="p34"]:not([data-zg="as"]) main.wrap > [data-sec]:is([data-sec="how"],[data-sec="zapis"],[data-sec="channel"]):not([hidden])::before{
  margin:calc((var(--zo,0) + (var(--zg) - var(--p-rhh)) * .5) * var(--u)) auto calc(((var(--zg) + var(--p-rhh)) * -.5 - var(--zo,0)) * var(--u))}
/* колокольчик отдельным слоем над лентой: место и размер – доли того же рисунка 1200×171 (слой 118×120 от точки 541, 51) */
html[data-rh="p32"][data-rd="p34"] main.wrap > [data-sec="channel"]:not([hidden]){position:relative}
html[data-rh="p32"][data-rd="p34"] main.wrap > [data-sec="channel"]:not([hidden])::after{content:"";position:absolute;z-index:2;pointer-events:none;
  left:calc(50% + (var(--p-rw) * (541 / 1200 - .5)) * var(--u));top:calc(var(--p-rhh) * 51 / 171 * var(--u));
  width:calc(var(--p-rw) * 118 / 1200 * var(--u));height:calc(var(--p-rhh) * 120 / 171 * var(--u));
  background:url(img34/p34-bell.webp) 0 0 / 100% 100% no-repeat;transform-origin:50% 5%}
@supports (animation-timeline: view()){ @media (prefers-reduced-motion:no-preference){
  html[data-mo="m32"][data-rh="p32"][data-rd="p34"]:not(.still):not([data-theatre="off"]) main.wrap > [data-sec="channel"]:not([hidden])::after{
    --m-sway:6deg;animation:m32-sway linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
} }
@media (max-width:1023.98px){
  html[data-rh="p32"][data-rd="p34"]{--zg:168}
  html[data-rh="p32"][data-rd="p34"][data-gb="nb"] [data-sec="how"]{--p-rw:424;--p-rhh:44}
  html[data-rh="p32"][data-rd="p34"] [data-sec="prices"]{--p-rw:342;--p-rhh:55}
  /* телефон: выступы плит в px (низ «Отзывов» 40, «Запись» 28) — в u при u ≈ 1 px на 390 */
  html[data-rh="p32"][data-rd="p34"] [data-sec="how"]{--zo:40}
  html[data-rh="p32"][data-rd="p34"] [data-sec="zapis"]{--zo-t:28}
  html[data-rh="p32"][data-rd="p34"] [data-sec="channel"]{--zo:28}
}


/* 34 · главная сессия · пункт «Шапка «Фавор»: гора» (hf = wc): акварельная гора (класс t34wc ставит leaf34.js) – полоса выше и шире коробки,
   вершина (41,7 % картинки) встаёт под кнопку записи, долина уходит под облака; на телефоне – прежние размеры слоя */
@media (min-width:1024px){
  [data-sec="hero"] .v-sky28 .land28.t34wc{height:46%!important}
  [data-sec="hero"] .v-sky28 .land28.t34wc img{width:130%!important;max-width:none!important;margin-left:-26%!important;object-position:50% 100%!important}
}
/* 34 · главная сессия: гряда облаков шапки (hc h34/h34w, телефон ht h34a) – вторая версия художника (заказ 2, g34-clouds-wide-c): внутренние обводки сняты,
   облака одно от другого отделены густотой штриха, как складки одеяния ангела; наружный контур тонкий. Отражена целиком, как прежняя (свет слева). */

/* ══ E34: «Редакция» – правки по находкам R1 (картинка и рука) и R2 (польза и механики), исполнитель E, прогон 34 ═══════════════════════
   Роман 02.11: «у них будет отдельный пункт в пульте, назовём этот пункт Редакция». Пункт html[data-red]: on – «Прогон 34 · правки Редакции» (по умолчанию),
   off – как без них. Всё ниже действует только при on. Что уже взяли дизайнеры H/A/B/C и главная сессия, не повторяю (council64/studio/CHAT.md, REPORT-*.md);
   движение и пасхалки – у M. Слова и поведение – leaf34.js (E34). */

/* E34 · (1) R2, главное № 1 – «мелко»: под zoom .9 подписи были 14,4 px на экране, рубрики-капитель 14,4, «образование» 13,5, мелкий курсив Garamond 14,4–15,8,
   а основной текст стоял в единицах ширины – Cmd+ его не увеличивал. Пол в px (только ПК, телефон и так ≥ 16): основной текст и подзаголовки ≥ 18 px CSS (16,2 на экране,
   растёт с Cmd+ и не мельчает на 1280–1366), подписи ≥ 18, капитель-рубрики ≥ 17, надзаголовок шапки 18u (тест «5 секунд»: что это за сайт – говорит только он);
   мелкий курсив Garamond (роль преподавателя, счёт «Отзывов», длительности «Обучения», «Сейчас в Москве…») – прямым Brygada 18.
   На 1440 и 1710 основной текст не меняется (он там уже 18 и больше), растут подписи и рубрики – все разделы по-прежнему в один экран (≤ 778, проверено fit1). Подвал – как был (см. (7)); телефон не трогаю:
   там подписи и так 16–17 px, а надзаголовок шапки в 18 px не встаёт в строку. */
@media (min-width:1024px){
  html[data-red="on"]:not([data-tt="as"]) :is(.zd-card .zd-txt > p, .zv-p, .v-x30k .d7-p, .fq-t, .y30a-gift-a > p, .pz-lead, .x30h-bx, .h30-steps .h30-s, .y30a-s){
    font-size:max(18px, calc(var(--t-body) * var(--ut)))!important}
  html[data-red="on"]:not([data-tt="as"]) .rubric .rubric-sub{font-size:max(18px, calc(var(--t-sub) * var(--ut)))!important}
  html[data-red="on"]:not([data-tt="as"]) :is(.rv17-who, .b30-note, .x32-note, .zf-st p > span, .v-x30k .d7-st span, .fq-next a > span, .z-consent, [data-sec="zapis"] .hint,
    .y30a-row dt > i, .y30a-opts p > span, .z32-f, .zf-ed .zf-ed-i){
    font-size:max(18px, calc(var(--t-cap) * var(--ut)))!important}
  html[data-red="on"]:not([data-tt="as"]) :is(.h30-k, .b30-k > span:not(.b30-k2), .y30-k, .y32-k, .zd1-kick, .pz-k, .x32-k, .z32-k, .zf-ed .zf-ed-k, .nw-pill){
    font-size:max(17px, calc(var(--t-kick) * var(--ut)))!important}
  html[data-red="on"]:not([data-tt="as"]) #hero :is(.t-kicker, .t-kicker .y){font-size:calc(18 * var(--u))!important}   /* leaf32 держит кегль через #hero */
  html[data-red="on"][data-tt]:not([data-tt="as"]) :is(.zf-role, .rv17-cnt, .h30-m, .zd1-meta){font-family:var(--f-text)!important;font-style:normal!important;letter-spacing:0!important;
    font-size:max(18px, calc(var(--t-cap) * var(--ut)))!important}
}

/* E34 · (2) R1 «Типографика»: крупные цифры были в трёх видах (прямые лазурью, курсив лазурью у преподавателей, тушь) → цифры-факты прямые лазурью
   (годы и стаж преподавателей, итог в «Отзывах»), цена – тушью (подарочные сертификаты и «Подслушники» были лазурью). Надзаголовки двух цветов
   (ярь в «Ценах», золото везде) → все тёмным золотом. */
html[data-red="on"] [data-sec="teachers"] .zf-st b{font-style:normal!important}
html[data-red="on"] [data-sec="reviews"] .rv17-card[data-tone] .rv17-stat{color:#29466f!important}
html[data-red="on"] [data-sec="prices"] .y30a-opts b{color:#24262b!important}
html[data-red="on"] [data-sec="channel"] .z32-num{color:#24262b!important}
html[data-red="on"] [data-sec="prices"] :is(.y30-k,.y32-k){color:#8a6a1f!important}

/* E34 · (3) R1 «Преподаватели» (основной z32c): плашка с именем стояла со сдвигом от фото (+10 и −25 px) – теперь ровно по краям фото, цифры и образование – по тому же краю;
   белый угол фото Ярослава сливался с листом – волосяная кайма внутри фото (фото не тронуто). У a34c это сделала A. */
@media (min-width:1024px){
  html[data-red="on"] .v-z32c .zf-lb{margin-left:calc(var(--zf-in) + 12 * var(--u))!important;margin-right:calc(var(--zf-in) + 12 * var(--u))!important}
  html[data-red="on"] .v-z32c :is(.zf-st,.zf-dip){margin-left:calc(var(--zf-in) + 12 * var(--u))!important}
}
html[data-red="on"] .v-z32c .zf-ph img{outline:1px solid rgba(36,38,43,.14);outline-offset:-1px}

/* E34 · (4) R1 + R2 «Отзывы» (все три варианта): (а) на странице было четыре системы буквиц – здесь квадраты с белой буквой сняты, буквица – цветная буква
   на две строки, как «Ч» «Записи» (систем две: висячая буквица и цветная первая буква); цвета по кругу «С чего начать» – лазурь, ярь, золото с тёмным краем,
   буквицы по-прежнему разного цвета (слово Романа 31.10); (б) окно цитаты держало семь строк – под короткими отзывами было 90–130 px пустоты,
   теперь высота по самому длинному отзыву ряда; (в) строка «Четыре отзыва с нашего сайта» читалась как «их мало» – снята; (г) после стрелок – путь к записи
   «Хочешь так же? Первый урок – бесплатно →» (строку ставит leaf34.js; стрелки на месте); (д) кавычки „…“ → «…» (leaf34.js). */
html[data-red="on"] [data-sec="reviews"] .v-sheet17 .rv17-card:nth-child(n) .rv17-cap{display:block!important;width:auto!important;height:auto!important;background:none!important;
  border-radius:0!important;box-shadow:none!important;font:500 calc(62 * var(--u))/.74 var(--f-head)!important;margin:calc(7 * var(--u)) calc(9 * var(--u)) 0 calc(-1 * var(--u))!important;
  color:#29466f!important;text-shadow:none!important}
html[data-red="on"] [data-sec="reviews"] .v-sheet17 .rv17-card:nth-child(3n+2) .rv17-cap{color:#2c5a4e!important}
html[data-red="on"] [data-sec="reviews"] .v-sheet17 .rv17-card:nth-child(3n) .rv17-cap{color:#c9a84c!important;text-shadow:0 calc(2 * var(--u)) 0 #8a6a1f!important}
html[data-red="on"] [data-sec="reviews"] .v-sheet17 .rv17-card{min-height:0!important}
html[data-red="on"] [data-sec="reviews"] .v-sheet17 .rv17-txt{height:auto!important;max-height:calc(20 * 1.36 * 7 * var(--u))!important}
@media (max-width:1023.98px){
  html[data-red="on"] [data-sec="reviews"] .v-sheet17 .rv17-card:nth-child(n) .rv17-cap{font-size:calc(56 * var(--u))!important}
  html[data-red="on"] [data-sec="reviews"] .v-sheet17 .rv17-txt{max-height:calc(19 * 1.36 * 8 * var(--u))!important}
}
html[data-red="on"] [data-sec="reviews"] .rubric .rubric-sub{display:none!important}
.e34-rvgo{display:none}
html[data-red="on"] [data-sec="reviews"] .e34-rvgo{display:block;margin:calc(12 * var(--u)) 0 0;text-align:center;
  font:italic 400 max(18px, calc(20 * var(--u)))/1.35 var(--f-head);color:#fbf8f1}
html[data-red="on"] [data-sec="reviews"] .e34-rvgo a{display:inline-flex;align-items:center;min-height:44px;font-weight:500;color:#fbf8f1;
  text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.24em;text-decoration-color:rgba(251,248,241,.5)}
html[data-red="on"] [data-sec="reviews"] .e34-rvgo a::after{content:"\2192";display:inline-block;margin-left:.3em;text-decoration:none}
@media (hover:hover){ html[data-red="on"] [data-sec="reviews"] .e34-rvgo a:hover{color:#e9cf8e;text-decoration-color:currentColor} }

/* E34 · (5) R2 «Найди ошибку» (все варианты «Совести»): ответ «Верно!» вставал над словами, а глаз – на словах; дальше вела только мелкая «Ещё пример».
   Ответ – под фразой, подсказка над фразой остаётся, место под две строки ответа держится (коробка не прыгает); после ответа «Ещё пример» становится
   «Следующий пример →» (leaf34.js). Номера 1–6 обведены разными цветами без смысла → тушью: текущий залит, найденный с ✓ (как у B в b34c/d/e – здесь для y32a);
   за 6 из 6 – «Шесть из шести – глаз корректора.» (leaf34.js; в b34 – b34.js). */
html[data-red="on"] :is(.v-y32a,.v-y32b) .y32-err{grid-template-areas:"k" "lead" "line" "msg" "nav" "foot"!important}
html[data-red="on"] :is(.v-y32a,.v-y32b) .y30s-hon .y32-err > .err-k.y32-lead{grid-area:lead}
html[data-red="on"] :is(.v-y32a,.v-y32b) .y32-err:has(> .err-say:not(:empty)) > .y32-lead{visibility:visible}
html[data-red="on"] :is(.v-y32a,.v-y32b) .y30s-hon .y32-err > .err-say{grid-area:msg;margin-top:calc(14 * var(--u))!important;min-height:calc(2 * 1.45em)}
html[data-red="on"] section.v-y32a:not(.v-b34) .y30s-hon .err-nav button[aria-label]:nth-child(n){--c:var(--ink);--cf:#fbf8f1;--cb:var(--ink)}
html[data-red="on"] section.v-y32a:not(.v-b34) .y30s-hon .err-nav button[aria-label] i{background:#fffdf8}
html[data-red="on"] section.v-y32a:not(.v-b34) .y30s-hon .err-nav button[aria-pressed="true"] i{background:var(--ink)}
html[data-red="on"] :is(.v-y32a,.v-y32b) .y30s-hon .err-nav .err-more.e34-next{color:var(--azure)!important;font-weight:600!important;text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:.24em;text-decoration-color:currentColor}

/* E34 · (6) R1 «Вопросы» и канал: осенние ветки – оранжевые (REJ 35, оранжевого в палитре нет) и размером с наклейку («скрапбук», REJ 24) – сняты
   (Роман 27.10 «пока осень – осень»: крупная ветка в палитре – заказ куратору/художнику, в отчёте) */
/* главная сессия: правило снятия веточек НЕ взято – Роман 27.10 «пока осень – осень»; вопрос Роману – заменить крупной веткой в палитре? */

/* E34 · (7) R1 «Подвал» + R2: между последней плитой и подвалом стояло ≈ 200 px пустого листа (шаг 280u минус выступ плиты канала). R1: «книжная концовка
   или зазор 64 px». Концовку («Explicit» над подвалом) делает M пасхалкой (пункт eg) – при ней зазор не трогаю: колофон стоит в этом зазоре.
   Без колофона – видимой бумаги 64u (телефон 48u): шаг = 64u + выступ плиты канала под коробками (c33a/c33b/mix – 56u, yar/az – 44u; телефон 32/28 px;
   c33c без плиты – 0). Строки подвала – как были: при 18 px строка ссылок не помещается в ширину на 1280–1440 (проверено). */
html[data-red="on"]{--e34-po:0px}
html[data-red="on"]:is([data-zp="c33a"],[data-zp="c33b"],[data-zp="mix"]){--e34-po:calc(56 * var(--u))}
html[data-red="on"]:is([data-zp="yar"],[data-zp="az"]){--e34-po:calc(44 * var(--u))}
html[data-red="on"][data-zg="even"]:not([data-eg="e34"]) main.wrap > [data-sec="contacts"] > section:is(#contacts,[id]){margin-top:calc(64 * var(--u) + var(--e34-po))!important}
@media (max-width:1023.98px){
  html[data-red="on"]:is([data-zp="c33a"],[data-zp="c33b"],[data-zp="mix"]){--e34-po:32px}
  html[data-red="on"]:is([data-zp="yar"],[data-zp="az"]){--e34-po:28px}
  html[data-red="on"][data-zg="even"]:not([data-eg="e34"]) main.wrap > [data-sec="contacts"] > section:is(#contacts,[id]){margin-top:calc(48 * var(--u) + var(--e34-po))!important}
}

/* E34 · (8) R2 «Шапка»: в «Меню» телефона не было ни записи, ни Telegram – внизу меню залитая «Записаться на бесплатный урок» и «или в Telegram» (leaf34.js) */
.e34-mcta{display:none}
@media (max-width:1023.98px){
  html[data-red="on"] header.bar .lf24-nav .e34-mcta{display:grid;justify-items:start;gap:2px;padding:14px 0 2px}
  html[data-red="on"] header.bar .lf24-nav .e34-mcta a.e34-mbtn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:0 16px;
    border:0;border-radius:8px;background:#29466f;color:#fbf8f1;font:500 18px/1.2 var(--f-text,Vollkorn,Georgia,serif);text-decoration:none}
  html[data-red="on"] header.bar .lf24-nav .e34-mcta a.e34-mtg{display:inline-flex;align-items:center;min-height:44px;border:0;padding:0;
    font:italic 500 18px/1.3 var(--f-head,"EB Garamond",Georgia,serif);color:#24262b;text-decoration:underline;text-decoration-thickness:1px;
    text-underline-offset:.24em;text-decoration-color:rgba(36,38,43,.35)}
}

/* 34 · главная сессия · пункт «Шапка: что держит ангел» (ho): поле надписи – по чистой поверхности нового предмета (углы – от художника, в px картинки 1120;
   1 px = 0,0892857 cqw – ширина ангела, как у H34). Стиль строк – как в пункте «Надпись ангела». ПК и телефон – одна геометрия (верх картинок совпадает). */
html:is([data-ho="sfix"],[data-ho="tab"],[data-ho="book"]) [data-sec="hero"] .v-angel17.hero .angel .sheet{left:0!important;top:0!important;transform-origin:0 0!important;
  box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:center!important;align-content:center!important;justify-items:center}
/* свиток выправлен: поле (580,745)–(925,1125) */
html[data-ho="sfix"] [data-sec="hero"] .v-angel17.hero .angel .sheet{width:30.8cqw!important;height:33.93cqw!important;transform:translate(51.79cqw,66.52cqw)!important;padding:1cqw 1.4cqw 1.6cqw!important}
/* скрижаль: поле 320×329, повёрнуто на 5° по часовой, верхний левый угол (597,782) */
html[data-ho="tab"] [data-sec="hero"] .v-angel17.hero .angel .sheet{width:28.59cqw!important;height:29.4cqw!important;transform:translate(53.3cqw,69.82cqw) rotate(5.02deg)!important;padding:1cqw 1.4cqw!important}
/* книга: левая страница (482,700)–(728,1120) – стих по-английски; правая (778,745)–(1028,1180) – перевод (тот же, что в «Переводе»), курсивом */
html[data-ho="book"] [data-sec="hero"] .v-angel17.hero .angel .sheet{width:21.96cqw!important;height:37.5cqw!important;transform:translate(43.04cqw,62.5cqw)!important;padding:1cqw 1.2cqw!important}
html[data-ho="book"] [data-sec="hero"] .v-angel17.hero .angel .pv{font-size:3.9cqw!important;line-height:1.16!important}
html[data-ho="book"] [data-sec="hero"] .v-angel17.hero .angel .pv.long{font-size:3.1cqw!important}
html[data-ho="book"] [data-sec="hero"] .v-angel17.hero .angel .pv::after{content:attr(data-ru);position:absolute;left:calc(100% + 4.46cqw);top:4.02cqw;width:22.32cqw;height:38.84cqw;
  box-sizing:border-box;padding:1cqw 1.4cqw;display:flex;align-items:center;justify-content:center;text-align:center;text-wrap:balance;
  font:italic 500 3.4cqw/1.2 var(--f-text);color:#2a1f14;letter-spacing:0}
html[data-ho="book"] [data-sec="hero"] .v-angel17.hero .angel .pv.long::after{font-size:2.8cqw}
@media (max-width:1023.98px){
  html[data-ho="book"] [data-sec="hero"] .v-angel17.hero .angel :is(.pv,.pv.long){font-size:max(11px, 4.6cqw)!important}
  html[data-ho="book"] [data-sec="hero"] .v-angel17.hero .angel .pv::after{font-size:max(10px, 3.6cqw)}
  html[data-ho="book"] [data-sec="hero"] .v-angel17.hero .angel .pv cite{font-size:max(9px, 3.2cqw)!important}
}

/* ══ M34: движение, живые элементы, пасхалки (мастер движения M, прогон 34) ══════════════════════════════════════════════
   Пункты пульта: «Движение» (html[data-mo]) – m34 новая система / m32 как сейчас; «Живые элементы» (html[data-lv]) – l34 / as;
   «Пасхалки» (html[data-eg]) – e34 / as. Одна система (R2): круглое на шве вращается от прокрутки (роза, чернушка, василёк, роза ветров),
   подвесное качается ±5° (колокольчик), живое ползёт (улитка), фон отстаёт; остальное только проявляется. Бесконечная петля – одна на экран
   (в шапке – дыхание нимба). Только transform/opacity; reduced-motion и «Остановить движение» (html.still, data-theatre=off) – всё стоит.
   Элементы и кнопки-пасхалки вставляет leaf34.js (блок M34) во ВСЕ варианты разделов. Правила движения, завязанные на data-mo="m32",
   для m34 повторены здесь (1); дальше писать :is([data-mo="m32"],[data-mo="m34"]). */

/* M34 · (1) m34 наследует всё движение m32: стрелки, проявление разделов, крючки P/M, вход виньеток, роза «Отзывов», колокольчик C34 */
html[data-mo="m34"] [data-sec="faq"] [data-m32-cta] b::after{content:none!important}
html[data-mo="m34"] .m32-chev{display:flex}
html[data-mo="m34"] .m32-arr{display:inline-block}
html[data-mo="m34"].m32-rv-on .m32-rv:not(.m32-in){opacity:0;transform:translate3d(0,calc(var(--m-rise) * var(--u)),0)}
html[data-mo="m34"].m32-rv-on .m32-rv{transition:opacity var(--m-mid) var(--m-ease),transform var(--m-mid) var(--m-ease);transition-delay:calc(var(--m-i,0) * var(--m-step))}
@media (prefers-reduced-motion:no-preference){
  html[data-mo="m34"].js:not(.still):not([data-theatre="off"]) .rise:not(.is-in){transform:translate3d(0,calc(var(--m-rise) * var(--u)),0)}
  html[data-mo="m34"].js .rise{transition-duration:var(--m-mid);transition-timing-function:var(--m-ease);transition-delay:calc(var(--i,0) * var(--m-step))}
}
@supports (animation-timeline: view()){ @media (prefers-reduced-motion:no-preference){
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-m-spin]{animation:m32-spin linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-m-sway]{animation:m32-sway linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-m-in]{animation:m32-in linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
  html[data-mo="m34"]:is([data-rh="d31a"],[data-rh="d31c"]):not(.still):not([data-theatre="off"]) :is([data-sec="courses"],[data-sec="how"],[data-sec="tests"],[data-sec="prices"],[data-sec="zapis"]):not([hidden])::before,
  html[data-mo="m34"][data-rh="p32"]:not(.still):not([data-theatre="off"]) main.wrap > [data-sec]:not([hidden])::before{animation:m32-in linear both;animation-timeline:view();animation-range:entry 10% entry 90%}
  html[data-mo="m34"][data-rh="p32"]:is([data-zp="yar"],[data-zp="az"],[data-zp="c33a"],[data-zp="c33b"],[data-zp="c33c"]):not(.still):not([data-theatre="off"]) main.wrap > [data-sec="reviews"]:not([hidden])::before{
    --m-spin:90deg;animation:m32-spin linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  /* колокольчик C34: подвесное по системе – ±5° от прокрутки (у m32 – ±6°) */
  html[data-mo="m34"][data-rh="p32"][data-rd="p34"]:not(.still):not([data-theatre="off"]) main.wrap > [data-sec="channel"]:not([hidden])::after{
    --m-sway:5deg;animation:m32-sway linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
} }

/* M34 · (2) петли: стрелка под кнопкой шапки – три качания и стоп, снова при наведении на кнопку или стрелку (класс ставит JS);
   в кнопке «Вопросов» – три качания, когда кнопка вошла в экран. Блики ангела – один проход при загрузке, снова при наведении на ангела.
   Остаётся одна бесконечная петля на первом экране – дыхание нимба (H34, только прозрачность). */
@keyframes m34-bob{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,calc(var(--m-amp,9) * var(--u)),0)}}
html[data-mo="m34"] .m32-arr{animation-iteration-count:3}
html[data-mo="m34"] .m32-arr.m34-again{animation-name:m34-bob}
html[data-mo="m34"] [data-sec="faq"] .m32-arr:not(.m34-seen){animation-play-state:paused}
html[data-mo="m34"] .g25-glint::before,html[data-mo="m34"] .g25-glint::after{animation-iteration-count:1}
@keyframes m34-glint-a{0%,6%{opacity:0}26%{opacity:1}48%,100%{opacity:0}}
@keyframes m34-glint-b{0%,22%{opacity:0}44%{opacity:1}66%,100%{opacity:0}}
html[data-mo="m34"] .g25-glint.m34-again::before{animation:m34-glint-a 3.4s ease-in-out 1}
html[data-mo="m34"] .g25-glint.m34-again::after{animation:m34-glint-b 3.4s ease-in-out 1}

/* M34 · (3) «Вопросы» (S2 п. 7): строка вопроса при наведении отъезжает на 8u, буквица стоит; черта под строкой дотягивается (ПК, мышь) */
@media (hover:hover) and (pointer:fine) and (min-width:1024px) and (prefers-reduced-motion:no-preference){
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-sec="faq"] .fq-q .m34-qt{display:inline-block;transition:transform var(--m-fast) var(--m-ease)}
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-sec="faq"] .fq-q[aria-expanded="false"]:hover .m34-qt{transform:translate3d(calc(8 * var(--u)),0,0)}
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-sec="faq"] .fq-q[aria-expanded="false"]:hover > .t{padding-right:calc(8 * var(--u))}
}

/* M34 · (4) «Какой ты студент» (S2 ★2, слои A34): объём за мышью – площадь стоит, дома-кулисы ±4 px, дальние двое ±5, ближние двое ±10;
   против курсора, без петли (только отклик); мышь ушла – всё мягко на место. Площадь не двигаем: у кромки коробки открылась бы полоса.
   Только ПК с мышью; телефон и reduced-motion – стоит. */
@media (hover:hover) and (pointer:fine) and (min-width:1024px) and (prefers-reduced-motion:no-preference){
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-sec="tests"] .d7-ty :is(.a34-wing,.d7-fb){transition:translate .6s var(--m-ease)}
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-sec="tests"] .d7-ty .d7-f .d7-fb{translate:calc(var(--m34-mx,0) * -5px) calc(var(--m34-my,0) * -2px)}
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-sec="tests"] .d7-ty .a34-wing{translate:calc(var(--m34-mx,0) * -4px) calc(var(--m34-my,0) * -2px)}
  html[data-mo="m34"]:not(.still):not([data-theatre="off"]) [data-sec="tests"] .d7-ty .d7-f.a34-near .d7-fb{translate:calc(var(--m34-mx,0) * -10px) calc(var(--m34-my,0) * -4px)}
}

/* M34 · (5) «Остановить движение» в подвале (R2, WCAG 2.2.2): строка-кнопка под часами ответа; помнит выбор (ce-still, как foot.js) */
.m34-still-ln{display:block}
.m34-still{appearance:none;-webkit-appearance:none;border:0;background:none;margin:0;padding:0;font:inherit;color:inherit;cursor:pointer;
  min-height:44px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;font-style:italic}
.m34-still:hover{color:var(--azure,#29466f)}
html:not([data-mo="m34"]) :is(.m34-still,.m34-still-ln){display:none}

/* M34 · (6) живые элементы (пункт «Живые элементы», html[data-lv]): настоящие PD-рисунки – альбом «Historia Naturalis» де Бодта для Рудольфа II
   (1596–1610, Рейксмузеум): чернушка, василёк, щегол, улитка; роза ветров (Рейксмузеум, 1598) – одной линией тёмного золота, вторым слоем.
   Вырезаны с бумаги начисто (маска по цвету + IS-Net, без перекраски), одна обработка – живая тень бумаги. Первый слой – на кромках коробок
   поверх (как роза «Отзывов»), второй – роза ветров за карточками «Направлений». Элемент – кнопка: при включённых пасхалках он – предмет
   «Слова на полях». Если элемент ложится на текст, кнопку или картинку раздела – скрипт его прячет (data-m34-hide). */
.m34-lv{position:absolute;z-index:5;display:block;margin:0;padding:0;border:0;background:none;line-height:0;cursor:default;
  -webkit-tap-highlight-color:transparent;transform-origin:50% 50%}
.m34-lv img{display:block;width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-select:none;
  filter:drop-shadow(0 calc(3 * var(--u)) calc(4 * var(--u)) rgba(36,38,43,.22)) drop-shadow(0 0 1px rgba(36,38,43,.14))}
.m34-lv[data-m34-hide]{visibility:hidden}
html:not([data-lv="l34"]) .m34-lv{display:none!important}
html[data-eg="e34"] .m34-lv{cursor:pointer}
html:not([data-eg="e34"]) .m34-lv{pointer-events:none}
.m34-lv:focus-visible{outline:3px solid var(--azure,#29466f);outline-offset:4px;border-radius:50%}

/* «Тест уровня» (твоё: «справа вверху… не хватает… крутящихся элементов… или пасхалку»): синий василёк на верхней кромке коробки
   над колонкой текста, вращается от прокрутки; виден, пока на экране «Тест уровня» (карусель). Первая пасхалка – out of the blue. */
.m34-lv-corn{right:calc(46 * var(--u));top:calc(-70 * var(--u));width:calc(150 * var(--u));transition:opacity .7s ease,visibility 0s}
.d7-row.car25:has(> .d7-lv:not(.is-on)) > .m34-lv-corn{opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s .5s}
/* «Запись» (твоё: «добавить крутящихся цветочков… пасхалки, фоновые и не фоновые»): голубая чернушка (love-in-a-mist) на шве плиты слева (вращается;
   светлая – читается и на бумаге, и на лазури/яри)
   и щегол на кромке плиты справа – стоит на ней, как на полке. Шов – верх плиты (скрипт: --m34-seam). Вариантов без плиты нет – нет и их. */
.m34-lv-nigella{left:calc(-36 * var(--u));top:calc(var(--m34-seam,-48px) - 52 * var(--u));width:calc(106 * var(--u))}
.m34-lv-finch{right:calc(120 * var(--u));top:calc(var(--m34-seam,-48px) - 76 * var(--u));width:calc(138 * var(--u));transform-origin:50% 100%}
/* «Обучение»: улитка ползёт по верхней кромке картины справа налево – от прокрутки, на 40u за проход (slow and steady) */
.m34-lv-snail{right:calc(var(--m34-ax,0px) + 150 * var(--u));top:calc(var(--m34-ay,0px) - 56 * var(--u));width:calc(128 * var(--u));transform-origin:90% 100%}
/* «Направления»: роза ветров вторым слоем – за правым верхом карточек, видна над ними справа от заголовка; вращается от прокрутки (±25°) */
.m34-lv-compass{right:calc(-46 * var(--u));top:calc(-196 * var(--u));width:calc(330 * var(--u));z-index:-1}
.m34-lv-compass img{filter:none}
.m34-lvhost{position:relative}
.m34-lvhost--iso{isolation:isolate}
@media (max-width:1023.98px){
  .m34-lv-corn{right:10px;top:-30px;width:82px}
  .m34-lv-nigella{left:-4px;top:calc(var(--m34-seam,-28px) - 54px);width:62px}
  .m34-lv-finch{right:14px;top:calc(var(--m34-seam,-28px) - 50px);width:90px}
  .m34-lv-snail{right:calc(var(--m34-ax,0px) + 34px);top:calc(var(--m34-ay,0px) - 34px);width:78px}
  .m34-lv-compass{display:none!important}
}
/* движение от прокрутки – общими ключевыми кадрами M32 (m32-spin / m32-sway) и своим «ползёт» */
@keyframes m34-crawl{from{translate:calc(20 * var(--u)) 0}to{translate:calc(-20 * var(--u)) 0}}
@supports (animation-timeline: view()){ @media (prefers-reduced-motion:no-preference){
  html:is([data-mo="m32"],[data-mo="m34"]):not(.still):not([data-theatre="off"]) :is(.m34-lv-nigella,.m34-lv-corn) img{--m-spin:90deg;animation:m32-spin linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  html:is([data-mo="m32"],[data-mo="m34"]):not(.still):not([data-theatre="off"]) .m34-lv-compass img{--m-spin:50deg;animation:m32-spin linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
  html:is([data-mo="m32"],[data-mo="m34"]):not(.still):not([data-theatre="off"]) .m34-lv-snail img{animation:m34-crawl linear both;animation-timeline:view();animation-range:cover 10% cover 90%}
  html:is([data-mo="m32"],[data-mo="m34"]):not(.still):not([data-theatre="off"]) .m34-lv-finch img{animation:m32-in linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
} }

/* M34 · (7) «Слова на полях» – пасхалки одной системой (R2): у предмета по действию (наведение 0,4 с, касание, клавиша) проступает глосса писца –
   английское выражение и его русский смысл; одна за раз; Esc / касание вне – закрыть; не ложится на кнопки и форму; счётчик «N из M»;
   в конце страницы – колофон «Explicit». Предметы – кнопки с aria-label (живые элементы и прозрачные кнопки над вещами и разделителями). */
.m34-hs{position:absolute;z-index:6;display:block;margin:0;padding:0;border:0;background:none;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent}
.m34-hs:focus-visible{outline:3px solid var(--azure,#29466f);outline-offset:2px}
html:not([data-eg="e34"]) :is(.m34-hs,.m34-colo){display:none!important}
.m34-gloss{position:fixed;z-index:70;left:0;top:0;box-sizing:border-box;width:max-content;max-width:400px;font-family:inherit;
  padding:14px 18px 15px;background:#fffdf8;color:var(--ink,#24262b);border:1px solid rgba(36,38,43,.16);border-radius:8px;
  box-shadow:0 1px 0 rgba(36,38,43,.05),0 14px 34px rgba(36,38,43,.18);text-align:left;
  opacity:0;transform:translate3d(0,6px,0);transition:opacity .24s ease,transform .24s cubic-bezier(.2,.7,.2,1),visibility 0s .24s;visibility:hidden;pointer-events:none}
.m34-gloss.is-on{opacity:1;transform:none;visibility:visible;pointer-events:auto;transition:opacity .24s ease,transform .24s cubic-bezier(.2,.7,.2,1),visibility 0s}
.m34-gl-k{display:block;font-weight:500;font-size:16px;line-height:1.25;letter-spacing:.06em;text-transform:uppercase;color:#7a5c14}
.m34-gl-en{display:block;margin-top:6px;font:italic 400 30px/1.1 var(--f-head,Georgia,serif);color:var(--azure,#29466f)}
.m34-gl-ru{display:block;margin-top:5px;font-size:19px;line-height:1.32;color:var(--ink,#24262b)}
.m34-gl-n{display:block;margin-top:6px;font-size:16px;line-height:1.38;font-style:italic;color:var(--ink,#24262b)}
.m34-gl-n:empty{display:none}
.m34-gl-all[hidden]{display:none}
.m34-gl-all{display:inline-block;margin-top:8px;font:italic 400 18px/1.3 var(--f-head,Georgia,serif);color:var(--azure,#29466f);text-underline-offset:.18em}
@media (prefers-reduced-motion:reduce){ .m34-gloss,.m34-gloss.is-on{transform:none;transition:opacity .01s,visibility 0s} }
html:is(.still,[data-theatre="off"]) .m34-gloss{transform:none}

/* ответ предмета на действие – короткий, один раз (не петля); при reduced-motion / «Остановить движение» – без движения, только глосса */
@keyframes m34-whirl{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes m34-seek{0%{transform:rotate(0)}55%{transform:rotate(392deg)}75%{transform:rotate(352deg)}90%{transform:rotate(364deg)}100%{transform:rotate(360deg)}}
@keyframes m34-hop{0%,100%{transform:translate3d(0,0,0) rotate(0)}22%{transform:translate3d(0,calc(-12 * var(--u)),0) rotate(-4deg)}44%{transform:translate3d(0,0,0) rotate(0)}62%{transform:translate3d(0,calc(-5 * var(--u)),0) rotate(2deg)}80%{transform:translate3d(0,0,0)}}
@keyframes m34-stretch{0%,100%{transform:scaleX(1)}45%{transform:scaleX(1.07)}70%{transform:scaleX(.98)}}
@keyframes m34-tilt{0%,100%{transform:rotate(0)}30%{transform:rotate(-5deg)}60%{transform:rotate(2.5deg)}80%{transform:rotate(-1deg)}}
@keyframes m34-flip{from{transform:perspective(500px) rotateY(0)}to{transform:perspective(500px) rotateY(720deg)}}
@keyframes m34-lift{0%,100%{transform:translate3d(0,0,0)}40%{transform:translate3d(0,calc(-8 * var(--u)),0) rotate(-2deg)}}
@keyframes m34-ring{0%{transform:rotate(0)}12%{transform:rotate(14deg)}30%{transform:rotate(-10deg)}48%{transform:rotate(7deg)}66%{transform:rotate(-4deg)}82%{transform:rotate(2deg)}100%{transform:rotate(0)}}
@media (prefers-reduced-motion:no-preference){
  html:not(.still):not([data-theatre="off"]) :is(.m34-lv-nigella,.m34-lv-corn).m34-wake{animation:m34-whirl 1.1s cubic-bezier(.2,.7,.2,1) 1}
  html:not(.still):not([data-theatre="off"]) .m34-lv-compass.m34-wake{animation:m34-seek 2.2s cubic-bezier(.3,.6,.3,1) 1}
  html:not(.still):not([data-theatre="off"]) .m34-lv-finch.m34-wake{animation:m34-hop .9s ease-out 1}
  html:not(.still):not([data-theatre="off"]) .m34-lv-snail.m34-wake{animation:m34-stretch 2.2s ease-in-out 1}
  html:not(.still):not([data-theatre="off"]) .a34-hb.m34-wake img{transform-origin:50% 92%;animation:m34-tilt 1s ease-out 1}
  html:not(.still):not([data-theatre="off"]) .b34-coin.m34-wake{animation:m34-flip 1s cubic-bezier(.3,.6,.3,1) 1}
  html:not(.still):not([data-theatre="off"]) .b34-spect.m34-wake{animation:m34-lift .8s ease-out 1}
}
/* роза «Отзывов» и колокольчик – псевдоэлементы: к движению от прокрутки добавляется ответ (оборот / звон), свойство transform не спорит с rotate */
@supports (animation-timeline: view()){ @media (prefers-reduced-motion:no-preference){
  html:is([data-mo="m32"],[data-mo="m34"])[data-rh="p32"][data-zp]:not(.still):not([data-theatre="off"]) main.wrap > [data-sec="reviews"].m34-whirl:not([hidden])::before{
    animation:m32-spin linear both,m34-whirl 1.2s cubic-bezier(.2,.7,.2,1) 1;animation-timeline:view(),auto;animation-range:cover 0% cover 100%,normal}
  html:is([data-mo="m32"],[data-mo="m34"])[data-rh="p32"][data-rd="p34"]:not(.still):not([data-theatre="off"]) main.wrap > [data-sec="channel"].m34-ring:not([hidden])::after{
    animation:m32-sway linear both,m34-ring 2.4s ease-out 1;animation-timeline:view(),auto;animation-range:cover 0% cover 100%,normal}
} }

/* колофон (R2): «Explicit» в пустоте над подвалом – проявляется, когда дочитал до конца */
.m34-colo{position:absolute;left:0;right:0;bottom:100%;margin:0 auto calc(34 * var(--u));max-width:calc(760 * var(--u));text-align:center;color:var(--ink,#24262b);
  opacity:0;transform:translate3d(0,calc(10 * var(--u)),0);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.m34-colo.is-in{opacity:1;transform:none}
.m34-co-x{margin:0;font:italic 400 calc(40 * var(--u))/1 var(--f-head,Georgia,serif);color:#8a6a1f}
.m34-co-x::before,.m34-co-x::after{content:"✛";font-style:normal;font-size:.5em;vertical-align:.32em;margin:0 .5em;color:#c9a84c}
.m34-co-t{margin:calc(10 * var(--u)) 0 0;font-size:max(17px, calc(19 * var(--u)));line-height:1.4}
.m34-co-t a{color:var(--azure,#29466f);font-style:italic;white-space:nowrap}
.m34-co-c{margin:calc(6 * var(--u)) 0 0;font-size:16px;line-height:1.4;font-style:italic}
@media (prefers-reduced-motion:reduce){ .m34-colo{transform:none;transition:opacity .01s} }
html:is(.still,[data-theatre="off"]) .m34-colo{transform:none}
/* телефон: над подвалом места мало – колофон встаёт первой строкой самого подвала (в потоке, не наезжает на «Между уроками»);
   зазор над подвалом – как у E34 без колофона (48u + выступ плиты), иначе над колофоном оставалась пустая бумага */
@media (max-width:1023.98px){ .m34-colo{position:static;margin:0 auto;padding:22px 16px 6px} .m34-co-x{font-size:32px}
  html[data-red="on"][data-zg="even"][data-eg="e34"] main.wrap > [data-sec="contacts"] > section:is(#contacts,[id]){margin-top:calc(48 * var(--u) + var(--e34-po,0px))!important} }

/* 34 · главная сессия (рецензент): подчёркивание открытого вопроса шло цветом буквицы – у киноварной (ini-1) выходила красная линия под текстом;
   исключение Романа – только буквицы, поэтому у них линия золотом. Буквица-предлог («С какого уровня») – после неё неразрывный пробел в разметке (на ПК пробел схлопывался: «Скакого»). */
.v-owl18 .fq-q:has(.ini-1){--ul:var(--gold)}
/* 34 · главная сессия (рецензент): телефон «от края до края» (ht h34a) – на низком окне (393×723, iPhone Романа) полоса облаков кончалась за 9 px
   до правого края, внизу шапки была видна полоса листа. Ширина полосы – не меньше, чем до правого края + 8 px (на 390×844 и шире – как было). */
@media (max-width:1023.98px){
  html[data-ht="h34a"] [data-sec="hero"] .v-sky28.v-angel17.hero::after{width:max(calc(495 * var(--u)), calc(50% + 273 * var(--u) + 8px))}
}
