/* Vlow v2 home — chapters of the promo film. */
:root{--bg:#03060B;--bg2:#070C15;--ink:#EEF3FA;--ink2:#A9B6C8;--ink3:#6B7A90;--line:rgba(160,190,230,.12);--c1:#22E3E3;--c2:#5B7BFF;--grad:linear-gradient(100deg,#22E3E3 0%,#3FB0F2 45%,#5B7BFF 100%);--r:18px;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.v2{background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed!important;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:99;background:#fff;color:#000;padding:8px 12px;border-radius:8px}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
kbd{font:600 .85em var(--mono);padding:.1em .45em;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:#0d1522}
/* header */
.top{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;transition:background .3s,backdrop-filter .3s}
.top.solid{background:rgba(3,6,11,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:.01em}
.top nav{display:flex;align-items:center;gap:4px;font-size:14px}
.top nav a{padding:8px 12px;border-radius:99px;color:var(--ink2);transition:color .2s,background .2s}
.top nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.top nav .lang{border:1px solid var(--line);font-weight:600}
.top nav .cta{background:var(--grad);color:#02101a;font-weight:700;margin-left:6px}
.top nav .cta:hover{color:#02101a;filter:brightness(1.1)}
/* chapter rail */
.rail{position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity .4s}
.rail.on{opacity:1}
.rail a{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--ink3);padding:3px 0}
.rail a b{font:600 11px var(--mono);width:26px;height:18px;display:grid;place-items:center;border-radius:5px;transition:.25s}
.rail a span{opacity:0;transform:translateX(-6px);transition:.25s;white-space:nowrap;background:rgba(7,12,21,.85);padding:2px 8px;border-radius:6px}
.rail:hover a span,.rail a.cur span{opacity:1;transform:none}
.rail a.cur b{background:var(--grad);color:#02101a}
.rail a.cur{color:#fff}
/* hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;padding:110px 0 60px}
#pv{position:absolute;inset:0;width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.hero-in{position:relative;z-index:2;max-width:1180px;width:100%;margin:0 auto;padding:0 28px 0 9vw}
.q{font:500 clamp(15px,1.6vw,19px) var(--mono);color:var(--ink2);min-height:1.6em}
.q::after{content:"";display:inline-block;width:.55em;height:1.1em;margin-left:3px;vertical-align:-.18em;background:var(--c1);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.hero h1{font-size:clamp(46px,8.4vw,118px);line-height:1.02;font-weight:800;letter-spacing:-.02em;margin:14px 0 22px;max-width:9.5em}
.hero .lead{max-width:34em;color:var(--ink2);font-size:clamp(16px,1.5vw,19px)}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.pl{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:99px;background:var(--grad);color:#02101a;font-weight:700;font-size:15px;transition:transform .2s,filter .2s,background .2s}
.pl:hover{transform:translateY(-2px);filter:brightness(1.08)}
.pl.ghost{background:rgba(255,255,255,.04);color:var(--ink);border:1px solid var(--line)}
.pl.ghost:hover{background:rgba(255,255,255,.09)}
.pl i{font:500 12px var(--mono);font-style:normal;opacity:.7}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.chips span{font-size:13px;color:var(--ink2);border:1px solid var(--line);padding:5px 12px;border-radius:99px;background:rgba(7,12,21,.5)}
.meas{margin-top:14px;font-size:13px;color:var(--ink3)}
.meas b{color:var(--c1);margin-right:8px;font-weight:600}
.down{position:absolute;left:50%;bottom:26px;z-index:3;width:26px;height:42px;border:1.5px solid var(--ink3);border-radius:14px;transform:translateX(-50%)}
.down i{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--c1);animation:dn 1.8s infinite}
@keyframes dn{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
/* generic section heads */
.eb{display:flex;align-items:center;gap:10px;font:600 13px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--c1)}
.eb b{display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:6px;background:rgba(34,227,227,.1);border:1px solid rgba(34,227,227,.25);font-size:12px;letter-spacing:0}
h2{font-size:clamp(32px,4.6vw,60px);line-height:1.1;font-weight:800;letter-spacing:-.015em;margin:14px 0 14px}
.sub{color:var(--ink2);font-size:clamp(16px,1.4vw,19px);max-width:40em}
/* pains */
.pains{padding:140px 0 120px;background:radial-gradient(60% 50% at 80% 0%,rgba(255,80,80,.07),transparent 70%)}
.pgrid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:40px 0 30px}
.pgrid li{position:relative;padding:22px 20px 24px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));font-weight:600;font-size:16px;line-height:1.45;min-height:128px;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s;transition-delay:calc(var(--d)*60ms)}
.pgrid li .n{display:block;font:600 12px var(--mono);color:#ff7a7a;margin-bottom:12px}
.pgrid.rv:not(.in) li{opacity:0;transform:translateY(24px)}
/* turn */
.turn{padding:120px 0;text-align:center;background:radial-gradient(50% 60% at 50% 50%,rgba(63,176,242,.12),transparent 70%)}
.turn .wrap{display:flex;flex-direction:column;align-items:center}
.turn .mk{width:min(200px,40vw);margin-bottom:10px;filter:drop-shadow(0 0 40px rgba(63,176,242,.45))}
.turn h2{font-size:clamp(40px,6vw,84px)}
/* chapter blocks */
.ch{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center;max-width:1280px;margin:0 auto;padding:110px 28px 110px 90px}
.ch.r{grid-template-columns:1fr 1.25fr}
.ch.r .shot{order:2}
.shot{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.02);background:#060b14;aspect-ratio:16/9}
.shot img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.shot.in img{transform:scale(1)}
.shot figcaption{position:absolute;left:12px;bottom:10px;font:600 11px var(--mono);color:#cfe0f5;background:rgba(3,6,11,.7);padding:3px 8px;border-radius:6px}
.txt h2{font-size:clamp(30px,3.6vw,50px)}
.vo p{color:var(--ink2);margin-bottom:6px}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.tags li{font-size:13px;padding:5px 11px;border-radius:8px;background:rgba(91,123,255,.1);border:1px solid rgba(91,123,255,.25);color:#cdd8ff}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.ba div{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:rgba(255,255,255,.02)}
.ba span{font:600 11px var(--mono);color:var(--ink3);text-transform:uppercase;letter-spacing:.08em}
.ba .b4{color:var(--ink3);text-decoration:line-through;text-decoration-color:rgba(255,120,120,.6);font-size:14px;margin-top:4px}
.ba .af{color:#fff;font-size:14px;margin-top:4px}
.tones{display:grid;gap:6px;margin-top:20px}
.tones div{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:baseline;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid var(--line);font-size:14px}
.tones b{font-size:12px;color:var(--c1)}
.tones small{font-size:11px;color:var(--ink3)}
.rv{transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.js .rv:not(.in){opacity:0;transform:translateY(36px)}
.js .pgrid.rv:not(.in){opacity:1;transform:none}
/* film */
.film{padding:130px 0 100px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--bg2),var(--bg))}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;margin-top:36px}
.poster{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9}
.poster img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.poster:hover img{transform:scale(1.03)}
.poster span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:14px 24px;border-radius:99px;background:rgba(3,6,11,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);font-weight:700}
.clist{border:1px solid var(--line);border-radius:20px;padding:18px;display:flex;flex-direction:column;background:rgba(255,255,255,.015)}
.clist h3{font-size:14px;color:var(--ink3);font-weight:600;margin-bottom:8px}
.clist ol{list-style:none;overflow:auto;max-height:360px;margin-bottom:14px}
.clist li button{display:flex;gap:12px;width:100%;text-align:left;padding:7px 8px;border-radius:8px;font-size:14px;color:var(--ink2)}
.clist li button:hover{background:rgba(255,255,255,.05);color:#fff}
.clist li i{font:500 12px var(--mono);font-style:normal;color:var(--c1);min-width:34px}
.sh{font-size:24px;margin:70px 0 6px}
.shorts{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px}
.shorts button{display:block;width:100%;text-align:left;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#060b14;transition:transform .25s,border-color .25s}
.shorts button:hover{transform:translateY(-3px);border-color:rgba(34,227,227,.4)}
.shorts img{aspect-ratio:16/9;object-fit:cover;width:100%}
.shorts span{display:block;padding:9px 11px;font-size:13px;line-height:1.35}
.shorts b{font:600 11px var(--mono);color:var(--c1);margin-right:6px}
/* pricing (reuses generator markup) */
.v2price .sec{max-width:1180px;margin:0 auto;padding:120px 28px}
.v2price .sec-head .eyebrow{font:600 13px var(--mono);letter-spacing:.12em;color:var(--c1);text-transform:uppercase}
.v2price .h2{font-size:clamp(32px,4.4vw,56px);line-height:1.12;font-weight:800;margin:14px 0}
.v2price .lead{color:var(--ink2);max-width:42em}
.v2price .plans{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
.v2price .plan{display:flex;flex-direction:column;gap:12px;padding:30px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.v2price .plan.mid{border-color:rgba(63,176,242,.45);background:linear-gradient(160deg,rgba(34,227,227,.08),rgba(91,123,255,.08));box-shadow:0 30px 80px -40px rgba(63,176,242,.5)}
.v2price .k{font:600 12px var(--mono);letter-spacing:.1em;color:var(--ink2);text-transform:uppercase}
.v2price .pp{font-size:56px;font-weight:800;line-height:1}
.v2price .pp small{font-size:15px;font-weight:500;color:var(--ink2);margin-left:10px}
.v2price .pfeat{list-style:none;display:grid;gap:8px;margin:8px 0 14px;font-size:15px;color:var(--ink2)}
.v2price .pfeat li::before{content:"✓";color:var(--c1);margin-right:10px;font-weight:700}
.v2price .pnote{font-size:13px;color:var(--ink3)}
.v2price .btn{display:inline-flex;padding:13px 22px;border-radius:99px;background:var(--grad);color:#02101a;font-weight:700;font-size:15px}
.v2price .btn.ghost{background:rgba(255,255,255,.04);color:var(--ink);border:1px solid var(--line)}
.v2price .card.buy{margin-top:18px;padding:28px 30px;border-radius:22px;border:1px dashed rgba(34,227,227,.4);background:rgba(34,227,227,.03)}
.v2price .card.buy h3{font-size:20px;margin-bottom:14px}
.v2price .buy-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:s}
.v2price .buy-steps li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.v2price .buy-steps b{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--grad);color:#02101a;font-size:13px}
.v2price .fine{font-size:13px;color:var(--ink3);margin-top:12px}
.v2price .fine a,.foot a:hover,.fb a{color:var(--c1)}
.v2price .reveal{opacity:1}
/* faq */
.faq{padding:110px 0}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";color:var(--c1);font-size:22px;line-height:1;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--ink2);margin-top:10px;max-width:52em}
/* end */
.end{padding:140px 0 120px;text-align:center;background:radial-gradient(50% 60% at 50% 40%,rgba(91,123,255,.14),transparent 70%)}
.end .wrap{display:flex;flex-direction:column;align-items:center}
.end img{filter:drop-shadow(0 0 30px rgba(63,176,242,.5))}
.end h2{font-size:clamp(44px,7vw,96px)}
.end .acts{justify-content:center}
.nbox{margin-top:40px;width:min(520px,100%)}
.notify{display:flex;flex-wrap:wrap;gap:8px}
.notify input[type=email]{flex:1 1 220px;padding:13px 16px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:15px}
.notify input:focus{outline:2px solid rgba(34,227,227,.5);outline-offset:1px}
.notify button{padding:13px 20px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.07);font-weight:600;font-size:15px}
.notify .hp{display:none}
.notify .msg{flex-basis:100%;font-size:13px;color:var(--c1);min-height:1em}
.nbox .fine{font-size:12px;color:var(--ink3);margin-top:6px}
/* footer */
.foot{border-top:1px solid var(--line);padding:60px 0 40px;font-size:14px;color:var(--ink2)}
.fg{display:grid;grid-template-columns:1.3fr 1fr 1.4fr 1fr;gap:30px}
.fg p{color:var(--ink3);margin-top:12px}
.fg h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:12px}
.fg ul{list-style:none;display:grid;gap:8px}
.fb{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink3);font-size:13px}
/* player */
#player{margin:auto;width:min(1200px,94vw);border:0;border-radius:16px;background:#000;padding:0;overflow:visible;color:#fff}
#player::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(6px)}
#player video{display:block;width:100%;aspect-ratio:16/9;border-radius:16px;background:#000}
#player .x{position:absolute;right:-6px;top:-44px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.12);font-size:24px;line-height:1}
/* responsive */
@media (max-width:1100px){.rail{display:none}.ch,.ch.r{padding:90px 28px}.shorts{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){
 .top{padding:12px 16px}.top nav a:not(.lang):not(.cta){display:none}
 .hero-in{padding:0 22px}.hero{padding-top:44vh;align-items:start}
 .ch,.ch.r{grid-template-columns:1fr;gap:26px;padding:70px 22px}.ch.r .shot{order:0}
 .pgrid{grid-template-columns:1fr 1fr}.pgrid li{min-height:0;font-size:15px}
 .fgrid{grid-template-columns:1fr}.shorts{grid-template-columns:1fr 1fr}
 .v2price .plans{grid-template-columns:1fr}.v2price .buy-steps{grid-template-columns:1fr 1fr}
 .ba{grid-template-columns:1fr}.fg{grid-template-columns:1fr 1fr}
 .wrap{padding:0 22px}.pains,.film,.faq,.end{padding:90px 0}.v2price .sec{padding:90px 22px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .rv:not(.in){opacity:1;transform:none}html{scroll-behavior:auto}}
@media (min-width:861px){.hero-in>*{max-width:min(660px,52vw)}body[data-lang=en] .hero h1{font-size:clamp(44px,6.2vw,92px)}}
.v2price .preg{font-size:22px;font-weight:500;color:var(--ink3);margin-left:12px;text-decoration:line-through}
.dlpair{display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}
.dlpair a small{font-size:.72em;opacity:.7;margin-left:6px;font-weight:500}
.acts .dlpair{justify-content:inherit}
