/* Moving lights sit inside the illustration and never intercept the card CTA. */
.ge-vpn-redesign .ge-map-art{isolation:isolate;pointer-events:none;width:64%;right:-6%;bottom:-2%}
/* The HTML width/height attributes reserve space, but must not stretch the wide illustration. */
.ge-vpn-redesign .ge-map-art img{position:relative;z-index:0;width:100%;height:auto;aspect-ratio:1120/520;object-fit:contain}
.ge-vpn-redesign .ge-map-particle{position:absolute;z-index:1;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(circle at 30% 28%,#fff 0 10%,hsl(var(--hue) 100% 70%) 32%,hsl(var(--hue) 92% 45%) 65%,transparent 76%);box-shadow:0 0 9px 2px hsl(var(--hue) 100% 58% / .58),0 0 22px 5px hsl(var(--hue) 100% 67% / .28);opacity:.82;transform:translate3d(0,0,0) scale(.65);animation:ge-map-drift var(--duration) ease-in-out var(--delay) infinite alternate,ge-map-twinkle calc(var(--duration)*.62) ease-in-out var(--delay) infinite alternate;animation-play-state:paused;will-change:transform,opacity}
.ge-vpn-redesign .ge-map-art.ge-map-visible .ge-map-particle{animation-play-state:running}
@keyframes ge-map-drift{0%{transform:translate3d(calc(var(--dx)*-.5),calc(var(--dy)*-.6),0) scale(.5)}50%{transform:translate3d(var(--dx),var(--dy),0) scale(1.2)}100%{transform:translate3d(calc(var(--dx)*-.35),calc(var(--dy)*.75),0) scale(.75)}}
@keyframes ge-map-twinkle{0%{opacity:.28}100%{opacity:1}}
.ge-vpn-redesign .ge-map-free-orb{position:absolute;z-index:0;right:var(--orb-right);top:var(--orb-top);width:var(--orb-size);height:var(--orb-size);aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 29% 24%,#fff 0 9%,hsl(var(--orb-hue) 100% 75%) 27%,hsl(var(--orb-hue) 92% 43%) 69%,hsl(var(--orb-hue) 95% 31%) 100%);box-shadow:inset -2px -3px 5px #15545438,0 0 0 4px #ffffff96,0 0 22px hsl(var(--orb-hue) 100% 58% / .48);animation:ge-map-free-float var(--orb-speed) ease-in-out var(--orb-delay) infinite alternate;animation-play-state:paused;will-change:transform}
.ge-vpn-redesign .ge-map-art.ge-map-visible~.ge-map-free-orb{animation-play-state:running}
@keyframes ge-map-free-float{0%{transform:translate3d(-4px,5px,0) scale(.94)}100%{transform:translate3d(5px,-9px,0) scale(1.07)}}
@media(max-width:900px){.ge-vpn-redesign .ge-map-art{width:clamp(520px,75vw,620px);max-width:none;right:-220px;bottom:-3%;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 65%);mask-image:linear-gradient(90deg,transparent 30%,#000 65%)}}

.ge-vpn-redesign .ge-journey-steps li{overflow:hidden;isolation:isolate;background-color:#fff}
.ge-vpn-redesign .ge-journey-steps li::before{content:"";position:absolute;inset:-12%;z-index:-1;pointer-events:none;opacity:.78;background:linear-gradient(115deg,var(--card-a),#fff 37%,var(--card-b) 62%,#fff 82%,var(--card-a));background-size:260% 260%;animation:ge-card-iridescence 8s ease-in-out infinite;transform:rotate(-8deg)}
.ge-vpn-redesign .ge-journey-steps li:nth-child(1){--card-a:#a9ffe0;--card-b:#bbf6ff;border-color:#a8e5d2}
.ge-vpn-redesign .ge-journey-steps li:nth-child(2){--card-a:#b8d9ff;--card-b:#cef9ec;border-color:#bad8f2}
.ge-vpn-redesign .ge-journey-steps li:nth-child(3){--card-a:#e8c5ff;--card-b:#f6d5ec;border-color:#e2c8ed}
.ge-vpn-redesign .ge-journey-steps li:nth-child(2)::before{animation-delay:-2.7s}
.ge-vpn-redesign .ge-journey-steps li:nth-child(3)::before{animation-delay:-5.4s}
.ge-vpn-redesign .ge-journey-steps li:hover::before,.ge-vpn-redesign .ge-journey-steps li:focus-within::before{animation-duration:3.8s;opacity:1}
@keyframes ge-card-iridescence{0%,100%{background-position:0% 42%}50%{background-position:100% 58%}}
@media(prefers-reduced-motion:reduce){.ge-vpn-redesign .ge-map-particle,.ge-vpn-redesign .ge-map-free-orb,.ge-vpn-redesign .ge-journey-steps li::before{animation:none!important;will-change:auto}}
