/* ==========================================================================
   /video — «Оживить фото нейросетью». Дизайн-система эталонной карточки
   (full-seo/freeimg-model-card-pro.html), перекрашенная в коралл → розовый → оранж.
   Все классы с префиксом vp- (не конфликтуют с css/styles.css сайта).
   Без JS страница полностью читается; js/video-page.js добавляет эффекты.
   ========================================================================== */
.vp{
  --bg:#0a0e1a; --bg-2:#0d1322; --bg-3:#111a2e;
  --panel:rgba(17,24,42,.55); --panel-2:rgba(12,17,30,.82);
  --line:rgba(148,163,184,.12); --line-2:rgba(148,163,184,.22);
  --text:#f1f5f9; --text-2:#cbd5e1; --text-3:#94a3b8; --text-4:#64748b;
  --coral:#fb7185; --pink:#f472b6; --magenta:#ec4899; --orange:#f59e0b; --amber:#fbbf24;
  --green:#34d399; --red:#f87171;
  --grad:linear-gradient(115deg,#fb7185 0%,#f472b6 45%,#f59e0b 105%);
  --grad-cta:linear-gradient(120deg,#ec4899 0%,#f97316 70%,#f59e0b 100%);
  --grad-line:linear-gradient(135deg,rgba(251,113,133,.75),rgba(244,114,182,.3) 50%,rgba(245,158,11,.7));
  --r-xl:28px; --r-lg:22px; --r:16px; --r-sm:12px;
  --shadow:0 30px 70px -30px rgba(0,0,0,.75);
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1200px; --gut:clamp(16px,4vw,32px);
  position:relative; color:var(--text-2); font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:clip;
}
/* Сброс через :where(.vp) — вес как у голого тега, поэтому любой класс (.vp-btn, .vp-copy, .vp-scene…)
   его перебивает. Раньше `.vp a` / `.vp button` перебивали цвет и фон кнопок (тест в tests/modelCards.test.ts). */
:where(.vp) *,:where(.vp) *::before,:where(.vp) *::after{box-sizing:border-box}
:where(.vp) img{display:block;max-width:100%;height:auto}
:where(.vp) a{color:inherit;text-decoration:none}
:where(.vp) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:where(.vp) :is(ul,ol){list-style:none;margin:0;padding:0}
:where(.vp) :is(h1,h2,h3,p,figure,dl,dd){margin:0}
:where(.vp) :focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:8px}
:where(.vp) ::selection{background:rgba(244,114,182,.35);color:#fff}
.vp-wrap{position:relative;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut) 24px}
.vp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.vp-mono{font-family:var(--mono);font-feature-settings:"zero" 1}
.vp-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

/* ===== ФОН: сетка + свечения + шум (только верх страницы, без fixed) ===== */
.vp-bg{position:absolute;inset:0 0 auto 0;height:1700px;z-index:0;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.vp-bg__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.055) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 75% 50% at 50% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 75% 50% at 50% 0%,#000 20%,transparent 75%)}
.vp-bg__glow{position:absolute;border-radius:50%;filter:blur(80px)}
.vp-bg__glow--1{width:640px;height:440px;left:-180px;top:-160px;background:radial-gradient(closest-side,rgba(251,113,133,.42),transparent)}
.vp-bg__glow--2{width:560px;height:400px;right:-200px;top:20px;background:radial-gradient(closest-side,rgba(245,158,11,.3),transparent)}
.vp-bg__glow--3{width:520px;height:360px;left:38%;top:760px;background:radial-gradient(closest-side,rgba(244,114,182,.2),transparent)}
.vp-bg__noise{position:absolute;inset:0;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ===== ТИПОГРАФИКА ===== */
.vp-h2{font-size:clamp(26px,3.2vw,38px);line-height:1.12;letter-spacing:-.025em;font-weight:800;color:var(--text);margin-bottom:14px;text-wrap:balance}
.vp-h3{font-size:18px;line-height:1.3;font-weight:700;color:var(--text);letter-spacing:-.01em}
.vp-lead{font-size:clamp(15px,1.4vw,17px);color:var(--text-3);max-width:720px;text-wrap:pretty}
.vp-link{color:var(--pink);border-bottom:1px solid rgba(244,114,182,.35);transition:color .2s,border-color .2s}
.vp-link:hover{color:var(--orange);border-color:var(--orange)}

/* ===== ТЕГИ-ПИЛЮЛИ ===== */
.vp-tag{position:relative;display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 12px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--text-2);background:rgba(255,255,255,.04);border:1px solid var(--line-2);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.vp-tag svg{width:14px;height:14px;flex:none}
.vp-tag--hot{color:#fed7aa;background:linear-gradient(180deg,rgba(245,158,11,.18),rgba(245,158,11,.06));border-color:rgba(245,158,11,.4)}
.vp-pulse{width:7px;height:7px;border-radius:50%;background:var(--orange);animation:vpPulse 2.2s infinite}
@keyframes vpPulse{0%{box-shadow:0 0 0 0 rgba(245,158,11,.6)}70%{box-shadow:0 0 0 8px rgba(245,158,11,0)}100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}}
.vp-tag--line{color:#fecdd3;border-color:transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad-line) border-box}
.vp-tag--line svg{color:var(--coral)}
.vp-tag--mono{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--text-3)}
.vp-tag--sm{height:24px;padding:0 10px;font-size:11.5px}
.vp-tag--sound{color:#fde68a;border-color:rgba(251,191,36,.35);background:rgba(251,191,36,.08)}

/* eyebrow раздела: номер в чипе + подпись + бегущая линия */
.vp-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.vp-eyebrow__num{display:inline-grid;place-items:center;min-width:38px;height:26px;padding:0 8px;border-radius:8px;font:600 12px/1 var(--mono);letter-spacing:0;color:#fff;background:linear-gradient(var(--bg-3),var(--bg-3)) padding-box,var(--grad-line) border-box;border:1px solid transparent;box-shadow:0 0 24px -6px rgba(244,114,182,.6)}
.vp-eyebrow__line{position:relative;flex:1;max-width:120px;height:1px;overflow:hidden;background:linear-gradient(90deg,rgba(251,113,133,.6),transparent)}
.vp-eyebrow__line::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,#fff,transparent);animation:vpRun 3.2s ease-in-out infinite}
@keyframes vpRun{to{left:110%}}

/* ===== КНОПКИ ===== */
.vp-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 24px;border-radius:14px;font-weight:700;font-size:15.5px;letter-spacing:-.005em;white-space:nowrap;transition:transform .2s ease,box-shadow .25s ease,background .25s,border-color .25s;isolation:isolate;overflow:hidden}
.vp-btn svg{width:18px;height:18px;flex:none;transition:transform .25s}
.vp-btn--primary{color:#fff;background:var(--grad-cta);box-shadow:0 10px 30px -8px rgba(236,72,153,.6),inset 0 1px 0 rgba(255,255,255,.25)}
.vp-btn--primary::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);background-size:250% 100%;background-position:120% 0;transition:background-position .7s ease;z-index:-1}
.vp-btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(236,72,153,.75),inset 0 1px 0 rgba(255,255,255,.3)}
.vp-btn--primary:hover::after{background-position:-20% 0}
.vp-btn--primary:hover svg{transform:translateX(3px)}
.vp-btn--ghost{color:var(--text);background:rgba(255,255,255,.04);border:1px solid var(--line-2)}
.vp-btn--ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(251,113,133,.5);transform:translateY(-2px)}
.vp-btn--sm{height:40px;padding:0 16px;font-size:14px;border-radius:11px}
.vp-btn--block{width:100%}

/* ===== РАЗДЕЛЫ И КАРТОЧКИ ===== */
.vp-section{position:relative;padding:clamp(56px,7vw,96px) 0 0;scroll-margin-top:90px}
.vp-section__head{margin-bottom:clamp(24px,3vw,36px)}
.vp-section__head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.vp-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
/* свечение рамки за курсором (координаты --mx/--my ставит JS) */
.vp-glow{--mx:50%;--my:50%}
.vp-glow::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(244,114,182,.6),rgba(245,158,11,.28) 40%,transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none;z-index:2}
.vp-glow:hover::before{opacity:1}
/* появление при прокрутке — прячем, только если JS работает */
.vp-js .vp-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.vp-js .vp-reveal.in{opacity:1;transform:none}


/* ===== HERO ===== */
.vp-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:24px 0 18px;font-size:13px;color:var(--text-4)}
.vp-crumbs a{color:var(--text-3);transition:color .2s}
.vp-crumbs a:hover{color:var(--text)}
.vp-crumbs svg{width:12px;height:12px;opacity:.5}
.vp-crumbs [aria-current]{color:var(--text-2)}

.vp-hero{position:relative;border-radius:var(--r-xl);overflow:hidden;isolation:isolate;border:1px solid var(--line);background:var(--panel-2);box-shadow:var(--shadow)}
/* размытая обложка видео-модели — фон hero в тёплых тонах */
.vp-hero__ambient{position:absolute;inset:-30%;z-index:-2;background-size:cover;background-position:center;filter:blur(70px) saturate(1.5);opacity:.5;transform:scale(1.1)}
.vp-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(900px 400px at 0% 0%,rgba(251,113,133,.26),transparent 60%),radial-gradient(700px 380px at 100% 100%,rgba(245,158,11,.16),transparent 60%),linear-gradient(180deg,rgba(10,14,26,.35),rgba(10,14,26,.88) 75%)}
.vp-hero::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:1px;background:var(--grad-line);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;pointer-events:none}
.vp-hero__main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(24px,3.5vw,48px);align-items:center;padding:clamp(22px,3.5vw,44px)}
.vp-hero__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.vp-hero h1{font-size:clamp(34px,4.6vw,56px);line-height:1.02;letter-spacing:-.035em;font-weight:800;color:var(--text);margin-bottom:12px}
.vp-hero h1 .vp-h1-sub{display:block;margin-top:10px;font-size:clamp(17px,1.8vw,22px);line-height:1.3;letter-spacing:-.015em;font-weight:600;color:var(--text-2)}
.vp-hero__verdict{max-width:640px;font-size:clamp(15px,1.3vw,16.5px);color:var(--text-3);margin-bottom:24px;text-wrap:pretty}
.vp-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.vp-hero__honest{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13px;color:var(--text-4)}
.vp-hero__honest svg{width:15px;height:15px;color:var(--amber);flex:none}

/* KPI-строка внизу hero */
.vp-kpis{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:rgba(8,11,22,.45)}
.vp-kpi{position:relative;display:flex;align-items:center;gap:14px;padding:20px clamp(16px,2vw,26px)}
.vp-kpi+.vp-kpi::before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:linear-gradient(180deg,transparent,var(--line-2),transparent)}
.vp-kpi__ico{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px;color:#fff;background:linear-gradient(145deg,rgba(251,113,133,.34),rgba(245,158,11,.18));border:1px solid rgba(251,113,133,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 20px -10px rgba(244,114,182,.75)}
.vp-kpi__ico svg{width:19px;height:19px}
.vp-kpi__val{font-size:19px;line-height:1.15;font-weight:800;color:var(--text);letter-spacing:-.02em;white-space:nowrap}
.vp-kpi__val small{font-size:13px;font-weight:600;color:var(--text-3);letter-spacing:0;margin-left:3px}
.vp-kpi__lbl{font-size:12px;color:var(--text-4);margin-top:2px;white-space:nowrap}


/* «Живая обложка»: фото → видео, с 3D-наклоном (data-tilt) */
.vp-cover{position:relative;width:clamp(260px,30vw,400px);aspect-ratio:5/4;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.vp-cover::before{content:"";position:absolute;inset:-12px;border-radius:30px;z-index:-1;background:var(--grad);filter:blur(30px);opacity:.36}
.vp-frame{position:absolute;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px -18px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.1);background:var(--bg-3)}
.vp-frame img{width:100%;height:100%;object-fit:cover}
.vp-frame__label{position:absolute;left:10px;top:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:700;color:#fff;background:rgba(10,14,26,.72);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vp-frame__label svg{width:12px;height:12px}
/* кадр «фото» — меньше и сзади, неподвижен */
.vp-frame--photo{left:0;top:0;width:52%;height:62%;transform:translateZ(-20px) rotate(-4deg);filter:saturate(.55) brightness(.88)}
/* кадр «видео» — больше и спереди, «оживает»: Ken Burns + шкала + Play */
.vp-frame--video{right:0;bottom:0;width:74%;height:76%;transform:translateZ(30px)}
.vp-frame--video img{animation:vpKen 9s ease-in-out infinite alternate;transform-origin:60% 40%}
@keyframes vpKen{0%{transform:scale(1.04) translate(0,0)}100%{transform:scale(1.16) translate(-3%,-2%)}}
.vp-frame--video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(5,8,16,.8));pointer-events:none}
.vp-play{position:absolute;left:50%;top:44%;z-index:2;display:grid;place-items:center;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:vpRing 2.4s ease-out infinite}
.vp-play svg{width:22px;height:22px;margin-left:3px}
@keyframes vpRing{0%{box-shadow:0 0 0 0 rgba(244,114,182,.55)}80%,100%{box-shadow:0 0 0 18px rgba(244,114,182,0)}}
.vp-timeline{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:10px;font:600 11px var(--mono);color:rgba(255,255,255,.9)}
.vp-timeline__bar{position:relative;flex:1;height:4px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden}
.vp-timeline__bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit;background:var(--grad);box-shadow:0 0 10px rgba(244,114,182,.7);animation:vpTime 5s linear infinite}
@keyframes vpTime{to{width:100%}}
/* стрелка-переход между кадрами */
/* стоит на правом крае кадра «фото», над кадром «видео» — не перекрывает подписи */
.vp-arrow{position:absolute;left:calc(52% - 22px);top:6%;z-index:3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;background:var(--grad-cta);box-shadow:0 10px 26px -6px rgba(236,72,153,.8);transform:translateZ(50px)}
.vp-arrow svg{width:20px;height:20px;animation:vpNudge 1.6s ease-in-out infinite}
@keyframes vpNudge{0%,100%{transform:translateX(-2px)}50%{transform:translateX(3px)}}
.vp-cover__chip{position:absolute;right:-8px;top:8%;z-index:3;transform:translateZ(60px)}


/* ===== 01 КАК ЭТО РАБОТАЕТ: шаги + «провода» ===== */
.vp-pipe{position:relative;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:12px;padding:clamp(18px,3vw,30px);border-radius:var(--r-xl);overflow:hidden}
.vp-pipe::after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:radial-gradient(rgba(148,163,184,.12) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 75%);mask-image:radial-gradient(ellipse at center,#000,transparent 75%);pointer-events:none;z-index:-1}
.vp-step{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:18px;background:rgba(10,14,26,.85);border:1px solid var(--line-2)}
.vp-step--core{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 0 40px -10px rgba(244,114,182,.55),0 0 80px -24px rgba(245,158,11,.5)}
.vp-step__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.vp-step__ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:#fff;background:linear-gradient(145deg,rgba(251,113,133,.34),rgba(245,158,11,.18));border:1px solid rgba(251,113,133,.32)}
.vp-step__ico svg{width:22px;height:22px}
.vp-step__k{font:600 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-4)}
.vp-step__t{font-weight:750;color:var(--text);font-size:17px;line-height:1.25}
.vp-step__d{font-size:14px;color:var(--text-3);line-height:1.55}
.vp-step__d code{font-family:var(--mono);font-size:.86em;color:#fecdd3;background:rgba(244,114,182,.12);border:1px solid rgba(244,114,182,.24);padding:1px 7px;border-radius:7px}
.vp-wire{position:relative;align-self:center;width:34px;height:2px;border-radius:2px;overflow:hidden;background:linear-gradient(90deg,rgba(251,113,133,.25),rgba(245,158,11,.65))}
.vp-wire::after{content:"";position:absolute;top:-1px;left:-40%;width:40%;height:4px;background:linear-gradient(90deg,transparent,#fff,transparent);animation:vpFlow 1.8s linear infinite}
@keyframes vpFlow{to{left:100%}}
@keyframes vpFlowV{to{top:100%}}

/* ===== 02 ЧТО УМЕЕТ ОЖИВЛЕНИЕ (матрица задач) ===== */
.vp-tasks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.vp-task{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r)}
.vp-task__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--pink);background:rgba(255,255,255,.04);border:1px solid var(--line)}
.vp-task__ico svg{width:21px;height:21px}
.vp-task__name{font-weight:650;color:var(--text);font-size:15px;line-height:1.3}
.vp-task__note{font-size:12.5px;color:var(--text-4);line-height:1.4;margin-top:2px}
.vp-dots{display:flex;gap:4px}
.vp-dots i{width:9px;height:22px;border-radius:4px;background:rgba(148,163,184,.14)}
.vp-dots i.on{background:linear-gradient(180deg,#f59e0b,#ec4899);box-shadow:0 0 10px -2px rgba(244,114,182,.6)}
.vp-task--best{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad-line) border-box;border:1px solid transparent}
.vp-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:12.5px;color:var(--text-4)}


/* ===== 03 МОДЕЛИ И ЦЕНЫ ===== */
.vp-filters{display:flex;gap:6px;flex-wrap:wrap;padding:5px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.vp-filters button{height:34px;padding:0 14px;border-radius:10px;font-size:13.5px;font-weight:600;color:var(--text-3);transition:color .2s,background .2s}
.vp-filters button:hover{color:var(--text)}
.vp-filters button[aria-pressed="true"]{color:#fff;background:linear-gradient(135deg,rgba(236,72,153,.55),rgba(245,158,11,.42));box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.vp-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vp-mcard{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;transition:transform .35s,border-color .35s,box-shadow .35s}
.vp-mcard[hidden]{display:none}
.vp-mcard:hover{transform:translateY(-5px);border-color:rgba(244,114,182,.38);box-shadow:0 24px 50px -22px rgba(236,72,153,.5)}
.vp-mcard--best{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad-line) border-box;border:1px solid transparent}
.vp-mcard__media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg-3)}
.vp-mcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.vp-mcard:hover .vp-mcard__media img{transform:scale(1.06)}
.vp-mcard__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,8,16,.78));pointer-events:none}
.vp-mcard__flag{position:absolute;top:10px;left:10px;z-index:1;color:#fff;background:rgba(10,14,26,.72);border-color:rgba(255,255,255,.18)}
.vp-mcard__flag--best{border-color:transparent;background:var(--grad-cta);color:#fff;box-shadow:0 8px 20px -8px rgba(236,72,153,.8)}
.vp-mcard__play{position:absolute;right:12px;bottom:12px;z-index:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .3s,background .3s}
.vp-mcard__play svg{width:14px;height:14px;margin-left:2px}
.vp-mcard:hover .vp-mcard__play{transform:scale(1.1);background:var(--grad-cta);border-color:transparent}
.vp-mcard__body{display:flex;flex-direction:column;gap:10px;padding:16px 18px 18px;flex:1}
.vp-mcard__name{font-weight:750;color:var(--text);font-size:16.5px;line-height:1.3}
.vp-mcard__by{font-size:12.5px;color:var(--text-4);margin-top:2px}
/* «Обзор и примеры …» — у моделей с опубликованной карточкой /models/<page> (перелинковка /video → карточки) */
.vp-mcard__review{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 14px;border-radius:11px;font-size:13px;font-weight:700;color:var(--text-2);background:rgba(244,114,182,.07);border:1px solid rgba(244,114,182,.28);transition:color .2s,background .2s,border-color .2s}
.vp-mcard__review svg{width:15px;height:15px;flex:none;color:var(--pink)}
.vp-mcard__review:hover{color:#fff;background:rgba(244,114,182,.16);border-color:rgba(244,114,182,.55)}
.vp-mcard__tags{display:flex;flex-wrap:wrap;gap:6px}
.vp-meters{display:grid;gap:8px}
.vp-meter__row{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:5px;color:var(--text-3)}
.vp-meter__row b{font:600 12px var(--mono);color:var(--text)}
.vp-meter__bar{height:5px;border-radius:99px;background:rgba(148,163,184,.12);overflow:hidden}
.vp-meter__bar i{display:block;height:100%;width:var(--v);border-radius:inherit;background:var(--grad);box-shadow:0 0 10px rgba(244,114,182,.5)}
.vp-mcard__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--line-2)}
.vp-price{line-height:1.1}
.vp-price__k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4)}
.vp-price__v{font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--text);margin-top:4px}
.vp-price__v small{font-size:13px;font-weight:600;color:var(--text-3);letter-spacing:0;margin-left:4px}
.vp-price__rub{font-size:12.5px;color:var(--text-4);margin-top:3px}
.vp-empty{grid-column:1/-1;padding:28px;text-align:center;color:var(--text-4);border:1px dashed var(--line-2);border-radius:var(--r-lg)}
.vp-note{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:14px 16px;border-radius:14px;font-size:13.5px;color:var(--text-3);background:rgba(245,158,11,.05);border:1px dashed rgba(245,158,11,.32)}
.vp-note svg{width:18px;height:18px;flex:none;color:var(--amber);margin-top:2px}

/* ===== 04 СРАВНЕНИЕ ===== */
.vp-cmp-wrap{border-radius:var(--r-lg);overflow:auto;-webkit-overflow-scrolling:touch}
.vp-cmp{width:100%;min-width:820px;border-collapse:separate;border-spacing:0;font-size:14px}
.vp-cmp th,.vp-cmp td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.vp-cmp thead th{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);background:rgba(255,255,255,.02)}
.vp-cmp tbody tr{transition:background .2s}
.vp-cmp tbody tr:hover{background:rgba(244,114,182,.06)}
.vp-cmp tbody tr:last-child>*{border-bottom:0}
.vp-cmp tbody th{font-weight:inherit}
.vp-cmp__model{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--text)}
.vp-cmp__model img{width:44px;height:30px;border-radius:8px;object-fit:cover;border:1px solid var(--line-2)}
.vp-cmp__model a:hover{color:var(--pink)}
.vp-cmp tr.is-best>*{background:rgba(244,114,182,.08)}
.vp-cmp tr.is-best th{box-shadow:inset 3px 0 0 var(--magenta)}
.vp-cmp .yes{color:var(--amber);font-weight:700}
.vp-cmp .no{color:var(--text-4)}
.vp-cmp .price{font:600 13.5px var(--mono);color:var(--text)}
.vp-bar5{display:inline-flex;gap:3px;vertical-align:middle}
.vp-bar5 i{width:14px;height:6px;border-radius:3px;background:rgba(148,163,184,.16)}
.vp-bar5 i.on{background:linear-gradient(90deg,#f59e0b,#f472b6)}


/* ===== 05 ПРИМЕРЫ ===== */
.vp-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.vp-shot{position:relative;display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--bg-2);transition:transform .35s,box-shadow .35s,border-color .35s}
.vp-shot:hover{transform:translateY(-4px);border-color:rgba(244,114,182,.4);box-shadow:0 24px 50px -20px rgba(236,72,153,.45)}
.vp-shot__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-3)}
.vp-shot__media video,.vp-shot__media img{width:100%;height:100%;object-fit:cover}
.vp-shot__cat{position:absolute;top:12px;left:12px;z-index:1;color:#fff;background:rgba(10,14,26,.72);border-color:rgba(255,255,255,.18)}
.vp-shot__cap{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px}
.vp-shot__title{font-weight:700;color:var(--text);font-size:15px;line-height:1.35;margin-bottom:6px}
.vp-shot__prompt{font-size:13px;line-height:1.55;color:var(--text-3)}
/* Заглушка, пока нет роликов: «рендер в процессе» */
.vp-shot--soon .vp-shot__media{display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 20%,rgba(251,113,133,.22),transparent 60%),radial-gradient(100% 80% at 80% 90%,rgba(245,158,11,.18),transparent 60%),var(--bg-3)}
.vp-shot--soon .vp-shot__media::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.07) 1px,transparent 1px);background-size:22px 22px}
.vp-shot--soon .vp-shot__media::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:vpShimmer 2.6s ease-in-out infinite}
@keyframes vpShimmer{to{left:110%}}
.vp-soon{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-3);font-size:13px;font-weight:600}
.vp-soon__ring{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);animation:vpRing 2.4s ease-out infinite}
.vp-soon__ring svg{width:20px;height:20px;margin-left:3px}

/* ===== 06 СОВЕТЫ ДЛЯ ПРОМПТА ===== */
.vp-prompt-box{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;align-items:start}
.vp-example{padding:22px;border-radius:var(--r-lg)}
.vp-example__k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);margin-bottom:10px}
.vp-example__text{font:500 15px/1.7 var(--mono);color:var(--text);padding:16px;border-radius:14px;background:rgba(0,0,0,.3);border:1px solid var(--line)}
.vp-example__text mark{background:none;color:var(--pink)}
.vp-example__text mark.c{color:var(--orange)}
.vp-example__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
.vp-copy{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:10px;font-size:13px;font-weight:600;color:var(--text-2);background:rgba(255,255,255,.05);border:1px solid var(--line-2);transition:all .2s}
.vp-copy svg{width:15px;height:15px}
.vp-copy:hover{color:#fff;border-color:rgba(244,114,182,.5);background:rgba(244,114,182,.15)}
.vp-copy.ok{color:#a7f3d0;border-color:rgba(52,211,153,.45);background:rgba(52,211,153,.12)}
.vp-tips{display:grid;gap:12px}
.vp-tip{display:flex;gap:12px;padding:16px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid var(--line);font-size:14px;color:var(--text-3)}
.vp-tip b{display:block;color:var(--text);margin-bottom:2px}
.vp-tip__n{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;font:700 12px var(--mono);color:var(--pink);background:rgba(244,114,182,.12)}

/* ===== 07 ВОПРОСЫ ===== */
.vp-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,56px);align-items:start}
.vp-faq__list{display:grid;gap:10px}
.vp-qa{border-radius:var(--r);overflow:hidden;transition:border-color .25s,background .25s}
.vp-qa[open]{border-color:rgba(244,114,182,.35);background:rgba(30,22,40,.6)}
.vp-qa summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;font-weight:650;color:var(--text);cursor:pointer;list-style:none}
.vp-qa summary::-webkit-details-marker{display:none}
.vp-qa__ico{position:relative;flex:none;width:28px;height:28px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid var(--line-2);transition:background .25s,transform .3s}
.vp-qa__ico::before,.vp-qa__ico::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;border-radius:2px;background:var(--text-2);transition:transform .3s}
.vp-qa__ico::after{transform:rotate(90deg)}
.vp-qa[open] .vp-qa__ico{background:var(--grad-cta);border-color:transparent;transform:rotate(180deg)}
.vp-qa[open] .vp-qa__ico::after{transform:rotate(0)}
.vp-qa__a{padding:0 20px 20px;color:var(--text-3);font-size:15px}


/* ===== ФИНАЛ: композер ===== */
.vp-final{position:relative;margin-top:clamp(64px,8vw,110px);padding:clamp(32px,5vw,64px);border-radius:var(--r-xl);overflow:hidden;text-align:center;isolation:isolate;border:1px solid rgba(251,113,133,.25)}
.vp-final::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(600px 300px at 50% 0%,rgba(236,72,153,.3),transparent 70%),radial-gradient(500px 300px at 10% 100%,rgba(245,158,11,.25),transparent 70%),radial-gradient(500px 300px at 90% 100%,rgba(251,113,133,.22),transparent 70%),var(--panel-2)}
.vp-final .vp-h2{font-size:clamp(28px,4vw,46px);margin-bottom:12px}
.vp-final .vp-lead{margin:0 auto 28px}
.vp-composer{display:flex;gap:8px;max-width:680px;margin:0 auto;padding:8px;border-radius:18px;background:rgba(5,8,16,.7);border:1px solid var(--line-2);box-shadow:0 20px 50px -20px rgba(0,0,0,.8)}
.vp-composer:focus-within{border-color:rgba(244,114,182,.55);box-shadow:0 0 0 4px rgba(244,114,182,.12),0 20px 50px -20px rgba(0,0,0,.8)}
.vp-composer input{flex:1;min-width:0;padding:0 14px;background:none;border:0;outline:0;font:inherit;font-size:16px;color:var(--text)}
.vp-composer input::placeholder{color:var(--text-4)}
.vp-final__meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:13px;color:var(--text-4)}
.vp-final__meta span{display:inline-flex;align-items:center;gap:6px}
.vp-final__meta svg{width:14px;height:14px;color:var(--green)}
.vp-seealso{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:36px 0 56px}
.vp-seealso a{padding:8px 14px;border-radius:999px;font-size:13.5px;color:var(--text-3);border:1px solid var(--line);transition:all .2s}
.vp-seealso a:hover{color:var(--text);border-color:rgba(244,114,182,.45);background:rgba(244,114,182,.08)}

/* ===== АДАПТИВ ===== */
@media (max-width:1180px){
  .vp-kpis{grid-template-columns:repeat(3,1fr)}
  .vp-kpi:nth-child(4)::before{display:none}
  .vp-kpi:nth-child(n+4){border-top:1px solid var(--line)}
  .vp-pipe{grid-template-columns:1fr;gap:0}
  .vp-wire{width:2px;height:28px;margin:0 auto;background:linear-gradient(180deg,rgba(251,113,133,.25),rgba(245,158,11,.65))}
  .vp-wire::after{left:-1px;top:-40%;width:4px;height:40%;background:linear-gradient(180deg,transparent,#fff,transparent);animation-name:vpFlowV}
}
@media (max-width:1024px){
  .vp-models,.vp-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vp-faq,.vp-prompt-box{grid-template-columns:1fr}
}
@media (max-width:768px){
  .vp-hero__main{grid-template-columns:1fr;gap:26px}
  .vp-cover{width:min(100%,380px);margin:0 auto}
  .vp-kpis{grid-template-columns:1fr 1fr}
  .vp-kpi{padding:16px}
  .vp-kpi::before{display:none}
  .vp-kpi:nth-child(n+3){border-top:1px solid var(--line)}
  .vp-kpi:nth-child(even){border-left:1px solid var(--line)}
  .vp-kpi:last-child{grid-column:1/-1;border-left:0;justify-content:center}
  .vp-tasks{grid-template-columns:1fr}
  .vp-section__head--row{align-items:flex-start}
}
@media (max-width:560px){
  .vp-models,.vp-gallery{grid-template-columns:1fr}
}
@media (max-width:480px){
  .vp{--gut:14px}
  .vp-hero{border-radius:22px}
  .vp-hero__actions .vp-btn{flex:1 1 100%}
  .vp-kpi__ico{width:36px;height:36px}
  .vp-kpi__val{font-size:17px}
  .vp-task{grid-template-columns:40px 1fr;padding:14px}
  .vp-task .vp-dots{grid-column:2}
  .vp-composer{flex-direction:column;gap:10px;padding:10px;border-radius:20px}
  .vp-composer input{flex:none;width:100%;height:52px;padding:0 16px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line-2)}
  .vp-composer .vp-btn{width:100%}
  .vp-filters{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .vp-filters::-webkit-scrollbar{display:none}
  .vp-filters button{flex:none;padding:0 12px}
  .vp-cover__chip{right:4px;top:auto;bottom:80%}
}
@media (max-width:360px){
  .vp-hero h1{font-size:30px}
  .vp-kpis{grid-template-columns:1fr}
  .vp-kpi:last-child{justify-content:flex-start}
  .vp-kpi:nth-child(even){border-left:0}
  .vp-kpi:nth-child(n+2){border-top:1px solid var(--line)}
  .vp-btn{padding:0 18px}
}
/* ==========================================================================
   v2 (02.11): своя структура страницы, не копия карточки модели.
   HERO-«студия» → кинолента примеров → лента моделей → шаги → советы → сравнение → FAQ.
   ========================================================================== */

/* ===== HERO 2: центрированный заголовок + «студия» ===== */
.vp-hero2{position:relative;text-align:center;padding:clamp(8px,2vw,20px) 0 0}
.vp-hero2__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px}
.vp-hero2 h1{font-size:clamp(36px,5.4vw,68px);line-height:1;letter-spacing:-.04em;font-weight:800;color:var(--text);margin:0 auto 14px;max-width:900px}
.vp-hero2 h1 .vp-h1-sub{display:block;margin-top:12px;font-size:clamp(17px,2vw,24px);line-height:1.3;letter-spacing:-.015em;font-weight:600;color:var(--text-2)}
.vp-hero2 .vp-hero2__verdict{max-width:760px;margin:0 auto clamp(22px,3vw,34px);text-align:center;font-size:clamp(15px,1.35vw,17px);color:var(--text-3);text-wrap:pretty}
.vp-hero2__honest{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--text-4)}
.vp-hero2__honest svg{width:15px;height:15px;color:var(--amber);flex:none}

.vp-studio{position:relative;text-align:left;border-radius:var(--r-xl);background:var(--panel-2);border:1px solid var(--line);box-shadow:var(--shadow),0 0 120px -40px rgba(236,72,153,.45);isolation:isolate;overflow:hidden}
.vp-studio::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;padding:1px;background:var(--grad-line);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.8;pointer-events:none}
.vp-studio::after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(700px 320px at 15% 0%,rgba(251,113,133,.18),transparent 65%),radial-gradient(700px 320px at 90% 100%,rgba(245,158,11,.14),transparent 65%);pointer-events:none}
.vp-studio__bar{display:flex;align-items:center;gap:14px;height:44px;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}
.vp-studio__dots{display:flex;gap:6px}
.vp-studio__dots i{width:10px;height:10px;border-radius:50%;background:rgba(148,163,184,.25)}
.vp-studio__dots i:first-child{background:#fb7185}
.vp-studio__dots i:nth-child(2){background:#fbbf24}
.vp-studio__dots i:nth-child(3){background:#34d399}
.vp-studio__title{flex:1;text-align:center;font:500 12px var(--mono);color:var(--text-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vp-studio__live{display:inline-flex;align-items:center;gap:7px;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fed7aa}
.vp-studio__body{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(14px,2vw,22px);padding:clamp(14px,2vw,22px)}
.vp-studio__arrow{position:absolute;left:41%;top:50%;z-index:4;display:grid;place-items:center;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;color:#fff;background:var(--grad-cta);box-shadow:0 10px 30px -6px rgba(236,72,153,.85),0 0 0 6px rgba(10,14,26,.85)}
.vp-studio__arrow svg{width:20px;height:20px;animation:vpNudge 1.6s ease-in-out infinite}

/* левое окно: зона загрузки */
.vp-drop{position:relative;display:grid;place-items:center;min-height:100%;aspect-ratio:4/3;border-radius:18px;cursor:pointer;overflow:hidden;background:repeating-linear-gradient(135deg,rgba(255,255,255,.015) 0 12px,transparent 12px 24px),rgba(8,11,22,.6);border:1.5px dashed rgba(244,114,182,.38);transition:border-color .25s,background-color .25s,box-shadow .25s}
.vp-drop:hover,.vp-drop.is-over{border-color:rgba(245,158,11,.75);background-color:rgba(244,114,182,.06);box-shadow:inset 0 0 60px -20px rgba(244,114,182,.5)}
.vp-drop:focus-within{outline:2px solid var(--pink);outline-offset:3px}
.vp-drop__idle{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;text-align:center}
.vp-drop__ico{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;color:#fff;background:linear-gradient(145deg,rgba(251,113,133,.4),rgba(245,158,11,.22));border:1px solid rgba(251,113,133,.4);box-shadow:0 14px 34px -12px rgba(236,72,153,.7)}
.vp-drop__ico svg{width:28px;height:28px}
.vp-drop:hover .vp-drop__ico{animation:vpBob 1.4s ease-in-out infinite}
@keyframes vpBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.vp-drop__t{font-weight:750;font-size:16.5px;color:var(--text)}
.vp-drop__d{font-size:13px;color:var(--text-4)}
.vp .vp-drop__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.vp-drop__img[hidden]{display:none}
.vp-drop.has-file{border-style:solid;border-color:rgba(52,211,153,.55)}
.vp-drop.has-file .vp-drop__idle{display:none}

/* правое окно: результат (реальный пример) + переключатель сцен.
   Сетка студии: [фото | видео] + под фото — кнопки (на одной линии со сценами). */
.vp-studio__body{grid-template-rows:1fr auto;align-items:stretch}
.vp-drop{grid-column:1;grid-row:1;min-height:240px;aspect-ratio:auto;height:auto;align-self:stretch}
.vp-studio__res{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;gap:12px;min-width:0}
.vp-studio__cta{grid-column:1;grid-row:2;align-self:end;display:flex;gap:10px;flex-wrap:wrap}
.vp-studio__cta .vp-btn{flex:1 1 auto}
.vp-studio__arrow{top:calc(50% - 30px)}
.vp-studio__out{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--bg-3);box-shadow:0 24px 60px -24px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.08)}
.vp-studio__out::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,16,.35),transparent 25%,transparent 60%,rgba(5,8,16,.85));pointer-events:none}
.vp-studio__out--empty{display:grid;place-items:center}
.vp-studio__video{display:block;width:100%;height:100%;object-fit:cover}
.vp-studio__tag{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;background:rgba(10,14,26,.7);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.vp-studio__tag svg{width:13px;height:13px}
.vp-studio__tag b{font-weight:750}
.vp-studio__tag--photo{top:auto;bottom:12px}
.vp-studio__prompt{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.45;color:rgba(255,255,255,.92);text-shadow:0 1px 8px rgba(0,0,0,.6)}
.vp-studio__prompt svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--amber)}
.vp-scenes{display:flex;gap:8px;flex-wrap:wrap}
.vp-scene{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px 0 5px;border-radius:12px;font-size:13.5px;font-weight:650;color:var(--text-3);background:rgba(255,255,255,.035);border:1px solid var(--line-2);transition:color .2s,border-color .2s,background .2s}
.vp .vp-scene{font-size:13.5px;font-weight:650}
.vp-scene img{width:46px;height:30px;border-radius:8px;object-fit:cover;opacity:.75;transition:opacity .2s}
.vp-scene:hover{color:var(--text);border-color:rgba(244,114,182,.45)}
.vp-scene[aria-pressed="true"]{color:#fff;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box;border:1px solid transparent;box-shadow:0 8px 24px -10px rgba(236,72,153,.7)}
.vp-scene[aria-pressed="true"] img{opacity:1}

.vp-studio__foot{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:14px clamp(14px,2vw,22px);border-top:1px solid var(--line);background:rgba(8,11,22,.45)}
.vp-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.vp-chips li{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--text-2);background:rgba(255,255,255,.04);border:1px solid var(--line-2)}
.vp-chips svg{width:15px;height:15px;color:var(--coral)}
.vp-studio__note{display:flex;gap:10px;align-items:flex-start;margin:0 clamp(14px,2vw,22px) clamp(16px,2vw,22px);padding:12px 14px;border-radius:12px;font-size:13.5px;color:#a7f3d0;background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.3)}
.vp-studio__note svg{width:16px;height:16px;flex:none;margin-top:2px}
.vp-studio__note[hidden]{display:none}

/* ===== 01 ПРИМЕРЫ: кинолента ===== */
.vp-reel{display:grid;gap:14px}
.vp-reel__stage{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);border-radius:var(--r-xl);overflow:hidden;background:var(--panel-2);border:1px solid var(--line);box-shadow:var(--shadow)}
.vp-reel__screen{position:relative;aspect-ratio:16/9;background:#05070d}
.vp-reel__video{display:block;width:100%;height:100%;object-fit:cover}
.vp-reel__badge{position:absolute;left:14px;top:14px;z-index:2;color:#fff;background:rgba(10,14,26,.72);border-color:rgba(255,255,255,.18)}
.vp-reel__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12)}
.vp-reel__progress i{display:block;height:100%;width:0;background:var(--grad);box-shadow:0 0 10px rgba(244,114,182,.8)}
.vp-reel__info{display:flex;flex-direction:column;gap:4px;padding:clamp(18px,2.4vw,28px);border-left:1px solid var(--line);background:radial-gradient(400px 240px at 100% 0%,rgba(251,113,133,.12),transparent 70%)}
.vp-reel__k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4)}
.vp-reel__model{font-size:clamp(20px,2vw,26px);font-weight:800;letter-spacing:-.02em;color:var(--text);margin-bottom:14px}
.vp-reel__prompt{font-size:15px;line-height:1.55;color:var(--text-2);margin-bottom:16px}
.vp-reel__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px}
.vp-reel__facts div{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.vp-reel__facts dt{font-size:11px;color:var(--text-4);margin-bottom:2px}
.vp-reel__facts dd{margin:0;font:600 12.5px var(--mono);color:var(--text);white-space:nowrap}
.vp-reel__facts{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.25fr)}
.vp-reel__cta{align-self:flex-start;margin-top:auto}
.vp-reel__strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(244,114,182,.35) transparent}
.vp-thumb{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:14px;scroll-snap-align:start;background:rgba(255,255,255,.025);border:1px solid var(--line);transition:border-color .25s,background .25s,transform .25s}
.vp-thumb:hover{transform:translateY(-3px);border-color:rgba(244,114,182,.4)}
.vp-thumb.is-active{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box;border:1px solid transparent;box-shadow:0 12px 30px -14px rgba(236,72,153,.8)}
.vp-thumb__img{position:relative;display:block;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--bg-3)}
.vp-thumb__img img{width:100%;height:100%;object-fit:cover}
.vp-thumb__play{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;background:rgba(10,14,26,.65);border:1px solid rgba(255,255,255,.25)}
.vp-thumb__play svg{width:10px;height:10px;margin-left:1px}
.vp-thumb.is-active .vp-thumb__play{background:var(--grad-cta);border-color:transparent}
.vp-thumb__name{padding:0 4px;font-size:13px;font-weight:700;line-height:1.25;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vp-thumb__cat{padding:0 4px 2px;font-size:11.5px;color:var(--text-4)}

/* ===== 02 МОДЕЛИ: горизонтальная лента на десктопе ===== */
.vp-models__tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;max-width:100%}
.vp-scrollnav{display:flex;gap:6px}
.vp-scrollnav[hidden]{display:none}
.vp-scrollnav button{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;color:var(--text-2);background:rgba(255,255,255,.04);border:1px solid var(--line-2);transition:all .2s}
.vp-scrollnav button:hover:not(:disabled){color:#fff;border-color:rgba(244,114,182,.5);background:rgba(244,114,182,.12)}
.vp-scrollnav button:disabled{opacity:.35;cursor:default}
.vp-scrollnav svg{width:18px;height:18px}
.vp-flip{transform:scaleX(-1)}
.vp-models.vp-models--rail{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 32px) / 3.25);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 2px;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:rgba(244,114,182,.35) transparent;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}
.vp-models.vp-models--rail.is-end{-webkit-mask-image:none;mask-image:none}
.vp-models--rail .vp-mcard{scroll-snap-align:start}
.vp-models--rail .vp-mcard:hover{transform:translateY(-3px)}
.vp-mcard__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}
.vp-mcard__media.is-playing video{opacity:1}
.vp-mcard__media.is-playing .vp-mcard__play{opacity:0}

/* ===== 03 ШАГИ: компактная лента ===== */
.vp-section--tight{padding-top:clamp(44px,5vw,72px)}
.vp-how__head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.vp-h2--sm{font-size:clamp(22px,2.4vw,28px);margin:0}
.vp-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.vp-flow__step{position:relative;display:flex;gap:14px;align-items:flex-start;padding:18px 20px;counter-increment:vpstep}
.vp-flow__step+.vp-flow__step{border-left:1px solid var(--line)}
.vp-flow__step+.vp-flow__step::before{content:"";position:absolute;left:-9px;top:50%;z-index:1;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--grad-cta);box-shadow:0 0 0 4px var(--bg)}
.vp-flow__ico{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;color:#fff;background:linear-gradient(145deg,rgba(251,113,133,.34),rgba(245,158,11,.18));border:1px solid rgba(251,113,133,.32)}
.vp-flow__ico svg{width:19px;height:19px}
.vp-flow__step b{display:block;color:var(--text);font-size:15.5px;margin-bottom:3px}
.vp-flow__step p{font-size:13.5px;line-height:1.5;color:var(--text-3)}
.vp-flow__step code{font-family:var(--mono);font-size:.86em;color:#fecdd3;background:rgba(244,114,182,.12);border:1px solid rgba(244,114,182,.24);padding:0 6px;border-radius:6px}

/* ===== 04 СОВЕТЫ: промпт + «какие фото оживают» ===== */
.vp-prompt-box .vp-tips{margin-top:16px}
.vp-fit .vp-h3{margin-bottom:12px}
.vp-fit .vp-tasks{grid-template-columns:1fr;gap:8px}
.vp-fit .vp-task{padding:12px 14px}
.vp-fit .vp-legend{margin-top:10px}

/* ===== АДАПТИВ v2 ===== */
@media (max-width:1024px){
  .vp-reel__stage{grid-template-columns:1fr}
  .vp-reel__info{border-left:0;border-top:1px solid var(--line)}
  .vp-models.vp-models--rail{grid-auto-columns:calc((100% - 16px) / 2.2)}
}
@media (max-width:860px){
  .vp-studio__body{grid-template-columns:1fr;grid-template-rows:none}
  .vp-studio__res{grid-column:1;grid-row:3}
  .vp-drop{grid-row:1;aspect-ratio:auto;height:auto;min-height:190px}
  .vp-studio__arrow{grid-row:2;left:auto;top:auto;position:relative;justify-self:center;margin:-34px 0;transform:rotate(90deg)}
  .vp-studio__cta{grid-row:4}
  .vp-flow{grid-template-columns:1fr}
  .vp-flow__step+.vp-flow__step{border-left:0;border-top:1px solid var(--line)}
  .vp-flow__step+.vp-flow__step::before{left:38px;top:-8px;margin-top:0}
}
@media (max-width:560px){
  /* на телефоне каталог тоже лента (свайп), иначе 11 карточек = 8 экранов прокрутки */
  .vp-models.vp-models--rail{grid-auto-columns:84%;-webkit-mask-image:none;mask-image:none;scroll-padding:0}
  .vp-scrollnav{display:none}
  .vp-models__tools{width:100%;min-width:0}
  .vp-drop{aspect-ratio:auto;min-height:200px}
  .vp-drop__ico{width:52px;height:52px;border-radius:16px}
  .vp-drop__ico svg{width:24px;height:24px}
  .vp-drop__idle{padding:18px 14px 46px}
  .vp-studio__prompt span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .vp-reel__facts{grid-template-columns:1fr 1fr}
  .vp-reel__facts div:last-child{grid-column:1/-1}
  .vp-reel__strip{grid-auto-columns:128px}
  .vp-studio__bar{padding:0 12px}
  .vp-studio__title{font-size:11px}
  .vp-studio__foot .vp-btn{flex:1 1 100%}
  .vp-scene{flex:1 1 calc(50% - 4px);justify-content:flex-start}
  .vp-studio__prompt{font-size:12px}
}
@media (max-width:360px){
  .vp-hero2 h1{font-size:32px}
  .vp-studio__live{display:none}
}
/* телефоны (замечание владельца 03.11): кнопки компактнее, текст не прилипает к кнопкам */
@media (max-width:480px){
  .vp-btn{height:48px;font-size:15px;padding:0 18px}
  .vp-btn--sm{height:40px;font-size:14px;padding:0 14px}
  .vp-hero2 .vp-hero2__verdict{font-size:15px;line-height:1.6;margin-bottom:24px}
  .vp-tag{height:26px;padding:0 10px;font-size:12px}
  .vp-tag--sm{height:24px;padding:0 9px;font-size:11.5px}
  .vp-mcard__body{padding:14px 16px 16px}
  .vp-price__v{font-size:24px}
  .vp-note{font-size:13px;padding:12px 14px}
}

@media (hover:none){.vp-glow::before{display:none}}
@media (prefers-reduced-motion:reduce){
  .vp *,.vp *::before,.vp *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .vp-js .vp-reveal{opacity:1;transform:none}
}

