/* Motion recreated from the supplied 83.54-second reference recording. */
.hero{background-size:115% 115%;animation:hero-light 14s ease-in-out infinite alternate}
.hero:before{animation:grid-drift 20s linear infinite}
.hero h1{animation:headline-light 6s linear infinite}
.welcome{animation:welcome-glow 4s ease-in-out infinite}
.welcome:before,.welcome:after,.access:before,.access:after{animation:energy-line 3.8s ease-in-out infinite}
.dot-field{animation:particle-cloud 24s linear infinite}
.dots-right{animation-direction:reverse;animation-delay:-8s}
.floating-icon{animation:float-icon 5.6s ease-in-out infinite}
.float-cloud{animation-delay:-1.4s}.float-coins{animation-delay:-2.8s}.float-bank{animation-delay:-3.5s}.float-card{animation-delay:-4.2s}
.sweep{animation:beam-sweep 12s ease-in-out infinite alternate}.sweep-b{animation-direction:alternate-reverse;animation-delay:-5s}
.developer-core{animation:core-pulse 7s ease-in-out infinite}
.outer-ring{animation:orbit 25s linear infinite}
.dashed-ring{animation:orbit 18s linear infinite reverse}
.tilted-ring{animation:tilted-orbit 21s linear infinite}
.dev-center{animation:developer-float 5s ease-in-out infinite}
/* Hero-only radar: a full circular sweep behind the existing rings and core. */
.hero .dev-ring{z-index:1}
.hero .dev-center,.hero .dev-label{z-index:2}
.hero .dev-scan{
  inset:0;z-index:0;border:0;border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0deg 248deg,#9431c108 268deg,#b348ca26 294deg,#d99a4145 329deg,#f1bd4d8c 356deg,#ffe8a8cf 359deg,transparent 360deg);
  mask-image:radial-gradient(circle closest-side,transparent 0 15%,#000 34% 93%,transparent 100%);
  -webkit-mask-image:radial-gradient(circle closest-side,transparent 0 15%,#000 34% 93%,transparent 100%);
  transform:rotate(-32deg);transform-origin:50% 50%;
  animation:developer-radar-scan 6s linear infinite;
}
.hero .dev-scan:before{
  content:'';position:absolute;left:calc(50% - 1px);top:2%;width:2px;height:48%;
  background:linear-gradient(to bottom,#ffecb2,#f6c966b3 48%,#c074df33 82%,transparent);
  box-shadow:0 0 12px #f6c96680;
}
.hero .dev-scan:after{
  content:'';position:absolute;top:3%;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;
  background:#ffeab0;box-shadow:0 0 9px #ffe5a1,0 0 20px #f2b34d99;
}
.dev-label{animation:label-float 4.8s ease-in-out infinite}
.access{animation:access-light 3.6s ease-in-out infinite}
.brand-grid a{animation:brand-glow 4.8s ease-in-out infinite}
.brand-grid a:after{content:'';position:absolute;inset:-80% -50%;pointer-events:none;background:linear-gradient(110deg,transparent 44%,#ffffff70 50%,transparent 56%);animation:reflection 5.6s ease-in-out infinite;transform:translateX(-85%)}
.brand-grid a:nth-child(2),.brand-grid a:nth-child(2):after{animation-delay:-1.8s}.brand-grid a:nth-child(3),.brand-grid a:nth-child(3):after{animation-delay:-3.6s}
.brand-grid img{animation:logo-breathe 4.2s ease-in-out infinite}.brand-grid a:nth-child(2) img{animation-delay:-1.4s}.brand-grid a:nth-child(3) img{animation-delay:-2.8s}
.page-surface{animation:light-grid 61s linear infinite}
.surface-fx>i{animation:background-icon 18s ease-in-out infinite}
.surface-fx>i:nth-child(2n){animation-delay:-5s}.surface-fx>i:nth-child(3n){animation-delay:-11s}
.certificates>a{animation:certificate-float 6s ease-in-out infinite}.certificates>a:nth-child(even){animation-delay:-3s}
.certificates>a:hover{box-shadow:0 15px 30px #ab5ed633}
.gradient-text{animation:colour-flow 8s ease-in-out infinite alternate}
.about-copy .eyebrow:before,.about-copy .eyebrow:after{animation:pin-glow 3s ease-in-out infinite}
.presence-map i{animation:pin-glow 2.8s ease-in-out infinite}
.presence-map i:nth-child(2n){animation-delay:-1.4s}.presence-map i:nth-child(3n){animation-delay:-.7s}
.growth-bars i{transform-origin:bottom;animation:bar-rise 4s ease-in-out infinite}.growth-bars i:nth-child(2n){animation-delay:-1.3s}
.security-list .icon{animation:security-icon 5s ease-in-out infinite}.security-list>a:nth-child(2) .icon{animation-delay:-1.2s}.security-list>a:nth-child(3) .icon{animation-delay:-2.4s}.security-list>a:nth-child(4) .icon{animation-delay:-3.6s}
.security-promises .icon{animation:logo-breathe 6s ease-in-out infinite}
.book-stage{animation:book-hover 6s ease-in-out infinite}
.book-stage.is-turning .book-cover{animation:book-turn .65s ease both}
.product-panel:not([hidden]){animation:panel-arrive .55s ease both}
.featured-story>img{animation:feature-zoom 12s ease-in-out infinite}
.featured-label{animation:brand-glow 4s ease-in-out infinite}
.news-story{transition:transform .3s,box-shadow .3s}.news-story:hover{transform:translateX(4px)}
.media-strip .icon{animation:logo-breathe 5.5s ease-in-out infinite}
.why-rings>i{animation:orbit 30s linear infinite}.why-rings>i:nth-child(2){animation-direction:reverse;animation-duration:24s}
.why-visual>img{animation:people-float 7s ease-in-out infinite}
.reason-grid article{animation:certificate-float 5.8s ease-in-out infinite}.reason-grid article:nth-child(even){animation-delay:-2.9s}
.technology:before{animation:tech-grid 28s linear infinite}
.tech-stack{animation:stack-wave 8s ease-in-out infinite}.tech-stack-gold{animation:stack-wave-gold 8s ease-in-out infinite}
.tech-stack article{transition:transform .3s,box-shadow .3s}.tech-stack article:hover{transform:translateX(5px);box-shadow:0 0 35px #ba31e555}.tech-stack-gold article:hover{transform:translateX(-5px);box-shadow:0 0 35px #eaa23355}
.energy-tube{animation:tube-flow 5s linear infinite}.energy-tube i{animation:tube-light 4s ease-in-out infinite}
.core-cap{animation:cap-pulse 6s ease-in-out infinite}.cap-bottom{animation-delay:-3s}
.core-logo{animation:core-glow 4s ease-in-out infinite}.core-logo img{animation:core-logo-turn 10s ease-in-out infinite}
.core-logo:after{animation:orbit 21s linear infinite reverse}
.energy-lines{animation:connector-flow 4s ease-in-out infinite}
.tech-bottom .icon{animation:logo-breathe 5s ease-in-out infinite}
.home-footer:before{animation:footer-wave 16s ease-in-out infinite alternate}
.footer-grid h3>.icon{animation:pin-glow 5s ease-in-out infinite}
.is-revealed{animation:reveal-up .75s ease both}
@keyframes hero-light{to{background-position:7% 42%,90% 92%,100% 50%}}
@keyframes grid-drift{to{background-position:74px 74px,74px 74px}}
@keyframes headline-light{from{background-position:260% 50%}to{background-position:-60% 50%}}
@keyframes colour-flow{to{background-position:100% 50%}}
@keyframes welcome-glow{50%{color:#fff2a3;text-shadow:0 0 20px #d49d2466}}
@keyframes energy-line{50%{opacity:.45;scale:.85 1}}
@keyframes particle-cloud{to{background-position:42px 42px;transform:rotate(4deg)}}
@keyframes float-icon{50%{transform:translateY(-12px) rotate(3deg)}}
@keyframes beam-sweep{50%{translate:0 35px;opacity:.4}}
@keyframes core-pulse{50%{scale:1.035;opacity:1}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes tilted-orbit{from{transform:rotate(35deg)}to{transform:rotate(395deg)}}
@keyframes developer-radar-scan{from{transform:rotate(-32deg)}to{transform:rotate(328deg)}}
@keyframes developer-float{50%{translate:0 -8px;box-shadow:0 0 46px #b828b360,0 0 0 13px #9631a519}}
@keyframes label-float{50%{translate:-9px -7px}}
@keyframes access-light{50%{text-shadow:0 0 18px #ebc54466;color:#ffe89c}}
@keyframes brand-glow{50%{box-shadow:0 13px 38px #3b042d50,0 0 25px #dc78d12b}}
@keyframes reflection{0%,25%{transform:translateX(-85%)}70%,100%{transform:translateX(85%)}}
@keyframes logo-breathe{50%{transform:translateY(-3px) scale(1.018)}}
@keyframes light-grid{to{background-position:0 0,0 0,86px 86px,86px 86px,0 0}}
@keyframes background-icon{50%{transform:translate(12px,-18px) rotate(9deg);opacity:.45}}
@keyframes certificate-float{50%{transform:translateY(-4px)}}
@keyframes pin-glow{50%{filter:brightness(1.35);opacity:.55}}
@keyframes bar-rise{50%{transform:scaleY(.78)}}
@keyframes security-icon{50%{transform:translateY(-3px);filter:brightness(1.08)}}
@keyframes book-hover{50%{transform:translateY(-5px) rotate(-.5deg)}}
@keyframes book-turn{0%{transform:rotateY(0)}45%{transform:rotateY(-22deg);filter:brightness(.94)}100%{transform:rotateY(0);filter:brightness(1)}}
@keyframes panel-arrive{from{opacity:.25;transform:translateX(16px)}to{opacity:1;transform:none}}
@keyframes feature-zoom{50%{transform:scale(1.035)}}
@keyframes people-float{50%{transform:translateY(-6px)}}
@keyframes tech-grid{to{background-position:70px 70px,74px 74px,74px 74px}}
@keyframes stack-wave{50%{transform:perspective(1000px) rotateY(3deg) rotate(-1deg)}}
@keyframes stack-wave-gold{50%{transform:perspective(1000px) rotateY(-3deg) rotate(1deg)}}
@keyframes tube-flow{to{background-position:0 -34px,center}}
@keyframes tube-light{50%{opacity:.5;transform:scaleX(.8)}}
@keyframes cap-pulse{50%{transform:scaleX(.94);opacity:.6}}
@keyframes core-glow{50%{box-shadow:0 0 55px #ce28ee90,inset 0 0 40px #c533f7;transform:scale(1.035)}}
@keyframes core-logo-turn{0%,40%,100%{transform:rotateY(0)}50%,90%{transform:rotateY(360deg)}}
@keyframes connector-flow{50%{opacity:.45;translate:8px 0}}
@keyframes footer-wave{to{transform:translate(2%,5%) rotate(2deg)}}
@keyframes reveal-up{from{opacity:.3;transform:translateY(25px)}to{opacity:1;transform:none}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
.motion-paused .is-revealed,.motion-paused .product-panel:not([hidden]){animation:none}
@media(max-width:600px){.tech-stack,.tech-stack-gold{animation:none}.hero .dot-field{opacity:.25}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.is-revealed{opacity:1;transform:none}.hero h1{background-position:50% 50%}}
