/* VideoGini engine styles. Stage is a fixed-size box (1920x1080 / 1080x1920 / 1080x1080). */
.vg-stage{position:relative;overflow:hidden;background:var(--bg);color:var(--tx);font-family:var(--fb);font-size:32px;line-height:1.35;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;contain:strict;
  --pt:120px;--px:150px;--pb:170px;--ease:cubic-bezier(.16,1,.3,1)}
.vg-stage.port{--pt:250px;--px:80px;--pb:560px}
.vg-stage.sq{--pt:120px;--px:90px;--pb:210px}
.vg-stage *,.vg-stage *::before,.vg-stage *::after{box-sizing:border-box;animation-play-state:paused}
.vg-stage h1,.vg-stage h2,.vg-stage h3,.vg-stage p,.vg-stage ul,.vg-stage blockquote{margin:0;padding:0}
.vg-stage ul{list-style:none}
.vg-stage em{font-style:normal}
.vg-stage img{display:block}

/* ---------- background ---------- */
.vg-stage .vg-bg,.vg-stage .vg-bg>*{position:absolute;inset:0;pointer-events:none}
.vg-stage .bg-base{background:radial-gradient(120% 90% at 50% 0%,var(--bg2),var(--bg) 70%)}
.vg-stage .bg-blob{inset:auto;width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;opacity:var(--blobo);will-change:transform;background:radial-gradient(closest-side,var(--c,currentColor),transparent)!important;--s:3.8}
.vg-stage .bg-blob.b1{left:17%;top:32%;animation:vg-drift1 22s ease-in-out infinite alternate}
.vg-stage .bg-blob.b2{left:87%;top:73%;animation:vg-drift2 26s ease-in-out infinite alternate}
.vg-stage .bg-blob.b3{left:52%;top:80%;--s:2.4;opacity:calc(var(--blobo)*.6);animation:vg-drift3 30s ease-in-out infinite alternate}
.vg-stage.port .bg-blob{--s:3.6}.vg-stage.port .bg-blob.b1{left:20%;top:22%}.vg-stage.port .bg-blob.b2{left:85%;top:78%}.vg-stage.port .bg-blob.b3{left:50%;top:52%;--s:2.6}
.vg-stage.mode-render .bg-grain{display:none}
.vg-stage .bg-pat{opacity:0}
.vg-stage.pat-grid .bg-pat{opacity:1;background-image:linear-gradient(rgba(var(--light-line,255,255,255),.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,#000 30%,transparent 80%);animation:vg-gridpan 40s linear infinite}
.vg-stage.pat-dots .bg-pat{opacity:1;background-image:radial-gradient(rgba(255,255,255,.09) 1.6px,transparent 1.8px);background-size:38px 38px;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,#000 20%,transparent 80%);mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,#000 20%,transparent 80%)}
.vg-stage.pat-lines .bg-pat{opacity:1;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 2px,transparent 2px 46px);-webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,transparent);mask-image:linear-gradient(180deg,transparent,#000 40%,transparent)}
.vg-stage.th-light.pat-grid .bg-pat{background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px)}
.vg-stage.th-light.pat-dots .bg-pat{background-image:radial-gradient(rgba(0,0,0,.12) 1.6px,transparent 1.8px)}
.vg-stage .bg-vig{background:radial-gradient(ellipse 85% 80% at 50% 45%,transparent 45%,rgba(0,0,0,var(--vig)))}
.vg-stage .bg-grain{opacity:var(--grain);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}
@keyframes vg-drift1{from{transform:scale(var(--s))}to{transform:translate(240px,150px) scale(calc(var(--s)*1.15))}}
@keyframes vg-drift2{from{transform:scale(var(--s))}to{transform:translate(-220px,-130px) scale(calc(var(--s)*1.1))}}
@keyframes vg-drift3{from{transform:scale(var(--s))}to{transform:translate(-300px,-110px) scale(calc(var(--s)*1.25))}}
@keyframes vg-gridpan{to{background-position:64px 64px,64px 64px}}

/* ---------- chrome: brand, captions, progress ---------- */
.vg-stage .vg-scenes{position:absolute;inset:0}
.vg-stage .vg-brand{position:absolute;left:var(--px);top:56px;z-index:500;display:flex;align-items:center;gap:14px;font:600 26px/1 var(--fh);letter-spacing:-.01em}
.vg-stage.port .vg-brand{top:110px}
.vg-stage .vg-brand img{height:52px;width:auto;border-radius:10px}
.vg-stage .vg-brand .bdot{width:16px;height:16px;border-radius:5px;background:var(--ac);box-shadow:0 0 22px var(--ac)}
.vg-stage .vg-brand .btag{font:500 18px var(--fm);color:var(--mu);border:1px solid var(--bd);padding:7px 12px;border-radius:99px;letter-spacing:.08em;text-transform:uppercase}
.vg-stage .vg-prog{position:absolute;left:0;right:0;bottom:0;height:6px;z-index:500;background:rgba(255,255,255,.06)}
.vg-stage .vg-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--ac),var(--ac2));transform-origin:left;transform:scaleX(0)}
.vg-stage .vg-cap{position:absolute;left:0;right:0;bottom:70px;z-index:400;display:flex;justify-content:center;padding:0 120px;opacity:0;transition:none}
.vg-stage.port .vg-cap{bottom:420px;padding:0 60px}
.vg-stage.sq .vg-cap{bottom:70px}
.vg-stage .vg-cap.on{opacity:1}
.vg-stage.cap-line{font:600 40px/1.45 var(--fb);text-align:center;max-width:1500px}
.vg-stage.port .cap-line{font-size:46px}
.vg-stage .cw{display:inline-block;transition:none}
/* caption style: box */
.vg-stage.cap-box .cap-line{background:rgba(8,8,10,.62);border:1px solid rgba(255,255,255,.08);padding:14px 30px;border-radius:18px;color:rgba(255,255,255,.62);box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.vg-stage.cap-box .cw.past,.vg-stage.cap-box .cw.now{color:#fff}
.vg-stage.cap-box .cw.kw{color:var(--ac)}
.vg-stage.cap-box .cw.now{transform:translateY(-2px)}
/* marker: keyword gets accent box (lime sample) */
.vg-stage.cap-marker .cap-line{color:rgba(255,255,255,.55);text-shadow:0 2px 18px rgba(0,0,0,.8);font-weight:700}
.vg-stage.cap-marker .cw.past,.vg-stage.cap-marker .cw.now{color:#fff}
.vg-stage.cap-marker .cw.kw.past,.vg-stage.cap-marker .cw.kw.now{background:var(--ac);color:var(--on);padding:0 .22em;border-radius:.18em;text-shadow:none}
/* karaoke: big bold, current word accent */
.vg-stage.cap-karaoke .cap-line{font-weight:800;font-size:52px;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.45),0 0 30px rgba(0,0,0,.6);text-transform:none}
.vg-stage.port.cap-karaoke .cap-line{font-size:60px}
.vg-stage.cap-karaoke .cw.now{color:var(--ac);transform:scale(1.08)}
/* pop: current word on accent pill */
.vg-stage.cap-pop .cap-line{font-weight:800;font-size:50px;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.7)}
.vg-stage.cap-pop .cw.now{background:var(--ac);color:var(--on);border-radius:.2em;padding:0 .2em;transform:scale(1.06) rotate(-1deg);text-shadow:none}
/* minimal */
.vg-stage.cap-minimal .cap-line{font-weight:500;font-size:34px;color:rgba(255,255,255,.45)}
.vg-stage.cap-minimal .cw.past,.vg-stage.cap-minimal .cw.now{color:rgba(255,255,255,.95)}
/* light themes */
.vg-stage.cap-light .cap-line{background:rgba(255,255,255,.88);border:1px solid rgba(0,0,0,.06);padding:14px 30px;border-radius:18px;color:rgba(0,0,0,.45);box-shadow:0 16px 40px -20px rgba(0,0,0,.25)}
.vg-stage.cap-light .cw.past,.vg-stage.cap-light .cw.now{color:var(--tx)}
.vg-stage.cap-light .cw.kw{color:var(--ac)}
.vg-stage.cap-outline .cap-line{font-weight:800;font-size:54px;color:#fff;-webkit-text-stroke:2px rgba(0,0,0,.85);paint-order:stroke fill}
.vg-stage.cap-outline .cw.now{color:var(--ac)}

/* ---------- scenes & transitions ---------- */
.vg-stage .vg-scene,.vg-stage .vg-scene-in{position:absolute;inset:0}
.vg-stage .vg-scene{animation:vg-out-fade .45s cubic-bezier(.4,0,1,1) var(--sd) both}
.vg-stage .vg-scene-in{animation:vg-in-fade .6s var(--ease) 0s both}
.vg-stage .tr-slide>.vg-scene-in{animation-name:vg-in-slide}.vg-stage .tr-slide{animation-name:vg-out-slide}
.vg-stage .tr-up>.vg-scene-in{animation-name:vg-in-up}.vg-stage .tr-up{animation-name:vg-out-up}
.vg-stage .tr-zoom>.vg-scene-in{animation-name:vg-in-zoom}.vg-stage .tr-zoom{animation-name:vg-out-zoom}
.vg-stage .tr-blur>.vg-scene-in{animation-name:vg-in-blur}.vg-stage .tr-blur{animation-name:vg-out-blur}
.vg-stage .tr-wipe>.vg-scene-in{animation-name:vg-in-wipe;animation-duration:.7s}.vg-stage .tr-wipe{animation-name:vg-out-fade}
.vg-stage .tr-none>.vg-scene-in{animation:none}.vg-stage .tr-none{animation-duration:.01s}
@keyframes vg-in-fade{from{opacity:0}}
@keyframes vg-out-fade{to{opacity:0}}
@keyframes vg-in-slide{from{opacity:0;transform:translateX(8%)}}
@keyframes vg-out-slide{to{opacity:0;transform:translateX(-6%)}}
@keyframes vg-in-up{from{opacity:0;transform:translateY(6%)}}
@keyframes vg-out-up{to{opacity:0;transform:translateY(-5%)}}
@keyframes vg-in-zoom{from{opacity:0;transform:scale(1.12)}}
@keyframes vg-out-zoom{to{opacity:0;transform:scale(.92)}}
@keyframes vg-in-blur{from{opacity:0;filter:blur(24px);transform:scale(1.04)}}
@keyframes vg-out-blur{to{opacity:0;filter:blur(24px)}}
@keyframes vg-in-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}

/* ---------- entrance animations ---------- */
.vg-stage .a{animation-duration:var(--t,.85s);animation-timing-function:var(--e,var(--ease));animation-delay:var(--d,0s);animation-fill-mode:both}
.vg-stage .a-rise{animation-name:vg-rise}.vg-stage .a-fade{animation-name:vg-fade}.vg-stage .a-scale{animation-name:vg-scale}.vg-stage .a-blur{animation-name:vg-blur}
.vg-stage .a-left{animation-name:vg-left}.vg-stage .a-right{animation-name:vg-right}.vg-stage .a-drop{animation-name:vg-drop}.vg-stage .a-pop{animation-name:vg-pop;--e:cubic-bezier(.34,1.56,.64,1)}
.vg-stage .a-mask{animation-name:vg-mask}.vg-stage .a-flip{animation-name:vg-flip}.vg-stage .a-zoom{animation-name:vg-zoom}
.vg-stage .a-draw-x,.vg-stage .a-grow-x{animation-name:vg-growx;transform-origin:left center}
.vg-stage .a-grow-y{animation-name:vg-growy;transform-origin:center bottom}
.vg-stage .a-draw{animation-name:vg-draw;stroke-dasharray:var(--len);--t:1.2s;--e:cubic-bezier(.65,0,.35,1)}
.vg-stage .a-ring{animation-name:vg-ring;stroke-dasharray:var(--c);--t:1.6s;--e:cubic-bezier(.65,0,.35,1)}
.vg-stage .a-scroll{animation-name:vg-scroll;--e:cubic-bezier(.45,0,.55,1)}
.vg-stage .a-toggle{animation-name:vg-toggle;--t:.35s}
.vg-stage .a-flash{animation-name:vg-flash;--t:1.2s;--e:ease-out}
.vg-stage .a-typing{animation-name:vg-typing;--t:.9s;--e:linear}
.vg-stage .a-reveal{animation-name:vg-reveal;--e:steps(18,end)}
.vg-stage .a-cd{animation-name:vg-cd;--e:ease-out}
.vg-stage .a-sweep{animation-name:vg-sweep;--t:1.1s;--e:ease-in-out}
.vg-stage .a-flashbtn{animation-name:vg-press;--t:.5s}
@keyframes vg-rise{from{opacity:0;transform:translateY(46px)}}
@keyframes vg-fade{from{opacity:0}}
@keyframes vg-scale{from{opacity:0;transform:scale(.86)}}
@keyframes vg-blur{from{opacity:0;filter:blur(18px);transform:translateY(12px)}}
@keyframes vg-left{from{opacity:0;transform:translateX(-70px)}}
@keyframes vg-right{from{opacity:0;transform:translateX(70px)}}
@keyframes vg-drop{from{opacity:0;transform:translateY(-60px) scale(.96)}}
@keyframes vg-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1}100%{transform:none}}
@keyframes vg-mask{from{transform:translateY(105%)}}
@keyframes vg-flip{from{opacity:0;transform:perspective(900px) rotateX(75deg) translateY(20px)}}
@keyframes vg-zoom{from{opacity:0;transform:scale(1.25);filter:blur(10px)}}
@keyframes vg-growx{from{transform:scaleX(0)}}
@keyframes vg-growy{from{transform:scaleY(0)}}
@keyframes vg-draw{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}
@keyframes vg-ring{from{stroke-dashoffset:var(--c)}to{stroke-dashoffset:var(--to)}}
@keyframes vg-scroll{to{transform:translateY(min(0px,calc(-100% + var(--vh,600px))))}}
@keyframes vg-toggle{to{transform:translateX(38px);box-shadow:-46px 0 0 26px var(--ac)}}
@keyframes vg-flash{0%{opacity:0}15%{opacity:1}100%{opacity:.35}}
@keyframes vg-typing{0%{opacity:0}12%{opacity:1}88%{opacity:1}100%{opacity:0;height:0;margin:0;padding:0}}
@keyframes vg-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes vg-cd{0%{opacity:0;transform:scale(1.8)}18%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(.96)}100%{opacity:0;transform:scale(.7)}}
@keyframes vg-sweep{from{transform:translateX(-160%) skewX(-20deg)}to{transform:translateX(260%) skewX(-20deg)}}
@keyframes vg-press{0%{transform:scale(1)}40%{transform:scale(.9);filter:brightness(1.3)}100%{transform:scale(1)}}
/* continuous (applied to children so they don't fight entrances) */
.vg-stage .float>*{animation:vg-float 3.2s ease-in-out infinite alternate}
.vg-stage .spin{animation:vg-spin 24s linear infinite}
.vg-stage .blink,.vg-stage .caret{animation:vg-blink 1s steps(1) infinite}
@keyframes vg-float{from{transform:translateY(-10px)}to{transform:translateY(12px)}}
@keyframes vg-spin{to{transform:rotate(360deg)}}
@keyframes vg-blink{50%{opacity:0}}

/* ---------- shared primitives ---------- */
.vg-stage .lay{position:absolute;top:var(--pt);bottom:var(--pb);left:var(--px);right:var(--px);display:flex;flex-direction:column;justify-content:center;gap:30px}
.vg-stage .lay.c{align-items:center;text-align:center}
.vg-stage .lay.l{align-items:flex-start;text-align:left}
.vg-stage .ttl{font-family:var(--fh);font-weight:var(--hw);letter-spacing:var(--trk);line-height:1.14;text-transform:var(--up);text-wrap:balance;color:var(--tx)}
.vg-stage .ttl .w{display:inline-block}
.vg-stage .ttl .wm{overflow:hidden;vertical-align:top;padding:0 .02em .1em;margin-bottom:-.1em}
.vg-stage .ac{color:var(--ac)}
.vg-stage .mk{background:var(--ac);color:var(--on);padding:0 .16em;border-radius:.14em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.vg-stage.th-dark .ttl .ac{text-shadow:0 0 40px rgba(var(--acr),.35)}
.vg-stage .sub{font-size:36px;color:var(--mu);max-width:1200px;line-height:1.45;text-wrap:balance}
.vg-stage.port .sub{font-size:38px}
.vg-stage .chip{display:inline-flex;align-items:center;gap:12px;font:600 22px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--ac);padding:12px 18px;border:1px solid rgba(var(--acr),.35);background:rgba(var(--acr),.08);border-radius:99px}
.vg-stage .chip .dot{width:9px;height:9px;border-radius:50%;background:var(--ac);box-shadow:0 0 14px var(--ac)}
.vg-stage .card{background:var(--card);border:1px solid var(--bd);border-radius:var(--rad);box-shadow:0 40px 80px -40px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.06);position:relative}
.vg-stage.th-light .card{box-shadow:0 30px 60px -35px rgba(20,30,60,.28),inset 0 1px 0 #fff}
.vg-stage .card.hl{border-color:rgba(var(--acr),.6);box-shadow:0 0 0 1px rgba(var(--acr),.3),0 30px 80px -30px rgba(var(--acr),.45)}
.vg-stage .ico{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1}
.vg-stage .ico svg,.vg-stage .ico img{width:100%;height:100%}
.vg-stage .ico.emo{font-size:1em;width:auto;height:auto}
.vg-stage .dots{display:inline-flex;gap:9px}.vg-stage .dots i{width:14px;height:14px;border-radius:50%;background:#ff5f57}.vg-stage .dots i:nth-child(2){background:#febc2e}.vg-stage .dots i:nth-child(3){background:#28c840}
.vg-stage .cursor{position:absolute;left:0;top:0;width:46px;height:46px;z-index:50;margin:-6px 0 0 -8px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.vg-stage .cursor svg{width:100%;height:100%}
.vg-stage .ripple{position:absolute;width:90px;height:90px;margin:-45px 0 0 -45px;border-radius:50%;border:3px solid var(--ac);z-index:49;opacity:0;animation:vg-ripple .7s ease-out both}
@keyframes vg-ripple{0%{opacity:.9;transform:scale(.2)}100%{opacity:0;transform:scale(1.4)}}

/* ---------- TITLE ---------- */
.vg-stage .ttl-wrap{position:relative;display:inline-block;max-width:100%}
.vg-stage .frame{position:absolute;inset:-22px -34px;border:2px solid rgba(var(--acr),.75);pointer-events:none}
.vg-stage .frame i{position:absolute;width:16px;height:16px;background:var(--bg);border:2px solid var(--ac)}
.vg-stage .frame i:nth-child(1){left:-9px;top:-9px}.vg-stage .frame i:nth-child(2){right:-9px;top:-9px}.vg-stage .frame i:nth-child(3){left:-9px;bottom:-9px}.vg-stage .frame i:nth-child(4){right:-9px;bottom:-9px}
.vg-stage .uline{height:12px;width:46%;margin-top:18px;border-radius:99px;background:linear-gradient(90deg,var(--ac),var(--ac2))}
.vg-stage .lay.c .uline{margin-left:auto;margin-right:auto}
.vg-stage .grad .a{background:linear-gradient(100deg,var(--tx) 10%,var(--ac) 55%,var(--ac2));-webkit-background-clip:text;background-clip:text;color:transparent}
.vg-stage .grad .ac{color:inherit}
.vg-stage .v-stacked .ttl{line-height:1.02}.vg-stage .stk{overflow:hidden;padding-bottom:.06em}.vg-stage .stk span{display:inline-block}
/* ---------- HOOK ---------- */
.vg-stage .hook .qmark{font:800 260px/1 var(--fh);color:var(--ac);text-shadow:0 0 80px rgba(var(--acr),.6);margin-bottom:-20px}
.vg-stage .hook .bigicon{font-size:200px;color:var(--ac);filter:drop-shadow(0 0 50px rgba(var(--acr),.5))}
.vg-stage .hook .shockring{font-size:130px;color:var(--on);background:var(--ac);width:240px;height:240px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 24px rgba(var(--acr),.15),0 0 0 54px rgba(var(--acr),.07),0 0 120px rgba(var(--acr),.6)}
.vg-stage .hook .lead{font:600 40px var(--fb);color:var(--mu)}
/* ---------- BIG WORD ---------- */
.vg-stage .bigword .bw{position:relative;display:grid;place-items:center}
.vg-stage .bigword .bw>*{grid-area:1/1;font-family:var(--fh);font-weight:800;line-height:.9;letter-spacing:-.04em;white-space:nowrap}
.vg-stage .bigword .main{color:var(--tx)}
.vg-stage .bigword .main.outl{color:transparent;-webkit-text-stroke:4px var(--ac)}
.vg-stage .bigword .echo{color:transparent;-webkit-text-stroke:2px rgba(var(--acr),.4)}
.vg-stage .bigword .echo.e1{transform:translateY(-14%) scale(1.02)}
.vg-stage .bigword .echo.e2{transform:translateY(-28%) scale(1.04);opacity:.6}
.vg-stage .bigword .echo.e3{transform:translateY(-42%) scale(1.06);opacity:.3}
.vg-stage .bigword .echo.a{animation-name:vg-fade}
/* ---------- CHAPTER ---------- */
.vg-stage .chapter .chnum{font:800 220px/0.9 var(--fh);color:transparent;-webkit-text-stroke:3px var(--ac);letter-spacing:-.04em}
.vg-stage .chapter .chline{height:6px;width:240px;background:var(--ac);border-radius:99px}
/* ---------- STATEMENT ---------- */
.vg-stage .statement .old{position:relative;color:var(--mu);font-family:var(--fh);font-weight:600;display:inline-block}
.vg-stage .statement .strike{position:absolute;left:-2%;right:-2%;top:52%;height:8px;background:#ff3b3b;border-radius:99px;display:block}
.vg-stage .statement .arrow{font-size:70px;color:var(--ac)}
/* ---------- TYPEWRITER ---------- */
.vg-stage .typer .tbox{display:flex;align-items:center;gap:18px;padding:34px 40px;min-width:70%;max-width:100%;border-radius:28px;background:var(--card);border:1px solid var(--bd);font:500 48px/1.35 var(--fb);text-align:left;box-shadow:0 0 0 8px rgba(var(--acr),.06),0 40px 80px -40px rgba(0,0,0,.7)}
.vg-stage .typer .tpre{font:600 22px var(--fm);color:var(--ac);text-transform:uppercase;letter-spacing:.1em;padding:10px 14px;border-radius:12px;background:rgba(var(--acr),.1);white-space:nowrap}
.vg-stage .typer .ttxt{flex:1}
.vg-stage .caret{display:inline-block;width:4px;height:1.1em;background:var(--ac);vertical-align:middle}
.vg-stage .typer .caret{margin-left:-14px}
.vg-stage .typer .tsend{width:72px;height:72px;border-radius:50%;background:var(--ac);color:var(--on);display:grid;place-items:center;font-size:38px;flex:none}
.vg-stage .typer.v-terminal .tbox{font-family:var(--fm);background:#0b0d10;color:#e5e7eb}
/* ---------- KEYWORDS ---------- */
.vg-stage .kw .kwrap{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;max-width:1400px}
.vg-stage .kpill{font:600 40px/1 var(--fb);padding:22px 34px;border-radius:99px;border:1px solid var(--bd);background:var(--card)}
.vg-stage .kpill.hot{background:var(--ac);color:var(--on);border-color:transparent;box-shadow:0 20px 50px -20px rgba(var(--acr),.8)}
.vg-stage .kw.v-stack .kwrap{flex-direction:column;align-items:center}
/* ---------- QUOTE ---------- */
.vg-stage .quote .qmk{font:800 220px/0.6 Georgia,serif;color:var(--ac);height:110px}
.vg-stage .quote blockquote{font-family:var(--fh);font-weight:600;line-height:1.3;max-width:1450px;text-wrap:balance}
.vg-stage .quote .qby{display:flex;align-items:center;gap:20px;justify-content:center;margin-top:20px;text-align:left}
.vg-stage .quote .qby img,.vg-stage .av,.vg-stage .tav{width:84px;height:84px;border-radius:50%;object-fit:cover}
.vg-stage .av,.vg-stage .tav{display:grid;place-items:center;background:linear-gradient(135deg,var(--ac),var(--ac2));color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35);font:700 38px var(--fh)}
.vg-stage .quote .qby b{display:block;font-size:34px}.vg-stage .quote .qby span{color:var(--mu);font-size:26px}
.vg-stage .qcard{padding:60px 70px}
/* ---------- MARQUEE ---------- */
.vg-stage .marquee .mrows{width:calc(100% + 2*var(--px));display:flex;flex-direction:column;gap:26px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.vg-stage .mrow{overflow:hidden}.vg-stage .mtrack{display:flex;gap:26px;width:max-content;animation:vg-mq 18s linear infinite}
.vg-stage .mrow.r .mtrack{animation-direction:reverse}
@keyframes vg-mq{to{transform:translateX(-33.33%)}}
.vg-stage .mitem{font:600 40px var(--fh);padding:22px 38px;border-radius:20px;border:1px solid var(--bd);background:var(--card);white-space:nowrap;display:inline-flex;align-items:center}
.vg-stage .mitem .ico{font-size:60px}
/* ---------- STAT ---------- */
.vg-stage .stat .sval{font-family:var(--fh);font-weight:800;line-height:.95;letter-spacing:-.04em;background:linear-gradient(180deg,var(--tx) 30%,rgba(var(--acr),1));-webkit-background-clip:text;background-clip:text;color:transparent}
.vg-stage .stat.v-glow .sval{background:none;color:var(--ac);text-shadow:0 0 80px rgba(var(--acr),.6)}
.vg-stage .stat .slabel{font:600 44px var(--fh);margin-top:18px}
.vg-stage .stat .scard{padding:70px 110px}
.vg-stage .ringbox{position:relative;width:520px;height:520px}
.vg-stage .ringbox svg{width:100%;height:100%;transform:rotate(-90deg)}
.vg-stage .rtrack{fill:none;stroke:rgba(var(--acr),.12);stroke-width:26}
.vg-stage .rbar{fill:none;stroke:var(--ac);stroke-width:26;stroke-linecap:round;filter:drop-shadow(0 0 18px rgba(var(--acr),.6))}
.vg-stage .rin{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--fh);font-weight:800}
/* ---------- STATS ---------- */
.vg-stage .sgrid{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:30px;width:100%}
.vg-stage .sgrid.n2{--n:2}.vg-stage .sgrid.n3{--n:3}.vg-stage .sgrid.n4{--n:4}
.vg-stage.port .sgrid{grid-template-columns:1fr;gap:24px}
.vg-stage.port .sgrid.n4{grid-template-columns:1fr 1fr}
.vg-stage .st{padding:44px 36px;display:flex;flex-direction:column;align-items:center;gap:10px}
.vg-stage.port .st{flex-direction:row;gap:28px;padding:34px 40px;text-align:left}
.vg-stage.port .sgrid.n4 .st{flex-direction:column;text-align:center}
.vg-stage .st .sic{font-size:58px;color:var(--ac);width:96px;height:96px;border-radius:24px;background:rgba(var(--acr),.1);display:grid;place-items:center;flex:none}
.vg-stage .st .sv{font:800 96px/1 var(--fh);letter-spacing:-.03em}
.vg-stage .st .sl{font-size:30px;color:var(--mu)}
.vg-stage .stats.v-divided .st+.st{border-left:1px solid var(--bd)}
/* ---------- BARS ---------- */
.vg-stage .bars .bcard,.vg-stage .bars .bwrap{width:100%;max-width:1500px;display:flex;flex-direction:column;gap:30px;text-align:left}
.vg-stage .bars .bcard{padding:56px 60px}
.vg-stage .brow{display:grid;grid-template-columns:220px 1fr 200px;align-items:center;gap:28px;font-size:36px}
.vg-stage.port .brow{grid-template-columns:1fr auto;grid-template-areas:"l v" "t t";gap:14px 20px}
.vg-stage.port .brow .bl{grid-area:l}.vg-stage.port .brow .bv{grid-area:v}.vg-stage.port .brow .btrack{grid-area:t}
.vg-stage .brow .bl{font-weight:600}
.vg-stage .brow .bv{text-align:right;color:var(--mu);font:600 34px var(--fm)}
.vg-stage .btrack{height:34px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.vg-stage.th-light .btrack{background:rgba(0,0,0,.06)}
.vg-stage .btrack i{display:block;height:100%;border-radius:99px;background:rgba(255,255,255,.35)}
.vg-stage.th-light .btrack i{background:rgba(0,0,0,.25)}
.vg-stage .brow.hl .btrack i{background:linear-gradient(90deg,var(--ac2),var(--ac));box-shadow:0 0 30px rgba(var(--acr),.6)}
.vg-stage .brow.hl .bv{color:var(--ac)}
/* ---------- CHARTS ---------- */
.vg-stage .chart{padding:50px 56px;position:relative}
.vg-stage .cols{display:flex;align-items:flex-end;gap:34px;height:520px}
.vg-stage.port .cols{height:640px;gap:22px}
.vg-stage .col{flex:1;min-width:70px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:14px}
.vg-stage .col i{width:100%;border-radius:16px 16px 6px 6px;background:rgba(var(--acr),.28)}
.vg-stage .col.hl i{background:linear-gradient(180deg,var(--ac),var(--ac2));box-shadow:0 0 40px rgba(var(--acr),.5)}
.vg-stage .cv{font:700 30px var(--fm)}.vg-stage .cl{font-size:28px;color:var(--mu)}
.vg-stage .lchart svg .grid{stroke:var(--bd);stroke-width:2}
.vg-stage .lpath{fill:none;stroke:var(--ac);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 14px rgba(var(--acr),.6))}
.vg-stage .ldot{fill:var(--ac);stroke:var(--bg);stroke-width:6;transform-box:fill-box;transform-origin:center}
.vg-stage .lbadge{position:absolute;margin:-120px 0 0 -40px;font:800 46px var(--fh);background:var(--ac);color:var(--on);padding:14px 24px;border-radius:16px;box-shadow:0 20px 40px -10px rgba(var(--acr),.6);white-space:nowrap}
.vg-stage.port .lbadge{margin-left:-160px}
.vg-stage .donut .drow{display:flex;align-items:center;gap:80px}
.vg-stage.port .donut .drow{flex-direction:column;gap:50px}
.vg-stage .dbox{position:relative;width:480px;height:480px}
.vg-stage .dbox svg{width:100%;height:100%}
.vg-stage .dseg{fill:none;stroke-width:60;transform-box:view-box;transform-origin:200px 200px}
.vg-stage .dc{position:absolute;inset:0;display:grid;place-items:center;font:800 76px var(--fh)}
.vg-stage .dleg{display:flex;flex-direction:column;gap:24px;text-align:left}
.vg-stage .dl{display:grid;grid-template-columns:28px 1fr auto;gap:22px;align-items:center;font-size:38px;min-width:460px}
.vg-stage .dl i{width:28px;height:28px;border-radius:8px}.vg-stage .dl b{font-family:var(--fm)}
/* ---------- DASHBOARD ---------- */
.vg-stage .dwin{width:100%;max-width:1500px;padding:36px 44px 30px;text-align:left}
.vg-stage .dhead{display:flex;align-items:center;gap:24px;font-size:32px;margin-bottom:28px}
.vg-stage .dhead b{flex:1}
.vg-stage .live{font:600 22px var(--fm);color:#22c55e;display:flex;align-items:center;gap:10px;text-transform:uppercase}
.vg-stage .live i{width:12px;height:12px;border-radius:50%;background:#22c55e;box-shadow:0 0 14px #22c55e}
.vg-stage .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:22px}
.vg-stage.port .kpis{grid-template-columns:1fr}
.vg-stage .kpi{padding:26px 28px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid var(--bd);display:grid;grid-template-columns:1fr auto;gap:6px 14px}
.vg-stage.th-light .kpi{background:rgba(0,0,0,.025)}
.vg-stage .kpi span{grid-column:1/-1;color:var(--mu);font-size:24px}.vg-stage .kpi b{font:800 54px/1.1 var(--fh)}.vg-stage .kpi em{align-self:end;color:#22c55e;font:700 26px var(--fm)}
.vg-stage .dchart{width:100%;height:260px;overflow:visible}
/* ---------- CARDS ---------- */
.vg-stage .cgrid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:28px;width:100%;text-align:left}
.vg-stage .ci{padding:40px 38px;display:flex;flex-direction:column;gap:14px}
.vg-stage.port .ci{padding:36px}
.vg-stage .chd{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.vg-stage .cic{font-size:52px;width:96px;height:96px;border-radius:24px;display:grid;place-items:center;color:var(--ac);background:rgba(var(--acr),.1);border:1px solid rgba(var(--acr),.22)}
.vg-stage .cn{font:700 50px var(--fm);color:var(--ac)}
.vg-stage .ctag{font:600 20px var(--fm);text-transform:uppercase;letter-spacing:.08em;padding:9px 14px;border-radius:99px;border:1px solid rgba(var(--acr),.4);color:var(--ac)}
.vg-stage .ci h3{font:700 42px/1.2 var(--fh);letter-spacing:-.01em}
.vg-stage .ci p{font-size:28px;color:var(--mu);line-height:1.45}
.vg-stage .clink{color:var(--ac);font:600 24px var(--fm);margin-top:auto}
.vg-stage .cards.v-row .cgrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.vg-stage .cards.v-glass .ci{background:linear-gradient(160deg,rgba(var(--acr),.12),rgba(255,255,255,.02) 60%)}
/* ---------- LIST ---------- */
.vg-stage .list .lrows{width:100%;max-width:1400px;display:flex;flex-direction:column;margin-top:20px}
.vg-stage .lrow{position:relative;padding:30px 0}
.vg-stage .lline{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--ac),rgba(var(--acr),0))}
.vg-stage .lrow:nth-child(even) .lline{background:linear-gradient(90deg,#ff4d6d,rgba(255,77,109,0))}
.vg-stage .lin{display:flex;align-items:center;gap:34px}
.vg-stage .lnum{font:500 30px var(--fm);color:var(--mu);min-width:50px}
.vg-stage .lin h3{font:700 60px/1.15 var(--fh);letter-spacing:-.01em}
.vg-stage.port .lin h3{font-size:62px}
.vg-stage .lin p{font-size:30px;color:var(--mu);margin-top:6px}
.vg-stage .lic,.vg-stage .lck{font-size:44px;width:86px;height:86px;border-radius:22px;display:grid;place-items:center;flex:none;color:var(--ac);background:rgba(var(--acr),.1)}
.vg-stage .lck{background:var(--ac);color:var(--on);border-radius:50%;font-size:40px}
/* ---------- CHECKLIST ---------- */
.vg-stage .chk{display:flex;flex-direction:column;gap:22px;text-align:left;min-width:62%}
.vg-stage .chk.card{padding:56px 64px}
.vg-stage .check .ttl{margin-bottom:16px}
.vg-stage .crow{display:flex;align-items:center;gap:26px;font-size:42px;font-weight:600}
.vg-stage .crow .box{width:62px;height:62px;flex:none;border-radius:16px;border:3px solid rgba(var(--acr),.5);display:grid;place-items:center;background:rgba(var(--acr),.08)}
.vg-stage .crow .box svg{width:44px;height:44px}
.vg-stage .crow .box path{fill:none;stroke:var(--ac);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
/* ---------- STEPS ---------- */
.vg-stage .steps .srow{display:flex;align-items:flex-start;width:100%;justify-content:center}
.vg-stage .steps.vert .srow{flex-direction:column;align-items:stretch;max-width:880px}
.vg-stage .step{flex:1;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;max-width:420px}
.vg-stage .step.card{padding:40px 30px}
.vg-stage .steps.vert .step{flex-direction:row;text-align:left;max-width:none;gap:34px}
.vg-stage .step .sic{position:relative;font-size:64px;width:140px;height:140px;border-radius:40px;display:grid;place-items:center;color:var(--on);background:linear-gradient(135deg,var(--ac),var(--ac2));box-shadow:0 24px 60px -20px rgba(var(--acr),.7);flex:none}
.vg-stage .step .sic b{font:800 64px var(--fh)}
.vg-stage .step .sn{position:absolute;right:-12px;top:-12px;width:48px;height:48px;border-radius:50%;background:var(--bg);border:2px solid var(--ac);color:var(--ac);font:700 24px/44px var(--fm);text-align:center}
.vg-stage .step h3{font:700 44px/1.2 var(--fh)}
.vg-stage .step p{font-size:28px;color:var(--mu);margin-top:8px}
.vg-stage .sconn{flex:0 0 120px;height:140px;display:flex;align-items:center}
.vg-stage .sconn i{display:block;width:100%;height:4px;background:repeating-linear-gradient(90deg,var(--ac) 0 14px,transparent 14px 24px)}
.vg-stage .steps.vert .sconn{flex:0 0 60px;height:60px;width:140px;justify-content:center}
.vg-stage .steps.vert .sconn i{width:4px;height:100%;background:repeating-linear-gradient(180deg,var(--ac) 0 12px,transparent 12px 22px)}
/* ---------- TIMELINE ---------- */
.vg-stage .tline .trk{position:relative;display:flex;width:100%;justify-content:space-between;padding-top:60px}
.vg-stage .tline .tbar{position:absolute;left:0;right:0;top:78px;height:4px;background:linear-gradient(90deg,var(--ac),var(--ac2))}
.vg-stage .tit{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 10px}
.vg-stage .tdot{width:40px;height:40px;border-radius:50%;background:var(--bg);border:6px solid var(--ac);box-shadow:0 0 0 10px rgba(var(--acr),.15);position:relative;z-index:1}
.vg-stage .tdate{font:700 30px var(--fm);color:var(--ac);margin-top:10px}
.vg-stage .tit h3{font:700 40px var(--fh)}.vg-stage .tit p{color:var(--mu);font-size:27px}
.vg-stage .tline.vert .trk{flex-direction:column;padding:0 0 0 70px;gap:40px;text-align:left}
.vg-stage .tline.vert .tbar{left:18px;right:auto;top:0;bottom:0;width:4px;height:auto}
.vg-stage .tline.vert .tit{align-items:flex-start;position:relative;padding:0}
.vg-stage .tline.vert .tdot{position:absolute;left:-70px;top:4px}
.vg-stage .tline.vert .tdate{margin-top:0}
/* ---------- COMPARE ---------- */
.vg-stage .cmprow{display:flex;align-items:center;gap:40px;width:100%}
.vg-stage.port .cmprow{flex-direction:column;gap:26px}
.vg-stage .cmp{flex:1;padding:44px 48px;text-align:left;display:flex;flex-direction:column;gap:20px;align-self:stretch}
.vg-stage.port .cmp{width:100%}
.vg-stage .cmp .chd{justify-content:flex-start;gap:18px}
.vg-stage .cmp h3{font:700 46px var(--fh)}
.vg-stage .cmpi{font-size:56px}
.vg-stage .cmp.bad .cmpi,.vg-stage .cmp.bad .mk2{color:#ff5a5a}.vg-stage .cmp.good .cmpi,.vg-stage .cmp.good .mk2{color:var(--ac)}
.vg-stage .cmp.good{border-color:rgba(var(--acr),.55);box-shadow:0 0 0 1px rgba(var(--acr),.25),0 40px 90px -40px rgba(var(--acr),.55)}
.vg-stage .cmp.bad{opacity:.88}
.vg-stage .crw{display:flex;gap:18px;font-size:34px;align-items:baseline}
.vg-stage .mk2{font-weight:800;width:36px;flex:none}
.vg-stage .vs,.vg-stage .vsb{font:800 54px var(--fh);width:120px;height:120px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--ac);color:var(--on);box-shadow:0 0 0 14px rgba(var(--acr),.12)}
/* ---------- BEFORE/AFTER ---------- */
.vg-stage .barow{display:flex;align-items:stretch;gap:40px;width:100%}
.vg-stage.port .barow{flex-direction:column;gap:24px;align-items:center}
.vg-stage .bap{flex:1;padding:44px;display:flex;flex-direction:column;gap:22px;align-items:center;text-align:center;overflow:hidden}
.vg-stage.port .bap{width:100%;flex-direction:row;text-align:left}
.vg-stage .bap img{width:100%;height:340px;object-fit:cover;border-radius:16px}
.vg-stage .bal{font:700 22px var(--fm);text-transform:uppercase;letter-spacing:.14em;padding:10px 16px;border-radius:99px}
.vg-stage .bap.bad .bal{background:rgba(255,90,90,.12);color:#ff6b6b}.vg-stage .bap.good .bal{background:rgba(var(--acr),.14);color:var(--ac)}
.vg-stage .baic{font-size:120px}.vg-stage .bap.bad .baic{color:#ff6b6b}.vg-stage .bap.good .baic{color:var(--ac)}
.vg-stage .bap p{font:600 40px/1.3 var(--fh)}
.vg-stage .bap.good{border-color:rgba(var(--acr),.55)}
.vg-stage .baarrow{align-self:center;font-size:70px;color:var(--ac)}
.vg-stage.port .baarrow{transform:rotate(90deg)}
/* ---------- PRICING ---------- */
.vg-stage .prow{display:flex;gap:30px;width:100%;align-items:stretch;justify-content:center}
.vg-stage.port .prow{flex-direction:column}
.vg-stage .plan{flex:1;max-width:520px;padding:46px 44px;text-align:left;display:flex;flex-direction:column;gap:18px}
.vg-stage.port .plan{max-width:none}
.vg-stage .plan.feat{border-color:rgba(var(--acr),.7);background:linear-gradient(180deg,rgba(var(--acr),.14),var(--card) 60%);transform:translateY(-14px)}
.vg-stage .plan h3{font:700 38px var(--fh)}
.vg-stage .pp b{font:800 84px/1 var(--fh);letter-spacing:-.03em}.vg-stage .pp span{color:var(--mu);font-size:26px;margin-left:10px}
.vg-stage .plan ul{display:flex;flex-direction:column;gap:12px;font-size:28px}
.vg-stage .plan li{color:var(--tx)}
.vg-stage .pbad{position:absolute;z-index:3;top:-24px;right:30px;background:var(--ac);color:var(--on);font:700 22px var(--fm);padding:10px 18px;border-radius:99px;text-transform:uppercase}
.vg-stage .pcta{margin-top:auto;text-align:center;padding:20px;border-radius:16px;background:var(--ac);color:var(--on);font:700 28px var(--fb)}
/* ---------- FAQ ---------- */
.vg-stage .faq .fq{width:100%;max-width:1400px;padding:36px 44px;text-align:left}
.vg-stage .fqq{display:flex;gap:22px;align-items:center;font:700 42px/1.25 var(--fh)}
.vg-stage .fqq span{width:58px;height:58px;flex:none;border-radius:16px;background:var(--ac);color:var(--on);display:grid;place-items:center;font:800 32px var(--fm)}
.vg-stage .fqa{margin:16px 0 0 80px;font-size:34px;color:var(--mu)}
/* ---------- PERSONA ---------- */
.vg-stage .pwrap{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:1500px}
.vg-stage .pchip{display:flex;align-items:center;gap:20px;padding:20px 34px 20px 20px;border-radius:99px;background:var(--card);border:1px solid var(--bd);font-size:38px}
.vg-stage .pchip .pic,.vg-stage .pcard .pic{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;font-size:42px;color:var(--on);background:linear-gradient(135deg,var(--ac),var(--ac2));flex:none}
.vg-stage .pcard{display:flex;align-items:center;gap:24px;padding:30px 36px;text-align:left;min-width:420px}
.vg-stage .pcard b{font:700 36px var(--fh)}.vg-stage .pcard p{color:var(--mu);font-size:26px}
/* ---------- PROBLEM/SOLUTION ---------- */
.vg-stage .probsol{gap:26px}
.vg-stage .probsol.side{flex-direction:row;align-items:center}
.vg-stage .ps{padding:44px 52px;width:100%;max-width:1300px;text-align:left}
.vg-stage .probsol.side .ps{flex:1}
.vg-stage .psl{display:inline-flex;align-items:center;gap:12px;font:700 24px var(--fm);text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px}
.vg-stage .psl .ico{font-size:34px}
.vg-stage .ps.bad .psl{color:#ff6b6b}.vg-stage .ps.good .psl{color:var(--ac)}
.vg-stage .ps h3{font:700 54px/1.25 var(--fh)}
.vg-stage .ps.good{border-color:rgba(var(--acr),.6);box-shadow:0 40px 90px -40px rgba(var(--acr),.55)}
.vg-stage .ps.bad h3{color:var(--mu)}
.vg-stage .psarrow{font-size:64px;color:var(--ac)}
/* ---------- SPOTLIGHT ---------- */
.vg-stage .spot{gap:60px}
.vg-stage .shead{display:flex;align-items:center;gap:56px}
.vg-stage.port .shead{flex-direction:column;gap:30px}
.vg-stage .sidx{font:800 160px/1 var(--fh);color:rgba(var(--acr),.9);letter-spacing:-.04em}
.vg-stage .sbody{display:flex;align-items:center;gap:70px}
.vg-stage.port .sbody{flex-direction:column;gap:50px}
.vg-stage .orb{position:relative;width:360px;height:360px;display:grid;place-items:center}
.vg-stage .ohub{position:relative;width:200px;height:200px;border-radius:50%;display:grid;place-items:center;font-size:96px;color:#fff;background:radial-gradient(circle at 35% 30%,var(--ac2),var(--ac));box-shadow:0 0 0 18px rgba(var(--acr),.12),0 0 90px rgba(var(--acr),.7);z-index:2}
.vg-stage .otag{position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:var(--ac);color:var(--on);font:700 22px var(--fm);padding:8px 16px;border-radius:99px;white-space:nowrap;box-shadow:0 0 0 4px var(--bg)}
.vg-stage .osats{position:absolute;inset:0}
.vg-stage .sat{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px;border-radius:50%;background:#ffe6d9;box-shadow:0 0 20px var(--ac);transform:rotate(var(--ang)) translateY(-170px)}
.vg-stage .sat.a{animation-name:vg-satpop}
@keyframes vg-satpop{from{opacity:0;transform:rotate(var(--ang)) translateY(-40px) scale(.3)}}
.vg-stage .oring{position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(var(--acr),.4)}
.vg-stage .stext{font-size:42px;max-width:820px;text-align:left;line-height:1.4;color:var(--tx)}
.vg-stage.port .stext{text-align:center}
/* ---------- ORBIT ---------- */
.vg-stage .obox{position:relative;width:900px;height:640px;display:grid;place-items:center}
.vg-stage.port .obox{width:900px;height:860px}
.vg-stage .obox>*{grid-area:1/1}
.vg-stage .octr{width:220px;height:220px;border-radius:56px;background:linear-gradient(135deg,var(--ac),var(--ac2));color:var(--on);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:96px;z-index:3;box-shadow:0 30px 90px -20px rgba(var(--acr),.7)}
.vg-stage .octr b{font:700 26px var(--fb)}
.vg-stage .opulse{width:220px;height:220px;border-radius:56px;border:2px solid var(--ac);animation:vg-opulse 2.2s ease-out infinite}
@keyframes vg-opulse{from{transform:scale(1);opacity:.8}to{transform:scale(2.2);opacity:0}}
.vg-stage .oline{position:absolute;left:50%;top:50%;width:1px;height:1px;overflow:visible;z-index:1}
.vg-stage .oline line{stroke:rgba(var(--acr),.45);stroke-width:3;stroke-dasharray:8 10}
.vg-stage .oline line.a{stroke-dasharray:400}
.vg-stage .onode{position:relative;z-index:2}.vg-stage .onode>div{display:flex;flex-direction:column;align-items:center;gap:12px}
.vg-stage .onode span{width:130px;height:130px;border-radius:34px;background:var(--card);border:1px solid var(--bd);display:grid;place-items:center;font-size:66px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.vg-stage.th-dark .onode span{background:#15171c}
.vg-stage .onode b{font:600 26px var(--fb);position:absolute;top:142px;white-space:nowrap}
/* ---------- TEAM / TESTIMONIALS / RATING ---------- */
.vg-stage .trow{display:flex;gap:30px;justify-content:center;width:100%;flex-wrap:wrap}
.vg-stage .tm{padding:40px 36px;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:300px}
.vg-stage .tm img,.vg-stage .tm .tav{width:170px;height:170px;border-radius:50%;object-fit:cover;font-size:70px;margin-bottom:10px;box-shadow:0 0 0 6px rgba(var(--acr),.25)}
.vg-stage .tm b{font:700 40px var(--fh)}.vg-stage .tm span{color:var(--mu);font-size:28px}
.vg-stage .tgrid{display:grid;grid-template-columns:repeat(var(--n,2),1fr);gap:28px;width:100%;text-align:left}
.vg-stage .tgrid.n1{--n:1}.vg-stage .tgrid.n2{--n:2}.vg-stage .tgrid.n3{--n:3}.vg-stage.port .tgrid{grid-template-columns:1fr}
.vg-stage .tq{padding:42px 44px;display:flex;flex-direction:column;gap:22px}
.vg-stage .st5{color:#fbbf24;font-size:34px;letter-spacing:4px}
.vg-stage .tq p{font:500 38px/1.4 var(--fh)}
.vg-stage .tqb{display:flex;align-items:center;gap:18px;margin-top:auto}
.vg-stage .tqb .tav{width:70px;height:70px;font-size:30px}.vg-stage .tqb b{display:block;font-size:30px}.vg-stage .tqb span{color:var(--mu);font-size:24px}
.vg-stage .rbox{display:flex;flex-direction:column;align-items:center;gap:20px;padding:60px 90px}
.vg-stage .rscore{font:800 230px/1 var(--fh);letter-spacing:-.04em}
.vg-stage .stars{display:flex;gap:14px}
.vg-stage .star{font-size:96px;line-height:1;background:linear-gradient(90deg,#fbbf24 var(--fill),rgba(255,255,255,.15) var(--fill));-webkit-background-clip:text;background-clip:text;color:transparent}
.vg-stage.th-light .star{background:linear-gradient(90deg,#f59e0b var(--fill),rgba(0,0,0,.12) var(--fill));-webkit-background-clip:text;background-clip:text}
.vg-stage .rcount{font-size:38px;color:var(--mu)}.vg-stage .rcount b{color:var(--tx)}
/* ---------- LOGOS / ICON GRID / TOP-N ---------- */
.vg-stage .lgrid,.vg-stage .iggrid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:24px;width:100%}
.vg-stage .lg{height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:84px}
.vg-stage .lg b{font-size:24px;color:var(--mu)}
.vg-stage .ig{display:flex;flex-direction:column;align-items:center;gap:18px;padding:36px 20px}
.vg-stage .ig span{font-size:72px;color:var(--ac)}
.vg-stage .ig b{font:600 32px var(--fb)}
.vg-stage .igrid.v-minimal .ig span{width:120px;height:120px;border-radius:30px;background:rgba(var(--acr),.1);display:grid;place-items:center;font-size:60px}
.vg-stage .slots{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:26px;width:100%;margin-top:30px}
.vg-stage .slots.n2{--n:2}.vg-stage .slots.n3{--n:3}.vg-stage .slots.n4{--n:4}.vg-stage .slots.n5{--n:5}
.vg-stage.port .slots{grid-template-columns:1fr}
.vg-stage .slot{padding:34px 36px;display:flex;flex-direction:column;gap:10px;text-align:left}
.vg-stage.port .slot{flex-direction:row;align-items:center;gap:30px}
.vg-stage .slot b{font:700 44px var(--fm);color:rgba(var(--acr),.85)}.vg-stage .slot span{font-size:32px;color:var(--mu)}
/* ---------- BROWSER ---------- */
.vg-stage .bcap{font:600 30px var(--fm);color:var(--ac);text-transform:uppercase;letter-spacing:.1em}
.vg-stage .bwin{border-radius:26px;overflow:hidden;background:#0f1115;border:1px solid rgba(255,255,255,.1);box-shadow:0 60px 120px -40px rgba(0,0,0,.8),0 0 0 10px rgba(var(--acr),.05);display:flex;flex-direction:column;text-align:left;flex:none}
.vg-stage.th-light .bwin{background:#fff;border-color:rgba(0,0,0,.08)}
.vg-stage .bbar{height:64px;flex:none;display:flex;align-items:center;gap:24px;padding:0 24px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.07)}
.vg-stage.th-light .bbar{background:#f3f4f6;border-color:rgba(0,0,0,.06)}
.vg-stage .burl{flex:1;max-width:700px;margin:0 auto;height:40px;border-radius:12px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;gap:10px;font:500 22px var(--fm);color:var(--mu)}
.vg-stage.th-light .burl{background:#fff}
.vg-stage .burl .ico{font-size:20px;color:#22c55e}
.vg-stage .bbody{position:relative;flex:1;overflow:hidden}
.vg-stage .bshot{position:absolute;inset:0;overflow:hidden}.vg-stage .bshot img{width:100%;height:auto}
.vg-stage .bland{position:absolute;inset:0;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(var(--acr),.08),transparent 60%)}
.vg-stage .bland nav{display:flex;align-items:center;gap:26px;padding:28px 44px}
.vg-stage .bland nav b{font:800 30px var(--fh);flex:1;text-transform:capitalize}
.vg-stage .bland nav span{width:90px;height:12px;border-radius:6px;background:rgba(127,127,127,.3)}
.vg-stage .bland nav em{font:700 20px var(--fb);background:var(--ac);color:var(--on);padding:12px 20px;border-radius:10px}
.vg-stage .bhero{padding:50px 70px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.vg-stage.port .bhero{padding:50px 50px 30px}
.vg-stage .bhero h2{font-family:var(--fh);font-weight:800;line-height:1.08;letter-spacing:-.03em;max-width:85%}
.vg-stage .bhero p{display:flex;flex-direction:column;gap:12px;width:60%}.vg-stage .bhero p i{height:14px;border-radius:7px;background:rgba(127,127,127,.25)}.vg-stage .bhero p i+i{width:70%}
.vg-stage .bcta{background:var(--ac);color:var(--on);font:700 28px var(--fb);padding:22px 38px;border-radius:16px;box-shadow:0 20px 40px -12px rgba(var(--acr),.7)}
.vg-stage .bimgs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 70px;flex:1}
.vg-stage.port .bimgs{padding:20px 50px}
.vg-stage .bimgs i{border-radius:18px;background:linear-gradient(135deg,rgba(var(--acr),.25),rgba(var(--ac2r),.12));min-height:120px}
.vg-stage .bland.mini nav{padding:20px 30px}.vg-stage .bland.mini .bhero{padding:40px 40px}
.vg-stage .bdash{position:absolute;inset:0;display:flex}
.vg-stage .bdash aside{width:220px;padding:30px 24px;display:flex;flex-direction:column;gap:18px;border-right:1px solid rgba(127,127,127,.15)}
.vg-stage .bdash aside i{height:18px;border-radius:9px;background:rgba(127,127,127,.25)}.vg-stage .bdash aside i:first-child{background:var(--ac);width:70%}
.vg-stage .bdash main{flex:1;padding:30px;display:flex;flex-direction:column;gap:24px}
.vg-stage .bk{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.vg-stage .bk div{height:120px;border-radius:16px;border:1px solid rgba(127,127,127,.18);padding:20px;display:flex;flex-direction:column;gap:14px}
.vg-stage .bk span{width:50%;height:12px;border-radius:6px;background:rgba(127,127,127,.3)}.vg-stage .bk b{width:70%;height:30px;border-radius:8px;background:rgba(var(--acr),.5)}
.vg-stage .bchart{flex:1;border-radius:16px;border:1px solid rgba(127,127,127,.18);display:flex;align-items:flex-end;gap:18px;padding:24px}
.vg-stage .bchart i{flex:1;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--ac),rgba(var(--acr),.3))}
/* ---------- PHONE ---------- */
.vg-stage .phonel{gap:40px}
.vg-stage .phonel.side{flex-direction:row;justify-content:center;gap:110px}
.vg-stage .phonel.side .phead{text-align:left;max-width:700px}
.vg-stage .phead{display:flex;flex-direction:column;gap:12px}
.vg-stage .pstep{font:600 28px var(--fm);color:var(--mu);text-transform:uppercase;letter-spacing:.1em}
.vg-stage .phone{position:relative;flex:none;border-radius:72px;padding:22px;background:linear-gradient(160deg,#2a2d33,#0d0e11);box-shadow:0 0 0 3px #3a3d44,0 70px 120px -40px rgba(0,0,0,.85)}
.vg-stage .pnotch{position:absolute;top:36px;left:50%;width:150px;height:38px;margin-left:-75px;border-radius:20px;background:#000;z-index:5}
.vg-stage .pscreen{position:relative;height:100%;border-radius:54px;overflow:hidden;background:#111317;color:#f1f2f4;padding:110px 30px 30px;display:flex;flex-direction:column;gap:16px;text-align:left}
.vg-stage.th-light .pscreen{background:#f6f7f9;color:#111}
.vg-stage .phd{font:700 38px var(--fb);margin-bottom:14px;padding-left:8px}
.vg-stage .pr-row{position:relative;display:flex;align-items:center;gap:20px;padding:0 22px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);font-size:30px;flex:none;overflow:hidden}
.vg-stage.th-light .pr-row{background:#fff;border-color:rgba(0,0,0,.06)}
.vg-stage.port .pr-row{font-size:32px}
.vg-stage .pri{width:56px;height:56px;border-radius:14px;background:rgba(var(--acr),.15);color:var(--ac);display:grid;place-items:center;font-size:32px;flex:none}
.vg-stage .prl{flex:1}.vg-stage .chev{font-size:40px;color:var(--mu)}
.vg-stage .prhl{position:absolute;inset:0;border:3px solid var(--ac);border-radius:22px;background:rgba(var(--acr),.08);pointer-events:none}
.vg-stage .tog{width:84px;height:46px;border-radius:99px;background:rgba(127,127,127,.35);position:relative;overflow:hidden;flex:none}
.vg-stage .tog i{position:absolute;left:4px;top:4px;width:38px;height:38px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 var(--ac);z-index:1}
.vg-stage .pnote{margin-top:auto;text-align:center;color:#22c55e;font:600 26px var(--fb);padding:16px}
.vg-stage .pshot{position:absolute;inset:0}.vg-stage .pshot img{width:100%;height:auto}
/* ---------- LAPTOP ---------- */
.vg-stage .lapl.side{flex-direction:row;gap:80px}
.vg-stage .lapl .ltx{text-align:left;display:flex;flex-direction:column;gap:20px;max-width:600px}
.vg-stage.port .lapl .ltx{text-align:center;align-items:center}
.vg-stage .laptop{flex:none}
.vg-stage .lscr{position:relative;border-radius:24px 24px 0 0;border:16px solid #1b1d22;border-bottom-width:22px;overflow:hidden;background:#0f1115}
.vg-stage .lscr img{width:100%;height:auto}
.vg-stage .lbase{height:30px;margin:0 -7%;border-radius:0 0 30px 30px;background:linear-gradient(180deg,#3a3d44,#1b1d22);box-shadow:0 40px 60px -20px rgba(0,0,0,.7)}
/* ---------- CHAT ---------- */
.vg-stage .chatw{padding:0;overflow:hidden;text-align:left;display:flex;flex-direction:column;height:100%;max-height:900px}
.vg-stage .chh{display:flex;align-items:center;gap:20px;padding:28px 34px;border-bottom:1px solid var(--bd)}
.vg-stage .chav{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--ac),var(--ac2));color:var(--on);font-size:38px}
.vg-stage .chh b{display:block;font-size:32px}.vg-stage .chh span{color:#22c55e;font-size:22px}
.vg-stage .chb{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:18px;padding:30px 34px}
.vg-stage .bub{max-width:78%;padding:22px 28px;border-radius:28px;font-size:32px;line-height:1.4}
.vg-stage .bub.me{align-self:flex-end;background:var(--ac);color:var(--on);border-bottom-right-radius:8px}
.vg-stage .bub.bot{align-self:flex-start;background:rgba(255,255,255,.07);border:1px solid var(--bd);border-bottom-left-radius:8px}
.vg-stage.th-light .bub.bot{background:rgba(0,0,0,.04)}
.vg-stage .chatl.v-whatsapp .bub.me{background:#d9fdd3;color:#111}
.vg-stage .typ{align-self:flex-start;display:flex;gap:8px;padding:22px 26px;border-radius:24px;background:rgba(255,255,255,.07)}
.vg-stage .typ i{width:14px;height:14px;border-radius:50%;background:var(--mu);animation:vg-bounce 1s ease-in-out infinite}
.vg-stage .typ i:nth-child(2){animation-delay:.15s}.vg-stage .typ i:nth-child(3){animation-delay:.3s}
@keyframes vg-bounce{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-8px);opacity:1}}
.vg-stage .chin{margin:0 24px 24px;padding:22px 28px;border-radius:99px;border:1px solid var(--bd);display:flex;justify-content:space-between;color:var(--mu);font-size:26px}
.vg-stage .chin .ico{color:var(--ac);font-size:34px}
/* ---------- CODE / TERMINAL ---------- */
.vg-stage .cwin,.vg-stage .twin{width:100%;max-width:1400px;border-radius:24px;overflow:hidden;background:#0c0e12;border:1px solid rgba(255,255,255,.1);box-shadow:0 60px 120px -40px rgba(0,0,0,.85);text-align:left;color:#e6e6e6}
.vg-stage .cfile{font:500 24px var(--fm);color:#9aa0aa}
.vg-stage .cbody{padding:34px 10px 40px;font:500 34px/1.6 var(--fm)}
.vg-stage.port .cbody{font-size:30px}
.vg-stage .cl{display:flex;gap:30px;white-space:pre}
.vg-stage .ln{width:60px;text-align:right;color:#4b5160;flex:none}
.vg-stage .cl code{font:inherit}
.vg-stage .ck{color:#c792ea}.vg-stage .cs{color:#c3e88d}.vg-stage .cc{color:#5c6370}
.vg-stage .cl:last-child code::after{content:'';display:inline-block;width:3px;height:1em;background:var(--ac);vertical-align:middle;margin-left:4px}
.vg-stage .tbody{padding:34px 40px 44px;font:500 36px/1.65 var(--fm)}
.vg-stage .tl b{color:var(--ac)}
.vg-stage .twin.v-tasks{background:var(--card);color:var(--tx)}
.vg-stage .twin.v-tasks .tl{color:var(--mu)}
/* ---------- NOTIFICATIONS ---------- */
.vg-stage .nstack{display:flex;flex-direction:column;gap:22px;width:100%;max-width:1100px}
.vg-stage .nt{display:flex;align-items:center;gap:26px;padding:28px 34px;text-align:left;border-radius:30px}
.vg-stage .nic{width:84px;height:84px;border-radius:22px;flex:none;display:grid;place-items:center;font-size:44px;color:var(--on);background:linear-gradient(135deg,var(--ac),var(--ac2))}
.vg-stage .nt div{flex:1}.vg-stage .nt b{display:block;font-size:36px}.vg-stage .nt span{color:var(--mu);font-size:28px}
.vg-stage .nt em{color:var(--mu);font:500 24px var(--fm);align-self:flex-start}
/* ---------- SEARCH ---------- */
.vg-stage .sbar{display:flex;align-items:center;gap:24px;width:100%;max-width:1300px;padding:30px 44px;border-radius:99px;background:#fff;color:#1f2937;font:500 46px var(--fb);box-shadow:0 30px 70px -30px rgba(0,0,0,.7),0 0 0 8px rgba(var(--acr),.12);text-align:left}
.vg-stage .sbar .ico{color:#6b7280;font-size:48px}
.vg-stage .sbar .caret{background:#2563eb}
.vg-stage .sres{display:flex;flex-direction:column;gap:18px;width:100%;max-width:1300px;margin-top:20px}
.vg-stage .sr{display:flex;align-items:center;gap:24px;padding:26px 34px;text-align:left;font-size:34px}
.vg-stage .sr i{flex:1;height:12px;border-radius:6px;background:rgba(127,127,127,.2);max-width:300px;margin-left:auto}
.vg-stage .srl{font:600 22px var(--fm);color:var(--mu);width:70px}
.vg-stage .sr.top{border-color:rgba(var(--acr),.7);box-shadow:0 0 0 1px rgba(var(--acr),.3),0 30px 60px -30px rgba(var(--acr),.6)}
.vg-stage .sr.top .srl{color:var(--ac)}
/* ---------- EMAIL ---------- */
.vg-stage .ewin{width:100%;max-width:1300px;padding:0;text-align:left;overflow:hidden}
.vg-stage .ehd{display:flex;justify-content:space-between;align-items:center;padding:24px 34px;border-bottom:1px solid var(--bd);font-size:30px}
.vg-stage .ef{display:flex;gap:24px;padding:22px 34px;border-bottom:1px solid var(--bd);font-size:32px}.vg-stage .ef span{color:var(--mu);width:140px}
.vg-stage .ebody{padding:34px;font-size:34px;line-height:1.55;min-height:220px}
.vg-stage .eft{padding:0 34px 34px}.vg-stage .esend{display:inline-flex;gap:12px;align-items:center;background:var(--ac);color:var(--on);padding:18px 34px;border-radius:14px;font:700 28px var(--fb)}
/* ---------- SOCIAL / FORM ---------- */
.vg-stage .spost{width:100%;max-width:900px;padding:36px;text-align:left;display:flex;flex-direction:column;gap:24px}
.vg-stage .sph{display:flex;align-items:center;gap:18px}.vg-stage .sph div{flex:1}.vg-stage .sph b{display:block;font-size:32px}.vg-stage .sph span{color:var(--mu);font-size:24px}.vg-stage .sph .ico{font-size:40px;color:var(--mu)}
.vg-stage .spost p{font-size:36px;line-height:1.45}
.vg-stage .spost img,.vg-stage .spimg{width:100%;height:380px;object-fit:cover;border-radius:20px;background:linear-gradient(135deg,rgba(var(--acr),.4),rgba(var(--ac2r),.25))}
.vg-stage.port .spost img,.vg-stage.port .spimg{height:520px}
.vg-stage .spf{display:flex;gap:40px;font-size:40px;color:var(--mu)}.vg-stage .lk{color:#ff3b6b;display:flex;align-items:center;gap:12px}.vg-stage .lk b{font:700 32px var(--fm)}
.vg-stage .fwin{position:relative;padding:50px 50px 60px;text-align:left;display:flex;flex-direction:column;gap:24px}
.vg-stage .fwin h3{font:700 48px var(--fh);margin-bottom:10px}
.vg-stage .ff span{display:block;color:var(--mu);font-size:24px;margin-bottom:10px}
.vg-stage .fin{height:84px;border-radius:16px;border:2px solid var(--bd);display:flex;align-items:center;padding:0 24px;font-size:32px;background:rgba(127,127,127,.06)}
.vg-stage .fbtn{margin-top:16px;text-align:center;padding:26px;border-radius:16px;background:var(--ac);color:var(--on);font:700 32px var(--fb)}
/* ---------- IMAGE / SPLIT ---------- */
.vg-stage .imgfull{position:absolute;inset:0}.vg-stage .imgfull>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vg-stage .imshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.65))}
.vg-stage .imcap .ttl{color:#fff}
.vg-stage .kb-in{animation:vg-kbin 8s linear both}.vg-stage .kb-out{animation:vg-kbout 8s linear both}.vg-stage .kb-pan{animation:vg-kbpan 8s linear both}
@keyframes vg-kbin{from{transform:scale(1)}to{transform:scale(1.14)}}
@keyframes vg-kbout{from{transform:scale(1.16)}to{transform:scale(1)}}
@keyframes vg-kbpan{from{transform:scale(1.15) translateX(-4%)}to{transform:scale(1.15) translateX(4%)}}
.vg-stage .ifr{width:100%;max-width:1300px;height:640px;border-radius:30px;overflow:hidden;box-shadow:0 60px 120px -40px rgba(0,0,0,.8)}
.vg-stage.port .ifr{height:900px}
.vg-stage .ifr img{width:100%;height:100%;object-fit:cover}
.vg-stage .imgfr.v-polaroid .ifr{background:#fff;padding:24px 24px 90px;transform:rotate(-2deg)}
.vg-stage .imph{width:100%;height:100%;display:grid;place-items:center;font-size:140px;color:var(--mu);background:var(--card)}
.vg-stage .splitl{flex-direction:row;align-items:center;gap:90px}
.vg-stage .splitl.vert{flex-direction:column;gap:50px;align-items:center;text-align:center}
.vg-stage .stxt{flex:1;display:flex;flex-direction:column;gap:26px;align-items:flex-start;text-align:left}
.vg-stage .splitl.vert .stxt{align-items:center;text-align:center}
.vg-stage .stxt ul{display:flex;flex-direction:column;gap:16px;font-size:34px}
.vg-stage .stxt li{display:flex;align-items:center;gap:16px}
.vg-stage .stxt li i{width:46px;height:46px;border-radius:50%;background:rgba(var(--acr),.15);color:var(--ac);display:grid;place-items:center;font-size:26px;flex:none}
.vg-stage .svis{flex:none;width:640px;height:640px;border-radius:40px;overflow:hidden;position:relative;display:grid;place-items:center}
.vg-stage.port .svis{width:620px;height:520px}
.vg-stage .svis.img img{width:100%;height:100%;object-fit:cover}
.vg-stage .svis.icon{font-size:300px;color:var(--ac);background:var(--card);border:1px solid var(--bd)}
.vg-stage .svis.icon .ico{position:relative;z-index:1;filter:drop-shadow(0 0 60px rgba(var(--acr),.5))}
.vg-stage .sglow{position:absolute;inset:15%;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--acr),.35),transparent)}
/* ---------- BRAND ---------- */
.vg-stage .logorev{gap:34px}
.vg-stage .lrmark{position:relative;overflow:hidden;border-radius:44px}
.vg-stage .lrmark img{max-width:520px;max-height:280px}
.vg-stage .lrinit{width:240px;height:240px;border-radius:64px;display:grid;place-items:center;font:800 150px var(--fh);color:var(--on);background:linear-gradient(135deg,var(--ac),var(--ac2));box-shadow:0 40px 100px -30px rgba(var(--acr),.8)}
.vg-stage .sweep{position:absolute;top:-20%;bottom:-20%;left:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent)}
.vg-stage .lrname{letter-spacing:-.03em}
.vg-stage .cta .ttl{max-width:1500px}
.vg-stage .ctaw,.vg-stage .ctac{display:flex;flex-direction:column;align-items:center;gap:34px}
.vg-stage .ctac{padding:70px 90px}
.vg-stage .ctab-wrap{position:relative;margin-top:10px}
.vg-stage .ctab{position:relative;display:inline-flex;align-items:center;gap:18px;padding:34px 60px;border-radius:99px;background:linear-gradient(135deg,var(--ac),var(--ac2));color:var(--on);font:800 46px var(--fb);box-shadow:0 30px 80px -20px rgba(var(--acr),.8)}
.vg-stage .ctab::after{content:'';position:absolute;inset:-2px;border-radius:99px;border:3px solid var(--ac);animation:vg-pulse 1.8s ease-out infinite}
@keyframes vg-pulse{from{transform:scale(1);opacity:.9}to{transform:scale(1.3,1.6);opacity:0}}
.vg-stage .ctact{display:flex;gap:40px;flex-wrap:wrap;justify-content:center}
.vg-stage.port .ctact{flex-direction:column;gap:18px;align-items:center}
.vg-stage .cti{display:flex;align-items:center;gap:14px;font:600 36px var(--fb);color:var(--tx)}
.vg-stage .cti .ico{color:var(--ac);font-size:40px}
.vg-stage .qr{display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;padding:20px;border-radius:24px;color:#111;font:600 22px var(--fb)}
.vg-stage .qr svg{width:200px;height:200px}
.vg-stage .obadge{position:relative;width:340px;height:340px;display:grid;place-items:center}
.vg-stage .obadge::before{content:'';position:absolute;inset:0;background:var(--ac);clip-path:polygon(50% 0,61% 12%,75% 6%,79% 21%,94% 25%,88% 39%,100% 50%,88% 61%,94% 75%,79% 79%,75% 94%,61% 88%,50% 100%,39% 88%,25% 94%,21% 79%,6% 75%,12% 61%,0 50%,12% 39%,6% 25%,21% 21%,25% 6%,39% 12%);animation:vg-spin 30s linear infinite;filter:drop-shadow(0 0 40px rgba(var(--acr),.6))}
.vg-stage .obadge span{position:relative;font:800 72px/1 var(--fh);color:var(--on);text-align:center;max-width:240px;letter-spacing:-.03em}
.vg-stage .oprice{display:flex;align-items:baseline;gap:40px}
.vg-stage .oprice .old{position:relative;font:600 64px var(--fh);color:var(--mu)}
.vg-stage .oprice .old i{position:absolute;left:-4%;right:-4%;top:50%;height:6px;background:#ff3b3b;border-radius:3px}
.vg-stage .oprice .new{font:800 150px/1 var(--fh);color:var(--ac);letter-spacing:-.04em;text-shadow:0 0 60px rgba(var(--acr),.5)}
.vg-stage .until{font-size:26px;color:var(--tx);border-color:var(--bd);background:var(--card)}
.vg-stage .cdn{position:relative;width:500px;height:500px;display:grid;place-items:center}
.vg-stage .cdn b{grid-area:1/1;font:800 420px/1 var(--fh);color:var(--ac);text-shadow:0 0 100px rgba(var(--acr),.6)}
.vg-stage .ebig{font-size:300px;line-height:1}
.vg-stage .ebig .ico{color:var(--ac)}
.vg-stage .emo.v-glow .ebig{filter:drop-shadow(0 0 80px rgba(var(--acr),.7))}
.vg-stage .vsrow{display:flex;align-items:center;gap:60px;width:100%;justify-content:center}
.vg-stage.port .vsrow{flex-direction:column;gap:40px}
.vg-stage .vsx{flex:1;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:20px}
.vg-stage .vsi{width:260px;height:260px;border-radius:60px;display:grid;place-items:center;font-size:150px;background:var(--card);border:1px solid var(--bd);box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.vg-stage .vsx h3{font:800 60px var(--fh)}.vg-stage .vsx p{color:var(--mu);font-size:32px}
.vg-stage .vsb{width:160px;height:160px;font-size:64px}
.vg-stage .alertb{padding:60px 70px;display:flex;flex-direction:column;align-items:center;gap:24px;max-width:1450px}
.vg-stage .aic{font-size:130px;animation:vg-shake .6s ease-in-out .8s 2 both}
@keyframes vg-shake{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
.vg-stage .alertl.v-warn .aic{color:#fbbf24}.vg-stage .alertl.v-danger .aic{color:#ef4444}.vg-stage .alertl.v-info .aic{color:#3b82f6}.vg-stage .alertl.v-success .aic{color:#22c55e}
.vg-stage .alertl.v-warn .alertb{border-color:rgba(251,191,36,.4)}.vg-stage .alertl.v-danger .alertb{border-color:rgba(239,68,68,.45)}
.vg-stage .l3{position:absolute;inset:0}.vg-stage .l3img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vg-stage .l3tag{position:absolute;left:var(--px);bottom:calc(var(--pb) + 20px);display:flex;gap:26px;align-items:stretch}
.vg-stage .l3tag>i{width:10px;border-radius:5px;background:var(--ac)}
.vg-stage .l3tag b{display:block;font:800 66px var(--fh);letter-spacing:-.02em}
.vg-stage .l3tag span{display:block;font-size:34px;color:var(--mu);margin-top:6px}

/* light-theme tweaks */
.vg-stage.th-light .phone{background:linear-gradient(160deg,#e9ebef,#c9ccd3);box-shadow:0 0 0 3px #d5d8de,0 60px 110px -40px rgba(20,30,60,.4)}
.vg-stage.th-light .cwin,.vg-stage.th-light .twin:not(.v-tasks){background:#0f1115}
.vg-stage.th-light .bigword .echo{-webkit-text-stroke-color:rgba(var(--acr),.35)}

.vg-stage .tav,.vg-stage .av{color:#fff}
.vg-stage .vg-wm{position:absolute;right:40px;top:50px;z-index:600;font:600 22px var(--fb);color:rgba(255,255,255,.75);background:rgba(0,0,0,.35);padding:10px 18px;border-radius:12px}
.vg-stage.port .vg-wm{top:110px}
