/* прогон 25 · 29.10: голос Романа по прогону 24 */

/* ── «Учим на совесть» (Роман 29.10): каждый стоит на земле и идёт туда, куда ведёт картинка — сцена (фигура + её тень) сдвигается целиком */
@media (min-width:1024px){
  :root[data-look=leaf] .v-hon18 .h18-scene{transition:translate .6s ease}
  :root[data-look=leaf] .v-hon18 .h18-scene:has(.h18-f2.is-on){translate:calc(-130 * var(--u)) 0}           /* 3 · путник: не в забор, а по дороге */
  :root[data-look=leaf] .v-hon18 .h18-scene:has(.h18-f4.is-on){translate:calc(-120 * var(--u)) calc(16 * var(--u))} /* 5 · торговка: с табуретки — на мостовую */
  :root[data-look=leaf] .v-hon18 .h18-scene:has(.h18-f5.is-on){translate:calc(-190 * var(--u)) calc(6 * var(--u))}  /* 6 · девушка с гусем: из травы — на дорогу */
}
/* ── окошко игры ещё прозрачнее, заголовок светлым по затемнению (пульт «Учим на совесть: окошко игры» → glass25) */
:root[data-look=leaf][data-hg=glass25] .v-hon18 .lf21-hbg::after{background:linear-gradient(90deg,rgba(24,28,34,.62) 0,rgba(24,28,34,.42) 36%,rgba(24,28,34,.08) 62%,rgba(24,28,34,0) 78%)!important}
:root[data-look=leaf][data-hg=glass25] .v-hon18 .h18-h{color:#fbf8f1!important;text-shadow:0 1px 18px rgba(10,12,16,.45)}
:root[data-look=leaf][data-hg=glass25] .v-hon18 .h18-h em{color:#e9cf8e!important}
:root[data-look=leaf][data-hg=glass25] .v-hon18 .h18-txt > p,:root[data-look=leaf][data-hg=glass25] .v-hon18 .lf20-lede,:root[data-look=leaf][data-hg=glass25] .v-hon18 .h18-txt .lead{color:rgba(251,248,241,.9)!important;text-shadow:0 1px 12px rgba(10,12,16,.4)}
:root[data-look=leaf][data-hg=glass25] .v-hon18 .h18-err{background:rgba(255,253,248,.48)!important;-webkit-backdrop-filter:blur(8px) saturate(1.15);backdrop-filter:blur(8px) saturate(1.15);box-shadow:0 0 0 1px rgba(255,253,248,.55),0 calc(10 * var(--u)) calc(26 * var(--u)) rgba(10,12,16,.18)!important}
@media (max-width:1023.98px){ :root[data-look=leaf][data-hg=glass25] .v-hon18 .lf21-hbg::after{background:linear-gradient(180deg,rgba(24,28,34,.62) 0,rgba(24,28,34,.42) 40%,rgba(24,28,34,.1) 70%,rgba(24,28,34,0) 85%)!important} }

/* ── подвал: эмблема ярью (пульт «Подвал: эмблема») */
:root[data-emb=verd] #contacts .emb23,:root[data-emb=verd] #contacts .ft-emb img{filter:grayscale(1) brightness(.5) sepia(1) hue-rotate(110deg) saturate(1.6) brightness(.8)}

/* ── фон страницы: пергамент светлее; при пергаменте верхнее меню — пергаментом в тон (Роман 29.10) */
html[data-pg="vellum2"] body{background:#fbf8f1 url(img22/vellum-tile.webp) 0 0/1400px auto repeat}
html[data-pg="vellum2"] body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:rgba(251,248,241,.55)}
html:is([data-pg="vellum"],[data-pg="vellum2"]) header.bar{background:#fbf8f1 url(img22/vellum-tile.webp) 0 0/1400px auto repeat!important}
html[data-pg="vellum2"] header.bar{background-blend-mode:normal!important;box-shadow:inset 0 0 0 100vmax rgba(251,248,241,.55)}
/* телефон 390: кнопка «Записаться» в шапке не влезала («аписатьс») — уже поля, меньше разрядка знака */
@media (max-width:440px){
  header.bar .btn{padding-inline:10px!important;min-width:0!important;width:auto!important;white-space:nowrap;font-size:14px!important}
  header.bar .wordmark{letter-spacing:.1em!important;font-size:15px!important}
  header.bar{column-gap:8px!important}
}
/* прогон 25 · сияние ангела (Роман 29.10: «нимб, золото крыльев и ободок на шее перестали сиять — раньше было красивее»).
   Маска золотых мест снята с самой картинки ангела (angel17-gold-900 / angel17m-gold-700); поверх — тёплый подсвет и медленный блик; за нимбом — свет. */
.g25-glint,.g25-halo{position:absolute;pointer-events:none;display:block}
.g25-glint{inset:0;z-index:auto;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mix-blend-mode:screen;
  background:linear-gradient(104deg,rgba(255,240,190,0) 0,rgba(255,240,190,0) 40%,rgba(255,248,222,.95) 49%,rgba(255,240,190,0) 58%,rgba(255,240,190,0) 100%) 130% 0/300% 100% no-repeat,rgba(255,206,110,.42);
  animation:g25-sweep 7.5s ease-in-out infinite}
@keyframes g25-sweep{0%,25%{background-position:130% 0,0 0}75%,100%{background-position:-30% 0,0 0}}
.g25-halo{z-index:-1;left:var(--hx,40.4%);top:var(--hy,13.2%);width:62%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,238,170,.85) 0,rgba(255,226,140,.5) 38%,rgba(255,216,120,.18) 66%,rgba(255,216,120,0) 100%);
  animation:g25-breath 5s ease-in-out infinite alternate}
@keyframes g25-breath{from{opacity:.78;scale:.96}to{opacity:1;scale:1.04}}
@media (prefers-reduced-motion:reduce){ .g25-glint,.g25-halo{animation:none} }
/* ── прогон 25 · rh=mix25: разделители из настоящих гравюр (Роман 29.10: «несколько вариаций, как у Вирджинии»), каждый на своём месте, качается от прокрутки.
   Лоза, можжевельник, самшит («Gart der Gesundheit», 1485, Мет) · марка Эгенольфа с горящим сердцем (1536, Рейкс). По рецензенту R25: IHS в лучах снят (читается как печать),
   «узел» Дюрера снят (в мелком — тёмный диск); знаки крупные и плотные, не «мелкие полупрозрачные» */
html[data-rh="mix25"] :is([data-sec="courses"],[data-sec="how"],[data-sec="prices"],[data-sec="zapis"]):not([hidden])::before{content:"";display:block;
  width:calc(132 * var(--u));height:calc(132 * var(--u));margin:calc(var(--sec) * .5 * var(--u)) auto calc(var(--sec) * -.5 * var(--u) + 92 * var(--u));
  background:var(--rh25) 50% 50%/contain no-repeat;opacity:1;will-change:transform}
html[data-rh="mix25"] [data-sec="courses"]{--rh25:url(img25/rh-vine-300.webp)}
html[data-rh="mix25"] [data-sec="how"]{--rh25:url(img25/rh-juniper-300.webp)}
html[data-rh="mix25"] [data-sec="prices"]{--rh25:url(img25/rh-box-300.webp)}
html[data-rh="mix25"] [data-sec="zapis"]{--rh25:url(img25/rh-heart-300.webp)}
@supports (animation-timeline: view()){
  html[data-rh="mix25"] :is([data-sec="courses"],[data-sec="prices"]):not([hidden])::before{animation:s25-sway linear both;animation-timeline:view()}
  html[data-rh="mix25"] :is([data-sec="how"],[data-sec="zapis"]):not([hidden])::before{animation:s25-sway linear both reverse;animation-timeline:view()}
  @keyframes s25-sway{from{transform:rotate(-20deg)}50%{transform:rotate(0)}to{transform:rotate(20deg)}}
}
@media (max-width:1023.98px){
  html[data-rh="mix25"] :is([data-sec="courses"],[data-sec="how"],[data-sec="prices"],[data-sec="zapis"]):not([hidden])::before{width:calc(84 * var(--u));height:calc(84 * var(--u));margin:calc(var(--sec) * .5 * var(--u)) auto calc(var(--sec) * -.5 * var(--u) + 40 * var(--u))}
}
@media (prefers-reduced-motion:reduce){ html[data-rh="mix25"] [data-sec]::before{animation:none!important} }
/* ── прогон 25 · «Обучение» talk25: фон за парой — подлинная гравюра (Маро, библиотека, 1703) тонким контуром тон в тон; цвет только на людях */
:root[data-look=leaf] .v-talk21.v-talk25 .ho::before{background-image:url(img25/marot-line-1200.webp)!important;opacity:1!important;inset:0!important;aspect-ratio:auto!important;height:auto!important;background-size:cover!important;background-position:50% 30%!important}
:root[data-look=leaf] .v-talk21.v-talk25 .ho::after{background:linear-gradient(90deg,rgba(251,248,241,.55) 0,rgba(251,248,241,0) 46%),linear-gradient(0deg,rgba(251,248,241,.96) 0,rgba(251,248,241,.6) 26%,rgba(251,248,241,0) 44%)!important}
:root[data-look=leaf] .v-talk21.v-talk25 .ho{background:#f6f1e4!important}
@media (max-width:1023.98px){ :root[data-look=leaf] .v-talk21.v-talk25 .ho::before{inset:0 0 auto 0!important;height:56%!important;background-size:cover!important} }
/* ── прогон 25 · «секция в один экран» (Роман 29.10): на широком, но невысоком экране (1710×838) макет больше не растёт по ширине выше роста экрана —
   единица --u = меньшее из «ширина/1440» и «высота/838»; на 1440×838 ничего не меняется, на 1710×838 — макет 1440 с полями, на высоких экранах — крупнее, как было */
@media (min-width:1024px){ :root{--u:max(.711px, min(calc(100vw / 1440), calc(100vh / 838)))} }
#pult .pu-done::before{content:"Прогон 25 · "}
/* ── телефон: зоны касания ≥ 44 px — ссылки Telegram/WhatsApp под «Тремя вопросами», разделы и документы в подвале */
@media (max-width:1023.98px){
  #zapis.v-tri25 .t3-foot a,#zapis .v-tri25 .t3-foot a{display:inline-block;padding-block:12px;margin-block:-8px}
  :root #contacts nav a,:root #contacts .ft-nav a,:root #contacts [class*="nav"] a{display:inline-block;padding-block:13px}
}
/* R25: подписи картин и предметов — не меньше 14 px; «ЕГЭ» на светлом Дюсарте — затемнение плотнее */
.k25-src,.r25-src,.p25-src,.k25-verm figcaption,.c25-cr{font-size:max(14px,calc(13 * var(--u)))!important}
.v-gal25 .g23-card[data-dir="ege"]::after{background:linear-gradient(to top,rgba(28,30,34,.92) 0%,rgba(28,30,34,.74) 30%,rgba(28,30,34,.2) 54%,rgba(28,30,34,0) 66%)!important}
.v-gal25 .g23-card[data-dir="conversational"] img{object-position:58% 0!important}
@media (max-width:1023.98px){
  .v-k25a .lf-stub{font-size:14px!important}
  :root #contacts nav a,:root #contacts .ft-small a{display:inline-block;padding-block:14px!important;min-width:44px}
}
