/* News landing (type = 'news') — дизайн-система утверждённого макета v2c.
   Исходник: docs/landings/news-landing/v2c-annotated.html
   Черновой бейдж прототипа в прод не переносится. */
:root{
  /* базовые токены; имена сохранены с v2b, значения переключаются темой */
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --pad:clamp(20px,5vw,60px);
  /* брендовый красный; одна тема — та же в .stage, правки Алины 05.10 */
  --red:#B41E14;
  --red-hover:#C9271A;
}
/* ---- LIGHT (по умолчанию) ---- */
:root{
  --black:#F7F4EF;
  --black-2:#EFEBE3;
  --glass:rgba(20,22,26,.05);
  --glass-line:rgba(20,22,26,.18);
  --white:#14161A;
  --warm:#1D1C19;
  --dim:rgba(29,28,25,.66);
  --dim-2:rgba(29,28,25,.45);
  --line:rgba(29,28,25,.13);
  --line-2:rgba(29,28,25,.35);
  --bubble-bg:#E8E0D9;
  --sticky-bg:rgba(247,244,239,.95);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);background:var(--black);color:var(--warm);
  font-size:17px;line-height:1.6;overflow-x:hidden;
  padding-bottom:env(safe-area-inset-bottom);
}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1300px;margin:0 auto;padding:0 var(--pad)}
.narrow{max-width:660px}

/* ============ video stage — the backbone of this variant ============ */
.stage{
  position:relative;overflow:hidden;isolation:isolate;background:#0E1013;
  /* медиа-секции всегда тёмные, в любой теме: текст лежит на видео и фото */
  --black:#07080A;--black-2:#0E1013;
  --glass:rgba(255,255,255,.07);--glass-line:rgba(255,255,255,.16);
  --white:#FFFFFF;--warm:#F2EFEA;
  --dim:rgba(242,239,234,.62);--dim-2:rgba(242,239,234,.42);
  --line:rgba(242,239,234,.13);--line-2:rgba(242,239,234,.3);
  color:var(--warm);
}
.stage__bg{position:absolute;inset:0;z-index:-2}
.stage__bg video,.stage__bg img{width:100%;height:100%;object-fit:cover}
/* видео объекта лежит поверх фото и проявляется, когда пошли кадры */
.stage__bg .obj__video{position:absolute;inset:0;opacity:0;transition:opacity .4s ease}
.stage__bg .obj__video.is-playing{opacity:1}
.stage__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(7,8,10,.62) 0%,rgba(7,8,10,.46) 42%,rgba(7,8,10,.94) 100%);
}
.stage--soft .stage__bg::after{background:linear-gradient(180deg,rgba(7,8,10,.86) 0%,rgba(7,8,10,.80) 100%)}
.grain{
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:3px 3px;mix-blend-mode:overlay;
}

/* ============ type ============ */
.kicker{
  display:inline-flex;align-items:center;gap:11px;
  font-size:11.5px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--dim);
}
.kicker i{width:22px;height:1px;background:var(--dim-2);display:block;font-style:normal}
.h-xl{font-size:clamp(38px,8.4vw,104px);font-weight:300;letter-spacing:-.038em;line-height:.99}
.h-xl b{font-weight:600}
/* Ступени кегля под длину заголовка. Макет рисовался на 35 знаков в три строки
   («Офисы Дубая переоценились за полгода»), а AI отдаёт до 90: на десктопе
   104px разворачивали такой заголовок в шесть строк во весь экран. Ширина
   колонки задана в ch и растёт вместе с кеглем, поэтому число знаков в строке
   на всех ступенях примерно одно. Порядок правил важен — специфичность та же. */
.h-xl--mid{font-size:clamp(34px,6vw,72px);letter-spacing:-.034em}
.h-xl--long{font-size:clamp(30px,4.6vw,54px);letter-spacing:-.03em;line-height:1.04}
.h-lg{font-size:clamp(28px,4.6vw,54px);font-weight:300;letter-spacing:-.032em;line-height:1.08}
.h-lg b{font-weight:600}
.h-md{font-size:clamp(22px,3vw,32px);font-weight:500;letter-spacing:-.024em;line-height:1.2}

/* ============ buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  background:var(--white);color:var(--black);font-weight:500;font-size:15.5px;letter-spacing:-.005em;
  padding:17px 32px;border-radius:2px;border:none;cursor:pointer;
  transition:background .2s ease,color .2s ease,letter-spacing .2s ease;
}
.btn:hover{background:var(--warm);letter-spacing:.01em}
.btn--line{background:transparent;color:var(--warm);border:1px solid var(--glass-line);backdrop-filter:blur(6px)}
.btn--line:hover{background:rgba(127,127,127,.14);border-color:currentColor}
.btn--red{background:var(--red);color:#fff;border:none}
.btn--red:hover{background:var(--red-hover)}
/* акцентное число в заголовке — правка Алины 05.10 */
.num-accent{color:var(--red)}

/* ============ 1. HERO ============ */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end}
.hero__inner{position:relative;padding:clamp(100px,16vh,180px) var(--pad) clamp(34px,5vw,54px)}
.hero .kicker{margin-bottom:clamp(22px,3.4vw,34px)}
.hero h1{max-width:13ch}
.hero h1.h-xl--mid{max-width:19ch}
.hero h1.h-xl--long{max-width:25ch}
.hero__line{
  margin-top:clamp(26px,4vw,44px);padding-top:clamp(20px,3vw,28px);
  border-top:1px solid var(--glass-line);
  display:flex;flex-wrap:wrap;gap:18px 48px;align-items:flex-end;justify-content:space-between;
}
.hero__line p{font-size:clamp(16px,1.8vw,20px);font-weight:300;color:var(--warm);max-width:38ch;line-height:1.45}
.hero__src{font-size:12.5px;color:var(--dim-2);letter-spacing:.06em}
.hero__src a{color:var(--dim);border-bottom:1px solid rgba(242,239,234,.28);padding-bottom:1px}
.hero__src a:hover{color:var(--white);border-color:var(--white)}
.scroller{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim-2);
}
.scroller i{display:block;width:1px;height:34px;background:linear-gradient(180deg,rgba(242,239,234,.5),transparent);animation:drop 2.2s ease-in-out infinite}
@keyframes drop{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.35}50%{transform:scaleY(1);transform-origin:top;opacity:1}}

/* ============ 1b. INTRO — manager speaks first ============ */
.intro{background:var(--black-2);padding:clamp(44px,6.4vw,88px) 0 clamp(48px,7vw,96px);border-bottom:1px solid var(--line)}
.intro__in{display:grid;grid-template-columns:minmax(0,clamp(260px,30vw,420px)) minmax(0,1fr);gap:clamp(24px,4.4vw,64px);align-items:center}
.intro__ph{position:relative}
.intro__ph img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--black)}
/* карточка Алины: по просьбе клиента 21.09 кадр обрезан по пояс. Верх кадра тот же,
   что у 3:4 по центру, для её снимка 9:16 — отсюда 38% */
.intro__ph--ceo img{aspect-ratio:5/6;object-position:50% 38%}
/* фоллбэк для менеджера без фото и для блока компании: инициалы вместо портрета */
.intro__ph-empty{
  width:100%;aspect-ratio:3/4;background:var(--black);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-size:clamp(34px,5vw,58px);font-weight:300;letter-spacing:.08em;color:var(--dim-2);
}
.intro__badge{
  position:absolute;left:0;bottom:0;
  background:rgba(7,8,10,.82);backdrop-filter:blur(10px);border-top:1px solid var(--glass-line);border-right:1px solid var(--glass-line);
  padding:11px 18px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#F2EFEA;
}
.bubble{
  position:relative;background:var(--glass);border:1px solid var(--glass-line);
  padding:clamp(24px,3.2vw,40px);backdrop-filter:blur(10px);
}
.bubble::before,.bubble::after{content:"";position:absolute;top:clamp(34px,5vw,56px);width:0;height:0;border-style:solid}
.bubble::before{left:-14px;border-width:11px 14px 11px 0;border-color:transparent var(--glass-line) transparent transparent}
.bubble::after{left:-12px;border-width:10px 13px 10px 0;border-color:transparent var(--bubble-bg) transparent transparent}
.bubble__t{font-size:clamp(20px,2.6vw,30px);font-weight:300;letter-spacing:-.026em;line-height:1.3;color:var(--white)}
.bubble__t b{font-weight:600}
.bubble p+p{margin-top:16px;font-size:16.5px;font-weight:300;line-height:1.7;color:var(--dim)}
.intro__meta{margin-top:clamp(18px,2.4vw,26px);display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.intro__read{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);
  border:1px solid var(--glass-line);padding:9px 15px;
}
.intro__read svg{flex:none;opacity:.75}
.intro__ask{font-size:14.5px;color:var(--white);border-bottom:1px solid var(--glass-line);padding-bottom:3px}
.intro__ask:hover{border-color:var(--white)}

/* ============ talk — inline contact breaks ============ */
.talk{background:var(--black-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.talk__in{
  padding:clamp(28px,3.6vw,44px) var(--pad);display:flex;flex-wrap:wrap;gap:22px 44px;
  align-items:center;justify-content:space-between;
}
.talk__who{display:block;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim-2);margin-bottom:11px}
.talk__q p{font-size:clamp(18px,2.2vw,25px);font-weight:300;letter-spacing:-.024em;line-height:1.32;color:var(--white);max-width:30ch}
.talk__acts{display:flex;flex-wrap:wrap;gap:12px;flex:none}
.talk__acts .btn{padding:15px 26px;font-size:14.5px}
.talk__q{display:flex;gap:clamp(14px,1.8vw,22px);align-items:flex-start;min-width:0}
.talk__ph{
  flex:none;width:clamp(64px,7.4vw,94px);aspect-ratio:1;border-radius:16px;overflow:hidden;
  border:1px solid var(--line-2);background:var(--black);
  display:flex;align-items:center;justify-content:center;
}
.talk__ph span{font-size:clamp(19px,2.2vw,26px);font-weight:300;letter-spacing:.06em;color:var(--dim)}
.talk__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}

/* ============ pick — новость относится к этим объектам ============ */
.pick{background:var(--black);padding:clamp(64px,9vw,120px) 0 clamp(44px,6vw,72px)}
.pick h2{max-width:20ch}
.pick__say{margin-top:clamp(24px,3.4vw,40px);border-left:1px solid var(--line-2);padding-left:clamp(20px,3vw,36px);max-width:660px}
.pick__say p{font-size:clamp(17px,2vw,21px);font-weight:300;line-height:1.6;color:var(--dim)}
.pick__say b{color:var(--white);font-weight:500}
.pick__sig{display:block;margin-top:14px;font-size:13px;letter-spacing:.06em;color:var(--dim-2)}
.pick__next{
  margin-top:clamp(26px,3.4vw,40px);max-width:660px;display:flex;align-items:center;gap:16px;
  padding:16px 20px;background:var(--black-2);border:1px solid var(--line);border-left:3px solid #B41E14;
}
.pick__next-n{flex:none;font-size:30px;font-weight:300;letter-spacing:-.03em;line-height:1;color:var(--white)}
.pick__next-t{font-size:15px;line-height:1.45;color:var(--dim)}
.pick__next-t b{color:var(--white);font-weight:500}
.pick__next-a{margin-left:auto;flex:none;font-size:19px;color:var(--dim-2)}

/* ============ objs — створки вокруг подборки объектов ============ */
.objs{background:#0E1013}
.objs__bar{background:#0E1013;color:#F2EFEA;border-top:2px solid #B41E14}
.objs__bar--end{border-top:1px solid rgba(242,239,234,.14);border-bottom:2px solid #B41E14}
.objs__bar-in{
  display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;justify-content:flex-start;
  padding:15px var(--pad);
}
.objs__bar--end .objs__bar-in{justify-content:space-between}
.objs__bar-t{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(242,239,234,.74)}
.objs__bar-t i{flex:none;display:block;width:20px;height:1px;background:#B41E14;font-style:normal}
.objs__bar-c{font-size:12px;letter-spacing:.18em;color:rgba(242,239,234,.45)}
.objs__bar-l{font-size:13.5px;color:#F2EFEA;border-bottom:1px solid rgba(242,239,234,.3);padding-bottom:2px}
.objs__bar-l:hover{border-color:#F2EFEA}
/* шапка списка объектов красной подложкой — правка Алины 05.10 (трактовка «подложки»
   не подтверждена, проверить на staging); закрывающая полоса остаётся тёмной */
.objs__bar:not(.objs__bar--end){background:var(--red);color:#fff;border-top-color:var(--red)}
.objs__bar:not(.objs__bar--end) .objs__bar-t,.objs__bar:not(.objs__bar--end) .objs__bar-c{color:#fff}
.objs__bar:not(.objs__bar--end) .objs__bar-t i{background:#fff}

/* ============ 2. FIGURES over video ============ */
.figures{padding:clamp(64px,9vw,120px) 0}
.figures .kicker{margin-bottom:clamp(34px,5vw,52px)}
.fig-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--glass-line)}
/* цифр в новости бывает 2–4, а не всегда 4 — сетка считается от факта */
.fig-row--2{grid-template-columns:repeat(2,1fr)}
.fig-row--3{grid-template-columns:repeat(3,1fr)}
.fig{
  background:rgba(7,8,10,.5);backdrop-filter:blur(14px);
  padding:clamp(24px,3vw,36px) clamp(18px,2.2vw,28px);
}
.fig__v{font-size:clamp(30px,4.4vw,52px);font-weight:300;letter-spacing:-.04em;line-height:1;color:var(--white)}
.fig__l{margin-top:14px;font-size:13.5px;color:var(--dim);line-height:1.45}
.fig__d{margin-top:12px;font-size:12.5px;letter-spacing:.05em;color:var(--dim-2)}
.figures__src{margin-top:22px;font-size:12.5px;color:var(--dim-2)}

/* ============ 3. STORY ============ */
.story{background:var(--black-2);padding:clamp(64px,10vw,132px) 0}
.story .kicker{margin-bottom:26px}
.story__lede{font-size:clamp(22px,3vw,34px);font-weight:300;letter-spacing:-.028em;line-height:1.28;color:var(--white);max-width:22ch}
.story__cols{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(24px,4vw,56px);margin-top:clamp(30px,4.4vw,52px)}
.story__cols p{font-size:16.5px;font-weight:300;line-height:1.75;color:var(--dim);margin-bottom:1.1em}
.story__cols strong{color:var(--warm);font-weight:500}
.story__src{
  display:inline-flex;align-items:center;gap:10px;margin-top:10px;
  font-size:14px;letter-spacing:.04em;color:var(--warm);
  border-bottom:1px solid var(--glass-line);padding-bottom:4px;
}
.story__src:hover{border-color:var(--white)}

/* ============ 3b. ALINA CHANNEL ============ */
.alina-channel{background:var(--black);padding:clamp(52px,7vw,92px) 0;border-block:1px solid var(--line)}
.alina-channel__in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(30px,6vw,88px);align-items:end}
.alina-channel .kicker{margin-bottom:20px}
.alina-channel h2{max-width:18ch}
.alina-channel__text p{font-size:16.5px;font-weight:300;line-height:1.7;color:var(--dim);max-width:42ch}
.alina-channel__text .btn{margin-top:28px}

/* ============ 4. VIDEO QUOTE BREAK ============ */
.break{min-height:min(72svh,620px);display:flex;align-items:center}
.break__q{font-size:clamp(24px,4.2vw,50px);font-weight:300;letter-spacing:-.032em;line-height:1.16;max-width:17ch;color:var(--white)}
.break__n{margin-top:22px;font-size:14px;color:var(--dim);letter-spacing:.05em}

/* ============ 5. TAKEAWAYS ============ */
.takes{padding:clamp(64px,10vw,132px) 0}
.takes .kicker{margin-bottom:20px}
.takes h2{max-width:16ch;margin-bottom:clamp(38px,5vw,64px)}
.take{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.9fr);
  gap:clamp(18px,3vw,52px);align-items:baseline;
  padding:clamp(26px,3.4vw,40px) 0;border-top:1px solid var(--line);
}
.take:last-child{border-bottom:1px solid var(--line)}
.take__k{display:flex;align-items:baseline;gap:16px}
.take__i{font-size:12px;color:var(--dim-2);letter-spacing:.14em;padding-top:4px}
.take__t{font-size:clamp(19px,2.3vw,26px);font-weight:400;letter-spacing:-.022em;line-height:1.26;color:var(--white)}
.take__p{font-size:16px;font-weight:300;color:var(--dim);line-height:1.7}

/* ============ verdict ============ */
.verdict{padding:0 0 clamp(64px,9vw,120px)}
.verdict__in{border-left:1px solid var(--line-2);padding-left:clamp(22px,3.4vw,44px)}
.verdict .kicker{margin-bottom:20px}
.verdict p{font-size:clamp(19px,2.6vw,30px);font-weight:300;letter-spacing:-.026em;line-height:1.34;color:var(--white);max-width:30ch}

/* ============ CTA over video ============ */
.cta{min-height:min(62svh,540px);display:flex;align-items:center;text-align:center}
.cta__in{width:100%;padding:clamp(48px,7vw,80px) var(--pad)}
.cta h2{margin:0 auto;max-width:20ch}
.cta p{margin:20px auto 0;font-size:16.5px;font-weight:300;color:var(--dim);max-width:44ch;line-height:1.6}
.cta .btn{margin-top:34px}

/* ============ 6. OBJECTS — full-bleed panels ============ */
.obj{min-height:min(92svh,780px);display:flex;align-items:flex-end}
.obj__in{width:100%;padding:clamp(34px,5vw,64px) var(--pad) clamp(34px,5vw,58px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(24px,4vw,56px);align-items:end}
.obj__tag{
  display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--warm);border:1px solid var(--glass-line);padding:7px 14px;
  backdrop-filter:blur(6px);margin-bottom:22px;
}
.obj h3{font-size:clamp(28px,4.6vw,54px);font-weight:300;letter-spacing:-.034em;line-height:1.04;color:var(--white);max-width:14ch}
.obj__d{margin-top:20px;font-size:16.5px;font-weight:300;color:var(--dim);max-width:44ch;line-height:1.6}
.obj__panel{
  background:rgba(7,8,10,.52);backdrop-filter:blur(18px);border:1px solid var(--glass-line);
  padding:clamp(22px,2.6vw,30px);
}
.obj__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:20px;border-bottom:1px solid var(--glass-line)}
.obj__facts dt{font-size:11.5px;color:var(--dim-2);margin-bottom:7px;letter-spacing:.04em}
.obj__facts dd{font-size:19px;font-weight:400;letter-spacing:-.02em;color:var(--white)}
.obj__acts{margin-top:20px;display:flex;flex-direction:column;gap:10px}
.obj__acts .btn{width:100%;padding:15px 22px;font-size:14.5px}
.obj__ask{margin-top:18px;padding-top:16px;border-top:1px solid var(--glass-line);font-size:14px;color:var(--dim);line-height:1.5}
.obj__ask strong{display:block;margin-bottom:4px;color:var(--warm);font-weight:500}
.obj__ask a{display:inline-block;margin-top:9px;color:var(--white);border-bottom:1px solid var(--glass-line);padding-bottom:2px;font-size:14px}
.obj__ask a:hover{border-color:var(--white)}
.obj__n{
  position:absolute;top:0;right:0;z-index:3;padding:14px 20px;
  background:rgba(7,8,10,.5);backdrop-filter:blur(10px);
  border-left:1px solid var(--glass-line);border-bottom:1px solid var(--glass-line);
  /* номер — визуальный якорь карточки, поэтому крупный: мелкая подпись
     не помогала отличить один объект от следующего */
  font-size:clamp(26px,3.4vw,38px);font-weight:300;line-height:1;
  letter-spacing:.02em;color:#F2EFEA;
}
.obj__n i{font-style:normal;font-size:14px;color:rgba(242,239,234,.45)}

/* ---- отбивка между объектами: светлая пауза в тёмном ряду ----
   Токены: имена от тёмной палитры v2b, значения в светлой теме инвертированы.
   --black-2 здесь светлый фон, --warm тёмный текст. Не перепутать. */
.obj-sep{background:var(--black-2);color:var(--warm);border-block:1px solid var(--line)}
.obj-sep__in{
  display:flex;align-items:center;gap:14px;
  padding:clamp(18px,2.6vw,26px) var(--pad);
}
.obj-sep__n{
  font-size:clamp(30px,4vw,44px);font-weight:300;line-height:1;
  color:var(--warm);opacity:.9;
}
.obj-sep__t{
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dim);padding-left:14px;border-left:1px solid var(--line-2);
}
.play{
  position:absolute;right:var(--pad);top:calc(50% - 26px);z-index:3;
  width:64px;height:64px;border-radius:50%;border:1px solid var(--glass-line);
  background:rgba(7,8,10,.4);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;transition:all .2s ease;
}
.play:hover{background:var(--white);color:var(--black);border-color:var(--white);transform:scale(1.06)}

/* ============ 7. MANAGER ============ */
.mgr{min-height:min(80svh,700px);display:flex;align-items:center}
.mgr__panel{
  background:rgba(7,8,10,.55);backdrop-filter:blur(20px);border:1px solid var(--glass-line);
  padding:clamp(26px,4vw,52px);max-width:820px;
}
.mgr .kicker{margin-bottom:16px}
.mgr h3{font-size:clamp(26px,3.4vw,40px);font-weight:300;letter-spacing:-.032em;color:var(--white)}
.mgr__role{margin-top:9px;font-size:14.5px;color:var(--dim-2);letter-spacing:.04em}
.mgr p{margin-top:18px;font-size:16px;font-weight:300;color:var(--dim);line-height:1.68;max-width:46ch}
.mgr__acts{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px}

/* ---- светлый вариант секции эксперта ----
   Стоит между двумя фонами-фото, и три полотна подряд сливались.
   ВНИМАНИЕ по токенам: имена унаследованы от тёмной палитры v2b, а значения
   в светлой теме инвертированы — здесь --black это светлый фон страницы,
   а --warm это тёмный цвет текста. Цвета текста НЕ переопределяем: без .stage
   секция и так попадает в светлую тему, где они уже правильные.
   Правила идут после базовых .mgr, иначе та же специфичность их перебивает. */
.mgr--plain{
  min-height:auto;padding:clamp(40px,6vw,86px) 0;
  background:var(--black-2);border-top:1px solid var(--line);
}
.mgr--plain .mgr__panel{background:transparent;backdrop-filter:none;border:0;padding:0}

/* ============ 8. FINAL ============ */
.final{min-height:min(92svh,800px);display:flex;align-items:center;text-align:center}
.final__in{width:100%;padding:clamp(56px,8vw,100px) var(--pad)}
/* в прототипе размер стоял инлайном на самом заголовке */
.final h2{margin:0 auto;max-width:15ch;font-size:clamp(30px,5.6vw,64px)}
.final p{margin:24px auto 0;font-size:17px;font-weight:300;color:var(--dim);max-width:46ch;line-height:1.6}
.final .btn{margin-top:38px;padding:19px 38px;font-size:16.5px}
.final small{display:block;margin-top:24px;font-size:12.5px;color:var(--dim-2);letter-spacing:.05em}
.final__channel{max-width:620px;margin:clamp(34px,5vw,54px) auto 0;padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--glass-line)}
.final__channel p{margin:0 auto;font-size:15px}
.final__channel .btn{margin-top:22px;padding:15px 28px;font-size:14.5px}

.foot{background:var(--black);border-top:1px solid var(--line);font-size:12.5px;color:var(--dim-2)}
.foot__in{padding:26px var(--pad) 34px;display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between}

/* ============ sticky ============ */
.sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;align-items:center;gap:13px;
  background:var(--sticky-bg);backdrop-filter:blur(18px);border-top:1px solid var(--glass-line);
  padding:11px var(--pad) calc(11px + env(safe-area-inset-bottom));
  transform:translateY(115%);transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.sticky.is-on{transform:none}
.sticky .btn{width:100%;padding:15px 20px;font-size:15px;background:var(--red);color:#fff}
.sticky .btn:hover{background:var(--red-hover);letter-spacing:.01em}

/* ============ reveal ============ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .sticky{transition:none}.scroller i{animation:none}
}

/* ============ responsive ============ */
@media (max-width:1000px){
  .intro__in{grid-template-columns:1fr;gap:0}
  .intro__ph{max-width:420px;margin:0 auto}
  .intro__say{margin-top:-1px}
  .bubble::before,.bubble::after{top:auto}
  .bubble::before{left:clamp(30px,9vw,60px);top:-14px;border-width:0 12px 14px 12px;border-color:transparent transparent var(--glass-line) transparent}
  .bubble::after{left:calc(clamp(30px,9vw,60px) + 1px);top:-12px;border-width:0 11px 13px 11px;border-color:transparent transparent var(--bubble-bg) transparent}
  .fig-row{grid-template-columns:repeat(2,1fr)}
  .story__cols{grid-template-columns:1fr;gap:0}
  .alina-channel__in{grid-template-columns:1fr;align-items:start}
  .obj__in{grid-template-columns:1fr;align-items:start}
  .obj__panel{max-width:520px}
  /* прототип уносил кнопку за верхний край секции (bottom:calc(100% + 14px)) — там она
     была декоративной заглушкой; теперь это единственный доступ к видео, держим внутри */
  .play{top:calc(var(--pad) + 8px);bottom:auto;right:var(--pad);width:54px;height:54px}
}
@media (max-width:640px){
  body{font-size:16px}
  .take{grid-template-columns:1fr;gap:12px}
  .obj{min-height:auto;padding-top:56vh}
  .obj__panel{max-width:none}
  .btn{width:100%}
  .mgr__acts .btn{width:100%}
  .takes h2 br,.final h2 br,.pick h2 br,.cta h2 br{display:none}
  .talk__in{gap:20px}
  .talk__acts{width:100%}
  .talk__acts .btn{width:100%}
  .alina-channel__text .btn,.final__channel .btn{width:100%}
  .intro__meta{gap:12px}
  .sticky{display:flex}
  .scroller{display:none}
  .final__in{padding-bottom:120px}
  .foot__in{padding-bottom:110px}
  /* .play на мобильном оставлен: в прототипе это была заглушка href="#", теперь —
     единственный доступ к видео объекта, а мобильных зрителей ~70% */
}
