/* =====================================================================
   lum.css — OM-Time · Luminous system (по эталону ysc.com)
   Подключается ПОСЛЕДНИМ на всех страницах. Перенастраивает старые токены
   --om-* (через них написаны inline-стили страниц) на новую палитру,
   шрифты и форму, и добавляет блоки Lum*. Правила — scraps/design-loop/design-system.md
   ===================================================================== */

/* Шрифты Montserrat + Inter Tight подключаются <link> в <head> каждой страницы (параллельно, без цепочки CSS→CSS). */

:root {
  /* — новая палитра — */
  --lum-plum:       #482042;
  --lum-plum-deep:  #2A1027;
  --lum-cream:      #F3F1E1;
  --lum-white:      #FFFFFF;
  --lum-ink:        #16223C;
  --lum-orange:     #FF5F01;
  --lum-orange-deep:#E04F00;
  --lum-graphite:   #313131;
  --lum-slate:      #4B4B4B;
  --lum-mist:       #E8E8E8;
  --lum-display: 'Montserrat', 'Inter Tight', Arial, sans-serif;
  --lum-text:    'Inter Tight', 'Onest', Arial, sans-serif;
  --lum-hatch-dark:  linear-gradient(135deg, rgba(255,255,255,.1) 15.38%, transparent 15.38%, transparent 50%, rgba(255,255,255,.1) 50%, rgba(255,255,255,.1) 65.38%, transparent 65.38%, transparent 100%);
  --lum-hatch-light: linear-gradient(135deg, rgba(72,32,66,.07) 15.38%, transparent 15.38%, transparent 50%, rgba(72,32,66,.07) 50%, rgba(72,32,66,.07) 65.38%, transparent 65.38%, transparent 100%);
  --lum-header-h: 80px;

  /* — старые токены → новая система (перекрашивает inline-стили всех страниц) — */
  --om-ink:          #16223C;
  --om-ink-active:   #0B1326;
  --om-body:         #16223C;
  --om-muted:        #5B6072;
  --om-faint:        #8E92A0;
  --om-canvas:       #F3F1E1;
  --om-canvas-white: #FFFFFF;
  --om-canvas-soft:  #F3F1E1;
  --om-canvas-strong:#E9E6D2;
  --om-hairline:     #DAD6C1;
  --om-hairline-soft:#E6E3CF;
  --om-gold:         #FF5F01;
  --om-gold-soft:    #F3F1E1;
  --om-gold-deep:    #E04F00;
  --om-on-gold:      #FFFFFF;
  --om-indigo:       #482042;
  --om-indigo-deep:  #2A1027;
  --om-on-indigo:    #FFFFFF;
  --om-coral:        #6B2F63;
  --om-coral-deep:   #482042;
  --om-on-coral:     #FFFFFF;
  --om-lilac:        #E8E8E8;
  --om-clay:         #E8E8E8;
  --om-cream:        #F3F1E1;
  --om-link:         #FF5F01;
  --om-link-active:  #E04F00;
  --om-font-sans:      var(--lum-text);
  --om-font-editorial: var(--lum-text);
  --om-font-display:   var(--lum-display);
  --om-font-mono:      var(--lum-text);
  --om-radius-xs: 0; --om-radius-sm: 0; --om-radius-md: 0; --om-radius-lg: 0; --om-radius-xl: 0; --om-radius-pill: 0;
  --om-shadow-hairline: none; --om-shadow-card: none; --om-shadow-lifted: none;
  --om-shadow-focus: 0 0 0 2px var(--lum-orange);
}

/* ── База ─────────────────────────────────────────────────────────── */
body { background: var(--lum-cream); }
.om-page { background: var(--lum-cream); color: var(--lum-ink); font-family: var(--lum-text); }
.om-grain, .om-page::before { display: none !important; }

/* Форма: прямые углы и без теней — всё, кроме кругов (аватары, точки) */
.om-page *:not(.lum-round):not([class*="dot"]):not([class*="avatar"]):not([style*="border-radius: 50%"]):not([style*="var(--om-radius-full)"]) {
  border-radius: 0 !important;
}
.om-page * { box-shadow: none !important; }
.om-page :focus-visible { outline: 2px solid var(--lum-orange); outline-offset: 3px; }

/* ── Типографика: тонкий крик и плотный шёпот ─────────────────────── */
.om-page h1, .om-page h2 {
  font-family: var(--lum-display) !important;
  font-weight: 300 !important;
  font-style: normal !important;
  text-transform: uppercase;
  letter-spacing: 0.035em !important;
  line-height: 1.12 !important;
}
.om-page h1:not(.lum-hero-title) { font-size: clamp(30px, 4vw, 54px) !important; }
.om-page h2 { font-size: clamp(25px, 2.8vw, 40px) !important; }
.om-page h3, .om-page h4 {
  font-family: var(--lum-text) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -0.005em !important;
  text-transform: none;
}
.om-page h2 *, .om-page h1 * { font-family: inherit !important; font-weight: inherit !important; }
.om-page em, .om-page .om-italic, .om-page [style*="italic"] { font-style: normal !important; }
.om-page .om-italic { color: var(--lum-orange); font-family: inherit !important; }
.om-page p { font-family: var(--lum-text); }
.om-page a { text-underline-offset: 3px; }

/* ── Кнопка: одна на весь сайт ────────────────────────────────────── */
.lum-btn, .om-page .om-btn:not(.om-btn--ghost) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 62px;
  padding: 0 26px !important;
  border: 1px solid var(--lum-orange) !important;
  background: transparent !important;
  color: inherit;
  font-family: var(--lum-text) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.2;
  text-decoration: none !important;
  cursor: pointer;
  isolation: isolate;
  overflow: hidden;
  transition: color .5s, background-color .5s, border-color .5s;
}
.om-page .om-btn:not(.om-btn--ghost)::before {
  content: '' !important;
  display: block !important;
  position: absolute; inset: 0; z-index: -1;
  background: var(--lum-orange) !important;
  transform: none !important;
  opacity: 0;
  transition: opacity .5s !important;
}
.om-page .om-btn:not(.om-btn--ghost):hover::before,
.om-page .om-btn:not(.om-btn--ghost):focus-visible::before { opacity: 1; }
.lum-btn:hover, .lum-btn:focus-visible { background: var(--lum-orange) !important; color: #fff !important; }
.om-page .om-btn:not(.om-btn--ghost):hover, .om-page .om-btn:not(.om-btn--ghost):focus-visible { color: #fff !important; }
/* шеврон › вместо иконок */
.om-page .om-btn:not(.om-btn--ghost) > i[data-lucide], .om-page .om-btn:not(.om-btn--ghost) > svg.lucide { display: none !important; }
.om-page .om-btn:not(.om-btn--ghost)::after {
  content: '';
  width: 8px; height: 8px; flex: none;
  border-top: 1.6px solid currentColor;
  border-right: 1.6px solid currentColor;
  transform: rotate(45deg);
  margin-left: -4px;
}
.lum-btn-chev { width: 9px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; flex: none; }
.lum-btn--dark { color: #fff; }
.lum-btn--light { color: var(--lum-ink); }
/* цвет текста кнопок: на светлом — чернила, на тёмных поверхностях — белый */
.om-page .om-btn--primary, .om-page .om-btn--secondary, .om-page .om-btn--ink, .om-page .om-btn--gold { color: var(--lum-ink) !important; }
.om-page .om-btn--on-dark, .lum-on-dark .om-btn, [data-lum-dark] .om-btn { color: #fff !important; }
.om-page .om-btn--primary:hover, .om-page .om-btn--secondary:hover, .om-page .om-btn--ink:hover, .om-page .om-btn--gold:hover { color: #fff !important; }
.om-page .om-btn--ghost { border-radius: 0; background: transparent !important; }

.lum-link, .om-page .om-link { color: var(--lum-orange); text-decoration: underline; text-underline-offset: 4px; }

/* ── Шапка: прозрачная над первым экраном, баклажан после скролла ── */
.om-page .om-header {
  --om-header-h: var(--lum-header-h);
  height: var(--lum-header-h);
  background: var(--lum-plum) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-bottom: 0 !important;
  color: #fff;
  transition: background-color .16s .1s !important;
}
html.lum-has-hero .om-page .om-header:not(.lum-solid):not(.is-menu-open) { background: transparent !important; }
html.lum-has-hero .om-page main > .lum-hero:first-child { margin-top: calc(-1 * var(--lum-header-h)); }
.om-page .om-header-brand, .om-page .om-header-brand-name { color: #fff !important; }
.om-page .om-header-brand-name { font-family: var(--lum-text); font-weight: 600; letter-spacing: 0.01em; }
.om-page .om-header-brand-sub { color: rgba(255,255,255,.62) !important; }
.om-page .om-header-mark { width: 40px; height: 40px; }
.om-page .om-header-link {
  color: #fff !important;
  font-family: var(--lum-text);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  border-bottom: 0 !important;
  padding-bottom: 0;
  transition: color .16s;
}
.om-page .om-header-link:hover, .om-page .om-header-link.is-active { color: var(--lum-orange) !important; }
.om-page .om-header-locale { color: rgba(255,255,255,.55) !important; }
.om-page .om-header-locale .is-active { color: #fff !important; }
.om-page .om-header-login { color: #fff !important; font-size: 12.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.om-page .om-header-login:hover { color: var(--lum-orange) !important; }
.om-page .om-btn.om-header-cta, .om-page .om-header-cta {
  min-height: 0 !important; padding: 0 0 0 22px !important; border: 0 !important; border-left: 1px solid rgba(255,255,255,.3) !important;
  font-size: 12.5px !important; font-weight: 500 !important; letter-spacing: .07em !important; text-transform: uppercase; color: #fff !important;
}
.om-page .om-btn.om-header-cta::before, .om-page .om-btn.om-header-cta::after { display: none !important; }
.om-page .om-btn.om-header-cta:hover { color: var(--lum-orange) !important; }
.om-page .om-header-burger span { background: #fff !important; }
.om-page .om-header-mobile { background: var(--lum-plum) !important; color: #fff; }
.om-page .om-header-mobile-link { color: #fff !important; font-family: var(--lum-display); font-weight: 300; text-transform: uppercase; letter-spacing: .04em; border-bottom-color: rgba(255,255,255,.14) !important; }
.om-page .om-header-mobile-link.is-active { color: var(--lum-orange) !important; }
.om-page .om-header-mobile-foot .om-btn { color: #fff !important; }
.om-page .om-header-mobile-locale, .om-page .om-header-mobile-locale .is-active { color: #fff !important; }

/* ── Строка-анонс: тонкая линия у низа первого экрана (без плашек) ── */
.om-page .om-announce { background: var(--lum-plum-deep) !important; animation: none; box-shadow: none !important; }
.om-page .om-announce::before, .om-page .om-announce-aurora, .om-page .om-announce-sheen, .om-page .om-announce-dots,
.om-page .om-announce-badge-dot, .om-page .om-announce-cta-ic, .om-page .om-announce-date i, .om-page .om-announce-count i { display: none !important; }
.om-page .om-announce-main { gap: 22px !important; }
.om-page .om-announce-badge, .om-page .om-announce-date, .om-page .om-announce-count, .om-page .om-announce-cta {
  background: transparent !important; border: 0 !important; padding: 0 !important;
  color: #fff !important; font-family: var(--lum-text) !important; font-size: 14px !important; font-weight: 400 !important;
  letter-spacing: 0 !important; text-transform: none !important; min-height: 0 !important; text-shadow: none !important;
}
.om-page .om-announce-badge { text-transform: uppercase !important; letter-spacing: .14em !important; font-size: 12px !important; font-weight: 600 !important; color: rgba(255,255,255,.72) !important; }
.om-page .om-announce-name { font-family: var(--lum-text) !important; font-size: 14px !important; font-weight: 600 !important; color: #fff !important; }
.om-page .om-announce-count-pre, .om-page .om-announce-count-num { font-size: 14px !important; font-weight: 400 !important; color: #fff !important; }
.om-page .om-announce-price { color: #fff !important; font-size: 14px !important; font-weight: 600 !important; text-shadow: none !important; }
.om-page .om-announce-cta { text-decoration: underline !important; text-underline-offset: 5px; text-decoration-color: var(--lum-orange) !important; font-weight: 500 !important; }
.om-page .om-announce-cta::after { content: ' ›'; }
.om-page .om-announce-close { background: transparent !important; border: 0 !important; color: rgba(255,255,255,.7) !important; }
/* полоса событий сразу под первым экраном — как полоса логотипов у эталона */
.lum-events .om-announce { position: relative !important; z-index: 1 !important; top: auto; min-height: 72px; background: var(--lum-slate) !important; border: 0; }
.lum-events .om-announce-cta { color: var(--lum-orange) !important; }

/* ── Сплэш; полоса прогресса убрана (нет в системе и в эталоне) ───── */
.om-splash { background: var(--lum-plum) !important; }
.om-splash-line span { background: var(--lum-orange) !important; }
.om-splash-meta { color: rgba(255,255,255,.7) !important; font-family: var(--lum-text) !important; }
.om-progress { display: none !important; }

/* ── Финальная полоса: плоский баклажан, белые кнопки ─────────────── */
.om-page .om-cta, .om-page .om-cta-card { background: var(--lum-plum) !important; background-image: none !important; }
.om-page .om-cta::before, .om-page .om-cta::after { display: none !important; }
.om-page .om-cta .om-btn { color: #fff !important; }

/* ── Орнаменты ────────────────────────────────────────────────────── */
.lum-hatch { position: relative; background-color: var(--lum-plum); background-image: var(--lum-hatch-dark); background-size: 15.38px 15.38px; }
.lum-hatch--light { background-color: var(--lum-cream); background-image: var(--lum-hatch-light); }
.lum-corner {
  position: absolute; right: 70px; bottom: 70px; width: 70px; height: 70px;
  border-right: 1px solid #fff; border-bottom: 1px solid #fff;
  pointer-events: none; z-index: 3;
}
.lum-corner--dark { border-color: var(--lum-plum); }
.lum-down {
  position: absolute; left: 50%; bottom: 26px; z-index: 3;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  color: #fff; transform: translateX(-50%);
  animation: lum-down 1s ease-in-out infinite alternate;
}
.lum-down-dots { display: flex; flex-direction: column; gap: 5px; }
.lum-down-dots i { display: block; width: 3px; height: 3px; background: currentColor; border-radius: 50% !important; }
.lum-down svg { width: 32px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; }
@keyframes lum-down { from { transform: translate(-50%, 0); } to { transform: translate(-50%, 9px); } }

/* ── Визуал (изображение GPT Image или живая сцена) ───────────────── */
.lum-visual { position: absolute; inset: 0; overflow: hidden; background: var(--lum-plum-deep); }
.lum-visual-canvas, .lum-visual-media { position: absolute; inset: 0; width: 100%; height: 100%; display: block; object-fit: cover; }
.lum-visual-media { animation: lum-kenburns 14s ease-out both; }
@keyframes lum-kenburns { from { transform: scale(1.07); } to { transform: scale(1); } }

/* ── Первый экран ─────────────────────────────────────────────────── */
.lum-hero {
  position: relative;
  min-height: 100vh; min-height: 100svh;
  display: grid; align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--lum-plum-deep);
  isolation: isolate;
}
.lum-hero-shade {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(52% 46% at 50% 44%, rgba(14,5,16,.62) 0%, rgba(14,5,16,.3) 55%, transparent 100%);
}
.lum-hero--left .lum-hero-shade { background: linear-gradient(90deg, rgba(14,5,16,.72) 0%, rgba(14,5,16,.35) 45%, transparent 75%); }
.lum-hero-inner {
  position: relative; z-index: 2;
  width: 100%; max-width: 1080px; margin: 0 auto;
  padding: calc(var(--lum-header-h) + 40px) var(--om-container-pad, 48px) 150px;
  text-align: center;
}
.lum-hero--left .lum-hero-inner { max-width: var(--om-container-max, 1240px); text-align: left; }
.lum-kicker {
  display: inline-block; margin-bottom: 26px;
  font-family: var(--lum-text); font-size: 12px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.8);
}
.om-page .lum-hero-title {
  margin: 0;
  font-size: clamp(34px, min(4.7vw, 8.4vh), 66px) !important;
  line-height: 1.1 !important;
  letter-spacing: .03em !important;
  font-weight: 300 !important;
  color: #fff;
}
.lum-hero--left .lum-hero-title { max-width: 15ch; }
.lum-hero-line { display: block; }
.lum-hero-text {
  margin: clamp(16px, 3.2vh, 30px) auto clamp(22px, 4.4vh, 42px); max-width: 58ch;
  font-family: var(--lum-text); font-size: 18px; line-height: 1.5; font-weight: 400;
  color: #fff;
}
.lum-hero--left .lum-hero-text { margin-left: 0; }
.lum-hero-actions { display: flex; gap: 28px; align-items: center; justify-content: center; flex-wrap: wrap; }
.lum-hero--left .lum-hero-actions { justify-content: flex-start; }
.lum-hero-link { color: var(--lum-orange); font-family: var(--lum-text); font-weight: 500; font-size: 16px; text-decoration: underline; text-underline-offset: 5px; }
.lum-hero-link:hover { color: #fff; }

/* вход первого экрана: снизу вверх, 700ms, один раз */
.lum-hero [data-lum="rise"] { animation: lum-rise .7s cubic-bezier(.2,.7,.2,1) both; }
.lum-hero [data-lum="fade"] { animation: lum-fade .7s ease both .75s; }
.lum-hero .lum-kicker { animation-delay: .15s; }
.lum-hero .lum-hero-title { animation-delay: .28s; }
.lum-hero .lum-hero-text { animation-delay: .48s; }
@keyframes lum-rise { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: none; } }
@keyframes lum-fade { from { opacity: 0; } to { opacity: 1; } }

/* ── Полоса-разделитель ───────────────────────────────────────────── */
.lum-strip { position: relative; height: 160px; overflow: hidden; }

/* ── Тезис ────────────────────────────────────────────────────────── */
.lum-statement { padding: 40px; }
.lum-statement-card {
  max-width: var(--om-container-max, 1240px); margin: 0 auto;
  background: #fff; padding: 84px 32px; text-align: center;
}
.lum-statement-lead, .lum-statement-accent {
  margin: 0 auto; max-width: 36ch;
  font-family: var(--lum-text); font-size: clamp(20px, 1.9vw, 26px); line-height: 1.38; font-weight: 600;
  color: var(--lum-plum);
}
.lum-statement-accent { margin-top: 26px; max-width: 40ch; color: var(--lum-orange); }

/* ── Мобильная версия ─────────────────────────────────────────────── */
@media (max-width: 768px) {
  .lum-corner { right: 22px; bottom: 22px; width: 44px; height: 44px; }
  .lum-hero-inner { padding: calc(var(--lum-header-h) + 40px) 20px 120px; }
  .lum-hero-text { font-size: 16px; margin: 22px auto 30px; }
  .lum-hero-actions .lum-btn { width: 100%; }
  .lum-btn, .om-page .om-btn:not(.om-btn--ghost) { min-height: 54px; }
  .lum-statement { padding: 20px; }
  .lum-statement-card { padding: 52px 22px; }
  .lum-strip { height: 110px; }
}
@media (prefers-reduced-motion: reduce) {
  .lum-hero [data-lum], .lum-down, .lum-visual-media { animation: none !important; }
}

/* шапка: без переносов в пунктах меню */
.om-page .om-header-link, .om-page .om-header-brand-sub, .om-page .om-header-login, .om-page .om-header-cta { white-space: nowrap; }
.om-page .om-header-nav { gap: 26px; }
@media (max-width: 1240px) {
  .om-page .om-header-nav { gap: 18px; }
  .om-page .om-header-locale { display: none; }
  .om-page .om-header-brand-sub { display: none; }
}

/* шапка на телефоне: имя в одну строку, компактная кнопка */
@media (max-width: 900px) {
  .om-page .om-header-brand-name { white-space: nowrap; font-size: 17px; }
  .om-page .om-header-inner { gap: 12px; }
  .om-page .om-header-cta { padding-left: 14px !important; }
}
@media (max-width: 420px) {
  .om-page .om-header-cta { display: none !important; }
}

@media (max-width: 768px) {
  .lum-events .om-announce { padding: 12px 44px 12px 16px !important; }
  .om-page .om-announce-date, .om-page .om-announce-count, .om-page .om-announce-price { display: none !important; }
  .om-page .om-announce-main { gap: 12px !important; flex-wrap: wrap; justify-content: center; }
  .om-page .om-announce-name { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; max-width: none !important; }
}

/* шапка на телефоне: бургер у правого края */
@media (max-width: 900px) {
  .om-page .om-header-inner { grid-template-columns: auto 1fr; }
  .om-page .om-header-actions { justify-self: end; }
}

/* полоса событий: один стиль — белый 14px; закрывать её не нужно (она в потоке страницы) */
.lum-events .om-announce-badge { text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important; font-weight: 600 !important; color: #fff !important; }
.lum-events .om-announce-name { font-weight: 400 !important; letter-spacing: 0 !important; }
.lum-events .om-announce-close { display: none !important; }
.lum-events .om-announce-badge::after { content: ':'; }

/* знак логотипа — белый одноцветный, как у эталона (цветной остаётся в сплэше и фавиконке) */
.om-page .om-header-mark, .om-page footer img[src*="om-time-mark"] { filter: brightness(0) invert(1); }

@media (max-width: 768px) {
  .lum-hero-text { font-size: 17px; }
}

/* теги-плашки → спокойные подписи (палитра: без зелёных/золотых/розовых заливок) */
.om-page .om-tag { background: none !important; border: 0 !important; padding: 0 !important; color: var(--om-muted) !important; text-transform: uppercase; letter-spacing: .12em; font-size: 12px !important; font-weight: 600 !important; }
.lum-faq { background: var(--lum-cream); padding: 112px 0 !important; }
.lum-faq [style*="background: var(--om-canvas-white)"] { background: #fff !important; }

/* =====================================================================
   ГЛАВНАЯ — композиция по эталону (часть 2)
   ===================================================================== */

/* ── появление при прокрутке (lum-motion.js) ── */
.lum-armed[data-lum="rise"] { opacity: 0; transform: translateY(34px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.lum-armed[data-lum="fade"] { opacity: 0; transition: opacity .7s ease; }
.lum-armed[data-lum="flip"] { opacity: 0; transform: perspective(1000px) rotateX(70deg); transform-origin: 50% 0; transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.lum-armed.is-in { opacity: 1; transform: none; }
.lum-armed[data-lum-delay="1"] { transition-delay: .1s; }
.lum-armed[data-lum-delay="2"] { transition-delay: .2s; }
.lum-armed[data-lum-delay="3"] { transition-delay: .3s; }
.lum-armed[data-lum-delay="4"] { transition-delay: .4s; }

/* ── половинная полоса: текст на баклажане + изображение в край ── */
.lum-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; background: var(--lum-plum); }
.lum-split-text {
  position: relative; display: flex; flex-direction: column; justify-content: center;
  padding: 96px clamp(28px, 6vw, 96px); color: #fff; background: var(--lum-plum);
}
.om-page .lum-split-title { margin: 0; color: #fff; max-width: 16ch; }
.lum-split-lead { margin: 28px 0 40px; max-width: 46ch; font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.92); }
.lum-split-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.lum-split-actions .lum-link { font-weight: 500; }
.lum-split-facts { margin: 36px 0 0; font-size: 14px; color: rgba(255,255,255,.62); }
.lum-split-media { position: relative; overflow: hidden; min-height: 520px; }
.lum-split-media.lum-hatch { background-color: var(--lum-plum-deep); display: grid; place-items: center; padding: 56px 32px; }
.lum-split--media-left .lum-split-media { order: -1; }
.lum-split-media .om-hero-card-stage { position: relative; inset: auto; width: min(560px, 100%); height: 520px; perspective: 1200px; }
.lum-split-media .om-hero-cf-slide { background: var(--lum-plum); }
.lum-split-media .om-hero-cf-slide::after { background: rgba(42,16,39,.45); }
.om-page .lum-split-media .om-hero-cf-nav { width: 44px; height: 44px; background: rgba(42,16,39,.7) !important; color: #fff; border: 1px solid rgba(255,255,255,.3) !important; }
.lum-split-media .om-hero-carousel-dots { bottom: -26px; }

/* ── три вопроса ── */
.lum-questions { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--lum-cream); }
.lum-question { display: flex; flex-direction: column; padding: 84px clamp(24px, 4vw, 60px) 72px; min-height: 520px; }
.om-page h3.lum-question-title {
  margin: 0; font-family: var(--lum-display) !important; font-weight: 300 !important; text-transform: uppercase;
  letter-spacing: .03em !important; font-size: clamp(22px, 2.2vw, 32px) !important; line-height: 1.2 !important; color: var(--lum-plum);
}
.lum-question p { flex: 1; margin: 26px 0 40px; font-size: 16px; line-height: 1.6; color: var(--lum-ink); max-width: 34ch; }

/* ── полоса-разделитель ── */
.lum-strip { background: var(--lum-plum-deep); }

/* ── в цифрах ── */
.lum-numbers { background: var(--lum-slate); color: #fff; padding: 104px var(--om-container-pad, 48px) 88px; text-align: center; }
.om-page .lum-numbers-title { margin: 0; color: #fff; }
.lum-numbers-grid { max-width: var(--om-container-max, 1240px); margin: 64px auto 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.lum-number-fig { font-family: var(--lum-display); font-weight: 200; font-style: normal; font-size: clamp(54px, 5.6vw, 86px); line-height: 1; letter-spacing: -.01em; font-variant-numeric: lining-nums tabular-nums; }
.lum-number-pre, .lum-number-unit { font-weight: 300; font-size: .36em; letter-spacing: .04em; margin: 0 .18em; }
.lum-number-label { margin: 20px 0 10px; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.lum-number-cap { margin: 0 auto; max-width: 26ch; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.85); }
.lum-numbers-source { margin: 56px auto 0; max-width: 70ch; font-size: 13px; color: rgba(255,255,255,.55); }

/* ── плитки ── */
.lum-tiles { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--lum-plum); }
.lum-tile { display: flex; flex-direction: column; min-height: 380px; padding: 60px clamp(24px, 3.6vw, 52px); }
.lum-tile--intro { background: #fff; color: var(--lum-ink); overflow: hidden; }
.om-page .lum-tile-heading { margin: 0; color: inherit; font-size: clamp(25px, 2.6vw, 38px) !important; }
.lum-tile--intro p { margin: 22px 0 32px; max-width: 32ch; font-size: 16px; line-height: 1.6; }
.lum-tile--plum { background-color: var(--lum-plum); color: #fff; }
.om-page .lum-tile--plum h3 { margin: 0 0 18px; color: #fff; font-size: 24px !important; line-height: 1.25; }
.lum-tile--plum p { margin: 0; font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,.86); }
.lum-tile--cta p { margin-bottom: 32px; }
.lum-dotted-arrow { position: relative; display: block; height: 44px; margin-top: auto; }
.lum-dotted-arrow::before { content: ""; position: absolute; left: -60px; right: 22px; top: 50%; border-top: 2px dotted rgba(22,34,60,.55); }
.lum-dotted-arrow::after { content: ""; position: absolute; right: 4px; top: 50%; width: 30px; height: 30px; border-top: 1.4px solid var(--lum-ink); border-right: 1.4px solid var(--lum-ink); transform: translateY(-50%) rotate(45deg); }

/* ── три уровня ── */
.lum-levels { display: grid; grid-template-columns: 1fr 1fr; }
.lum-level { position: relative; min-height: 460px; overflow: hidden; }
.lum-level--intro { background: var(--lum-slate); color: #fff; padding: 72px clamp(28px, 5vw, 80px); display: flex; flex-direction: column; justify-content: center; }
.lum-level--intro p { margin: 26px 0 0; max-width: 40ch; font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.88); }
.lum-level--visual { color: #fff; background: var(--lum-plum-deep); }
.lum-level-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,3,12,0) 30%, rgba(10,3,12,.82) 100%); pointer-events: none; }
.lum-level-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 44px clamp(28px, 4vw, 56px); }
.lum-level-label { display: block; margin-bottom: 12px; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.om-page .lum-level-body h3 { margin: 0 0 12px; color: #fff; font-size: 26px !important; }
.lum-level-body p { margin: 0; max-width: 48ch; font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,.88); }

/* ── четыре дня ── */
.lum-days { background: var(--lum-plum); color: #fff; padding: 112px 0 0; }
.lum-days-inner { max-width: var(--om-container-max, 1240px); margin: 0 auto; padding: 0 var(--om-container-pad, 48px); display: grid; grid-template-columns: 5fr 7fr; gap: 64px; }
.om-page .lum-days-head h2 { margin: 0; color: #fff; }
.lum-days-head { position: sticky; top: 120px; align-self: start; }
.lum-days-head p { margin: 26px 0 0; font-size: 17px; line-height: 1.6; color: rgba(255,255,255,.85); max-width: 40ch; }
.lum-days-list { list-style: none; margin: 0; padding: 0; }
.lum-day { display: grid; grid-template-columns: 96px 1fr; gap: 24px; padding: 34px 0; border-top: 1px solid rgba(255,255,255,.2); }
.lum-day:last-child { border-bottom: 1px solid rgba(255,255,255,.2); }
.lum-day-num { font-family: var(--lum-display); font-weight: 200; font-style: normal; font-size: 54px; line-height: 1; color: rgba(255,255,255,.55); }
.om-page .lum-day h3 { margin: 4px 0 12px; color: #fff; font-size: 24px !important; }
.lum-day p { margin: 0; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.86); }
.lum-day .lum-day-meta { margin-top: 12px; font-size: 13px; color: rgba(255,255,255,.55); }
.lum-days-support { max-width: var(--om-container-max, 1240px); margin: 88px auto 0; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 52px clamp(24px, 4vw, 64px); }
.lum-days-support.lum-hatch { background-color: var(--lum-plum-deep); }
.om-page .lum-days-support h3 { margin: 0 0 12px; color: #fff; font-family: var(--lum-display) !important; font-weight: 300 !important; text-transform: uppercase; letter-spacing: .03em !important; font-size: clamp(22px, 2.2vw, 30px) !important; }
.lum-days-support p { margin: 0; max-width: 56ch; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.85); }

/* ── сравнение ── */
.lum-compare { padding: 40px; }
.lum-compare-card { max-width: var(--om-container-max, 1240px); margin: 0 auto; background: #fff; padding: 88px clamp(22px, 5vw, 72px); }
.om-page .lum-compare-card h2 { margin: 0; text-align: center; color: var(--lum-plum); }
.lum-compare-lead { margin: 22px auto 52px; max-width: 60ch; text-align: center; font-size: 17px; line-height: 1.6; }
.lum-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.lum-table th, .lum-table td { padding: 20px 24px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--om-hairline); }
.lum-table thead th { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--om-muted); }
.lum-table tbody th { font-weight: 600; color: var(--lum-ink); width: 26%; }
.lum-table td { color: var(--om-muted); }
.lum-table .is-ours { background: var(--lum-plum); color: #fff; border-bottom-color: rgba(255,255,255,.16); }
.lum-table thead .is-ours { color: #fff; }

/* ── кому подходит ── */
.lum-suit { background: #fff; padding-top: 112px; }
.lum-suit-head { max-width: var(--om-container-max, 1240px); margin: 0 auto 56px; padding: 0 var(--om-container-pad, 48px); text-align: center; }
.om-page .lum-suit-head h2 { margin: 0; color: var(--lum-plum); }
.lum-suit-head p { margin: 20px auto 0; max-width: 54ch; font-size: 17px; line-height: 1.6; }
.lum-suit-grid { display: grid; grid-template-columns: 1fr 1fr; }
.lum-suit-col { padding: 72px clamp(24px, 5vw, 84px); }
.lum-suit-col--yes { background: var(--lum-cream); color: var(--lum-ink); }
.lum-suit-col--no { color: #fff; }
.om-page .lum-suit-col h3 { margin: 0 0 24px; font-size: 24px !important; color: inherit; }
.lum-suit-col ul { list-style: none; margin: 0; padding: 0; }
.lum-suit-col li { position: relative; padding: 16px 0 16px 30px; border-top: 1px solid var(--om-hairline); font-size: 16px; line-height: 1.5; }
.lum-suit-col--no li { border-top-color: rgba(255,255,255,.2); color: rgba(255,255,255,.9); }
.lum-suit-col li::before { content: ""; position: absolute; left: 0; top: 26px; width: 14px; height: 1.5px; background: var(--lum-plum); }
.lum-suit-col--no li::before { background: #fff; }
.lum-suit-note { margin: 28px 0 0; font-size: 15px; line-height: 1.6; opacity: .85; }

/* ── отзывы ── */
.lum-quotes { background: var(--lum-cream); padding: 104px 0 96px; }
.lum-quotes-head, .lum-quotes-stage, .lum-quotes-note { max-width: var(--om-container-max, 1240px); margin-left: auto; margin-right: auto; padding: 0 var(--om-container-pad, 48px); }
.lum-quotes-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 44px; }
.om-page .lum-quotes-head h2 { margin: 0; color: var(--lum-plum); max-width: 20ch; }
.lum-quotes-nav { display: flex; align-items: center; gap: 18px; }
.lum-chev { width: 30px; height: 40px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--lum-plum); }
.lum-chev svg { width: 14px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2.2; }
.lum-chev--prev { color: #A49FA6; }
.lum-chev:hover { color: var(--lum-orange); }
.lum-dots { display: flex; gap: 8px; }
.lum-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50% !important; background: #CFCBD0; cursor: pointer; }
.lum-dot.is-active { background: var(--lum-orange); }
.lum-quotes-stage { display: grid; grid-template-columns: 1fr 1fr; }
.lum-quote-card { background: #fff; padding: 64px clamp(26px, 5vw, 64px); min-height: 500px; display: flex; flex-direction: column; animation: lum-fade .6s ease both; }
.lum-quote-mark { width: 72px; height: 58px; fill: none; stroke: var(--lum-orange); stroke-width: 2; margin-bottom: 36px; }
.lum-quote-text { margin: 0 0 32px; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.6; color: var(--lum-ink); }
.lum-quote-who { margin: auto 0 6px; font-size: 16px; font-weight: 600; color: var(--lum-orange); }
.lum-quote-meta { margin: 0; font-size: 14px; color: var(--om-muted); }
.lum-quotes-media { position: relative; min-height: 500px; }
.lum-quotes-note { margin-top: 28px; font-size: 13px; color: var(--om-muted); }

/* ── финальный призыв: слово-плакат + приглашение ── */
.lum-final { display: grid; grid-template-columns: 1fr 1fr; min-height: 380px; background: var(--lum-plum); }
.lum-final-poster { position: relative; padding: 36px; }
.lum-poster { position: relative; width: 100%; height: 100%; min-height: 300px; }
.lum-poster-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.lum-poster-img {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  font-family: var(--lum-display); font-weight: 800; text-transform: uppercase; line-height: .98;
  font-size: clamp(64px, 9vw, 150px); color: transparent; background-size: cover; background-position: center;
  -webkit-background-clip: text; background-clip: text;
}
.lum-final-text { display: flex; flex-direction: column; justify-content: center; padding: 72px clamp(28px, 6vw, 96px); color: #fff; }
.om-page .lum-final-text h2 { margin: 0; color: #fff; }
.lum-final-text p { margin: 22px 0 34px; max-width: 46ch; font-size: 18px; line-height: 1.7; color: rgba(255,255,255,.9); }

/* ── главная на телефоне и планшете ── */
@media (max-width: 960px) {
  .lum-split, .lum-questions, .lum-tiles, .lum-levels, .lum-suit-grid, .lum-quotes-stage, .lum-final { grid-template-columns: 1fr; }
  .lum-split--media-left .lum-split-media { order: 0; }
  .lum-split-media { min-height: 420px; }
  .lum-split-media .om-hero-card-stage { height: 440px; }
  .lum-question, .lum-tile { min-height: 0; padding: 56px 24px; }
  .lum-numbers-grid { grid-template-columns: 1fr 1fr; gap: 48px 24px; }
  .lum-days-inner { grid-template-columns: 1fr; gap: 40px; }
  .lum-days-head { position: static; }
  .lum-day { grid-template-columns: 64px 1fr; gap: 14px; }
  .lum-day-num { font-size: 40px; }
  .lum-days-support { flex-direction: column; align-items: flex-start; margin-top: 56px; }
  .lum-quotes-media { min-height: 300px; }
  .lum-quote-card { min-height: 0; }
  .lum-quotes-head { flex-direction: column; align-items: flex-start; }
  .lum-final-poster { min-height: 240px; }
  .lum-table thead { display: none; }
  .lum-table, .lum-table tbody, .lum-table tr, .lum-table th, .lum-table td { display: block; width: 100% !important; }
  .lum-table tr { margin-bottom: 18px; border: 1px solid var(--om-hairline); }
  .lum-table td::before { content: attr(data-col); display: block; margin-bottom: 4px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
  .lum-compare { padding: 16px; }
}
@media (max-width: 560px) {
  .lum-numbers-grid { grid-template-columns: 1fr; }
  .lum-split-text { padding: 72px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .lum-armed { opacity: 1 !important; transform: none !important; transition: none !important; }
  .lum-quote-card { animation: none; }
}

/* сплэш уходит быстро — не перекрывает первый экран */
.om-splash { transition: opacity .3s ease, visibility .3s ease !important; }

/* =====================================================================
   ГЛАВНАЯ — раунд 2: единая линия левого края, ритм, правки системы
   ===================================================================== */
:root { --lum-edge: max(24px, calc((100vw - var(--om-container-max, 1240px)) / 2 + var(--om-container-pad, 48px))); --lum-muted: #5B6072; }
/* все колонки начинаются от линии шапки */
.lum-split-text { padding-left: var(--lum-edge); padding-right: clamp(28px, 5vw, 80px); }
.lum-split--media-left .lum-split-text { padding-left: clamp(28px, 5vw, 80px); padding-right: var(--lum-edge); }
.lum-questions > .lum-question:first-child, .lum-tiles > .lum-tile:nth-child(3n+1), .lum-levels > .lum-level:nth-child(odd) .lum-level-body, .lum-level--intro, .lum-suit-col--yes, .lum-final-poster { padding-left: var(--lum-edge); }
.lum-questions > .lum-question:last-child, .lum-tiles > .lum-tile:nth-child(3n), .lum-suit-col--no, .lum-final-text { padding-right: var(--lum-edge); }
/* тезис и сравнение: рамка 40px со всех сторон */
.lum-statement-card, .lum-compare-card { max-width: none; }
/* первая плитка уровней — белая (как вводная плитка «Our services») */
.lum-level--intro { background: #fff; color: var(--lum-ink); }
.lum-level--intro p { color: var(--lum-ink); }
.om-page .lum-level--intro h2 { color: var(--lum-plum); }
/* «Сначала — другое»: весь текст белый */
.lum-suit-col--no, .lum-suit-col--no p, .lum-suit-col--no .lum-suit-note { color: #fff !important; }
/* отзыв: текст 18px */
.lum-quote-text { font-size: 18px; }
/* служебный уровень текста — один серый токен */
.lum-numbers-source, .lum-quote-meta, .lum-quotes-note, .lum-split-facts { color: var(--lum-muted); }
.lum-numbers-source { color: rgba(255,255,255,.6); }
.lum-table td { color: var(--lum-muted); }
/* расписание: список в белой карточке на креме, справа афиши */
.lum-sched { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; }
.lum-sched-posters { position: sticky; top: 112px; }
.lum-posters { position: relative; height: 560px; background-color: var(--lum-plum-deep); background-image: var(--lum-hatch-dark); background-size: 15.38px 15.38px; display: grid; place-items: center; padding: 32px; }
.lum-posters .om-hero-card-stage { position: relative; inset: auto; width: 100%; height: 100%; perspective: 1200px; }
.lum-posters .om-hero-cf-slide { background: var(--lum-plum); }
.lum-posters .om-hero-cf-slide::after { background: rgba(42,16,39,.45); }
.lum-posters .om-hero-carousel-dots { bottom: -22px; }
/* стрелки карусели — тонкие шевроны, как у слайдера отзывов */
.om-page .lum-posters .om-hero-cf-nav { width: 30px; height: 44px; background: transparent !important; border: 0 !important; color: #fff; }
.om-page .lum-posters .om-hero-cf-nav svg { width: 22px; height: 30px; stroke-width: 1.6; }
.om-page .om-hero-carousel-dot { border-radius: 50% !important; width: 8px !important; height: 8px !important; background: rgba(255,255,255,.4) !important; }
.om-page .om-hero-carousel-dot.is-active { background: var(--lum-orange) !important; }
/* финальная полоса: плакат по центру своей половины */
.lum-final-poster { display: flex; align-items: stretch; min-height: 380px; }
@media (max-width: 960px) {
  .lum-split-text, .lum-split--media-left .lum-split-text { padding-left: 22px; padding-right: 22px; }
  .lum-questions > .lum-question, .lum-tiles > .lum-tile, .lum-level--intro, .lum-levels .lum-level-body, .lum-suit-col, .lum-final-poster, .lum-final-text { padding-left: 22px !important; padding-right: 22px !important; }
  .lum-sched { grid-template-columns: 1fr; }
  .lum-sched-posters { position: static; }
  .lum-posters { height: 460px; }
  .lum-table tr { border: 0; border-top: 1px solid var(--om-hairline); }
  .lum-table tr td.is-ours { margin-top: 6px; }
  .om-page main .lum-btn, .om-page main .om-btn:not(.om-btn--ghost) { width: 100%; }
}

.lum-posters { overflow: hidden; }
.lum-poster { flex: 1; }

/* раунд 5 части 1 */
/* шапка спокойнее: переключатель языков не работает (это надписи, не ссылки) — скрыт, как лишний шум */
.om-page .om-header-locale { display: none !important; }
/* полоса событий: подпись без двоеточия, цена обычным весом */
.lum-events .om-announce-badge::after { content: none !important; }
.lum-events .om-announce-price { font-weight: 400 !important; }
.lum-events .om-announce-name { color: #fff !important; }
/* поле под текстом первого экрана темнее — текст на спокойном фоне */
.lum-hero-shade { background: radial-gradient(48% 50% at 50% 46%, rgba(12,4,14,.7) 0%, rgba(12,4,14,.34) 58%, transparent 100%); }

/* Часть 2 — раунд 3 */
.lum-btn, .om-page .om-btn { white-space: nowrap; }
/* три вопроса: заголовки в одну высоту — текст и кнопки на одной линии */
.om-page h3.lum-question-title { font-size: clamp(21px, 1.9vw, 28px) !important; min-height: 3.6em; }
/* отзыв: карточка без пустоты посередине */
.lum-quote-card { min-height: 420px; }
.lum-quote-who { margin-top: 8px; }
.lum-quote-text { margin-bottom: 28px; }
/* FAQ — белый фон, меньше пустоты между отзывами и вопросами */
.lum-faq { background: #fff; padding: 96px 0 !important; }
.lum-quotes { padding: 96px 0 80px; }
/* афиша: флаер целиком, без обрезки, один в кадре, как плакат на стене */
.lum-posters .om-hero-cf-slide { width: auto !important; height: 100%; aspect-ratio: 3 / 4; background: transparent !important; }
.lum-posters .om-hero-cf-slide img { object-fit: contain !important; object-position: center !important; }
.lum-posters .om-hero-cf-slide:not(.is-active) { opacity: 0 !important; visibility: hidden !important; }
.lum-posters .om-hero-cf-slide::after { display: none; }
.lum-posters { padding: 40px 56px 48px; }
/* «Кому подходит»: секция на креме, колонка «подходит» — белая карточка */
.lum-suit { background: var(--lum-cream); }
.lum-suit-col--yes { background: #fff; }
/* вопросы FAQ и цена в расписании — кегль заголовка карточки */
.lum-faq button { font-size: 22px !important; }

/* стрелки афиши: без размытия-подложки, в полях рамки, не поверх флаера */
.om-page .lum-posters .om-hero-cf-nav { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
.om-page .lum-posters .om-hero-cf-nav--prev { left: -46px !important; }
.om-page .lum-posters .om-hero-cf-nav--next { right: -46px !important; }

/* =====================================================================
   ВНУТРЕННИЕ СТРАНИЦЫ (часть 3): первый экран с фактами
   ===================================================================== */
.lum-hero-stats { display: flex; flex-wrap: wrap; gap: 18px 56px; margin: 48px 0 0; padding: 0; }
.lum-hero--center .lum-hero-stats { justify-content: center; }
.lum-hero-stat { margin: 0; }
.lum-hero-stat dt { font-family: var(--lum-display); font-weight: 200; font-style: normal; font-size: clamp(34px, 3.4vw, 50px); line-height: 1; color: #fff; font-variant-numeric: lining-nums; }
.lum-hero-stat dd { margin: 10px 0 0; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.72); }
#lum-next { position: relative; top: -80px; height: 0; }
@media (max-width: 768px) {
  .lum-hero-stats { gap: 18px 32px; margin-top: 32px; }
}

/* раунд 7 (часть 1) / раунд 4 (часть 2) */
/* полоса событий: название было скрыто застрявшей анимацией смены — показываем сразу; по сетке шапки */
.lum-events .om-announce-swap { animation: none !important; opacity: 1 !important; transform: none !important; }
.lum-events .om-announce { justify-content: flex-start !important; padding-left: var(--lum-edge) !important; padding-right: var(--lum-edge) !important; }
.lum-events .om-announce-main { justify-content: flex-start !important; width: 100%; }
.lum-events .om-announce-cta { margin-left: auto; }
/* подзаголовок первого экрана без «висячих» строк */
.lum-hero-text, .lum-split-lead, .lum-statement-lead, .lum-statement-accent { text-wrap: balance; }
/* расписание: на экране меньше оранжевого — действие в ряду тёмное с оранжевым подчёркиванием */
.lum-sched .lum-link { color: var(--lum-ink) !important; text-decoration-color: var(--lum-orange); }
.lum-sched .lum-link:hover { color: var(--lum-orange) !important; }
/* афиша — на всю высоту списка, без пустоты под ней */
.lum-sched { align-items: stretch; }
.lum-sched-posters { position: relative; top: auto; }
.lum-posters { position: sticky; top: 112px; height: min(640px, calc(100vh - 160px)); }
/* полоса цифр — белая, цифры баклажановые (без четвёртого «серого» поля) */
.lum-numbers { background: #fff; color: var(--lum-ink); }
.om-page .lum-numbers-title { color: var(--lum-plum); }
.lum-number-fig { color: var(--lum-plum); }
.lum-number-label { color: var(--lum-muted); }
.lum-number-cap { color: var(--lum-ink); }
.lum-numbers-source { color: var(--lum-muted) !important; }
/* плитки: штрихуется средняя колонка каждого ряда (#2 и #5) — одно правило для сетки */
.lum-tiles > .lum-tile.lum-hatch { background-image: none; }
.lum-tiles > .lum-tile:nth-child(3n+2) { background-image: var(--lum-hatch-dark); background-size: 15.38px 15.38px; }
/* «Кому подходит» и FAQ: белые карточки на креме */
.lum-suit { padding-bottom: 40px; }
.lum-suit-grid { margin: 0 40px; }
.lum-faq { background: var(--lum-cream) !important; }
/* порядковые номера — тонким Montserrat, как в «четырёх днях» */
.lum-ordinal { font-family: var(--lum-display); font-weight: 200; font-size: 28px; letter-spacing: 0; margin-right: 12px; vertical-align: -4px; text-transform: none; }
/* отзыв: результат крупно */
.lum-quote-result { margin: -12px 0 18px; font-family: var(--lum-display); font-weight: 200; font-size: 44px; line-height: 1; color: var(--lum-plum); }
/* лид в блоке расписания — основной текст, не служебный */
.lum-sched-main > div > div > p { color: var(--lum-ink) !important; }
@media (max-width: 960px) {
  /* расписание на телефоне: ничего не вылезает за край */
  .lum-sched, .lum-sched-main { min-width: 0; max-width: 100%; }
  .lum-sched-main [style*="grid-template-columns: 1fr auto"] { grid-template-columns: 1fr !important; }
  .lum-sched-main [style*="align-items: flex-end"] { align-items: flex-start !important; }
  .om-page .lum-sched-main h2 { font-size: 24px !important; overflow-wrap: anywhere; }
  .lum-sched .om-btn, .lum-sched .lum-btn { width: 100%; }
  .lum-posters { position: relative; top: auto; height: 520px; }
  .lum-suit-grid { margin: 0 16px; }
  /* плитки уровней: текст на затемнённой нижней части, сцена сверху */
  .lum-level--visual { min-height: 520px; }
  .lum-level-shade { background: linear-gradient(180deg, rgba(10,3,12,0) 20%, rgba(10,3,12,.9) 62%); }
  /* финал на телефоне: сначала приглашение и кнопка, потом плакат */
  .lum-final-text { order: -1; }
  .lum-final-poster { min-height: 200px; }
}

@media (max-width: 960px) {
  /* колонка сетки не сжималась меньше содержимого (1fr = minmax(auto,1fr)) — расписание вылезало за экран */
  .lum-sched { grid-template-columns: minmax(0, 1fr) !important; }
  .lum-split, .lum-questions, .lum-tiles, .lum-levels, .lum-suit-grid, .lum-quotes-stage, .lum-final { grid-template-columns: minmax(0, 1fr) !important; }
}

/* первый экран всегда заезжает под шапку — даже если страница обёрнута в лишний div */
html.lum-has-hero .om-page main .lum-hero { margin-top: calc(-1 * var(--lum-header-h)); }

/* афиши переехали на страницу «Расписание»; на главной список на всю ширину */
.lum-sched.lum-sched--single { grid-template-columns: minmax(0, 1fr) !important; max-width: 980px !important; }
.lum-afisha .lum-split-media { display: grid; place-items: center; padding: 48px 40px 64px; }
.lum-afisha .lum-posters { width: min(460px, 100%); height: 560px; background: none; padding: 0 0 40px; }
@media (max-width: 960px) { .lum-afisha .lum-posters { height: 480px; } }

/* ===== раунд 8 ===== */
/* токены: зелёный «шалфей», золото и предупреждения → система (баклажан/оранжевый) */
:root { --om-sage: #EDE6EC; --om-sage-deep: #482042; --om-success: #482042; --om-warning: #FF5F01; --om-info: #482042; }
/* градиенты в интерфейсе страниц убраны; цветная кромка «флагмана» — сплошной баклажан */
.om-page main [style*="gradient"] { background-image: none !important; }
.om-page main [style*="var(--om-gold) 0%, var(--om-coral)"] { background: var(--lum-plum) !important; }
/* отзывы: без оранжевых плашек — белые карточки, каждая вторая баклажановая */
.om-page .om-reviews-cards .om-testimonial-card { background: #fff !important; color: var(--lum-ink) !important; border: 0 !important; }
.om-page .om-reviews-cards .om-testimonial-card.is-2 { background: var(--lum-plum) !important; color: #fff !important; }
.om-page .om-reviews-cards .om-testimonial-card.is-2 * { color: inherit !important; }
.om-page .om-reviews-filter-chip { background: transparent !important; border: 0 !important; border-bottom: 2px solid transparent !important; padding: 6px 0 !important; margin-right: 22px; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--om-muted) !important; }
.om-page .om-reviews-filter-chip.is-active { color: var(--lum-ink) !important; border-bottom-color: var(--lum-orange) !important; }
/* карточка отзыва на главной — без входной CSS-анимации (застревала на прозрачности 0) */
.lum-quote-card { animation: none !important; }
/* три вопроса: текст средней (заштрихованной) колонки — на кремовой подложке */
.om-page h3.lum-question-title { min-height: 4.8em; }
.lum-question.lum-hatch > p { background: var(--lum-cream); padding: 14px 16px; margin-left: -16px; margin-right: -16px; }
.lum-question.lum-hatch > h3 { background: var(--lum-cream); padding: 6px 16px 10px; margin-left: -16px; margin-right: -16px; }
/* афиша: флаер целиком, стрелки и точки под ним */
.lum-posters .om-hero-cf-slide { width: 100% !important; aspect-ratio: auto !important; }
.om-page .lum-posters .om-hero-cf-nav { top: auto !important; bottom: -40px !important; transform: none !important; }
.om-page .lum-posters .om-hero-cf-nav--prev { left: 0 !important; }
.om-page .lum-posters .om-hero-cf-nav--next { right: 0 !important; left: auto !important; }
@media (max-width: 960px) {
  .lum-final-text { order: 0 !important; }
  .lum-afisha .lum-split-media { padding: 28px 20px 64px; }
  /* читаемость на телефоне: затемнение под текстом первого экрана сильнее */
  .lum-hero--left .lum-hero-shade { background: linear-gradient(180deg, rgba(10,3,12,.35) 0%, rgba(10,3,12,.72) 45%, rgba(10,3,12,.55) 100%); }
}

/* Часть 4 — движение: сцены в контенте переворачиваются по оси X (как flipInX у эталона), 700ms, один раз */
.lum-visual.lum-armed[data-lum="flip"] { transform: perspective(1200px) rotateX(-75deg); transform-origin: 50% 0; opacity: 0; }
.lum-visual.lum-armed[data-lum="flip"].is-in { transform: none; opacity: 1; transition: transform .7s cubic-bezier(.2,.7,.2,1), opacity .5s ease; }

/* белые карточки отзывов: тёмный текст (старая тема красила его в кремовый) */
.om-page .om-reviews-cards .om-testimonial-card:not(.is-2),
.om-page .om-reviews-cards .om-testimonial-card:not(.is-2) p,
.om-page .om-reviews-cards .om-testimonial-card:not(.is-2) div,
.om-page .om-reviews-cards .om-testimonial-card:not(.is-2) span:not([class*="star"]) { color: var(--lum-ink) !important; }
.om-page .om-reviews-cards .om-testimonial-card:not(.is-2) [class*="meta"] { color: var(--lum-muted) !important; }
.om-page .om-reviews-cards .om-testimonial-card:not(.is-2) [class*="avatar"] { background: var(--lum-cream) !important; color: var(--lum-plum) !important; }

/* ===== раунд 9 ===== */
/* средний вопрос: одна кремовая панель в заштрихованной рамке 24px (как тезис), без разрозненных подложек */
.lum-question.lum-hatch > p, .lum-question.lum-hatch > h3 { background: none !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
.lum-question.lum-hatch > p { margin: 26px 0 40px !important; }
.lum-question.lum-hatch {
  background-color: var(--lum-cream);
  background-image: linear-gradient(var(--lum-cream), var(--lum-cream)), var(--lum-hatch-light);
  background-size: calc(100% - 48px) calc(100% - 48px), 15.38px 15.38px;
  background-position: center center, 0 0;
  background-repeat: no-repeat, repeat;
}
.lum-dotted-arrow::before { left: 0; }

/* ВНУТРЕННИЕ СТРАНИЦЫ — приёмы эталона в телах */
/* тёмные полосы — баклажан, не «глубокий» */
.om-page main [style*="var(--om-indigo-deep)"] { background-color: var(--lum-plum) !important; }
/* оранжевый — только действие: декоративные «золотые» надписи, бейджи, звёзды — спокойнее */
.om-page main [style*="background: var(--om-gold)"]:not(.om-btn):not(.lum-btn) { background: var(--lum-plum) !important; color: #fff !important; }
.om-page main [style*="color: var(--om-gold)"]:not(a) { color: inherit !important; opacity: .8; }
/* средняя карточка трёхколоночных сеток — в заштрихованной рамке (белая карточка внутри) */
.om-page main .om-resp-grid-3 > :nth-child(3n+2) {
  background-color: #fff !important;
  background-image: linear-gradient(#fff, #fff), var(--lum-hatch-light) !important;
  background-size: calc(100% - 28px) calc(100% - 28px), 15.38px 15.38px !important;
  background-position: center center, 0 0 !important;
  background-repeat: no-repeat, repeat !important;
  background-origin: border-box !important;
  padding-left: 40px !important; padding-right: 40px !important;
}
/* расписание: действие в карточке — ссылка, не кнопка */
.om-page #schedule-list .om-btn { min-height: 0 !important; padding: 0 !important; border: 0 !important; color: var(--lum-ink) !important; text-decoration: underline !important; text-decoration-color: var(--lum-orange) !important; text-underline-offset: 5px; background: none !important; width: auto !important; }
.om-page #schedule-list .om-btn::before { display: none !important; }
/* цены и единицы не разрываются */
.om-page main [style*="tabular-nums"], .om-page main [style*="font-variant-numeric"] { white-space: nowrap; }
/* запись: шаги — квадратные, на телефоне не вылезают */
@media (max-width: 760px) {
  .om-page main .om-booking-steps, .om-page main [class*="booking-step"] { flex-wrap: wrap !important; gap: 8px !important; }
}

/* ===== раунд 10 (замечания клиента) ===== */
/* полоса-разделитель = окно на неподвижную картину во весь экран (у ysc: background-attachment: fixed).
   Полоса скользит по картине при прокрутке; панель сдвигает LumStrip (Lum.jsx). */
.lum-strip-pane { position: absolute; left: 0; top: 0; width: 100%; height: 100lvh; will-change: transform; }
/* телефон: без «окна» — панель по размеру полосы, сцена статична */
@media (max-width: 767px) { .lum-strip-pane { height: 100%; will-change: auto; } }
.lum-strip-pane .lum-visual { position: absolute; inset: 0; width: 100%; height: 100%; }

/* сгенерированная картина в полосе стоит неподвижно — без медленного наезда */
.lum-strip .lum-visual-media { animation: none !important; }

/* ===== раунд 11: наведение — свой приём для каждого типа блока, как у ysc =====
   Словарь эталона (CSS ysc + съёмка настоящим курсором, scraps/design-loop/shots/hover):
   A. вопросы (крем)            .questions-section .item-block:hover — оранжевая заливка, вход 0.5s / уход 0.2s, штриховка гаснет
   B. плитки услуг (баклажан)   .services-section__item:hover        — то же на баклажане, кнопка в белой рамке
   C. карточки с картинкой      .card:hover img scale(1.05) + заголовок оранжевый, без заливки
   D. команда                   .team-list .item: фото scale(1.05) + имя оранжевое
   E. уголок                    .corner:hover — L-уголок дорастает до 100px за 0.5s
   F. списки / ссылки           заголовок оранжевый; у ссылок-стрелок стрелка уезжает вправо
   G. ценности, цифры, этапы    наведения нет (кроме акцента номера)
   Подъём карточек и тени старой темы (translateY, box-shadow) у эталона нет — гасим. */

/* старый «подъём» из JSX — убран */
.om-page main [data-animate="prog-card"]:hover,
.om-page main [data-animate="team-card"]:hover,
.om-page main .om-evt-card:hover,
.om-page main [data-animate="booking-program"]:hover,
.om-page main .om-contacts-channels-grid > *:hover { transform: none !important; box-shadow: none !important; }

/* A/B. ЗАЛИВКА: вопросы (главная), плитки (главная), программы (стр. «Программы» — как offerings у ysc), «что входит» (поддержка).
   Оранжевый — отдельный слой ::before поверх фона и штриховки: проявляется целиком, рамка-штриховка не просвечивает. */
.lum-question,
.lum-tiles > .lum-tile:not(.lum-tile--intro),
.om-page main [data-animate="prog-card"],
.om-page main .om-support-incl-grid > * { position: relative; isolation: isolate; }
.lum-question::before,
.lum-tiles > .lum-tile:not(.lum-tile--intro)::before,
.om-page main [data-animate="prog-card"]::before,
.om-page main .om-support-incl-grid > *::before {
  content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: var(--lum-orange); opacity: 0; transition: opacity .2s ease;
}
/* уход: текст сразу тёмный (читается на гаснущем оранжевом), заливка гаснет 0.2s; вход: всё вместе 0.5s */
.lum-question,
.lum-tiles > .lum-tile:not(.lum-tile--intro),
.om-page main [data-animate="prog-card"],
.om-page main .om-support-incl-grid > *,
.lum-question :not(.om-btn):not(.lum-btn):not(.lum-armed),
.lum-tiles > .lum-tile:not(.lum-tile--intro) :not(.om-btn):not(.lum-btn):not(.lum-armed),
.om-page main [data-animate="prog-card"] :not(.om-btn):not(.lum-btn):not(.lum-armed),
.om-page main .om-support-incl-grid > * :not(.om-btn):not(.lum-btn):not(.lum-armed) { transition-property: color, background-color, border-color; transition-duration: 0s; }
.lum-question .lum-armed.is-in,
.lum-tiles > .lum-tile:not(.lum-tile--intro) .lum-armed.is-in,
.om-page main [data-animate="prog-card"] .lum-armed.is-in,
.om-page main .om-support-incl-grid > * .lum-armed.is-in { transition-property: opacity, transform, color; transition-duration: .7s, .7s, 0s; }
@media (hover: hover) {
.lum-question:hover::before,
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover::before,
.om-page main [data-animate="prog-card"]:hover::before,
.om-page main .om-support-incl-grid > *:hover::before { opacity: 1; transition-duration: .5s; }
.lum-question:hover,
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover,
.om-page main [data-animate="prog-card"]:hover,
.om-page main .om-support-incl-grid > *:hover,
.lum-question:hover :not(.om-btn):not(.lum-btn):not(.om-btn *):not(.lum-btn *),
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover :not(.om-btn):not(.lum-btn):not(.om-btn *):not(.lum-btn *),
.om-page main [data-animate="prog-card"]:hover :not(.om-btn):not(.lum-btn):not(.om-btn *):not(.lum-btn *),
.om-page main .om-support-incl-grid > *:hover :not(.om-btn):not(.lum-btn):not(.om-btn *):not(.lum-btn *) { color: #fff !important; transition-duration: .5s; }
.lum-question:hover .lum-armed.is-in,
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover .lum-armed.is-in,
.om-page main [data-animate="prog-card"]:hover .lum-armed.is-in,
.om-page main .om-support-incl-grid > *:hover .lum-armed.is-in { transition-duration: .7s, .7s, .5s; }
  /* плашки и теги внутри — полупрозрачные на оранжевом */
.lum-question:hover .om-tag,
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover .om-tag,
.om-page main [data-animate="prog-card"]:hover .om-tag,
.om-page main .om-support-incl-grid > *:hover .om-tag,
.lum-question:hover [style*="background"]:not(.om-btn):not(.lum-btn):not(img),
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover [style*="background"]:not(.om-btn):not(.lum-btn):not(img),
.om-page main [data-animate="prog-card"]:hover [style*="background"]:not(.om-btn):not(.lum-btn):not(img),
.om-page main .om-support-incl-grid > *:hover [style*="background"]:not(.om-btn):not(.lum-btn):not(img) { background-color: rgba(255,255,255,.16) !important; border-color: rgba(255,255,255,.5) !important; }
  /* кнопка: белая рамка на оранжевом; наведение на саму кнопку — белая заливка, тёмный текст (как у ysc) */
.lum-question:hover .om-btn,
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover .om-btn,
.om-page main [data-animate="prog-card"]:hover .om-btn,
.om-page main .om-support-incl-grid > *:hover .om-btn,
.lum-question:hover .lum-btn,
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover .lum-btn,
.om-page main [data-animate="prog-card"]:hover .lum-btn,
.om-page main .om-support-incl-grid > *:hover .lum-btn { color: #fff !important; border-color: #fff !important; background: transparent !important; }
.lum-question:hover .om-btn::before,
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover .om-btn::before,
.om-page main [data-animate="prog-card"]:hover .om-btn::before,
.om-page main .om-support-incl-grid > *:hover .om-btn::before { background: #fff !important; }
.lum-question:hover .om-btn:hover,
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover .om-btn:hover,
.om-page main [data-animate="prog-card"]:hover .om-btn:hover,
.om-page main .om-support-incl-grid > *:hover .om-btn:hover,
.lum-question:hover .lum-btn:hover,
.lum-tiles > .lum-tile:not(.lum-tile--intro):hover .lum-btn:hover,
.om-page main [data-animate="prog-card"]:hover .lum-btn:hover,
.om-page main .om-support-incl-grid > *:hover .lum-btn:hover { color: var(--lum-ink) !important; background: #fff !important; }
}

/* C. КАРТИНКА: три уровня методики (главная) — сцена приближается, заголовок становится оранжевым */
.lum-level--visual .lum-visual-canvas, .lum-level--visual .lum-visual-media { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.om-page .lum-level--visual .lum-level-body h3 { transition: color .3s ease; }
@media (hover: hover) {
  .lum-level--visual:hover .lum-visual-canvas, .lum-level--visual:hover .lum-visual-media { transform: scale(1.05); }
  .om-page .lum-level--visual:hover .lum-level-body h3 { color: var(--lum-orange) !important; }
}

/* D. КОМАНДА: портрет приближается, имя оранжевое; карточка не заливается */
.om-page main [data-animate="team-card"] [style*="radius: 50%"], .om-page main [data-animate="team-card"] [style*="radius-full"] { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.om-page main [data-animate="team-card"] h3 { transition: color .3s ease; }
@media (hover: hover) {
  .om-page main [data-animate="team-card"]:hover [style*="radius: 50%"], .om-page main [data-animate="team-card"]:hover [style*="radius-full"] { transform: scale(1.05); }
  .om-page main [data-animate="team-card"]:hover h3 { color: var(--lum-orange) !important; }
}

/* E. УГОЛОК: ценности («О центре») и отзывы — L-уголок в правом нижнем углу (в поле карточки, не на тексте) дорастает 28 → 56px */
.om-page main .om-reviews-cards .om-testimonial-card { position: relative; }
.om-page main .om-reviews-cards .om-testimonial-card::after {
  content: ''; position: absolute; right: 12px; bottom: 12px; width: 28px; height: 28px; pointer-events: none;
  border-right: 1px solid var(--lum-plum); border-bottom: 1px solid var(--lum-plum); opacity: .55;
  transition: width .5s ease, height .5s ease, opacity .5s ease;
}
.om-page main .om-reviews-cards .om-testimonial-card.is-2::after { border-color: #fff; }
@media (hover: hover) {
.om-page main .om-reviews-cards .om-testimonial-card:hover::after { width: 56px; height: 56px; opacity: 1; }
}

/* F. СПИСКИ И ССЫЛКИ — заголовок/номер оранжевый, стрелка уезжает */
.om-page main .om-evt-card h3, .om-page main .om-about-pillars-grid > * h3, .om-page main .om-about-pillar-num,
.om-page main .om-about-licenses-grid > * h3, .om-page main .om-about-licenses-grid > * > div:first-child,
.om-page main .om-support-flow-grid > * > span:first-child, .om-page main .om-support-flow-grid > * h3,
.om-page main [data-animate="booking-program"] h3 { transition: color .3s ease; }
.om-page main [data-animate="booking-program"] { transition: border-color .3s ease, background-color .3s ease !important; }
.om-page main .om-contacts-channels-grid > * > div:nth-child(3) { text-decoration: underline transparent; text-underline-offset: 5px; transition: text-decoration-color .3s ease; }
.om-page main .om-contacts-channels-grid > * > span:last-child { transition: transform .5s ease; }
@media (hover: hover) {
  /* расписание — как лента новостей ysc: заголовок события оранжевый */
  .om-page main .om-evt-card:hover h3 { color: var(--lum-orange) !important; }
  /* «О центре»: направления — номер и заголовок; лицензии — значок и заголовок (как логотипы клиентов: из спокойного в цвет) */
  .om-page main .om-about-pillars-grid > *:hover h3, .om-page main .om-about-pillars-grid > *:hover .om-about-pillar-num,
  .om-page main .om-about-licenses-grid > *:hover h3, .om-page main .om-about-licenses-grid > *:hover > div:first-child { color: var(--lum-orange) !important; }
  /* поддержка: этапы — номер и заголовок */
  .om-page main .om-support-flow-grid > *:hover > span:first-child, .om-page main .om-support-flow-grid > *:hover h3 { color: var(--lum-orange) !important; }
  /* запись: выбор программы — рамка баклажан, заголовок оранжевый (как чекбокс ysc) */
  /* оранжевый заголовок на креме не дотягивал до контраста 3:1 — рамка баклажан и белый фон, заголовок тёмный */
  .om-page main [data-animate="booking-program"]:hover { border-color: var(--lum-plum) !important; background: #fff !important; }
  /* контакты — как адреса у ysc: значение подчёркивается, стрелка уезжает вправо */
  .om-page main .om-contacts-channels-grid > *:hover > div:nth-child(3) { text-decoration-color: var(--lum-orange); }
  .om-page main .om-contacts-channels-grid > *:hover > span:last-child { transform: translateX(5px); }
}


/* ── «Принципы» (О центре) — мозаика по образцу ysc «Our Values» ───────────────────────────
   Сетка без зазоров: слева графитовая вводная плитка на две строки, справа 2×2 плитки-метафоры
   (живая сцена или assets/gen/about-value-N). Текст белый поверх сцены, затемнение сверху. */
.lum-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(340px, auto); background: var(--lum-plum-deep); }
.lum-value { position: relative; overflow: hidden; }
.lum-value--intro { grid-row: span 2; display: flex; flex-direction: column; background: var(--lum-slate); color: #fff; padding: 84px clamp(28px, 3.6vw, 60px) 72px var(--lum-edge); }
.lum-values-kicker { display: block; margin-bottom: 18px; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.om-page .lum-value--intro h2 { margin: 0 0 24px; color: #fff; font-size: clamp(30px, 3vw, 44px) !important; line-height: 1.1; }
.lum-value--intro p { margin: 0 0 48px; max-width: 30ch; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.86); }
.lum-dotted-arrow--light::before { border-top-color: rgba(255,255,255,.6); }
.lum-dotted-arrow--light::after { border-color: #fff; }
.lum-value--visual { color: #fff; background: var(--lum-plum-deep); }
.lum-value-shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(10,3,12,.8) 0%, rgba(10,3,12,.42) 52%, rgba(10,3,12,.08) 100%); }
.lum-value-body { position: relative; z-index: 1; padding: 52px clamp(24px, 3vw, 52px); }
.lum-values > .lum-value:nth-child(3) .lum-value-body, .lum-values > .lum-value:nth-child(5) .lum-value-body { padding-right: var(--lum-edge); }
.om-page .lum-value-body h3 { margin: 0 0 14px; color: #fff; font-size: 24px !important; line-height: 1.25; transition: color .3s ease; }
.lum-value-body p { margin: 0; max-width: 40ch; font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,.9); }
/* появление — как у ysc: заголовок fadeInUp на свою высоту за 0.7s с их кривой, описание fadeIn; плитки волной +0.1s */
.lum-values .lum-armed[data-lum="rise"] { transform: translateY(100%); transition-timing-function: cubic-bezier(.51,.18,0,.88); }
.lum-values .lum-armed[data-lum="rise"].is-in { transform: none; }
/* наведение — как карточки с картинкой у ysc: сцена приближается, заголовок оранжевый */
.lum-value--visual .lum-visual-canvas, .lum-value--visual .lum-visual-media { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
@media (hover: hover) {
  .lum-value--visual:hover .lum-visual-canvas, .lum-value--visual:hover .lum-visual-media { transform: scale(1.05); }
  .om-page .lum-value--visual:hover .lum-value-body h3 { color: var(--lum-orange); }
}
@media (max-width: 960px) {
  .lum-values { grid-template-columns: minmax(0, 1fr); grid-auto-rows: minmax(300px, auto); }
  .lum-value--intro { grid-row: auto; padding: 64px 22px 56px; }
  .lum-value-body, .lum-values > .lum-value:nth-child(3) .lum-value-body, .lum-values > .lum-value:nth-child(5) .lum-value-body { padding: 44px 22px; }
}

/* ===== раунд 12 ===== */
/* кнопка в залитой карточке при наведении на саму кнопку: белая заливка — тёмная надпись (и всё внутри) */
.lum-question:hover .om-btn:hover *, .lum-question:hover .lum-btn:hover *,
.lum-tiles > .lum-tile:hover .om-btn:hover *, .lum-tiles > .lum-tile:hover .lum-btn:hover *,
.om-page main [data-animate="prog-card"]:hover .om-btn:hover *, .om-page main .om-support-incl-grid > *:hover .om-btn:hover * { color: var(--lum-ink) !important; }

/* стрелка кнопки при наведении уезжает вправо на 5px — как у ysc (.hs-submit:hover::after translateX(5px)) */
.om-page .om-btn:not(.om-btn--ghost)::after { transition: transform .3s ease; }
.om-page .om-btn:not(.om-btn--ghost):hover::after, .om-page .om-btn:not(.om-btn--ghost):focus-visible::after { transform: translateX(5px) rotate(45deg); }
.lum-btn-chev { transition: transform .3s ease; }
.lum-btn:hover .lum-btn-chev, .lum-btn:focus-visible .lum-btn-chev { transform: translateX(5px); }
.lum-link, .lum-hero-link { transition: color .3s ease; }

/* уголок: в текстовых половинах блоков и в финале; при наведении на блок линии дорастают 70 → 100px за 0.5s (ysc .corner:hover) */
.lum-corner { transition: width .5s ease, height .5s ease; }
.lum-split-text, .lum-final-text { position: relative; }
.lum-split-text > .lum-corner, .lum-final-text > .lum-corner { right: 40px; bottom: 40px; }
@media (hover: hover) {
  .lum-hero:hover .lum-corner, .lum-split-text:hover > .lum-corner, .lum-final-text:hover > .lum-corner { width: 100px; height: 100px; }
}
@media (max-width: 768px) { .lum-split-text > .lum-corner, .lum-final-text > .lum-corner { right: 20px; bottom: 20px; } }
/* наведение на кнопку — всегда белая надпись на оранжевом, даже если форма красит текст по-своему (форма отзыва) */
.om-page main .om-btn:not(.om-btn--ghost):hover, .om-page main .om-btn:not(.om-btn--ghost):focus-visible { color: #fff !important; }
/* «Войти» в шапке: только оранжевый текст, без выезжающей кремовой подложки старой темы (как пункты меню ysc) */
.om-page .om-header .om-btn::before { display: none !important; }

/* Сгенерированные кадры с людьми: при обрезке (object-fit: cover) держим верх кадра — голова не срезается;
   медленное приближение тоже от верхнего края. Вертикальный кадр в почти квадратной половине блока — фокус ещё выше. */
.lum-visual-media { object-position: 50% 28%; transform-origin: 50% 20%; }
.lum-visual[data-slot="home-statement-glass"] .lum-visual-media,
.lum-visual[data-slot="home-quotes"] .lum-visual-media { object-position: 50% 8%; transform-origin: 50% 0%; }
/* главная: текст слева от героини у окна — колонка шире (4 строки вместо 5), до её головы не доходит */
@media (min-width: 961px) { .lum-hero--left:has(.lum-visual[data-slot="home-hero"]) .lum-hero-title { max-width: 17ch; } }
/* плитки уровней — горизонтальные на компьютере, а кадр квадратный: держим самый верх, приближение (и при наведении) — от верхнего края */
.lum-visual[data-slot^="home-level"] .lum-visual-media { object-position: 50% 0%; transform-origin: 50% 0%; }
/* «03»: героиня в кадре ниже, чем в 01/02 (небо над ней) — от верха видны только небо и затылок; 35% даёт голову с запасом сверху и плечи на ширинах 1280–1920 */
.lum-visual[data-slot="home-level-3"] .lum-visual-media { object-position: 50% 35%; transform-origin: 50% 40%; }
