.dx{background:var(--viv-bg-deep);min-height:100vh;color:var(--viv-text);font-family:var(--viv-body);isolation:isolate;flex-direction:column;display:flex;position:relative;overflow:hidden}.dx:before{content:"";z-index:-1;background:radial-gradient(115% 80% at 50% 32%, #242129 0, var(--viv-bg-deep) 60%);pointer-events:none;position:absolute;inset:0}.dx__marquee{border-block:1px solid var(--viv-border);padding:13px 0;text-decoration:none;display:block;position:relative;overflow:hidden}.dx__marquee--top{background:color-mix(in srgb, var(--viv-bg-deep) 70%, #000)}.dx__marquee-track{width:max-content;animation:30s linear infinite dx-marq;display:flex}.dx__marquee-track--rev{animation-duration:22s;animation-direction:reverse}.dx__marquee-word{white-space:nowrap;font-family:var(--viv-display);letter-spacing:-.02em;color:#0000;-webkit-text-stroke:1px var(--viv-text-dim);align-items:center;gap:.5em;padding-right:.5em;font-size:clamp(26px,4.6vw,60px);font-weight:800;line-height:1;display:inline-flex}.dx__marquee-word--solid{-webkit-text-stroke:0;color:var(--viv-bg-deep)}.dx__star{-webkit-text-stroke:0;color:var(--viv-pink);font-size:.6em}.dx__marquee--bot{background:var(--viv-pink);border-color:var(--viv-pink);transition:background .2s}.dx__marquee--bot:hover{background:var(--viv-pink-bright)}.dx__marquee--bot .dx__star{color:var(--viv-bg-deep)}.dx__bar{font-family:var(--viv-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--viv-text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:12px clamp(16px,4vw,40px);font-size:11px;animation:1s .1s both dx-fade;display:flex}.dx__bar-brand{color:var(--viv-text-strong);align-items:center;gap:9px;text-decoration:none;display:inline-flex}.dx__bar-brand img{display:block}.dx__bar-nav{flex-wrap:wrap;align-items:center;gap:clamp(12px,2.2vw,22px);display:inline-flex}.dx__bar-nav a{color:var(--viv-text-dim);text-decoration:none;transition:color .2s}.dx__bar-nav a:hover{color:var(--viv-text-strong)}.dx__bar-nav a.dx__bar-lang{border:1px solid var(--viv-border-strong);padding:4px 9px}.dx__bar-nav a.dx__bar-signin{border:1px solid var(--viv-pink);color:var(--viv-pink-bright);padding:4px 12px}.dx__bar-nav a.dx__bar-signin:hover{background:var(--viv-pink);color:var(--viv-bg)}.dx__stage{flex-direction:column;justify-content:center;align-items:center;gap:clamp(30px,6vw,68px);padding:clamp(34px,7vw,86px) clamp(16px,4vw,40px) clamp(40px,7vw,80px);display:flex;position:relative}.dx__orbit{--orbit:clamp(280px, 60vmin, 540px);width:var(--orbit);height:var(--orbit);animation:1.1s cubic-bezier(.2,.85,.2,1) both dx-pop;position:relative}.dx__ringline{pointer-events:none;position:absolute;inset:0}.dx__ringline--a{border:1px solid var(--viv-border-strong);animation:64s linear infinite dx-spin}.dx__ringline--b{border:1px solid var(--viv-border);border-radius:50%;animation:84s linear infinite dx-spin-rev;inset:11%}.dx__ring{animation:48s linear infinite dx-spin;position:absolute;inset:0}.dx__orbit.is-paused .dx__ring,.dx__orbit.is-paused .dx__ring2,.dx__orbit.is-paused .dx__ringline,.dx__orbit.is-paused .dx__sat-inner,.dx__orbit.is-paused .dx__sat2-inner{animation-play-state:paused}.dx__sat{--r:calc(var(--orbit) * .44);background:linear-gradient(150deg, var(--viv-elevated), var(--viv-surface));border:1px solid var(--viv-border-strong);cursor:pointer;width:clamp(66px,12.8vmin,120px);height:clamp(66px,12.8vmin,120px);transform:translate(-50%, -50%) rotate(var(--a)) translateY(calc(-1 * var(--r))) rotate(calc(-1 * var(--a)));place-items:center;padding:0;transition:background .25s,border-color .25s,box-shadow .25s;display:grid;position:absolute;top:50%;left:50%}.dx__sat:hover,.dx__sat:focus-visible,.dx__sat.is-active{background:var(--viv-elevated);border-color:var(--viv-pink);box-shadow:0 0 0 1px var(--viv-pink), 0 14px 40px #00000080;z-index:4;outline:none}.dx__sat:nth-child(2n):hover,.dx__sat:nth-child(2n):focus-visible,.dx__sat:nth-child(2n).is-active{border-color:var(--viv-blue);box-shadow:0 0 0 1px var(--viv-blue), 0 14px 40px #00000080}.dx__sat-inner{place-items:center;animation:48s linear infinite dx-spin-rev;display:grid}.dx__satmark{object-fit:contain;opacity:.6;filter:grayscale(.65);width:clamp(54px,10.6vmin,100px);height:clamp(42px,8.4vmin,78px);transition:opacity .25s,filter .25s,transform .25s}.viv-limmark.dx__satmark{width:auto;height:auto;font-size:clamp(26px,5.6vmin,50px)}.dx__sat:hover .dx__satmark,.dx__sat:focus-visible .dx__satmark,.dx__sat.is-active .dx__satmark{opacity:1;filter:none}.dx__sat.is-active .dx__satmark{transform:scale(1.1)}.dx__ring2{pointer-events:none;animation:60s linear infinite dx-spin-rev;position:absolute;inset:0}.dx__sat2{--r:calc(var(--orbit) * .64);background:color-mix(in srgb, var(--viv-surface) 55%, transparent);border:1px dashed var(--viv-border-strong);opacity:.42;width:clamp(42px,8vmin,70px);height:clamp(42px,8vmin,70px);transform:translate(-50%, -50%) rotate(var(--a)) translateY(calc(-1 * var(--r))) rotate(calc(-1 * var(--a)));place-items:center;display:grid;position:absolute;top:50%;left:50%}.dx__sat2-inner{place-items:center;animation:60s linear infinite dx-spin;display:grid}.dx__sat2 .dx__satmark{opacity:1;filter:grayscale();width:clamp(26px,5vmin,44px);height:clamp(20px,3.8vmin,34px)}.dx__core{pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dx__glow{filter:blur(10px);background:radial-gradient(circle,#df5c9a57 0,#5cb3df1f 42%,#0000 70%);border-radius:50%;width:clamp(240px,48vmin,440px);height:clamp(240px,48vmin,440px);animation:6s ease-in-out infinite dx-breathe;position:absolute}.dx__logo{filter:drop-shadow(0 12px 40px #0000008c);width:clamp(128px,28vmin,260px);height:auto;animation:8s ease-in-out infinite dx-float;position:relative}.dx__readout{text-align:center;max-width:640px;animation:1s .5s both dx-fade}.dx__title{font-family:var(--viv-display);letter-spacing:-.03em;color:var(--viv-text-strong);margin:0;font-size:clamp(30px,5.4vw,60px);font-weight:700;line-height:1}.dx__title em{background:linear-gradient(100deg, var(--viv-pink), var(--viv-blue-light));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.dx__tagline{max-width:52ch;color:var(--viv-text-muted);margin:16px auto 0;font-size:clamp(14px,1.5vw,17px);line-height:1.6}.dx__btn{font-family:var(--viv-display);color:var(--viv-bg-deep);background:var(--viv-pink);border:1px solid var(--viv-pink);margin-top:26px;padding:14px 32px;font-size:15px;font-weight:600;text-decoration:none;transition:background .18s,transform .18s,box-shadow .18s;display:inline-block}.dx__btn:hover{background:var(--viv-pink-bright);transform:translateY(-2px);box-shadow:0 12px 30px #df5c9a59}.dx__card{border:1px solid var(--viv-border-strong);background:color-mix(in srgb, var(--viv-surface) 86%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;width:min(300px,78vw);padding:18px 20px;transition:opacity .28s,transform .28s;position:absolute;top:clamp(8px,3vw,34px);left:clamp(8px,3vw,40px);transform:translate(-14px)}.dx__card.is-on{opacity:1;pointer-events:auto;transform:none}.dx__card-kicker{font-family:var(--viv-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--viv-blue-light);font-size:10px}.dx__card-name{font-family:var(--viv-display);color:var(--viv-text-strong);margin:8px 0 0;font-size:22px;font-weight:600}.dx__card-desc{color:var(--viv-text-muted);margin:8px 0 0;font-size:13px;line-height:1.55}.dx__card-link{font-family:var(--viv-mono);letter-spacing:.06em;color:var(--viv-pink);margin-top:14px;font-size:12px;text-decoration:none;display:inline-block}.dx__card-soon{font-family:var(--viv-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--viv-text-dim);margin-top:14px;font-size:11px;display:inline-block}.dx__how{padding:clamp(48px,9vw,110px) clamp(18px,5vw,80px)}.dx__how-title{font-family:var(--viv-display);letter-spacing:-.03em;color:var(--viv-text-strong);margin:0 0 clamp(26px,4vw,48px);font-size:clamp(32px,6vw,72px);font-weight:700}.dx__how-dot{color:var(--viv-pink)}.dx__steps{background:var(--viv-border);border:1px solid var(--viv-border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.dx__step{background:var(--viv-bg);padding:clamp(22px,3vw,38px)}.dx__step-n{font-family:var(--viv-mono);letter-spacing:.1em;color:var(--viv-blue);font-size:13px}.dx__step-h{font-family:var(--viv-display);color:var(--viv-text-strong);margin:14px 0 10px;font-size:clamp(19px,2.4vw,26px);font-weight:600}.dx__step-p{color:var(--viv-text-muted);margin:0;font-size:14px;line-height:1.6}[data-reveal]{opacity:0;transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(26px)}.dx__step:nth-child(2){transition-delay:80ms}.dx__step:nth-child(3){transition-delay:.16s}[data-reveal].is-in{opacity:1;transform:none}.dx__foot{font-family:var(--viv-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--viv-text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:20px clamp(18px,5vw,80px);font-size:11px;display:flex}.dx__foot-nav{flex-wrap:wrap;gap:clamp(12px,2.5vw,24px);display:inline-flex}.dx__foot-nav a{color:var(--viv-text-dim);text-decoration:none;transition:color .2s}.dx__foot-nav a:hover{color:var(--viv-text-strong)}@keyframes dx-marq{to{transform:translate(-50%)}}@keyframes dx-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes dx-pop{0%{opacity:0;transform:scale(.84)}to{opacity:1;transform:none}}@keyframes dx-spin{to{transform:rotate(360deg)}}@keyframes dx-spin-rev{to{transform:rotate(-360deg)}}@keyframes dx-breathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes dx-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (width<=720px){.dx__steps{grid-template-columns:1fr}}@media (width<=560px){.dx__card{width:min(360px,90vw);top:auto;bottom:10px;left:50%;transform:translate(-50%)translateY(12px)}.dx__card.is-on{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.dx__marquee-track,.dx__ring,.dx__ring2,.dx__ringline,.dx__sat-inner,.dx__sat2-inner,.dx__glow,.dx__logo{animation:none!important}[data-reveal]{opacity:1;transition:none;transform:none}}
