@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap');
:root{--purple:#6b58ff;--purple2:#8d7cff;--green:#20d29b;--orange:#ffa258;--blue:#45a8ff;--dark:#20284d;--text:#737d99;--light:#fafbff;--line:#eef1fb;--shadow:0 24px 75px rgba(55,63,128,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font-family:Nunito,Arial,sans-serif;line-height:1.72;overflow-x:hidden}a{text-decoration:none;color:inherit}.wrap{width:min(1185px,calc(100% - 44px));margin:auto}
.cursor-glow{position:fixed;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(107,88,255,.11),transparent 68%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);display:none}
.site-header{position:absolute;z-index:50;left:0;top:0;width:100%;padding:28px 0}.header-inner{display:flex;align-items:center;gap:34px}.brand img{width:190px;display:block}.nav{display:flex;gap:39px;margin-left:auto;color:#7b849f;font-weight:900}.nav a{transition:.25s}.nav a:hover,.nav a.active{color:var(--purple);transform:translateY(-2px)}.signup{background:white;color:var(--purple);padding:15px 35px;border-radius:999px;font-weight:900;box-shadow:var(--shadow)}.menu-toggle{display:none}
.hero{position:relative;min-height:902px;padding-top:132px;background:linear-gradient(148deg,#fff 0%,#f8f9ff 56%,#fff 100%);overflow:hidden}.hero:before{content:"";position:absolute;right:-350px;top:-360px;width:980px;height:980px;border-radius:50%;background:#f1efff;animation:softPulse 7.5s ease-in-out infinite}.hero:after{content:"";position:absolute;left:-455px;bottom:-500px;width:930px;height:930px;border-radius:50%;background:#fbfcff}.hero-circle.big{position:absolute;left:39%;top:170px;width:70px;height:70px;border-radius:50%;background:#e7e4ff;animation:drift 8s infinite}.hero-circle.lower{position:absolute;right:10%;top:628px;width:44px;height:44px;border-radius:50%;background:#defaf1;animation:drift 7s infinite reverse}.floating-dot{position:absolute;width:12px;height:12px;border-radius:50%;z-index:2}.dot1{background:var(--green);left:50%;top:235px;animation:updown 4.3s infinite}.dot2{background:var(--orange);right:14%;top:625px;animation:updown 5s infinite reverse}.dot3{background:var(--purple);left:42%;bottom:118px;animation:drift 5.8s infinite}
.hero-layout{position:relative;z-index:3;display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center}.hero-visual{order:1}.hero-content{order:2;padding-top:18px}.dashboard-img{width:116%;max-width:none;margin-left:-132px;display:block;filter:drop-shadow(0 28px 48px rgba(60,66,130,.12));animation:dashboardFloat 6s ease-in-out infinite}.hero h1{margin:0 0 24px;color:var(--dark);font-size:clamp(50px,6vw,76px);line-height:1.08;font-weight:900;letter-spacing:-2.7px}.hero h1 span{display:inline-block}.hero p{margin:0 0 36px;font-size:19px;max-width:455px;color:#727b98}.hero-buttons{display:flex;align-items:center;gap:28px}.button,.intro,.stores a,.signup{display:inline-flex;align-items:center;justify-content:center;transition:transform .25s,box-shadow .25s}.primary{padding:18px 36px;border-radius:999px;background:linear-gradient(135deg,var(--purple),var(--purple2));color:white;font-weight:900;box-shadow:0 18px 44px rgba(107,88,255,.28)}.intro{gap:13px;color:var(--dark);font-weight:900}.intro span{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:white;color:var(--purple);box-shadow:var(--shadow);animation:playPulse 2.3s infinite}
.page-section{padding:106px 0}.section-heading{text-align:center}.section-heading p,.eyebrow{margin:0 0 12px;color:var(--green);font-size:14px;text-transform:uppercase;letter-spacing:.18em;font-weight:900}.section-heading h2{margin:0 auto 58px;max-width:790px;color:var(--dark);font-size:clamp(36px,4vw,48px);line-height:1.18;font-weight:900;letter-spacing:-1.25px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service{background:white;border:1px solid var(--line);border-radius:30px;padding:34px 28px;box-shadow:0 15px 45px rgba(57,66,118,.08);animation:serviceFloat 6s ease-in-out infinite;transition:.35s}.service:nth-child(2){animation-delay:.25s}.service:nth-child(3){animation-delay:.5s}.service:nth-child(4){animation-delay:.75s}.service:hover{transform:translateY(-14px);box-shadow:var(--shadow)}.service img{width:88px;height:88px;margin-bottom:24px}.service h3{margin:0 0 13px;color:var(--dark);font-size:23px}.service p{margin:0}
.feature{position:relative;overflow:hidden;padding:98px 0}.feature-left{background:linear-gradient(180deg,#fff,#fafbff)}.feature-right{background:white}.feature-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.feature-layout.reverse{grid-template-columns:.96fr 1.04fr}.card-scene{height:525px;position:relative;perspective:950px}.feature-card{position:absolute;width:430px;filter:drop-shadow(0 18px 32px rgba(65,72,130,.13));will-change:transform}.fc1{top:0;left:0;animation:cardA 5.7s ease-in-out infinite}.fc2{top:148px;right:0;animation:cardB 6.1s ease-in-out infinite}.fc3{top:300px;left:68px;animation:cardC 6.6s ease-in-out infinite}.second .fc1{animation-delay:.25s}.second .fc2{animation-delay:.45s}.second .fc3{animation-delay:.65s}.feature-text h2{margin:0 0 24px;color:var(--dark);font-size:clamp(36px,4vw,46px);line-height:1.18;font-weight:900;letter-spacing:-1px}.feature-text p:not(.eyebrow){font-size:18px;max-width:440px}
.counter-section{position:relative;overflow:hidden;background:linear-gradient(135deg,#6b58ff,#8b7bff);padding:72px 0;color:white}.counter-ring{position:absolute;width:520px;height:520px;border:78px solid rgba(255,255,255,.08);border-radius:50%;left:-150px;top:-220px;animation:spin 24s linear infinite}.counter-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);text-align:center}.counter-grid span{display:block;font-weight:900;opacity:.86;margin-bottom:8px}.counter-grid strong{display:block;font-size:54px;line-height:1;font-weight:900}
.pricing{background:#fafbff}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.plan{position:relative;overflow:hidden;background:white;border:1px solid var(--line);border-radius:34px;text-align:center;padding:46px 42px;box-shadow:var(--shadow);transition:.35s}.plan:after{content:"";position:absolute;right:-70px;bottom:-80px;width:170px;height:170px;border-radius:50%;background:#f1efff;transition:.35s}.plan:hover{transform:translateY(-16px);box-shadow:0 36px 85px rgba(63,72,132,.18)}.plan:hover:after{transform:scale(1.25)}.plan.focus{transform:translateY(-22px);border:2px solid var(--purple)}.plan.focus:before{content:"Popular";position:absolute;right:-40px;top:23px;background:var(--green);color:white;padding:7px 45px;font-size:13px;font-weight:900;transform:rotate(35deg);z-index:2}.plan h3{margin:0 0 24px;color:var(--dark);font-size:28px}.plan ul{list-style:none;padding:0;margin:0 0 28px}.plan li{padding:9px 0}.plan h4{position:relative;z-index:1;margin:0;color:var(--dark);font-size:46px;font-weight:900}.plan small{font-size:22px;color:var(--purple)}
.download-app{position:relative;overflow:hidden;background:white;padding:115px 0}.download-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:84px;align-items:center}.phone-area{position:relative;min-height:690px}.phone-area span{position:absolute;width:540px;height:540px;border-radius:50%;background:#f1efff;left:35px;top:105px;animation:softPulse 6.2s ease-in-out infinite}.phone-area img{position:relative;width:545px;max-width:100%;display:block;animation:phoneFloat 5.8s ease-in-out infinite}.download-text h2{margin:0 0 25px;color:var(--dark);font-size:clamp(38px,4vw,52px);line-height:1.18;font-weight:900;letter-spacing:-1.3px}.download-text p:not(.eyebrow){font-size:18px;max-width:600px}.stores{display:flex;gap:18px;margin-top:32px}.stores a{padding:16px 31px;border-radius:18px;background:var(--dark);color:white;font-weight:900;box-shadow:var(--shadow)}.stores a:nth-child(2){background:var(--purple)}
.testimonials{background:#fafbff}.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.testimonial{display:grid;grid-template-columns:124px 1fr;gap:24px;align-items:start;background:white;border:1px solid var(--line);border-radius:34px;padding:34px;box-shadow:var(--shadow);transition:.25s;transform-style:preserve-3d}.testimonial img{width:112px;height:112px;border-radius:31px;object-fit:cover}.stars{color:#ffc14e;font-weight:900;margin-bottom:8px}.stars em{color:#8790aa;font-style:normal}.testimonial h3{margin:18px 0 0;color:var(--dark);font-size:23px}.testimonial small{color:var(--purple);font-weight:900}
.newsletter{padding:96px 0;background:white}.newsletter-box{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr .95fr;gap:50px;align-items:center;background:linear-gradient(135deg,#6b58ff,#8d7cff);color:white;border-radius:43px;padding:58px 65px;box-shadow:0 28px 70px rgba(107,88,255,.28)}.newsletter-box:before{content:"";position:absolute;right:-130px;top:-145px;width:380px;height:380px;border-radius:50%;border:70px solid rgba(255,255,255,.08);animation:spin 25s linear infinite}.newsletter h2{margin:0 0 12px;font-size:42px;line-height:1.15;font-weight:900}.newsletter p{opacity:.82}.newsletter form{position:relative;z-index:2;display:flex;align-items:center;background:white;border-radius:999px;padding:10px;box-shadow:0 20px 50px rgba(20,27,60,.1)}.newsletter label{position:absolute;left:-9999px}.newsletter input{flex:1;border:0;outline:0;padding:0 20px;font-size:16px}.newsletter button{border:0;background:var(--green);color:white;border-radius:999px;padding:16px 28px;font-weight:900}
.footer{padding:82px 0 25px;background:white;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.25fr 1.25fr .8fr 1fr;gap:38px}.footer h3{color:var(--dark);font-size:21px}.footer-brand img{width:185px;margin-bottom:16px}.footer a{display:block;margin:8px 0;color:var(--text)}.social{display:flex;gap:12px;margin-top:20px}.social i{width:34px;height:34px;border-radius:50%;background:#f0f2ff}.map{width:100%;border-radius:20px}.copy{text-align:center;margin-top:58px;padding-top:24px;border-top:1px solid var(--line);color:#8a93ad}
.floating-demo,.floating-buy{position:fixed;right:18px;z-index:60;background:#fff;color:var(--dark);padding:12px 16px;border-radius:999px;box-shadow:var(--shadow);font-size:13px;font-weight:900}.floating-demo{bottom:82px}.floating-buy{bottom:28px;background:var(--purple);color:white}
.reveal{opacity:0;transform:translateY(38px);transition:opacity .78s ease,transform .78s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay,0s)}.reveal.visible{opacity:1;transform:translateY(0)}.magnetic:hover{transform:translateY(-4px) scale(1.025);box-shadow:0 22px 55px rgba(63,72,132,.18)}
@keyframes dashboardFloat{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(0,-18px,0) rotate(.45deg)}}@keyframes phoneFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-22px) rotate(1deg)}}@keyframes serviceFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes cardA{0%,100%{transform:translate(0,0) rotate(-1deg)}50%{transform:translate(10px,-18px) rotate(1deg)}}@keyframes cardB{0%,100%{transform:translate(0,0) rotate(1deg)}50%{transform:translate(-14px,16px) rotate(-1deg)}}@keyframes cardC{0%,100%{transform:translate(0,0) rotate(-.5deg)}50%{transform:translate(18px,-12px) rotate(1.2deg)}}@keyframes updown{0%,100%{transform:translateY(0)}50%{transform:translateY(-24px)}}@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(24px,-22px)}}@keyframes softPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}@keyframes playPulse{0%{box-shadow:0 0 0 0 rgba(107,88,255,.24),var(--shadow)}70%{box-shadow:0 0 0 18px rgba(107,88,255,0),var(--shadow)}100%{box-shadow:0 0 0 0 rgba(107,88,255,0),var(--shadow)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:900px){.cursor-glow{display:block}}
@media(max-width:950px){.site-header{position:relative;padding:18px 0;background:white;box-shadow:0 8px 30px rgba(50,60,110,.07)}.menu-toggle{display:block;margin-left:auto;border:0;background:#f1f2ff;border-radius:12px;padding:8px 12px;font-size:22px}.nav,.signup{display:none}.site-header.open .nav{display:flex;position:absolute;left:22px;right:22px;top:82px;flex-direction:column;background:white;border-radius:22px;box-shadow:var(--shadow);padding:24px;z-index:100}.hero{min-height:auto;padding-top:70px}.hero-layout,.feature-layout,.feature-layout.reverse,.download-layout,.newsletter-box{grid-template-columns:1fr}.hero-content{order:1}.hero-visual{order:2}.dashboard-img{width:100%;margin:25px 0 0}.hero-buttons,.stores,.newsletter form{flex-direction:column;align-items:stretch}.service-grid,.pricing-grid,.testimonial-grid,.footer-grid{grid-template-columns:1fr}.card-scene{height:470px}.feature-card{width:min(420px,90%)}.fc2{right:0}.fc3{left:25px}.counter-grid{grid-template-columns:repeat(2,1fr);gap:34px}.plan.focus{transform:none}.phone-area{min-height:610px}.page-section,.feature,.download-app{padding:75px 0}.testimonial{grid-template-columns:1fr;text-align:center}.testimonial img{margin:auto}}


/* Improved 4-card pricing section */
.pricing{
  position:relative;
  overflow:hidden;
}
.pricing:before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  background:#f0eeff;
  right:-230px;
  top:80px;
  opacity:.72;
}
.pricing:after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  background:#e9fff7;
  left:-160px;
  bottom:60px;
  opacity:.8;
}
.pricing .wrap{
  position:relative;
  z-index:2;
}
.pricing-grid.four-plans{
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.four-plans .plan{
  padding:24px 22px 34px;
  text-align:left;
}
.four-plans .plan.focus{
  transform:translateY(-18px);
}
.plan-visual{
  width:100%;
  display:block;
  margin:0 0 14px;
  border-radius:24px;
  transition:transform .35s ease;
}
.plan:hover .plan-visual{
  transform:translateY(-7px) scale(1.02);
}
.plan-note{
  margin:-12px 0 18px;
  color:#8891ab;
  font-size:15px;
}
.four-plans .plan h3{
  text-align:left;
  margin-bottom:14px;
}
.four-plans .plan ul{
  margin-bottom:22px;
}
.four-plans .plan li{
  font-size:15px;
  padding:7px 0;
  position:relative;
  padding-left:22px;
}
.four-plans .plan li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--green);
  font-weight:900;
}
.four-plans .plan h4{
  font-size:40px;
}
@media(max-width:1100px){
  .pricing-grid.four-plans{
    grid-template-columns:repeat(2,1fr);
  }
  .four-plans .plan.focus{
    transform:none;
  }
}
@media(max-width:650px){
  .pricing-grid.four-plans{
    grid-template-columns:1fr;
  }
}


/* Final requested adjustments */
.floating-demo,
.floating-buy{
  display:none !important;
}

.contact-section{
  padding-top:96px;
}
.contact-box{
  align-items:start;
}
.contact-box .eyebrow{
  color:#dffdf3;
  margin-bottom:12px;
}
.contact-form{
  border-radius:34px;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:10px;
  padding:20px !important;
}
.contact-form label{
  position:static !important;
  left:auto !important;
  color:#20284d;
  font-weight:900;
  font-size:14px;
  margin:4px 0 0;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid #eef1fb !important;
  border-radius:18px;
  padding:15px 18px !important;
  font-family:Nunito,Arial,sans-serif;
  font-size:16px;
  outline:none;
  color:#20284d;
  background:#fafbff;
}
.contact-form textarea{
  min-height:130px;
  resize:vertical;
}
.contact-form button{
  margin-top:8px;
  align-self:flex-start;
}
.footer-grid-three{
  grid-template-columns:1.35fr 1.15fr .9fr !important;
}
.social-icons{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.social-icons a{
  width:42px;
  height:42px;
  margin:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f0f2ff;
  color:#6b58ff;
  font-weight:900;
  box-shadow:0 10px 25px rgba(55,63,128,.08);
  transition:.25s;
}
.social-icons a:nth-child(2){color:#20d29b}
.social-icons a:nth-child(3){color:#6264a7}
.social-icons a:nth-child(4){color:#1877f2}
.social-icons a:nth-child(5){color:#111}
.social-icons a:hover{
  transform:translateY(-5px);
  background:#6b58ff;
  color:#fff;
}
.scroll-card-mode .feature-card{
  animation:none !important;
  transition:transform .15s linear;
}
@media(max-width:950px){
  .footer-grid-three{
    grid-template-columns:1fr !important;
  }
  .contact-form button{
    align-self:stretch;
  }
}


/* Polished v2 adjustments */

/* Header + hero closer to the demo direction: purple top, wave bottom, text left, image right */
.site-header{
  position:absolute;
  padding:30px 0;
}
.site-header .brand img{
  filter:brightness(0) invert(1);
}
.site-header .nav{
  color:rgba(255,255,255,.82);
}
.site-header .nav a.active,
.site-header .nav a:hover{
  color:#fff;
}
.site-header .signup{
  background:#fff;
  color:#6b58ff;
}

.hero{
  min-height:920px;
  padding-top:148px;
  background:linear-gradient(135deg,#6b58ff 0%,#7e6cff 45%,#9a8cff 100%);
  color:#fff;
}
.hero:before{
  right:-280px;
  top:-300px;
  background:rgba(255,255,255,.12);
}
.hero:after{
  display:none;
}
.hero::marker{display:none;}
.hero .hero-circle.big{
  background:rgba(255,255,255,.18);
}
.hero .hero-circle.lower{
  background:rgba(32,210,155,.32);
}
.hero-layout{
  grid-template-columns:.92fr 1.08fr;
}
.hero-content{
  order:1;
  padding-top:0;
}
.hero-visual{
  order:2;
}
.dashboard-img{
  width:113%;
  margin-left:0;
  margin-right:-95px;
}
.hero h1,
.hero h1 span{
  color:#fff;
}
.hero p{
  color:rgba(255,255,255,.82);
}
.hero .primary{
  background:#fff;
  color:#6b58ff;
  box-shadow:0 18px 44px rgba(32,39,77,.18);
}
.hero .intro{
  color:#fff;
}
.hero .intro span{
  color:#6b58ff;
}
.hero-wave{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:150px;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(90% 140px at 30% 110%, #fff 0 70%, transparent 71%),
    radial-gradient(90% 150px at 78% 115%, #fff 0 70%, transparent 71%);
}
.hero:has(.hero-layout)::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:155px;
  z-index:1;
  background:
    radial-gradient(95% 145px at 25% 115%, #fff 0 70%, transparent 71%),
    radial-gradient(95% 155px at 80% 118%, #fff 0 70%, transparent 71%);
}

/* Contact section: square card instead of pill/circle newsletter form */
.contact-box{
  border-radius:34px;
  grid-template-columns:.9fr 1.1fr;
}
.contact-form{
  border-radius:28px !important;
  padding:24px !important;
  box-shadow:0 20px 50px rgba(20,27,60,.12);
}
.contact-form input,
.contact-form textarea{
  border-radius:14px;
}
.contact-form button{
  border-radius:14px;
  align-self:stretch;
}

/* Footer matching color */
.footer{
  background:#1f2650;
  border-top:0;
  color:#dce2ff;
}
.footer h3{
  color:#fff;
}
.footer p,
.footer a{
  color:#b9c1e6;
}
.footer .copy{
  color:#aeb7dd;
  border-top-color:rgba(255,255,255,.12);
}
.footer-brand img{
  filter:brightness(0) invert(1);
}

/* Real image-based social icons */
.social-icons a{
  background:#fff;
  padding:0;
  overflow:hidden;
}
.social-icons a img{
  width:42px;
  height:42px;
  display:block;
}
.social-icons a:hover{
  background:#fff;
  transform:translateY(-5px) scale(1.06);
}

/* Keep following sections visually aligned after purple hero */
.services{
  padding-top:80px;
}

@media(max-width:950px){
  .site-header{
    position:absolute;
    background:transparent;
    box-shadow:none;
  }
  .site-header.open .nav{
    background:#fff;
    color:#7b849f;
  }
  .site-header.open .nav a.active,
  .site-header.open .nav a:hover{
    color:#6b58ff;
  }
  .menu-toggle{
    color:#6b58ff;
    background:#fff;
  }
  .hero{
    padding-top:130px;
  }
  .hero-layout{
    grid-template-columns:1fr;
  }
  .hero-content{
    order:1;
  }
  .hero-visual{
    order:2;
  }
  .dashboard-img{
    width:100%;
    margin:20px 0 0;
  }
  .contact-box{
    grid-template-columns:1fr;
  }
}


/* Final wave/header/contact/social refinements */
:root{
  --brand-purple:#5351fb;
}

.hero{
  background:#5351fb !important;
  background-image:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.13) 0 0, transparent 210px),
    radial-gradient(circle at 82% 14%, rgba(255,255,255,.14) 0 0, transparent 260px),
    linear-gradient(135deg,#5351fb 0%,#6865ff 58%,#817dff 100%) !important;
}

.site-header{
  background:#5351fb !important;
}

.site-header .signup,
.hero .primary{
  color:#5351fb !important;
}

.hero:has(.hero-layout)::after{
  height:220px !important;
  z-index:1;
  background:
    radial-gradient(120% 205px at 8% 118%, #fff 0 69%, transparent 70%),
    radial-gradient(120% 210px at 36% 122%, #fff 0 69%, transparent 70%),
    radial-gradient(120% 215px at 68% 120%, #fff 0 69%, transparent 70%),
    radial-gradient(120% 210px at 98% 118%, #fff 0 69%, transparent 70%) !important;
}

.hero-wave{
  height:225px !important;
  z-index:3 !important;
  background:
    radial-gradient(110% 185px at 0% 118%, #fff 0 68%, transparent 69%),
    radial-gradient(110% 215px at 28% 124%, #fff 0 68%, transparent 69%),
    radial-gradient(110% 195px at 58% 120%, #fff 0 68%, transparent 69%),
    radial-gradient(110% 230px at 92% 126%, #fff 0 68%, transparent 69%) !important;
}

.services{
  position:relative;
  z-index:4;
}

/* Contact section with matching background and wavy top */
.contact-section{
  position:relative;
  overflow:hidden;
  padding-top:165px !important;
  padding-bottom:105px;
  background:
    radial-gradient(circle at 18% 64%, rgba(255,255,255,.12) 0 0, transparent 240px),
    linear-gradient(135deg,#5351fb 0%,#6b67ff 100%) !important;
}

.contact-section:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-1px;
  height:155px;
  background:
    radial-gradient(110% 140px at 8% -20%, #fff 0 68%, transparent 69%),
    radial-gradient(110% 155px at 35% -24%, #fff 0 68%, transparent 69%),
    radial-gradient(110% 145px at 65% -18%, #fff 0 68%, transparent 69%),
    radial-gradient(110% 160px at 95% -25%, #fff 0 68%, transparent 69%);
  z-index:1;
}

.contact-section .wrap{
  position:relative;
  z-index:2;
}

.contact-box{
  background:rgba(255,255,255,.12) !important;
  backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.22);
}

.contact-form{
  background:#fff !important;
}

/* Force social icons to show as image logos */
.social-icons{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap;
}

.social-icons a{
  width:46px !important;
  height:46px !important;
  border-radius:50% !important;
  background:transparent !important;
  padding:0 !important;
  overflow:visible !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:none !important;
}

.social-icons a img{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  object-fit:contain !important;
  border-radius:50%;
  box-shadow:0 10px 28px rgba(0,0,0,.16);
  transition:.25s;
}

.social-icons a:hover img{
  transform:translateY(-5px) scale(1.08);
}

.footer{
  background:#20235c !important;
}

@media(max-width:950px){
  .site-header{
    background:#5351fb !important;
  }
  .hero-wave{
    height:145px !important;
  }
  .hero:has(.hero-layout)::after{
    height:145px !important;
  }
  .contact-section{
    padding-top:130px !important;
  }
}


/* Final fix: reliable inline SVG social logos inside white circle buttons */
.social-icons{
  display:flex !important;
  gap:13px !important;
  flex-wrap:wrap;
  align-items:center;
}
.social-icons a{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  border-radius:50% !important;
  background:#ffffff !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  overflow:hidden !important;
  box-shadow:0 10px 28px rgba(0,0,0,.18) !important;
  transition:transform .25s ease, box-shadow .25s ease !important;
}
.social-icons a svg{
  display:block !important;
  width:28px !important;
  height:28px !important;
  opacity:1 !important;
  visibility:visible !important;
}
.social-icons a:hover{
  transform:translateY(-6px) scale(1.07);
  box-shadow:0 16px 34px rgba(0,0,0,.24) !important;
}

/* Final header wave: smoother SVG wave close to the example */
.hero{
  padding-bottom:165px;
}
.hero:has(.hero-layout)::after,
.hero-wave{
  display:none !important;
}
.hero-wave-svg{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  width:100%;
  height:210px;
  z-index:4;
  pointer-events:none;
}
.hero-layout{
  z-index:5;
}
.hero::before{
  opacity:.95;
}
@media(max-width:950px){
  .hero{
    padding-bottom:110px;
  }
  .hero-wave-svg{
    height:135px;
  }
}


/* Matching SVG wave for the contact form top edge */
.contact-section{
  padding-top:190px !important;
}

.contact-section:before{
  display:none !important;
}

.contact-wave-svg{
  position:absolute;
  top:-1px;
  left:0;
  right:0;
  width:100%;
  height:210px;
  z-index:1;
  pointer-events:none;
}

.contact-section .wrap{
  position:relative;
  z-index:2;
}

@media(max-width:950px){
  .contact-section{
    padding-top:145px !important;
  }
  .contact-wave-svg{
    height:145px;
  }
}

/* Android Installs content pass */
.brand::after,
.footer-brand::before{
  content:"Android Installs";
  color:#fff;
  font-weight:900;
  font-size:25px;
  margin-left:12px;
}
.brand img,
.footer-brand img{
  display:none !important;
}
.footer-brand::before{
  display:block;
  margin:0 0 18px;
  color:#fff;
}
.counter-grid strong[data-count="8"]::after{
  content:"M+";
}
.counter-grid strong[data-count="120"]::after{
  content:"+";
}
.counter-grid strong[data-count="5000"]::after{
  content:"+";
}
.feature-left,
.feature-right{
  scroll-margin-top:90px;
}
#services,#pricing,#features,#contact{
  scroll-margin-top:90px;
}


/* Requested AndroidInstalls adjustments */
.nav a[href*="/api"]{
  color:inherit;
}

.hero-layout{
  grid-template-columns:.82fr 1.18fr !important;
}

.dashboard-img{
  width:132% !important;
  margin-right:-190px !important;
  transform-origin:center right;
}

.captcha-space{
  min-height:96px;
  border:2px dashed #d9def4;
  background:#f7f8ff;
  border-radius:16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:18px;
  color:#20284d;
  margin:8px 0 6px;
}

.captcha-space span{
  font-weight:900;
  color:#5351fb;
}

.captcha-space small{
  color:#7e88a5;
  font-size:13px;
}

.more-pricing{
  position:relative;
  z-index:3;
  padding:40px 0 95px;
  background:#fafbff;
}

.more-pricing-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:34px;
  align-items:center;
  background:#fff;
  border:1px solid #eef1fb;
  border-radius:34px;
  padding:42px 46px;
  box-shadow:0 24px 75px rgba(55,63,128,.12);
}

.more-pricing-box h2{
  margin:0 0 15px;
  color:#20284d;
  font-size:34px;
  line-height:1.18;
  max-width:760px;
}

.more-pricing-box p:not(.eyebrow){
  margin:0;
  max-width:850px;
}

.more-pricing-box .button{
  white-space:nowrap;
}

@media(max-width:1100px){
  .dashboard-img{
    width:118% !important;
    margin-right:-90px !important;
  }
}

@media(max-width:950px){
  .hero-layout{
    grid-template-columns:1fr !important;
  }
  .dashboard-img{
    width:100% !important;
    margin-right:0 !important;
  }
  .more-pricing-box{
    grid-template-columns:1fr;
    padding:34px 28px;
  }
  .more-pricing-box .button{
    width:100%;
  }
}


/* Conversion-focused additions */
.dashboard-real{
  border-radius:22px;
  box-shadow:0 35px 90px rgba(0,0,0,.28);
}

.trust-row{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  max-width:720px;
}

.trust-row span{
  color:#fff;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:10px 15px;
  font-size:14px;
  font-weight:900;
  backdrop-filter:blur(10px);
}

.plan-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 13px;
  border-radius:999px;
  background:#f0efff;
  color:#5351fb;
  font-weight:900;
  font-size:12px;
  margin-bottom:12px;
}

.plan-badge.green{background:#e9fff7;color:#20d29b;}
.plan-badge.orange{background:#fff2e7;color:#ff8a30;}
.plan-badge.blue{background:#eaf4ff;color:#45a8ff;}

.geo-section{
  background:#fff;
  padding-top:100px;
}

.geo-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:34px;
  align-items:stretch;
}

.geo-copy,
.geo-card,
.case-card{
  background:#fff;
  border:1px solid #eef1fb;
  border-radius:34px;
  box-shadow:0 24px 75px rgba(55,63,128,.12);
}

.geo-copy{padding:42px;}

.geo-copy h3{
  margin:0 0 12px;
  color:#20284d;
  font-size:32px;
}

.flag-cloud{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.flag-cloud span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:11px 15px;
  background:#f7f8ff;
  border:1px solid #eef1fb;
  border-radius:999px;
  color:#20284d;
  font-weight:900;
  font-size:14px;
}

.geo-card{
  padding:42px;
  background:linear-gradient(135deg,#5351fb,#736fff);
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.geo-card strong{
  font-size:76px;
  line-height:1;
  font-weight:900;
}

.geo-card span{
  display:block;
  font-weight:900;
  font-size:22px;
  margin:10px 0 18px;
}

.geo-card p{color:rgba(255,255,255,.82);}

.case-studies{
  background:#fafbff;
  padding-top:100px;
}

.case-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.case-card{padding:34px;}

.case-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:#f0efff;
  font-size:30px;
  margin-bottom:22px;
}

.case-card h3{
  color:#20284d;
  font-size:23px;
  margin:0 0 12px;
}

.case-card ul{
  list-style:none;
  margin:20px 0 0;
  padding:0;
}

.case-card li{
  padding:8px 0;
  color:#20284d;
  font-weight:900;
  border-bottom:1px solid #eef1fb;
}

.case-note{
  margin:26px auto 0;
  max-width:850px;
  text-align:center;
  color:#7e88a5;
  font-size:14px;
}

.mobile-sticky-cta{display:none;}

@media(max-width:950px){
  .geo-grid,
  .case-grid{grid-template-columns:1fr;}
  .geo-copy,
  .geo-card,
  .case-card{padding:28px;}
  .mobile-sticky-cta{
    display:flex;
    position:fixed;
    left:18px;
    right:18px;
    bottom:16px;
    z-index:999;
    justify-content:center;
    align-items:center;
    padding:16px 22px;
    border-radius:18px;
    background:#20d29b;
    color:#fff;
    font-weight:900;
    box-shadow:0 18px 45px rgba(32,210,155,.35);
  }
  body{padding-bottom:78px;}
}

@media(max-width:600px){
  .trust-row span{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}


/* Corrected final polish */
.hero{
  padding-bottom:175px !important;
  overflow:hidden !important;
}

.hero-layout{
  grid-template-columns:.86fr 1.14fr !important;
  align-items:center;
}

.dashboard-browser{
  width:138% !important;
  max-width:none !important;
  margin-right:-245px !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 36px 62px rgba(0,0,0,.25));
}

.trust-row{
  margin-top:26px !important;
  margin-bottom:0 !important;
  position:relative;
  z-index:10;
}

.hero-wave-svg{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-1px !important;
  width:100% !important;
  height:220px !important;
  z-index:4 !important;
  pointer-events:none;
}

.hero:has(.hero-layout)::after,
.hero-wave{
  display:none !important;
}

.hero-content,
.hero-visual,
.hero-layout{
  position:relative;
  z-index:6;
}

.flag-cloud span{
  padding:10px 15px 10px 11px !important;
}

.flag-cloud span img{
  width:34px;
  height:24px;
  object-fit:cover;
  border-radius:7px;
  box-shadow:0 4px 10px rgba(32,40,77,.12);
  flex:0 0 auto;
}

.case-app-icon{
  width:76px;
  height:76px;
  border-radius:24px;
  display:block;
  margin-bottom:22px;
  box-shadow:0 18px 38px rgba(55,63,128,.20);
}

.case-icon{
  display:none !important;
}

@media(max-width:1100px){
  .dashboard-browser{
    width:120% !important;
    margin-right:-110px !important;
  }
}

@media(max-width:950px){
  .hero{
    padding-bottom:115px !important;
  }
  .hero-layout{
    grid-template-columns:1fr !important;
  }
  .dashboard-browser{
    width:100% !important;
    margin-right:0 !important;
  }
  .hero-wave-svg{
    height:145px !important;
  }
}


/* TRUE HERO WAVE FIX: one SVG separator only */
.hero{
  position:relative !important;
  overflow:hidden !important;
  padding-bottom:190px !important;
}

.hero::after,
.hero:after,
.hero:has(.hero-layout)::after,
.hero-wave,
.hero-wave-svg{
  display:none !important;
  content:none !important;
  background:none !important;
}

.hero-wave-clean{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:-1px !important;
  width:100% !important;
  height:220px !important;
  z-index:4 !important;
  line-height:0 !important;
  pointer-events:none !important;
}

.hero-wave-clean svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}

.hero-layout,
.hero-content,
.hero-visual,
.trust-row{
  position:relative !important;
  z-index:8 !important;
}

.trust-row{
  margin-bottom:0 !important;
}

/* Accurate local flag images */
.flag-cloud span{
  gap:11px !important;
}

.flag-cloud span img{
  width:36px !important;
  height:25px !important;
  display:inline-block !important;
  object-fit:cover !important;
  border-radius:6px !important;
  box-shadow:0 4px 12px rgba(32,40,77,.16) !important;
  background:#fff !important;
  flex:0 0 auto !important;
}

@media(max-width:950px){
  .hero{
    padding-bottom:125px !important;
  }
  .hero-wave-clean{
    height:145px !important;
  }
}


/* REBUILT animated hero - guaranteed visible */
.animated-hero{
  min-height:920px !important;
  padding-top:148px !important;
  padding-bottom:190px !important;
  background:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.13) 0 0, transparent 210px),
    radial-gradient(circle at 82% 14%, rgba(255,255,255,.14) 0 0, transparent 260px),
    linear-gradient(135deg,#5351fb 0%,#6865ff 58%,#817dff 100%) !important;
}

.animated-hero .hero-layout{
  grid-template-columns:.9fr 1.1fr !important;
  gap:34px !important;
  align-items:center !important;
}

.animated-hero .hero-content{
  order:1 !important;
  z-index:10 !important;
}

.animated-hero .hero-visual{
  order:2 !important;
  z-index:10 !important;
}

.hero-animation-wrap{
  min-height:640px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}

.app-search-animation{
  position:relative !important;
  width:640px !important;
  height:640px !important;
  max-width:100% !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:translateX(24px);
}

.phone-search{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:310px !important;
  height:600px !important;
  transform:translate(-50%,-50%);
  border-radius:50px;
  background:linear-gradient(145deg,#202437,#101421);
  padding:18px;
  box-shadow:0 45px 95px rgba(8,12,30,.38), inset 0 0 0 2px rgba(255,255,255,.08);
  animation:phoneSearchFloat 5.5s ease-in-out infinite;
}

.phone-speaker{
  width:82px;
  height:7px;
  border-radius:999px;
  background:#34394d;
  margin:4px auto 13px;
}

.phone-screen{
  position:relative;
  height:535px;
  border-radius:34px;
  background:linear-gradient(180deg,#f9fbff,#eef2ff);
  overflow:hidden;
  padding:22px 18px;
}

.phone-screen:before{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  border-radius:50%;
  background:#e8e6ff;
  top:-90px;
  right:-80px;
}

.play-header{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:9px;
  color:#20284d;
  font-size:15px;
  margin-bottom:18px;
}

.play-dot{
  width:22px;
  height:22px;
  border-radius:7px;
  background:linear-gradient(135deg,#20d29b,#5351fb);
  display:inline-block;
}

.search-box{
  position:relative;
  z-index:2;
  height:48px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(55,63,128,.11);
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 16px;
  color:#20284d;
  font-weight:900;
  margin-bottom:18px;
}

.search-icon{
  width:17px;
  height:17px;
  border:3px solid #5351fb;
  border-radius:50%;
  position:relative;
  display:inline-block;
}

.search-icon:after{
  content:"";
  position:absolute;
  width:9px;
  height:3px;
  background:#5351fb;
  right:-8px;
  bottom:-5px;
  transform:rotate(45deg);
  border-radius:2px;
}

.typing-text{
  display:inline-block;
  overflow:hidden;
  white-space:nowrap;
  width:0;
  animation:typingKeyword 5.5s steps(7,end) infinite;
}

.typing-cursor{
  width:2px;
  height:20px;
  background:#5351fb;
  display:inline-block;
  animation:cursorBlink .75s steps(2,end) infinite;
}

.result-list{
  position:relative;
  z-index:2;
  display:grid;
  gap:12px;
}

.app-result{
  display:grid;
  grid-template-columns:34px 46px 1fr;
  align-items:center;
  gap:10px;
  background:#fff;
  border-radius:18px;
  padding:11px;
  box-shadow:0 12px 26px rgba(55,63,128,.1);
  transform:translateY(34px);
  opacity:0;
}

.result-one{animation:resultSlide 5.5s ease infinite .8s;}
.result-two{animation:resultSlide 5.5s ease infinite 1.25s;}
.result-three{animation:resultSlide 5.5s ease infinite 1.7s;}

.app-rank{
  font-weight:900;
  color:#5351fb;
  font-size:14px;
}

.app-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:inline-block;
  box-shadow:0 8px 18px rgba(55,63,128,.15);
}

.vpn-icon{
  background:radial-gradient(circle at 35% 30%,#fff 0 7px,transparent 8px),linear-gradient(135deg,#5351fb,#20d29b);
}

.game-icon{
  background:radial-gradient(circle at 64% 42%,#fff 0 5px,transparent 6px),radial-gradient(circle at 38% 58%,#fff 0 5px,transparent 6px),linear-gradient(135deg,#ff9a50,#ff5c72);
}

.clean-icon{
  background:linear-gradient(135deg,#45a8ff,#5351fb);
  position:relative;
}

.clean-icon:after{
  content:"";
  position:absolute;
  left:14px;
  top:12px;
  width:18px;
  height:22px;
  background:#fff;
  border-radius:6px 6px 12px 12px;
}

.app-result strong{
  display:block;
  color:#20284d;
  font-size:13px;
  line-height:1.2;
}

.app-result small{
  color:#7e88a5;
  font-size:11px;
  font-weight:800;
}

.phone-chart{
  position:absolute;
  left:18px;
  right:18px;
  bottom:22px;
  height:70px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 26px rgba(55,63,128,.1);
  display:flex;
  align-items:end;
  justify-content:center;
  gap:11px;
  padding:14px;
}

.phone-chart span{
  width:18px;
  border-radius:999px;
  background:linear-gradient(180deg,#20d29b,#5351fb);
  animation:chartPulse 1.8s ease-in-out infinite;
}

.phone-chart span:nth-child(1){height:24px;animation-delay:.1s}
.phone-chart span:nth-child(2){height:38px;animation-delay:.25s}
.phone-chart span:nth-child(3){height:48px;animation-delay:.4s}
.phone-chart span:nth-child(4){height:32px;animation-delay:.55s}
.phone-chart span:nth-child(5){height:56px;animation-delay:.7s}

.floating-signal{
  position:absolute;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 24px 55px rgba(8,12,30,.18);
  border-radius:22px;
  padding:16px 18px;
  min-width:170px;
  backdrop-filter:blur(14px);
  animation:signalFloat 5s ease-in-out infinite;
  z-index:5;
}

.floating-signal span{
  display:block;
  color:#7e88a5;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.floating-signal strong{
  display:block;
  color:#20284d;
  font-size:20px;
  line-height:1.2;
  margin-top:4px;
}

.signal-keyword{left:0;top:105px;}
.signal-installs{right:0;top:260px;animation-delay:.5s;}
.signal-geo{left:18px;bottom:100px;animation-delay:1s;}

.orbit-dot{
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.58);
  box-shadow:0 0 0 10px rgba(255,255,255,.08);
}

.orbit-one{width:18px;height:18px;right:95px;top:75px;animation:orbitMove 7s linear infinite;}
.orbit-two{width:13px;height:13px;left:82px;top:265px;animation:orbitMove 8s linear infinite reverse;}
.orbit-three{width:11px;height:11px;right:120px;bottom:90px;animation:orbitMove 6s linear infinite;}

@keyframes phoneSearchFloat{
  0%,100%{transform:translate(-50%,-50%) rotate(-2deg)}
  50%{transform:translate(-50%,-54%) rotate(1.5deg)}
}

@keyframes typingKeyword{
  0%,12%{width:0}
  30%,70%{width:62px}
  88%,100%{width:0}
}

@keyframes cursorBlink{
  0%,50%{opacity:1}
  51%,100%{opacity:0}
}

@keyframes resultSlide{
  0%,16%{opacity:0;transform:translateY(34px)}
  28%,72%{opacity:1;transform:translateY(0)}
  86%,100%{opacity:0;transform:translateY(-20px)}
}

@keyframes chartPulse{
  0%,100%{transform:scaleY(.72)}
  50%{transform:scaleY(1)}
}

@keyframes signalFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}

@keyframes orbitMove{
  0%{transform:translate(0,0)}
  25%{transform:translate(18px,-16px)}
  50%{transform:translate(0,-32px)}
  75%{transform:translate(-18px,-16px)}
  100%{transform:translate(0,0)}
}

@media(max-width:950px){
  .animated-hero .hero-layout{
    grid-template-columns:1fr !important;
  }
  .hero-animation-wrap{
    min-height:560px !important;
  }
  .app-search-animation{
    transform:scale(.82);
    transform-origin:center top;
  }
}

@media(max-width:560px){
  .app-search-animation{
    transform:scale(.72);
    margin-top:10px;
  }
  .signal-keyword{left:-35px}
  .signal-installs{right:-40px}
  .signal-geo{left:-20px}
}


/* Longer, richer hero animation sequence */
.long-animation{
  height:700px !important;
}

.long-animation .phone-search{
  height:635px !important;
}

.long-animation .phone-screen{
  height:570px !important;
}

.campaign-live{
  margin-left:auto;
  font-style:normal;
  font-size:10px;
  background:#e9fff7;
  color:#20b884;
  padding:5px 8px;
  border-radius:999px;
  font-weight:900;
  animation:livePulse 2s ease-in-out infinite;
}

.long-search{
  overflow:hidden;
}

.keyword{
  position:absolute;
  left:48px;
  top:50%;
  transform:translateY(-50%);
  white-space:nowrap;
  overflow:hidden;
  width:0;
  opacity:0;
  color:#20284d;
}

.keyword-one{
  animation:keywordOne 14s steps(7,end) infinite;
}

.keyword-two{
  animation:keywordTwo 14s steps(11,end) infinite;
}

.keyword-three{
  animation:keywordThree 14s steps(15,end) infinite;
}

.long-results .app-result{
  animation-duration:14s !important;
}

.long-results .result-one{
  animation:longResultOne 14s ease infinite !important;
}

.long-results .result-two{
  animation:longResultTwo 14s ease infinite !important;
}

.long-results .result-three{
  animation:longResultThree 14s ease infinite !important;
}

.rank-animated{
  animation:rankChange 14s ease infinite;
}

.geo-mini{
  position:relative;
  z-index:2;
  display:flex;
  gap:8px;
  margin:13px 0 0;
  opacity:0;
  animation:geoReveal 14s ease infinite;
}

.geo-mini span{
  display:flex;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  border-radius:999px;
  background:#fff;
  color:#20284d;
  font-weight:900;
  font-size:11px;
  box-shadow:0 9px 18px rgba(55,63,128,.1);
}

.geo-mini img{
  width:22px;
  height:15px;
  border-radius:4px;
  object-fit:cover;
}

.install-progress{
  position:relative;
  z-index:2;
  background:#fff;
  border-radius:18px;
  padding:12px;
  margin-top:12px;
  box-shadow:0 12px 26px rgba(55,63,128,.1);
  opacity:0;
  transform:translateY(16px);
  animation:progressReveal 14s ease infinite;
}

.progress-head{
  display:flex;
  justify-content:space-between;
  color:#20284d;
  font-size:12px;
  font-weight:900;
  margin-bottom:8px;
}

.progress-number::before{
  content:"0%";
  animation:progressNumber 14s linear infinite;
}

.progress-track{
  height:9px;
  background:#eef1fb;
  border-radius:999px;
  overflow:hidden;
}

.progress-track span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#20d29b,#5351fb);
  animation:progressFill 14s ease infinite;
}

.progress-status{
  display:block;
  margin-top:7px;
  color:#7e88a5;
  font-weight:800;
  font-size:10px;
}

.progress-status::before{
  content:"Preparing keyword campaign...";
  animation:statusText 14s linear infinite;
}

.long-animation .phone-chart{
  bottom:16px !important;
  height:58px !important;
}

.signal-retention{
  right:38px;
  bottom:80px;
  animation-delay:1.4s;
}

.long-animation .floating-signal{
  animation-duration:6s;
}

@keyframes keywordOne{
  0%,5%{opacity:1;width:0}
  10%,25%{opacity:1;width:62px}
  29%,100%{opacity:0;width:62px}
}

@keyframes keywordTwo{
  0%,31%{opacity:0;width:0}
  36%,51%{opacity:1;width:92px}
  55%,100%{opacity:0;width:92px}
}

@keyframes keywordThree{
  0%,58%{opacity:0;width:0}
  64%,82%{opacity:1;width:122px}
  88%,100%{opacity:0;width:122px}
}

@keyframes longResultOne{
  0%,9%{opacity:0;transform:translateY(34px)}
  14%,30%{opacity:1;transform:translateY(0)}
  38%,48%{opacity:1;transform:translateY(58px)}
  55%,61%{opacity:0;transform:translateY(80px)}
  66%,88%{opacity:1;transform:translateY(0)}
  95%,100%{opacity:0;transform:translateY(-25px)}
}

@keyframes longResultTwo{
  0%,12%{opacity:0;transform:translateY(34px)}
  18%,31%{opacity:1;transform:translateY(0)}
  38%,55%{opacity:1;transform:translateY(-58px)}
  62%,100%{opacity:0;transform:translateY(-75px)}
}

@keyframes longResultThree{
  0%,15%{opacity:0;transform:translateY(34px)}
  22%,34%{opacity:1;transform:translateY(0)}
  41%,55%{opacity:1;transform:translateY(-58px)}
  64%,86%{opacity:1;transform:translateY(-116px)}
  94%,100%{opacity:0;transform:translateY(-140px)}
}

@keyframes rankChange{
  0%,30%{color:#5351fb}
  38%,62%{color:#ff9a50}
  66%,100%{color:#20d29b}
}

@keyframes geoReveal{
  0%,52%{opacity:0;transform:translateY(12px)}
  58%,86%{opacity:1;transform:translateY(0)}
  94%,100%{opacity:0;transform:translateY(-8px)}
}

@keyframes progressReveal{
  0%,18%{opacity:0;transform:translateY(16px)}
  24%,88%{opacity:1;transform:translateY(0)}
  96%,100%{opacity:0;transform:translateY(-8px)}
}

@keyframes progressFill{
  0%,24%{width:0}
  38%{width:28%}
  56%{width:57%}
  74%{width:83%}
  88%,100%{width:100%}
}

@keyframes progressNumber{
  0%,24%{content:"0%"}
  38%{content:"28%"}
  56%{content:"57%"}
  74%{content:"83%"}
  88%,100%{content:"100%"}
}

@keyframes statusText{
  0%,32%{content:"Preparing keyword campaign..."}
  33%,55%{content:"Delivering real installs..."}
  56%,77%{content:"Improving ranking signals..."}
  78%,100%{content:"Campaign completed successfully"}
}

@keyframes livePulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.04);opacity:.82}
}

@media(max-width:950px){
  .long-animation{
    height:660px !important;
  }
  .signal-retention{
    right:-20px;
    bottom:80px;
  }
}


/* Clear story-based animation */
.story-animation{
  height:680px !important;
}

.story-animation .phone-search{
  height:620px !important;
}

.story-animation .phone-screen{
  height:555px !important;
}

.story-keyword{
  color:#20284d;
  font-weight:900;
}

.story-explainer{
  margin-top:-4px;
  margin-bottom:14px;
  color:#7e88a5;
  font-size:12px;
  font-weight:800;
  animation:storyText 14s ease infinite;
}

.story-results{
  margin-top:4px;
}

.main-result{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  transition:all .7s ease;
}

.animated-rank{
  animation:rankStory 14s ease infinite;
}

.result-status{
  animation:statusStory 14s linear infinite;
}

.story-progress{
  margin-top:16px;
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
}

.live-progress-text::before{
  content:"0 Installs";
  animation:installCounter 14s linear infinite;
}

.campaign-status::before{
  content:"Waiting to start...";
  animation:campaignText 14s linear infinite;
}

.progress-track span{
  animation:storyProgress 14s ease infinite !important;
}

.ranking-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:18px;
  color:#20284d;
  font-weight:900;
}

.arrow-line{
  width:80px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#ff9a50,#20d29b);
  position:relative;
  overflow:hidden;
}

.arrow-line:after{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  border:4px solid #20d29b;
  top:50%;
  left:-20px;
  transform:translateY(-50%);
  animation:rankMove 14s ease infinite;
}

.live-rank::before{
  content:"#89";
  animation:liveRank 14s linear infinite;
}

.live-installs::before{
  content:"0";
  animation:liveInstalls 14s linear infinite;
}

.complete-text::before{
  content:"Starting...";
  animation:completeStory 14s linear infinite;
}

.signal-complete{
  right:10px;
  bottom:88px;
}

@keyframes rankStory{
  0%,18%{color:#ff8c58}
  35%{color:#ffb84d}
  60%{color:#7d7dff}
  100%{color:#20d29b}
}

@keyframes storyProgress{
  0%,12%{width:0}
  30%{width:18%}
  48%{width:42%}
  68%{width:74%}
  100%{width:100%}
}

@keyframes rankMove{
  0%,12%{left:-20px}
  30%{left:10px}
  48%{left:30px}
  68%{left:52px}
  100%{left:76px}
}

@keyframes liveRank{
  0%,12%{content:"#89"}
  30%{content:"#61"}
  48%{content:"#38"}
  68%{content:"#22"}
  100%{content:"#14"}
}

@keyframes liveInstalls{
  0%,12%{content:"0"}
  30%{content:"1,200"}
  48%{content:"2,800"}
  68%{content:"4,200"}
  100%{content:"5,000"}
}

@keyframes installCounter{
  0%,12%{content:"0 Installs"}
  30%{content:"1,200 Installs"}
  48%{content:"2,800 Installs"}
  68%{content:"4,200 Installs"}
  100%{content:"5,000 Installs"}
}

@keyframes completeStory{
  0%,20%{content:"Starting..."}
  35%{content:"Delivering installs"}
  60%{content:"Improving ranking"}
  100%{content:"Campaign Complete"}
}

@keyframes campaignText{
  0%,18%{content:"Waiting to start..."}
  35%{content:"Sending real installs..."}
  60%{content:"Boosting keyword ranking..."}
  100%{content:"VPN app reached #14"}
}

@keyframes statusStory{
  0%,18%{content:"Starting campaign..."}
  35%{content:"Real installs incoming"}
  60%{content:"Ranking is improving"}
  100%{content:"Keyword reached #14"}
}

@keyframes storyText{
  0%,18%{opacity:1}
  35%{opacity:.7}
  60%{opacity:1}
  100%{opacity:1}
}

@media(max-width:950px){
  .signal-complete{
    right:-20px;
  }
}


/* Fixed ranking animation: real HTML states, no pseudo-content text swapping */
.fixed-rank-animation{
  height:680px !important;
}

.fixed-rank-animation .phone-search{
  height:620px !important;
}

.fixed-rank-animation .phone-screen{
  height:555px !important;
}

.story-step-label{
  position:relative;
  height:34px;
  margin:0 0 12px;
  color:#20284d;
  font-size:12px;
  font-weight:900;
}

.step{
  position:absolute;
  left:0;
  top:0;
  opacity:0;
  transform:translateY(8px);
}

.step-1{animation:showState 16s infinite 0s}
.step-2{animation:showState 16s infinite 3.2s}
.step-3{animation:showState 16s infinite 6.4s}
.step-4{animation:showState 16s infinite 9.6s}

.single-result-list{
  margin-top:4px;
}

.ranking-card{
  opacity:1 !important;
  transform:none !important;
  animation:rankingCardPulse 16s ease infinite !important;
}

.rank-stack{
  position:relative;
  display:block;
  width:42px;
  height:28px;
}

.rank-state,
.status-state,
.install-state,
.float-rank,
.float-install,
.float-status{
  position:absolute;
  left:0;
  top:0;
  opacity:0;
  transform:translateY(8px);
  white-space:nowrap;
}

.rank-state{
  font-size:17px;
  font-weight:900;
}

.rank-89,.status-1,.install-0,.r89,.i0,.fs1{animation:rankVisible 16s infinite 0s}
.rank-61,.status-2,.install-1200,.r61,.i1200,.fs2{animation:rankVisible 16s infinite 3.2s}
.rank-38,.status-3,.install-2800,.r38,.i2800,.fs3{animation:rankVisible 16s infinite 6.4s}
.rank-22,.status-4,.install-4200,.r22,.i4200,.fs4{animation:rankVisible 16s infinite 9.6s}
.rank-14,.status-5,.install-5000,.r14,.i5000,.fs5{animation:rankVisible 16s infinite 12.8s}

.rank-89{color:#ff8c58}
.rank-61{color:#ffb84d}
.rank-38{color:#7d7dff}
.rank-22{color:#5351fb}
.rank-14{color:#20d29b}

.status-stack{
  position:relative;
  display:block;
  height:17px;
  color:#7e88a5;
}

.rank-progress{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  margin-top:16px;
}

.install-stack{
  position:relative;
  width:58px;
  height:16px;
  display:inline-block;
}

.install-state{
  font-size:12px;
  color:#5351fb;
}

.rank-progress .progress-track span{
  animation:fixedProgressFill 16s ease infinite !important;
}

.ranking-road{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:15px;
  color:#20284d;
  font-weight:900;
  font-size:13px;
}

.ranking-line{
  position:relative;
  width:96px;
  height:5px;
  background:#eef1fb;
  border-radius:999px;
  overflow:visible;
}

.ranking-line:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#ff9a50,#20d29b);
  animation:rankingLineFill 16s ease infinite;
}

.ranking-line i{
  position:absolute;
  top:50%;
  left:0;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  border:4px solid #20d29b;
  transform:translate(-50%,-50%);
  animation:rankingDotMove 16s ease infinite;
}

.mini-results{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:grid;
  gap:7px;
}

.mini-row{
  background:#fff;
  border-radius:13px;
  padding:8px 11px;
  color:#20284d;
  font-size:11px;
  font-weight:900;
  box-shadow:0 8px 18px rgba(55,63,128,.09);
}

.active-row{
  background:#e9fff7;
  color:#139a72;
  animation:activeRowPop 16s ease infinite;
}

.ghost-one,
.ghost-two{
  opacity:.62;
}

.floating-rank-stack,
.floating-install-stack,
.floating-status-stack{
  position:relative;
  display:block;
  height:26px;
}

.float-rank,
.float-install,
.float-status{
  font-size:20px;
  font-weight:900;
  color:#20284d;
}

.r14,
.i5000,
.fs5{
  color:#20d29b;
}

@keyframes rankVisible{
  0%,18%{opacity:0;transform:translateY(8px)}
  22%,38%{opacity:1;transform:translateY(0)}
  42%,100%{opacity:0;transform:translateY(-8px)}
}

@keyframes showState{
  0%,14%{opacity:0;transform:translateY(8px)}
  18%,60%{opacity:1;transform:translateY(0)}
  64%,100%{opacity:0;transform:translateY(-8px)}
}

@keyframes fixedProgressFill{
  0%,16%{width:0}
  27%{width:25%}
  47%{width:48%}
  67%{width:73%}
  88%,100%{width:100%}
}

@keyframes rankingLineFill{
  0%,16%{width:0}
  27%{width:25%}
  47%{width:48%}
  67%{width:73%}
  88%,100%{width:100%}
}

@keyframes rankingDotMove{
  0%,16%{left:0}
  27%{left:25%}
  47%{left:48%}
  67%{left:73%}
  88%,100%{left:100%}
}

@keyframes rankingCardPulse{
  0%,20%{box-shadow:0 12px 26px rgba(55,63,128,.1)}
  28%,100%{box-shadow:0 16px 32px rgba(32,210,155,.18)}
}

@keyframes activeRowPop{
  0%,70%{transform:scale(.98);opacity:.7}
  85%,100%{transform:scale(1);opacity:1}
}

@media(max-width:950px){
  .signal-complete{
    right:-18px;
    bottom:92px;
  }
}


/* Fixed step labels - no overlapping text */
.story-step-label{
  position:relative !important;
  height:42px !important;
  overflow:hidden !important;
  margin-bottom:14px !important;
}

.story-step-label .step{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
}

/* Each step has its own clean timing window */
.step-1{
  animation:cleanStep1 16s infinite;
}

.step-2{
  animation:cleanStep2 16s infinite;
}

.step-3{
  animation:cleanStep3 16s infinite;
}

.step-4{
  animation:cleanStep4 16s infinite;
}

@keyframes cleanStep1{
  0%,22%{
    opacity:1;
    transform:translateY(0);
  }
  24%,100%{
    opacity:0;
    transform:translateY(-12px);
  }
}

@keyframes cleanStep2{
  0%,24%{
    opacity:0;
    transform:translateY(12px);
  }
  28%,46%{
    opacity:1;
    transform:translateY(0);
  }
  48%,100%{
    opacity:0;
    transform:translateY(-12px);
  }
}

@keyframes cleanStep3{
  0%,50%{
    opacity:0;
    transform:translateY(12px);
  }
  54%,72%{
    opacity:1;
    transform:translateY(0);
  }
  74%,100%{
    opacity:0;
    transform:translateY(-12px);
  }
}

@keyframes cleanStep4{
  0%,76%{
    opacity:0;
    transform:translateY(12px);
  }
  80%,100%{
    opacity:1;
    transform:translateY(0);
  }
}


/* Overtake animation: VPN Secure climbs past competitors */
.overtake-animation{
  height:690px !important;
}

.overtake-animation .phone-search{
  height:630px !important;
}

.overtake-animation .phone-screen{
  height:565px !important;
  overflow:hidden;
}

.ranking-stage{
  position:relative;
  height:250px;
  margin-top:8px;
}

.ranking-card{
  position:absolute;
  left:0;
  right:0;
  display:grid;
  grid-template-columns:40px 46px 1fr 44px;
  gap:10px;
  align-items:center;
  min-height:66px;
  border-radius:18px;
  padding:10px;
  background:#fff;
  box-shadow:0 12px 26px rgba(55,63,128,.11);
  color:#20284d;
}

.ranking-card strong{
  display:block;
  font-size:13px;
  line-height:1.2;
}

.ranking-card small{
  display:block;
  color:#7e88a5;
  font-size:11px;
  font-weight:800;
}

.rank-number{
  font-weight:900;
  color:#5351fb;
  font-size:15px;
}

.get-pill{
  display:grid;
  place-items:center;
  height:28px;
  border-radius:999px;
  background:#0d64ff;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.competitor-one{
  top:0;
  animation:competitorOneMove 16s ease infinite;
}

.competitor-two{
  top:76px;
  animation:competitorTwoMove 16s ease infinite;
}

.advertised-card{
  top:152px;
  background:#fff4ef;
  border:1px solid rgba(255,137,94,.25);
  animation:advertisedOvertake 16s ease infinite;
}

.advertised-card strong{
  color:#0d7a55;
}

.active-get{
  background:#5351fb;
}

.shield-blue{
  background:linear-gradient(135deg,#3e74ff,#35b7ff);
  position:relative;
}

.shield-blue:after{
  content:"";
  position:absolute;
  left:14px;
  top:10px;
  width:18px;
  height:22px;
  border-radius:7px 7px 12px 12px;
  background:#fff;
  opacity:.9;
}

.lock-purple{
  background:linear-gradient(135deg,#5a3fd6,#a070ff);
  position:relative;
}

.lock-purple:before{
  content:"";
  position:absolute;
  left:15px;
  top:10px;
  width:16px;
  height:15px;
  border:4px solid #fff;
  border-bottom:0;
  border-radius:12px 12px 0 0;
}

.lock-purple:after{
  content:"";
  position:absolute;
  left:12px;
  top:24px;
  width:22px;
  height:18px;
  border-radius:6px;
  background:#fff;
}

.animated-position{
  position:relative;
  display:block;
  width:42px;
  height:28px;
}

.pos-state{
  position:absolute;
  left:0;
  top:0;
  opacity:0;
  transform:translateY(8px);
  font-size:16px;
  font-weight:900;
  white-space:nowrap;
}

.pos-89,.status-1,.install-0,.r89,.i0,.fs1{animation:rankVisible 16s infinite 0s}
.pos-61,.status-2,.install-1200,.r61,.i1200,.fs2{animation:rankVisible 16s infinite 3.2s}
.pos-38,.status-3,.install-2800,.r38,.i2800,.fs3{animation:rankVisible 16s infinite 6.4s}
.pos-22,.status-4,.install-4200,.r22,.i4200,.fs4{animation:rankVisible 16s infinite 9.6s}
.pos-14,.status-5,.install-5000,.r14,.i5000,.fs5{animation:rankVisible 16s infinite 12.8s}

.pos-89{color:#ff5c72}
.pos-61{color:#ff9a50}
.pos-38{color:#ffb84d}
.pos-22{color:#5351fb}
.pos-14{color:#20d29b}

.status-stack{
  position:relative;
  display:block;
  height:17px;
}

.status-state,
.install-state,
.float-rank,
.float-install,
.float-status{
  position:absolute;
  left:0;
  top:0;
  opacity:0;
  transform:translateY(8px);
  white-space:nowrap;
}

.rank-progress{
  margin-top:12px !important;
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
}

.rank-progress .progress-track span{
  animation:fixedProgressFill 16s ease infinite !important;
}

.install-stack{
  position:relative;
  width:58px;
  height:16px;
  display:inline-block;
}

.install-state{
  color:#5351fb;
  font-size:12px;
}

.ranking-road{
  margin-top:13px !important;
}

.floating-rank-stack,
.floating-install-stack,
.floating-status-stack{
  position:relative;
  display:block;
  height:26px;
}

.float-rank,
.float-install,
.float-status{
  font-size:20px;
  font-weight:900;
  color:#20284d;
}

.r14,
.i5000,
.fs5{
  color:#20d29b;
}

@keyframes advertisedOvertake{
  0%,18%{
    top:152px;
    background:#fff4ef;
    transform:scale(.98);
  }
  30%{
    top:138px;
    background:#fff8dc;
    transform:scale(.99);
  }
  48%{
    top:96px;
    background:#f4f0ff;
    transform:scale(1);
  }
  68%{
    top:50px;
    background:#ecf7ff;
    transform:scale(1.01);
  }
  88%,100%{
    top:0;
    background:#e9fff7;
    transform:scale(1.02);
  }
}

@keyframes competitorOneMove{
  0%,62%{
    top:0;
    opacity:1;
  }
  72%,100%{
    top:76px;
    opacity:.74;
  }
}

@keyframes competitorTwoMove{
  0%,42%{
    top:76px;
    opacity:1;
  }
  52%,72%{
    top:152px;
    opacity:.72;
  }
  88%,100%{
    top:152px;
    opacity:.62;
  }
}

@keyframes rankVisible{
  0%,18%{opacity:0;transform:translateY(8px)}
  22%,38%{opacity:1;transform:translateY(0)}
  42%,100%{opacity:0;transform:translateY(-8px)}
}

@keyframes fixedProgressFill{
  0%,16%{width:0}
  27%{width:25%}
  47%{width:48%}
  67%{width:73%}
  88%,100%{width:100%}
}

@media(max-width:950px){
  .overtake-animation{
    height:660px !important;
  }
  .signal-complete{
    right:-18px;
    bottom:92px;
  }
}


/* Update overtake animation to #89 → #1 */
.pos-1,.status-5,.install-5000,.r1,.i5000,.fs5{
  animation:rankVisible 16s infinite 12.8s !important;
}

.pos-1{
  color:#20d29b !important;
}

/* Hide old #14 animation selector if present */
.pos-14,
.r14{
  display:none !important;
}

/* Competitors visibly change from #1/#2 to #2/#3 at the end */
.competitor-one-rank,
.competitor-two-rank{
  position:relative;
  display:block;
  width:34px;
  height:24px;
}

.competitor-one-rank b,
.competitor-two-rank b{
  position:absolute;
  left:0;
  top:0;
}

.competitor-one-rank b::after{
  content:"#1";
  animation:competitorOneRankText 16s linear infinite;
}

.competitor-two-rank b::after{
  content:"#2";
  animation:competitorTwoRankText 16s linear infinite;
}

.competitor-one-rank b,
.competitor-two-rank b{
  font-size:0;
}

.competitor-one-rank b::after,
.competitor-two-rank b::after{
  font-size:15px;
  color:#5351fb;
  font-weight:900;
}

@keyframes competitorOneRankText{
  0%,78%{content:"#1"}
  88%,100%{content:"#2"}
}

@keyframes competitorTwoRankText{
  0%,78%{content:"#2"}
  88%,100%{content:"#3"}
}

/* Rework movement so VPN Secure ends at the very top */
@keyframes advertisedOvertake{
  0%,18%{
    top:152px;
    background:#fff4ef;
    transform:scale(.98);
  }
  30%{
    top:138px;
    background:#fff8dc;
    transform:scale(.99);
  }
  48%{
    top:96px;
    background:#f4f0ff;
    transform:scale(1);
  }
  68%{
    top:48px;
    background:#ecf7ff;
    transform:scale(1.01);
  }
  88%,100%{
    top:0;
    background:#e9fff7;
    transform:scale(1.025);
    box-shadow:0 18px 36px rgba(32,210,155,.26);
  }
}

@keyframes competitorOneMove{
  0%,76%{
    top:0;
    opacity:1;
  }
  88%,100%{
    top:76px;
    opacity:.82;
  }
}

@keyframes competitorTwoMove{
  0%,76%{
    top:76px;
    opacity:1;
  }
  88%,100%{
    top:152px;
    opacity:.72;
  }
}

/* Update final highlight colors for #1 */
.r1,
.i5000,
.fs5{
  color:#20d29b !important;
}

.ranking-road span:last-child{
  color:#20d29b;
}


/* Smooth card overtake animation: actual cards swap positions */
.ranking-stage{
  position:relative !important;
  height:250px !important;
  overflow:visible !important;
}

.ranking-stage .ranking-card{
  top:0 !important;
  will-change:transform, opacity, box-shadow, background;
  transition:none !important;
}

/* Initial visual order:
   competitor one = row 1
   competitor two = row 2
   advertised app = row 3
   Final visual order:
   advertised app = row 1
   competitor one = row 2
   competitor two = row 3
*/
.competitor-one{
  transform:translate3d(0,0,0);
  animation:smoothCompetitorOneSwap 16s cubic-bezier(.22,1,.36,1) infinite !important;
}

.competitor-two{
  transform:translate3d(0,76px,0);
  animation:smoothCompetitorTwoSwap 16s cubic-bezier(.22,1,.36,1) infinite !important;
}

.advertised-card{
  transform:translate3d(0,152px,0) scale(.98);
  animation:smoothAdvertisedClimb 16s cubic-bezier(.22,1,.36,1) infinite !important;
  z-index:3;
}

/* Make the advertised app pass over competitors clearly */
.competitor-one,
.competitor-two{
  z-index:2;
}

@keyframes smoothAdvertisedClimb{
  0%,18%{
    transform:translate3d(0,152px,0) scale(.98);
    background:#fff4ef;
    box-shadow:0 12px 26px rgba(55,63,128,.11);
  }
  34%{
    transform:translate3d(0,120px,0) scale(.99);
    background:#fff8dc;
  }
  52%{
    transform:translate3d(0,76px,0) scale(1);
    background:#f4f0ff;
  }
  70%{
    transform:translate3d(0,34px,0) scale(1.01);
    background:#ecf7ff;
  }
  88%,100%{
    transform:translate3d(0,0,0) scale(1.025);
    background:#e9fff7;
    box-shadow:0 22px 42px rgba(32,210,155,.30);
  }
}

@keyframes smoothCompetitorOneSwap{
  0%,58%{
    transform:translate3d(0,0,0);
    opacity:1;
  }
  70%{
    transform:translate3d(0,30px,0);
    opacity:.92;
  }
  88%,100%{
    transform:translate3d(0,76px,0);
    opacity:.82;
  }
}

@keyframes smoothCompetitorTwoSwap{
  0%,40%{
    transform:translate3d(0,76px,0);
    opacity:1;
  }
  58%{
    transform:translate3d(0,112px,0);
    opacity:.88;
  }
  88%,100%{
    transform:translate3d(0,152px,0);
    opacity:.72;
  }
}

/* Rank labels synchronized with final card positions */
.competitor-one-rank b::after{
  content:"#1";
  animation:smoothCompetitorOneRank 16s linear infinite !important;
}

.competitor-two-rank b::after{
  content:"#2";
  animation:smoothCompetitorTwoRank 16s linear infinite !important;
}

@keyframes smoothCompetitorOneRank{
  0%,78%{content:"#1"}
  88%,100%{content:"#2"}
}

@keyframes smoothCompetitorTwoRank{
  0%,78%{content:"#2"}
  88%,100%{content:"#3"}
}

/* Prevent previous top-based keyframes from fighting this animation */
@keyframes advertisedOvertake{
  0%,100%{top:0}
}

@keyframes competitorOneMove{
  0%,100%{top:0}
}

@keyframes competitorTwoMove{
  0%,100%{top:0}
}


/* TRUE leaderboard reorder animation */
.leaderboard-animation{
  height:690px !important;
}

.leaderboard-animation .phone-search{
  height:630px !important;
}

.leaderboard-animation .phone-screen{
  height:565px !important;
  overflow:hidden;
}

.leaderboard-window{
  position:relative;
  height:248px;
  margin-top:8px;
  overflow:hidden;
}

.leaderboard-list{
  position:relative;
  height:248px;
}

.rank-card{
  position:absolute;
  left:0;
  right:0;
  height:68px;
  display:grid;
  grid-template-columns:40px 46px 1fr 44px;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:18px;
  background:#fff;
  color:#20284d;
  box-shadow:0 12px 26px rgba(55,63,128,.11);
  will-change:transform, opacity, box-shadow, background;
}

.rank-card strong{
  display:block;
  font-size:13px;
  line-height:1.2;
}

.rank-card small{
  display:block;
  color:#7e88a5;
  font-size:11px;
  font-weight:800;
}

.competitor-a{
  transform:translateY(0);
  z-index:2;
  animation:leaderCompA 16s cubic-bezier(.22,1,.36,1) infinite;
}

.competitor-b{
  transform:translateY(78px);
  z-index:2;
  animation:leaderCompB 16s cubic-bezier(.22,1,.36,1) infinite;
}

.advertised-vpn{
  transform:translateY(156px);
  z-index:4;
  border:1px solid rgba(255,137,94,.28);
  background:#fff4ef;
  animation:leaderVpnClimb 16s cubic-bezier(.22,1,.36,1) infinite;
}

.advertised-vpn strong{
  color:#0d7a55;
}

.rank-label{
  position:relative;
  display:block;
  height:25px;
  width:40px;
  color:#5351fb;
  font-weight:900;
  font-size:15px;
}

.rank-label b,
.vpn-status b,
.leaderboard-install-count b,
.leaderboard-floating-rank b,
.leaderboard-floating-installs b,
.leaderboard-floating-status b{
  position:absolute;
  left:0;
  top:0;
  opacity:0;
  white-space:nowrap;
  transform:translateY(8px);
}

.comp-a-rank .rank-a-start,
.comp-b-rank .rank-b-start{
  animation:leaderStateEarly 16s infinite;
}

.comp-a-rank .rank-a-end,
.comp-b-rank .rank-b-end{
  animation:leaderStateFinal 16s infinite;
}

.vpn-rank-89,
.vpn-status-1,
.install-stage-1,
.float-rank-89,
.float-installs-0,
.float-status-start{
  animation:leaderState1 16s infinite;
}

.vpn-rank-42,
.vpn-status-2,
.install-stage-2,
.float-rank-42,
.float-installs-1500,
.float-status-deliver{
  animation:leaderState2 16s infinite;
}

.vpn-rank-9,
.vpn-status-3,
.install-stage-3,
.float-rank-9,
.float-installs-3500,
.float-status-overtake{
  animation:leaderState3 16s infinite;
}

.vpn-rank-1,
.vpn-status-4,
.install-stage-4,
.float-rank-1,
.float-installs-5000,
.float-status-complete{
  animation:leaderState4 16s infinite;
}

.vpn-rank-1,
.float-rank-1,
.float-status-complete{
  color:#20d29b !important;
}

.vpn-status{
  position:relative;
  display:block;
  height:17px;
}

.leaderboard-progress{
  margin-top:12px;
  background:#fff;
  border-radius:18px;
  padding:12px;
  box-shadow:0 12px 26px rgba(55,63,128,.1);
}

.leaderboard-progress .progress-track span{
  animation:leaderboardProgress 16s ease infinite !important;
}

.leaderboard-install-count,
.leaderboard-floating-rank,
.leaderboard-floating-installs,
.leaderboard-floating-status{
  position:relative;
  display:inline-block;
  height:22px;
  min-width:70px;
}

.leaderboard-floating-rank,
.leaderboard-floating-installs,
.leaderboard-floating-status{
  display:block;
  height:26px;
}

.leaderboard-floating-rank b,
.leaderboard-floating-installs b,
.leaderboard-floating-status b{
  font-size:20px;
  font-weight:900;
  color:#20284d;
}

@keyframes leaderVpnClimb{
  0%,18%{
    transform:translateY(156px) scale(.98);
    background:#fff4ef;
    box-shadow:0 12px 26px rgba(55,63,128,.11);
  }
  36%{
    transform:translateY(118px) scale(.99);
    background:#fff8dc;
  }
  56%{
    transform:translateY(62px) scale(1.01);
    background:#f4f0ff;
  }
  74%{
    transform:translateY(18px) scale(1.02);
    background:#ecf7ff;
  }
  88%,100%{
    transform:translateY(0) scale(1.035);
    background:#e9fff7;
    box-shadow:0 22px 44px rgba(32,210,155,.32);
  }
}

@keyframes leaderCompA{
  0%,70%{
    transform:translateY(0);
    opacity:1;
  }
  88%,100%{
    transform:translateY(78px);
    opacity:.84;
  }
}

@keyframes leaderCompB{
  0%,55%{
    transform:translateY(78px);
    opacity:1;
  }
  74%{
    transform:translateY(122px);
    opacity:.86;
  }
  88%,100%{
    transform:translateY(156px);
    opacity:.74;
  }
}

@keyframes leaderStateEarly{
  0%,78%{opacity:1;transform:translateY(0)}
  84%,100%{opacity:0;transform:translateY(-8px)}
}

@keyframes leaderStateFinal{
  0%,78%{opacity:0;transform:translateY(8px)}
  88%,100%{opacity:1;transform:translateY(0)}
}

@keyframes leaderState1{
  0%,22%{opacity:1;transform:translateY(0)}
  26%,100%{opacity:0;transform:translateY(-8px)}
}

@keyframes leaderState2{
  0%,28%{opacity:0;transform:translateY(8px)}
  34%,48%{opacity:1;transform:translateY(0)}
  52%,100%{opacity:0;transform:translateY(-8px)}
}

@keyframes leaderState3{
  0%,54%{opacity:0;transform:translateY(8px)}
  60%,72%{opacity:1;transform:translateY(0)}
  76%,100%{opacity:0;transform:translateY(-8px)}
}

@keyframes leaderState4{
  0%,80%{opacity:0;transform:translateY(8px)}
  88%,100%{opacity:1;transform:translateY(0)}
}

@keyframes leaderboardProgress{
  0%,18%{width:0}
  36%{width:32%}
  56%{width:58%}
  74%{width:82%}
  88%,100%{width:100%}
}

/* Featured pricing ribbon fix */
.plan.focus{
  overflow:hidden !important;
}

.plan.focus:before{
  content:"Most Popular" !important;
  position:absolute !important;
  top:24px !important;
  right:-56px !important;
  width:190px !important;
  height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#20d29b !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
  transform:rotate(45deg) !important;
  transform-origin:center !important;
  z-index:10 !important;
  box-shadow:0 8px 18px rgba(32,210,155,.28) !important;
  padding:0 !important;
}

@media(max-width:950px){
  .leaderboard-animation{
    height:660px !important;
  }
}


/* Final timing adjustment:
   Campaign progress happens first; leaderboard movement starts only after the campaign is almost complete. */
@keyframes leaderVpnClimb{
  0%,76%{
    transform:translateY(156px) scale(.98);
    background:#fff4ef;
    box-shadow:0 12px 26px rgba(55,63,128,.11);
  }
  82%{
    transform:translateY(104px) scale(1);
    background:#fff8dc;
  }
  88%{
    transform:translateY(52px) scale(1.015);
    background:#ecf7ff;
  }
  94%,100%{
    transform:translateY(0) scale(1.035);
    background:#e9fff7;
    box-shadow:0 22px 44px rgba(32,210,155,.32);
  }
}

@keyframes leaderCompA{
  0%,82%{
    transform:translateY(0);
    opacity:1;
  }
  94%,100%{
    transform:translateY(78px);
    opacity:.84;
  }
}

@keyframes leaderCompB{
  0%,82%{
    transform:translateY(78px);
    opacity:1;
  }
  94%,100%{
    transform:translateY(156px);
    opacity:.74;
  }
}

/* Rank labels change at the same late transition as the card movement */
@keyframes leaderStateEarly{
  0%,86%{
    opacity:1;
    transform:translateY(0);
  }
  92%,100%{
    opacity:0;
    transform:translateY(-8px);
  }
}

@keyframes leaderStateFinal{
  0%,86%{
    opacity:0;
    transform:translateY(8px);
  }
  94%,100%{
    opacity:1;
    transform:translateY(0);
  }
}

/* Keep progress running during campaign, then finish before the card scroll */
@keyframes leaderboardProgress{
  0%,18%{width:0}
  36%{width:32%}
  56%{width:58%}
  72%{width:82%}
  80%,100%{width:100%}
}


/* Clean leaderboard cards */
.rank-card{
  grid-template-columns:42px 52px 1fr 52px !important;
  min-height:74px !important;
  padding:12px 14px !important;
  overflow:hidden !important;
  align-items:center !important;
}

.rank-card div{
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  min-width:0 !important;
}

.rank-card strong{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  color:#20284d !important;
}

.rank-card .app-icon{
  width:52px !important;
  height:52px !important;
  border-radius:16px !important;
  flex-shrink:0 !important;
}

.rank-card .get-pill{
  width:48px !important;
  height:32px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-shrink:0 !important;
}

.rank-label{
  width:42px !important;
  height:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.leaderboard-window{
  height:276px !important;
}

.leaderboard-list{
  height:276px !important;
}

/* Adjust card spacing for larger cards */
.competitor-a{
  transform:translateY(0);
}

.competitor-b{
  transform:translateY(92px);
}

.advertised-vpn{
  transform:translateY(184px);
}

@keyframes leaderVpnClimb{
  0%,76%{
    transform:translateY(184px) scale(.98);
  }
  82%{
    transform:translateY(124px) scale(1);
  }
  88%{
    transform:translateY(62px) scale(1.015);
  }
  94%,100%{
    transform:translateY(0) scale(1.035);
  }
}

@keyframes leaderCompA{
  0%,82%{
    transform:translateY(0);
  }
  94%,100%{
    transform:translateY(92px);
  }
}

@keyframes leaderCompB{
  0%,82%{
    transform:translateY(92px);
  }
  94%,100%{
    transform:translateY(184px);
  }
}


/* Final polished App Store cards */
.rank-card{
  grid-template-columns:34px 56px 1fr 50px !important;
  gap:8px !important;
}

/* Full visible titles */
.rank-card strong{
  font-size:13px !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
  line-height:1.15 !important;
  max-width:100% !important;
}

/* Reduce unnecessary spacing */
.rank-label{
  width:34px !important;
  min-width:34px !important;
  justify-content:flex-start !important;
  font-size:14px !important;
}

/* Premium app icons */
.vpn-icon,
.shield-blue,
.lock-purple{
  position:relative;
  overflow:hidden;
  border-radius:18px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.45),
    0 10px 22px rgba(32,40,77,.18) !important;
}

/* Turbo VPN Unlimited */
.vpn-icon{
  background:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.95) 0 8px, transparent 9px),
    linear-gradient(145deg,#20d29b 0%,#00b7ff 52%,#5351fb 100%) !important;
}

.vpn-icon:before{
  content:"";
  position:absolute;
  inset:11px;
  border-radius:12px;
  border:3px solid rgba(255,255,255,.92);
}

.vpn-icon:after{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  opacity:.92;
}

/* ShieldGuard VPN */
.shield-blue{
  background:
    linear-gradient(145deg,#45a8ff,#2d5bff) !important;
}

.shield-blue:before{
  content:"";
  position:absolute;
  left:15px;
  top:10px;
  width:24px;
  height:30px;
  background:#fff;
  clip-path:polygon(50% 0%,100% 18%,100% 58%,50% 100%,0% 58%,0% 18%);
  opacity:.96;
}

.shield-blue:after{
  content:"";
  position:absolute;
  left:22px;
  top:18px;
  width:10px;
  height:6px;
  border-left:3px solid #2d5bff;
  border-bottom:3px solid #2d5bff;
  transform:rotate(-45deg);
}

/* UltraVPN Secure */
.lock-purple{
  background:
    linear-gradient(145deg,#7b5cff,#b06cff) !important;
}

.lock-purple:before{
  content:"";
  position:absolute;
  left:18px;
  top:10px;
  width:18px;
  height:14px;
  border:4px solid rgba(255,255,255,.95);
  border-bottom:0;
  border-radius:14px 14px 0 0;
}

.lock-purple:after{
  content:"";
  position:absolute;
  left:15px;
  top:24px;
  width:24px;
  height:18px;
  border-radius:7px;
  background:#fff;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.08);
}

/* Better card spacing */
.rank-card .app-icon{
  width:56px !important;
  height:56px !important;
}

.rank-card{
  padding:12px 12px !important;
}

/* Improve leaderboard card readability */
.rank-card div{
  padding-right:4px !important;
}


/* Final card spacing + smooth continuous leaderboard motion */
.rank-card{
  grid-template-columns:28px 54px 1fr !important;
  gap:5px !important;
  padding:12px 13px !important;
}

.rank-label{
  width:28px !important;
  min-width:28px !important;
  justify-content:flex-start !important;
  padding:0 !important;
}

.rank-card .app-icon{
  width:54px !important;
  height:54px !important;
}

.rank-card strong{
  font-size:14px !important;
  line-height:1.16 !important;
  white-space:normal !important;
  overflow:visible !important;
}

.rank-card div{
  padding-left:2px !important;
  padding-right:0 !important;
}

/* Remove any remaining GET button styling impact */
.get-pill,
.active-get{
  display:none !important;
}

/* Continuous smooth motion instead of stepped card movement */
.competitor-a{
  animation:leaderCompASmooth 16s cubic-bezier(.45,0,.15,1) infinite !important;
}

.competitor-b{
  animation:leaderCompBSmooth 16s cubic-bezier(.45,0,.15,1) infinite !important;
}

.advertised-vpn{
  animation:leaderVpnSmooth 16s cubic-bezier(.45,0,.15,1) infinite !important;
}

@keyframes leaderVpnSmooth{
  0%,66%{
    transform:translateY(184px) scale(.98);
    background:#fff4ef;
    box-shadow:0 12px 26px rgba(55,63,128,.11);
  }
  100%{
    transform:translateY(0) scale(1.035);
    background:#e9fff7;
    box-shadow:0 22px 44px rgba(32,210,155,.32);
  }
}

@keyframes leaderCompASmooth{
  0%,66%{
    transform:translateY(0);
    opacity:1;
  }
  100%{
    transform:translateY(92px);
    opacity:.84;
  }
}

@keyframes leaderCompBSmooth{
  0%,66%{
    transform:translateY(92px);
    opacity:1;
  }
  100%{
    transform:translateY(184px);
    opacity:.74;
  }
}

/* Keep rank labels changing near the end, matching the smooth reorder */
@keyframes leaderStateEarly{
  0%,82%{
    opacity:1;
    transform:translateY(0);
  }
  90%,100%{
    opacity:0;
    transform:translateY(-8px);
  }
}

@keyframes leaderStateFinal{
  0%,82%{
    opacity:0;
    transform:translateY(8px);
  }
  92%,100%{
    opacity:1;
    transform:translateY(0);
  }
}


/* Improved campaign icons */
.service .campaign-service-icon{
width:108px !important;
height:108px !important;
border-radius:32px !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
margin:0 auto 28px !important;
position:relative !important;
overflow:hidden !important;
}

.service .campaign-service-icon svg{
width:74px !important;
height:74px !important;
display:block !important;
}

.campaign-purple{
background:radial-gradient(circle at top left,#8a5cff,#5351fb) !important;
box-shadow:0 24px 50px rgba(83,81,251,.34) !important;
}

.campaign-blue{
background:radial-gradient(circle at top left,#3db6ff,#005eff) !important;
box-shadow:0 24px 50px rgba(0,94,255,.30) !important;
}

.campaign-green{
background:radial-gradient(circle at top left,#34e8a1,#00a86b) !important;
box-shadow:0 24px 50px rgba(0,168,107,.30) !important;
}

.campaign-orange{
background:radial-gradient(circle at top left,#ffbd66,#ff8500) !important;
box-shadow:0 24px 50px rgba(255,133,0,.30) !important;
}


/* Final premium campaign icons */
.service-icon,
.campaign-service-icon{
width:110px !important;
height:110px !important;
border-radius:34px !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
margin:0 auto 30px !important;
overflow:hidden !important;
position:relative !important;
}

.service-icon svg,
.campaign-service-icon svg{
width:74px !important;
height:74px !important;
display:block !important;
}

.premium-purple{
background:radial-gradient(circle at top left,#9166ff,#5351fb) !important;
box-shadow:0 24px 54px rgba(83,81,251,.35) !important;
}

.premium-blue{
background:radial-gradient(circle at top left,#46b5ff,#005fff) !important;
box-shadow:0 24px 54px rgba(0,95,255,.30) !important;
}

.premium-green{
background:radial-gradient(circle at top left,#34e7a1,#00a86b) !important;
box-shadow:0 24px 54px rgba(0,168,107,.30) !important;
}

.premium-orange{
background:radial-gradient(circle at top left,#ffc46b,#ff8400) !important;
box-shadow:0 24px 54px rgba(255,132,0,.30) !important;
}


/* Premium basket pricing visuals */
.basket-tier{
width:120px !important;
height:120px !important;
margin:0 auto 22px !important;
position:relative !important;
display:flex !important;
align-items:center !important;
justify-content:center !important;
}

.basket{
width:90px;
height:68px;
border:4px solid rgba(255,255,255,.92);
border-top:none;
border-radius:0 0 20px 20px;
display:flex;
flex-wrap:wrap;
gap:6px;
justify-content:center;
align-content:flex-start;
padding:16px 10px 10px;
position:relative;
background:rgba(255,255,255,.06);
backdrop-filter:blur(8px);
box-shadow:0 14px 30px rgba(0,0,0,.22);
}

.basket:before{
content:"";
position:absolute;
top:-18px;
left:50%;
transform:translateX(-50%);
width:58px;
height:26px;
border:4px solid rgba(255,255,255,.92);
border-bottom:none;
border-radius:20px 20px 0 0;
}

.cube{
width:16px;
height:16px;
border-radius:5px;
background:linear-gradient(135deg,#ffffff,#d6d6ff);
box-shadow:0 4px 10px rgba(255,255,255,.22);
}

.basket-tier .cube:nth-child(2n){
background:linear-gradient(135deg,#b388ff,#7a5cff);
}

.basket-tier .cube:nth-child(3n){
background:linear-gradient(135deg,#4db5ff,#0066ff);
}

.basket-tier .cube:nth-child(4n){
background:linear-gradient(135deg,#34e7a1,#00a86b);
}

.up-arrow{
position:absolute;
right:8px;
top:4px;
width:20px;
height:20px;
border-top:5px solid #fff;
border-right:5px solid #fff;
transform:rotate(45deg);
filter:drop-shadow(0 0 12px rgba(255,255,255,.6));
}

.premium-crown{
position:absolute;
top:-2px;
right:6px;
font-size:24px;
color:#ffd76a;
text-shadow:0 0 18px rgba(255,215,106,.65);
}

.starter-basket .basket{
transform:scale(.92);
}

.growth-basket .basket{
transform:scale(1);
}

.pro-basket .basket{
transform:scale(1.08);
}

.enterprise-basket .basket{
transform:scale(1.16);
}


/* Shopping basket pricing icons */
.basket{
width:96px !important;
height:64px !important;
border:4px solid rgba(255,255,255,.95) !important;
border-top:none !important;
border-radius:0 0 18px 18px !important;
background:rgba(255,255,255,.05) !important;
position:relative !important;
padding:14px 10px 10px !important;
display:flex !important;
flex-wrap:wrap !important;
justify-content:center !important;
align-content:flex-start !important;
gap:6px !important;
box-shadow:0 0px 34px rgba(0,0,0,.28) !important;
backdrop-filter:blur(10px) !important;
}

.basket:before{
content:"" !important;
position:absolute !important;
top:-16px !important;
left:8px !important;
right:8px !important;
height:14px !important;
border:4px solid rgba(255,255,255,.95) !important;
border-bottom:none !important;
border-radius:14px 14px 0 0 !important;
transform:perspective(40px) rotateX(25deg) !important;
}

.basket:after{
content:"" !important;
position:absolute !important;
bottom:-12px !important;
left:14px !important;
width:12px !important;
height:12px !important;
border-radius:50% !important;
background:white !important;
box-shadow:54px 0 0 white !important;
opacity:.95 !important;
}

.cube{
width:15px !important;
height:15px !important;
border-radius:5px !important;
}


/* Metal mesh shopping basket style */
.basket{
width:102px !important;
height:62px !important;
position:relative !important;
background:
repeating-linear-gradient(
90deg,
rgba(255,255,255,.12) 0px,
rgba(255,255,255,.12) 2px,
transparent 2px,
transparent 10px),
repeating-linear-gradient(
0deg,
rgba(255,255,255,.10) 0px,
rgba(255,255,255,.10) 2px,
transparent 2px,
transparent 10px),
rgba(255,255,255,.05) !important;
border:4px solid rgba(255,255,255,.92) !important;
border-top:none !important;
border-radius:0 0 16px 16px !important;
backdrop-filter:blur(8px) !important;
box-shadow:
0 0px 34px rgba(0,0,0,.28),
inset 0 1px 0 rgba(255,255,255,.18) !important;
overflow:visible !important;
}

.basket:before{
content:"" !important;
position:absolute !important;
top:-18px !important;
left:8px !important;
right:8px !important;
height:16px !important;
border:4px solid rgba(255,255,255,.92) !important;
border-bottom:none !important;
border-radius:18px 18px 0 0 !important;
background:linear-gradient(to bottom,
rgba(255,255,255,.18),
rgba(255,255,255,.03)) !important;
}

.basket:after{
content:"" !important;
position:absolute !important;
bottom:-14px !important;
left:16px !important;
width:12px !important;
height:12px !important;
border-radius:50% !important;
background:linear-gradient(135deg,#fff,#cfcfff) !important;
box-shadow:
56px 0 0 #fff,
0 0 10px rgba(255,255,255,.4) !important;
}

.cube{
width:14px !important;
height:14px !important;
border-radius:4px !important;
border:1px solid rgba(255,255,255,.25) !important;
}


/* Open shopping basket style like reference */
.basket{
width:108px !important;
height:62px !important;
position:relative !important;
display:flex !important;
flex-wrap:wrap !important;
justify-content:center !important;
align-content:flex-start !important;
gap:6px !important;
padding:14px 10px 8px !important;
overflow:visible !important;
background:
repeating-linear-gradient(
90deg,
rgba(255,255,255,.14) 0px,
rgba(255,255,255,.14) 2px,
transparent 2px,
transparent 12px),
repeating-linear-gradient(
0deg,
rgba(255,255,255,.12) 0px,
rgba(255,255,255,.12) 2px,
transparent 2px,
transparent 12px),
rgba(255,255,255,.04) !important;
border-left:4px solid rgba(255,255,255,.95) !important;
border-right:4px solid rgba(255,255,255,.95) !important;
border-bottom:4px solid rgba(255,255,255,.95) !important;
border-top:none !important;
border-radius:0 0 16px 16px !important;
transform:perspective(120px) rotateX(-8deg) !important;
box-shadow:
0 0px 34px rgba(0,0,0,.26),
inset 0 1px 0 rgba(255,255,255,.15) !important;
}

.basket:before{
content:"" !important;
position:absolute !important;
top:-18px !important;
left:12px !important;
right:12px !important;
height:18px !important;
border:4px solid rgba(255,255,255,.95) !important;
border-bottom:none !important;
border-radius:18px 18px 0 0 !important;
background:rgba(255,255,255,.03) !important;
}

.basket:after{
content:"" !important;
position:absolute !important;
left:-4px !important;
right:-4px !important;
top:-2px !important;
height:4px !important;
background:rgba(255,255,255,.95) !important;
border-radius:10px !important;
}

.cube{
width:14px !important;
height:14px !important;
border-radius:4px !important;
border:1px solid rgba(255,255,255,.22) !important;
box-shadow:0 4px 12px rgba(0,0,0,.18) !important;
}

/* ===== Statistics dashboard card refresh ===== */
.feature-card{
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 26px 70px rgba(34,42,92,.17);
}

.feature-card:hover{
  filter:drop-shadow(0 32px 72px rgba(34,42,92,.22));
}

.card-scene .fc1{z-index:2;}
.card-scene .fc2{z-index:3;}
.card-scene .fc3{z-index:1;}

/* ===== Reach Users specific statistics cards ===== */
.feature-card[src*="reach-google-play-impressions"],
.feature-card[src*="reach-install-funnel"],
.feature-card[src*="reach-keyword-growth"]{
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 28px 75px rgba(34,42,92,.18);
}

/* ===== Final Reach Users statistics cards ===== */
.feature-card[src*="reach-stats-"]{
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 28px 75px rgba(34,42,92,.18);
}


/* ===== Premium statistics cards ===== */
.feature-card{
    border-radius:32px !important;
    overflow:hidden;
    background:#ffffff;
    box-shadow:0 35px 90px rgba(23,31,84,.16) !important;
    border:1px solid rgba(220,226,245,.7);
    transition:transform .35s ease, box-shadow .35s ease;
}

.feature-card:hover{
    transform:translateY(-10px);
    box-shadow:0 45px 110px rgba(23,31,84,.22) !important;
}


/* ===== Marketing Strategy premium statistics cards ===== */
.feature-card[src*="marketing-card"]{
    border-radius:32px;
    overflow:hidden;
    box-shadow:0 36px 90px rgba(22,31,84,.18);
    border:1px solid rgba(227,232,248,.85);
}

/* ===== Correct Marketing Strategy premium cards ===== */
.feature-card[src*="marketing-premium-"]{
  border-radius:32px !important;
  overflow:hidden;
  background:#fff;
  box-shadow:0 36px 90px rgba(22,31,84,.18) !important;
  border:1px solid rgba(227,232,248,.85);
}

/* ===== Matching pricing ORDER NOW buttons ===== */
.order-now-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    margin-top:22px;
    padding:15px 26px;
    border-radius:999px;
    color:#ffffff !important;
    font-weight:800;
    font-size:14px;
    letter-spacing:.08em;
    text-decoration:none !important;
    border:0;
    position:relative;
    overflow:hidden;
    box-shadow:0 18px 38px rgba(34,42,92,.20);
    transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.order-now-btn::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg,rgba(255,255,255,.28),rgba(255,255,255,0) 45%);
    opacity:.8;
    pointer-events:none;
}

.order-now-btn:hover{
    transform:translateY(-3px);
    filter:saturate(1.08);
}

.order-now-starter{
    background:linear-gradient(135deg,#38bdf8 0%,#2563eb 100%);
    box-shadow:0 18px 38px rgba(37,99,235,.28);
    z-index: 1;
}

.order-now-growth{
    background:linear-gradient(135deg,#8b5cf6 0%,#5b21b6 100%);
    box-shadow:0 18px 38px rgba(124,58,237,.28);
    z-index: 1;
}

.order-now-pro{
    background:linear-gradient(135deg,#22c55e 0%,#0f9f6e 100%);
    box-shadow:0 18px 38px rgba(16,185,129,.28);
    z-index: 1;
}

.order-now-enterprise{
    background:linear-gradient(135deg,#f59e0b 0%,#ef4444 100%);
    box-shadow:0 18px 38px rgba(245,158,11,.30);
    z-index: 1;
}
