/* ===== Tcongs V2 animation add-on ===== */

/* Scroll progress bar */
.rd2a-progress{display:none !important;position:fixed;top:0;left:0;height:3px;width:100%;z-index:99999;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#5AB0FF,#2457FF,#7C5CFF);pointer-events:none}

/* Hero animated background */
#home.rd2-hero{background-size:200% 200% !important;animation:rd2aBg 14s ease-in-out infinite}
@keyframes rd2aBg{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Hero glowing orbs */
.rd2a-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;pointer-events:none;z-index:0;animation:rd2aOrb 12s ease-in-out infinite}
.rd2a-orb.o1{width:320px;height:320px;background:#5AB0FF;top:-80px;left:-60px}
.rd2a-orb.o2{width:260px;height:260px;background:#7C5CFF;bottom:40px;right:8%;animation-delay:-4s}
.rd2a-orb.o3{width:200px;height:200px;background:#2DD4FF;top:30%;left:45%;animation-delay:-8s;opacity:.3}
@keyframes rd2aOrb{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.15)}66%{transform:translate(-30px,30px) scale(.9)}}
#home .rd2-container{position:relative;z-index:2}

/* Hero headline words */
.rd2a-word{display:inline-block;opacity:0;transform:translateY(28px) rotateX(-40deg);animation:rd2aWord .8s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes rd2aWord{to{opacity:1;transform:none}}

/* Shimmer on highlighted word */
#home .rd2-hl{color:#8FD0FF}
#home .rd2-hl .rd2a-word{background:linear-gradient(90deg,#8FD0FF 0%,#ffffff 25%,#8FD0FF 50%,#ffffff 75%,#8FD0FF 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:rd2aWord .8s cubic-bezier(.2,.8,.2,1) forwards,rd2aShimmer 3.5s linear infinite}
@keyframes rd2aShimmer{to{background-position:200% center}}

/* Hero chips pop in */
.rd2-hero-chips li{opacity:0;transform:scale(.8) translateY(10px);animation:rd2aPop .6s cubic-bezier(.3,1.4,.5,1) forwards}
.rd2-hero-chips li:nth-child(1){animation-delay:.9s}
.rd2-hero-chips li:nth-child(2){animation-delay:1.05s}
.rd2-hero-chips li:nth-child(3){animation-delay:1.2s}
@keyframes rd2aPop{to{opacity:1;transform:none}}

/* CTA buttons */
.rd2-hero-ctas .rd2-btn{opacity:0;transform:translateY(16px);animation:rd2aPop .7s 1.35s cubic-bezier(.2,.8,.2,1) forwards}
.rd2-hero-ctas .rd2-btn+.rd2-btn{animation-delay:1.5s}
.rd2-btn-primary{position:relative;overflow:hidden;animation:rd2aPop .7s 1.35s cubic-bezier(.2,.8,.2,1) forwards,rd2aPulse 2.8s 2.5s ease-in-out infinite}
@keyframes rd2aPulse{0%,100%{box-shadow:0 8px 24px rgba(36,87,255,.35)}50%{box-shadow:0 8px 34px rgba(90,176,255,.75),0 0 0 8px rgba(90,176,255,.12)}}
.rd2-btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:none}
.rd2-btn{position:relative;overflow:hidden}
.rd2-btn:hover::after{left:140%;transition:left .7s ease}
.rd2-btn:hover .rd2-arr{transform:translateX(6px)}
.rd2-btn .rd2-arr{display:inline-block;transition:transform .3s ease}

/* Laptop visual */
.rd2-hero-visual{perspective:1200px}
.rd2-laptop{transition:transform .25s ease-out;transform-style:preserve-3d;will-change:transform}
.rd2-screen-cards span{position:relative;overflow:hidden}
.rd2-screen-cards span::after,.rd2-screen-side span::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:translateX(-100%);animation:rd2aSweep 2.8s ease-in-out infinite}
.rd2-screen-side span{position:relative;overflow:hidden}
.rd2-screen-cards span:nth-child(2)::after{animation-delay:.4s}
.rd2-screen-cards span:nth-child(3)::after{animation-delay:.8s}
@keyframes rd2aSweep{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
.rd2-bars i{animation:rd2aBar 3.2s ease-in-out infinite;transform-origin:50% 100%}
.rd2-bars i:nth-child(2n){animation-delay:.3s}
.rd2-bars i:nth-child(3n){animation-delay:.6s}
@keyframes rd2aBar{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.72)}}
.rd2-growth-chip{animation:rd2aBob 5s ease-in-out infinite}
@keyframes rd2aBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.rd2-float{transition:filter .3s}
.rd2-float:hover{filter:drop-shadow(0 12px 22px rgba(90,176,255,.7))}

/* Wave motion */
.rd2-wave{animation:rd2aWave 9s ease-in-out infinite alternate}
@keyframes rd2aWave{from{transform:translateX(-1.5%) scaleX(1.04)}to{transform:translateX(1.5%) scaleX(1.04)}}

/* Scroll reveal (JS driven, no HTML change needed) */
.rd2a-on .rd2a-r{opacity:0;transform:translateY(40px) scale(.97);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.rd2a-on .rd2a-r.rd2a-left{transform:translateX(-50px)}
.rd2a-on .rd2a-r.rd2a-right{transform:translateX(50px)}
.rd2a-on .rd2a-r.rd2a-in{opacity:1;transform:none}

/* Card hover effects */
.rd2-svc,.rd2-tile,.rd2-step,.rd2-trust-card,.rd2-blog-card,.rd2-skill{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.rd2-svc:hover,.rd2-tile:hover,.rd2-trust-card:hover,.rd2-blog-card:hover{transform:translateY(-10px);box-shadow:0 24px 48px rgba(36,87,255,.22)}
.rd2-step:hover{transform:translateY(-8px)}
.rd2-blog-media{overflow:hidden}
.rd2-blog-media img{transition:transform .8s ease}
.rd2-blog-card:hover .rd2-blog-media img{transform:scale(1.1)}

/* Icons */
.rd2-icon{animation:rd2aBob 5s ease-in-out infinite}
.rd2-svc:nth-child(2) .rd2-icon,.rd2-tile:nth-child(2n) .rd2-icon{animation-delay:-1.5s}
.rd2-svc:nth-child(3) .rd2-icon,.rd2-tile:nth-child(3n) .rd2-icon{animation-delay:-3s}
.rd2-svc:hover .rd2-icon,.rd2-tile:hover .rd2-icon{animation:rd2aWiggle .6s ease}
@keyframes rd2aWiggle{0%{transform:scale(1) rotate(0)}30%{transform:scale(1.2) rotate(-10deg)}60%{transform:scale(1.2) rotate(8deg)}100%{transform:scale(1) rotate(0)}}

/* Arrow circle */
.rd2-arrow-circle{transition:transform .3s ease,background .3s ease}
.rd2-svc:hover .rd2-arrow-circle,.rd2-tile:hover .rd2-arrow-circle{transform:translateX(6px) scale(1.1)}

/* Process step numbers pulse ring */
.rd2-step-num{position:relative}
.rd2-step-num::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(36,87,255,.45);animation:rd2aRing 2.4s ease-out infinite}
@keyframes rd2aRing{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.5);opacity:0}}

/* Marketplace chips */
.rd2-mp-chip{transition:transform .3s cubic-bezier(.3,1.4,.5,1),box-shadow .3s}
.rd2-mp-chip:hover{transform:translateY(-8px) scale(1.08);box-shadow:0 16px 30px rgba(0,0,0,.28)}

/* Section titles underline draw */
.rd2-head h2{position:relative;display:inline-block}
.rd2-head h2::after{content:"";display:block;height:4px;border-radius:4px;margin:10px auto 0;width:0;background:linear-gradient(90deg,#2457FF,#5AB0FF);transition:width 1s .4s cubic-bezier(.2,.8,.2,1)}
.rd2-head.rd2a-in h2::after{width:70%}

/* FAQ */
.faq-item{transition:transform .3s ease,box-shadow .3s ease}
.faq-item:hover{transform:translateX(6px);box-shadow:0 10px 26px rgba(36,87,255,.14)}
.faq-icon{transition:transform .35s ease}
.faq-item.active .faq-icon{transform:rotate(180deg)}

@media (max-width:768px){
  .rd2a-orb{opacity:.3;filter:blur(40px)}
  .rd2a-on .rd2a-r.rd2a-left,.rd2a-on .rd2a-r.rd2a-right{transform:translateY(32px)}
  .rd2-svc:hover,.rd2-tile:hover,.rd2-trust-card:hover,.rd2-blog-card:hover{transform:none}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .rd2a-word,.rd2-hero-chips li,.rd2-hero-ctas .rd2-btn{opacity:1 !important;transform:none !important}
  .rd2a-on .rd2a-r{opacity:1 !important;transform:none !important}
}
/* ===== Section heading stack (forced) ===== */
.rd2-main .rd2-head{display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important}
.rd2-main .rd2-head .rd2-pill{flex:0 0 auto;float:none !important;position:static !important;margin:0 0 6px 0 !important}
.rd2-main .rd2-head h2{flex:0 0 auto;width:100% !important;max-width:100% !important;float:none !important;margin:10px 0 0 0 !important;text-align:center !important}
.rd2-main .rd2-head p{margin-left:auto !important;margin-right:auto !important;text-align:center !important}

/* ===== Section heading stack (forced) ===== */
.rd2-main .rd2-head{display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important}
.rd2-main .rd2-head .rd2-pill{flex:0 0 auto;float:none !important;position:static !important;margin:0 0 6px 0 !important}
.rd2-main .rd2-head h2{flex:0 0 auto;width:100% !important;max-width:100% !important;float:none !important;margin:10px 0 0 0 !important;text-align:center !important}
.rd2-main .rd2-head p{margin-left:auto !important;margin-right:auto !important;text-align:center !important}

/* ===== Blog head left align (strong) ===== */
.rd2-main .rd2-blog-head .rd2-head{align-items:flex-start !important;text-align:left !important}
.rd2-main .rd2-blog-head .rd2-head .rd2-pill{align-self:flex-start !important}
.rd2-main .rd2-blog-head .rd2-head h2{text-align:left !important;width:auto !important}
.rd2-main .rd2-blog-head .rd2-head h2::after{margin-left:0 !important;margin-right:auto !important}

/* ===== Mobile final CTA gap fix ===== */
@media (max-width:768px){
  .rd2-cta-panel{flex-wrap:nowrap !important;gap:18px !important}
  .rd2-cta-text{flex:0 0 auto !important;width:100%}
  .rd2-cta-panel .rd2-btn{flex:0 0 auto !important}
}

/* ===== Mobile expert box gap fix ===== */
@media (max-width:768px){
  .rd2-expert{flex-wrap:nowrap !important}
  .rd2-expert-text{flex:0 0 auto !important;width:100%}
  .rd2-expert .rd2-btn{flex:0 0 auto !important}
}
/* ===== Footer redesign fix ===== */
.footer-corporate{
  background:
    radial-gradient(700px 300px at 85% 0%, rgba(61,123,255,.35), transparent 60%),
    linear-gradient(160deg,#061641,#0A2370) !important;
  color:#fff !important;
}

/* Trust strip */
.footer-corporate .footer-trust-strip{background:transparent !important;border:0 !important;box-shadow:none !important}
.footer-corporate .footer-trust-title{color:#9FB6E8 !important}
.footer-corporate .footer-trust-items{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:22px !important;
  box-shadow:none !important;
}
.footer-corporate .footer-trust-item{background:transparent !important;border-color:rgba(255,255,255,.12) !important}
.footer-corporate .footer-trust-item strong{color:#fff !important}
.footer-corporate .footer-trust-item small{color:#B7C8F5 !important}
.footer-corporate .footer-trust-item .trust-icon{
  background:linear-gradient(145deg,#5B9BFF,#2148F2) !important;
  color:#fff !important;
  opacity:1 !important;
}

/* Brand logo on a white pill so it is clearly visible */
.footer-corporate .footer-brand-link{
  display:inline-block;
  background:#fff;
  padding:10px 18px;
  border-radius:16px;
  box-shadow:0 12px 28px -12px rgba(0,0,0,.5);
}
.footer-corporate .footer-brand-logo{opacity:1 !important;filter:none !important;display:block;max-width:190px;height:auto}
.footer-corporate .footer-brand-tagline{color:#C3D0EE !important;opacity:1 !important}

/* Link cards */
.footer-corporate .footer-links-column{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:18px !important;
  padding:20px 22px !important;
}
.footer-corporate .footer-column-title{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  width:100%;
  color:#7FC0FF !important;
  background:none !important;
  border:0 !important;
  padding:0 !important;
  font-weight:800;
  letter-spacing:.14em !important;
  cursor:default;
}
.footer-corporate .footer-list-items a,
.footer-corporate .footer-contact-details a,
.footer-corporate .footer-contact-details span{color:#D3DEF7 !important;opacity:1 !important}
.footer-corporate .footer-list-items a:hover,
.footer-corporate .footer-contact-details a:hover{color:#fff !important}

/* Chevron icon instead of the plus sign */
.footer-corporate .footer-accordion-icon{
  position:relative;
  display:none !important;
  flex:none;
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.16) !important;
  border:1px solid rgba(255,255,255,.28);
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  transition:background .3s ease,transform .3s ease;
}
.footer-corporate .footer-accordion-icon::before{display:none !important;content:none !important}
.footer-corporate .footer-accordion-icon::after{
  content:"" !important;
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-right:2.5px solid #fff;
  border-bottom:2.5px solid #fff;
  background:none !important;
  transform:translate(-50%,-70%) rotate(45deg);
  transition:transform .3s ease;
}
.footer-corporate .footer-accordion-toggle[aria-expanded="true"] .footer-accordion-icon,
.footer-corporate .footer-links-column.active .footer-accordion-icon,
.footer-corporate .footer-links-column.open .footer-accordion-icon,
.footer-corporate .footer-links-column.is-open .footer-accordion-icon{background:#2457FF !important}
.footer-corporate .footer-accordion-toggle[aria-expanded="true"] .footer-accordion-icon::after,
.footer-corporate .footer-links-column.active .footer-accordion-icon::after,
.footer-corporate .footer-links-column.open .footer-accordion-icon::after,
.footer-corporate .footer-links-column.is-open .footer-accordion-icon::after{
  transform:translate(-50%,-30%) rotate(-135deg);
}

/* Desktop layout: brand on the left, 2 x 2 cards on the right */
@media (min-width:901px){
  .footer-corporate .footer-main-grid{
    display:grid !important;
    grid-template-columns:0.9fr 1fr 1.1fr;
    gap:22px;
    align-items:start;
  }
  .footer-corporate .footer-main-grid > :nth-child(1){grid-column:2;grid-row:1}
  .footer-corporate .footer-main-grid > :nth-child(2){grid-column:2;grid-row:2}
  .footer-corporate .footer-main-grid > :nth-child(3){grid-column:1;grid-row:1 / span 2;align-self:center;text-align:center}
  .footer-corporate .footer-main-grid > :nth-child(4){grid-column:3;grid-row:1}
  .footer-corporate .footer-main-grid > :nth-child(5){grid-column:3;grid-row:2}
  .footer-corporate .footer-column-title{margin-bottom:12px}
}

/* Mobile: accordion cards with chevron */
@media (max-width:900px){
  .footer-corporate .footer-accordion-icon{display:block !important}
  .footer-corporate .footer-column-title{cursor:pointer;min-height:44px}
  .footer-corporate .footer-brand-column{text-align:center}
  .footer-corporate .footer-brand-link{margin:0 auto}
}
/* ===== Mobile performance: switch off heavy infinite animations ===== */
@media (max-width:900px){
  #home.rd2-hero{animation:none !important;background-size:auto !important}
  .rd2a-orb{display:none !important}
  .rd2-icon,.rd2-growth-chip,.rd2-wave{animation:none !important}
  .rd2-step-num::before{animation:none !important;display:none}
  .rd2-screen-cards span::after,.rd2-screen-side span::after{animation:none !important}
  .rd2-bars i{animation:none !important}
  .rd2-btn-primary{animation:rd2aPop .7s 1.35s cubic-bezier(.2,.8,.2,1) forwards !important}
  .rd2a-on .rd2a-r{transition-duration:.55s}
}
/* ===== Marketplace bar carousel ===== */
.rd2c{position:relative;min-width:0}
.rd2c-track{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;padding:8px 0;margin:-8px 0;box-sizing:border-box;transition:height .3s ease}
.rd2c-track::-webkit-scrollbar{display:none}
.rd2c-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:flex-start}
.rd2c-slide .rd2-mp-grid{width:100%}
.rd2c .rd2-mp-chip > span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.rd2c .rd2-mp-chip:hover{transform:translateY(-3px) !important;box-shadow:0 6px 14px rgba(0,0,0,.25) !important}
.rd2c-let{font-size:15px;font-weight:800;color:#2457FF;line-height:1}
.rd2-mp-label{transition:opacity .25s ease}
.rd2-mp-label.rd2c-fade{opacity:0}
.rd2c-dots{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:18px;line-height:0}
.rd2c-dots .rd2c-dot{position:relative;flex:none;display:block;box-sizing:border-box;width:8px !important;height:8px !important;min-width:0 !important;min-height:0 !important;max-width:none;max-height:8px !important;margin:0;padding:0 !important;border:0 !important;border-radius:999px !important;background:rgba(255,255,255,.35) !important;box-shadow:none !important;cursor:pointer;transform:none !important;transition:width .3s ease,background .3s ease}
.rd2c-dots .rd2c-dot::after{content:"";position:absolute;inset:-12px -6px}
.rd2c-dots .rd2c-dot:hover{background:rgba(255,255,255,.7) !important}
.rd2c-dots .rd2c-dot.is-active{width:24px !important;background:#5AB0FF !important}
@media (min-width:992px){
  .rd2c-slide .rd2-mp-grid.rd2c-g{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:575px){
  .rd2c .rd2-mp-chip > span:last-child{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}
}