/* =========================================================================
   НЕпросто PR - 3D-обложка (hero: 3d). Пара к hero3d.js.
   html.h3d-live - режим сцены (есть WebGL2, нет reduced-motion; ставит inline-скрипт в <head>).
   Без него - обычная обложка с постером, затемнением и заголовком.
   ========================================================================= */
:root{--tb:0px}
@supports (height:100lvh){:root{--tb:calc(100lvh - 100svh)}}
.hero.hero--3d{display:block;min-height:0;overflow:visible;overflow:clip;background:#05050d}
html.h3d-live .hero.hero--3d{height:290vh;height:290lvh}
.h3d__stage{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate}
html.h3d-live .h3d__stage{position:sticky;top:0;height:100vh;height:100lvh;min-height:0}

.h3d__poster{position:absolute;inset:0;z-index:0}
.h3d__poster img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:62% 50%}
/* постер собранного куба - только без сцены (нет WebGL, reduced-motion); при сцене до первого кадра виден
   постер разлёта кусков - ровно то, с чего сцена начинается (правка 14.10: наверху не должно быть собранного куба) */
.h3d__poster--live{display:none}
html.h3d-live .h3d__poster:not(.h3d__poster--live){display:none}
html.h3d-live .h3d__poster--live{display:block}
.h3d__poster--live img{object-position:50% 50%}
.h3d__cv{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;opacity:0;transition:opacity 1.2s cubic-bezier(.2,.7,.2,1)}
.hero.hero--3d.gl-ready .h3d__cv{opacity:1}
html:not(.h3d-live) .h3d__cv{display:none}
.h3d__stage > .hero__shade{z-index:0;transition:opacity .2s linear}
html.h3d-live .h3d__stage > .hero__shade{
  background:
    linear-gradient(180deg,rgba(5,5,13,.5) 0%,rgba(5,5,13,0) 20%,rgba(5,5,13,0) 55%,rgba(5,5,13,.72) 84%,#05050d 100%),
    linear-gradient(90deg,rgba(5,5,13,.74) 0%,rgba(5,5,13,.56) 48%,rgba(5,5,13,0) 72%)}
/* полупрозрачный заголовок над сценой: плотнее подложка под строками */
html.h3d-live .hero--3d .np-title::before{background:radial-gradient(closest-side,rgba(4,4,16,.6),rgba(4,4,16,.3) 62%,transparent)}
html.h3d-live .hero--3d .np-title{--npt-a1:rgba(160,170,255,.92);--npt-a2:rgba(170,136,255,.88)}
.h3d__stage > .fx-spot{z-index:1}
.h3d__stage > .hero__top,.h3d__stage > .hero__inner{z-index:3}

/* ---------- подписи частей пресс-релиза, привязанные к кубу ---------- */
.h3d__labels,.h3d-steps,.h3d-end{display:none}
html.h3d-live .h3d__labels{display:block;position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.h3d-lb{--ln:clamp(44px,5.4vw,92px);position:absolute;left:0;top:0;opacity:0;visibility:hidden;will-change:transform,opacity}
.h3d-lb__dot{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:3px;transform:rotate(45deg);
  background:linear-gradient(120deg,#5B68DF,#7D5BDF);border:1px solid rgba(220,214,255,.9);box-shadow:0 0 0 4px rgba(125,91,223,.22),0 0 16px rgba(169,178,255,.95)}
.h3d-lb.is-cur .h3d-lb__dot{animation:h3dPing 1.6s ease-out infinite}
@keyframes h3dPing{0%{box-shadow:0 0 0 0 rgba(169,178,255,.75),0 0 16px rgba(169,178,255,.95)}100%{box-shadow:0 0 0 14px rgba(169,178,255,0),0 0 16px rgba(169,178,255,.95)}}
.h3d-lb__ln{position:absolute;top:0;height:1px;width:var(--ln)}
.h3d-lb--l .h3d-lb__ln{right:9px;background:linear-gradient(270deg,rgba(201,194,255,.95),rgba(201,194,255,.15))}
.h3d-lb--r .h3d-lb__ln{left:9px;background:linear-gradient(90deg,rgba(201,194,255,.95),rgba(201,194,255,.15))}
.h3d-lb__box{position:absolute;top:-26px;white-space:nowrap;padding:10px 16px 11px;border-radius:14px;
  background:rgba(8,8,26,.62);border:1px solid rgba(239,239,245,.14);box-shadow:0 18px 40px -20px rgba(0,0,0,.9);transition:border-color .4s,box-shadow .4s,background .4s}
.h3d-lb--l .h3d-lb__box{right:calc(var(--ln) + 16px);text-align:right}
.h3d-lb--r .h3d-lb__box{left:calc(var(--ln) + 16px)}
.h3d-lb__box b{display:block;font:600 16px/1.2 var(--f-text);letter-spacing:0;text-transform:none;color:rgba(239,239,245,.94)}
.h3d-lb__box small{display:block;margin-top:5px;font:400 13.5px/1.3 var(--f-text);color:rgba(207,208,226,.8)}
.h3d-lb.is-cur .h3d-lb__box{background:rgba(22,18,62,.72);border-color:rgba(169,178,255,.7);box-shadow:0 0 34px -8px rgba(125,91,223,.95),0 18px 40px -20px rgba(0,0,0,.9)}
.h3d-lb.is-cur .h3d-lb__box b{color:#fff}

/* ---------- шкала сборки: шесть частей, текущая подписана ---------- */
html.h3d-live .h3d-steps{display:flex;flex-direction:column;align-items:center;gap:12px;position:absolute;z-index:4;left:50%;bottom:calc(26px + var(--tb));translate:-50% 0;
  width:min(640px,calc(100% - 2 * var(--pad)));opacity:0;visibility:hidden}
.h3d-steps__cur{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:4px 14px;margin:0;text-align:center}
.h3d-steps__name{font:600 15px/1.2 var(--f-text);letter-spacing:0;text-transform:none;color:#fff}
.h3d-steps__q{font-size:14px;line-height:1.3;color:rgba(207,208,226,.82)}
.h3d-steps__bar{display:flex;gap:8px;width:100%;padding:10px 14px;border-radius:999px;background:rgba(6,6,15,.45);border:1px solid rgba(239,239,245,.1);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
@media (hover:none),(max-width:760px){.h3d-steps__bar{background:rgba(6,6,15,.82);-webkit-backdrop-filter:none;backdrop-filter:none}.h3d-lb__box{background:rgba(8,8,26,.84)}}
.h3d-steps__seg{flex:1;position:relative;height:18px;padding:0;border:0;background:none;cursor:pointer}
.h3d-steps__seg i{position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;background:rgba(239,239,245,.16);overflow:hidden}
.h3d-steps__seg i::after{content:"";position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--f,0));background:linear-gradient(90deg,#5B68DF,#7D5BDF);box-shadow:0 0 10px rgba(125,91,223,.95)}
.h3d-steps__seg.on i{background:rgba(239,239,245,.26)}
.h3d-steps__seg:hover i{background:rgba(239,239,245,.32)}

/* ---------- финал: куб собран, вход в статью ---------- */
html.h3d-live .h3d-end{display:block;position:absolute;z-index:4;left:max(var(--pad),calc((100vw - var(--wrap)) / 2));bottom:calc(clamp(40px,9vh,96px) + var(--tb));
  max-width:min(700px,calc(100% - 2 * var(--pad)));opacity:0;visibility:hidden}
.h3d-end::before{content:"";position:absolute;inset:-34% -30% -30% -40%;z-index:-1;pointer-events:none;
  background:radial-gradient(closest-side,rgba(5,5,13,.82),rgba(5,5,13,.45) 56%,transparent)}
.h3d-end__q{margin:16px 0 26px;font:700 clamp(24px,3vw,46px)/1.12 var(--f-h1);letter-spacing:-.02em;color:rgba(239,239,245,.82);text-wrap:balance}
.h3d-end__q em{font-style:normal;color:transparent;-webkit-text-fill-color:transparent;
  background-image:linear-gradient(120deg,rgba(172,182,255,.9),rgba(178,146,255,.8));-webkit-background-clip:text;background-clip:text}
.h3d-end__btns{display:flex;flex-wrap:wrap;gap:12px}
.h3d-end__btns a:hover .ico{transform:translateY(3px)}
.h3d-end__btns .ico{transition:transform .3s var(--ease)}

/* плавающие кнопки не спорят со сценой */
html.h3d-live:not(.h3d-past) .fab{opacity:0 !important;pointer-events:none !important}

/* съёмка постера (?poster=1): только сцена */
html.h3d-shoot .hdr,html.h3d-shoot .fab,html.h3d-shoot .progress,html.h3d-shoot .hero__top,html.h3d-shoot .hero__inner,
html.h3d-shoot .hero__shade,html.h3d-shoot .h3d__labels,html.h3d-shoot .h3d-steps,html.h3d-shoot .h3d-end,html.h3d-shoot .fx-spot,html.h3d-shoot .fx-particles,html.h3d-shoot .fx-dots{display:none !important}
html.h3d-shoot .h3d__cv{transition:none !important}
html.h3d-shoot .h3d__cv{transition:none}

/* ---------- телефон ---------- */
@media (max-width:760px){
  html.h3d-live .hero.hero--3d{height:250vh;height:250lvh}
  .h3d-lb__box,.h3d-lb__ln{display:none}
  .h3d-lb:not(.is-cur) .h3d-lb__dot{transform:rotate(45deg) scale(.7);opacity:.7}
  html.h3d-live .h3d-steps{bottom:calc(16px + var(--tb));gap:10px}
  .h3d-steps__cur{flex-direction:column;align-items:center;gap:4px}
  .h3d-steps__bar{padding:9px 12px;gap:6px}
  html.h3d-live .h3d-end{left:var(--pad);right:var(--pad);bottom:calc(36px + var(--tb));max-width:none}
  .h3d-end__q{font-size:clamp(21px,6.4vw,28px);margin:12px 0 20px}
  .h3d-end__btns .btn{flex:1 1 100%}
  html.h3d-live .h3d__stage > .hero__shade{background:linear-gradient(180deg,rgba(5,5,13,.45) 0%,rgba(5,5,13,0) 22%,rgba(5,5,13,.1) 46%,rgba(5,5,13,.8) 70%,#05050d 100%)}
  .h3d__poster img{object-position:63% 42%}
}

@media print{
  .h3d__cv,.h3d__labels,.h3d-steps,.h3d-end{display:none !important}
  .hero.hero--3d{height:auto !important}
  .h3d__stage{position:relative !important;height:auto !important}
}
