
:root{--ry-blue:#1BC3E0;--ry-ink:#2F2F2F;--ry-deep:#121417;--ry-glass:rgba(30,32,36,.55)}
/* elegant-dark-pattern */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
 background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;
 mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 80%)}
/* hero: background paths + spotlight */
.ry-hero{position:relative;isolation:isolate;overflow:hidden}
.ry-paths{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55}
.ry-paths path{fill:none;stroke:var(--ry-blue);stroke-linecap:round;stroke-dasharray:var(--len) var(--len);animation:ryPath var(--d) linear infinite}
@keyframes ryPath{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:calc(var(--len)*-1)}}
.ry-spot{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(520px circle at var(--mx,50%) var(--my,30%),rgba(27,195,224,.16),transparent 60%);transition:opacity .4s}
.ry-hero>*:not(.ry-paths):not(.ry-spot){position:relative;z-index:1}
/* hero entrance (responsive-hero-banner) */
.ry-in{opacity:0;transform:translateY(18px);transition:opacity .6s ease-out,transform .8s cubic-bezier(.2,.8,.2,1)}
.ry-in.ry-on{opacity:1;transform:none}
/* animated-hero rotating word */
.ry-rot{display:inline-grid;vertical-align:bottom;overflow:hidden;height:1.25em}
.ry-rot span{grid-area:1/1;transform:translateY(110%);opacity:0;transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s;color:var(--ry-blue);font-weight:700}
.ry-rot span.on{transform:none;opacity:1}.ry-rot span.out{transform:translateY(-110%);opacity:0}
/* tilted grid (press logos) */
.ry-tilt{perspective:900px}
.ry-tilt>*{transform:rotateX(18deg) rotateZ(-4deg) scale(.96);transform-origin:50% 100%;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.ry-tilt.ry-flat>*{transform:none}
/* scroll-expansion + container-scroll */
.ry-expand{will-change:transform,border-radius;transform-origin:50% 50%;overflow:hidden}
.ry-cscroll-wrap{perspective:1100px}.ry-cscroll{transform-origin:50% 0;will-change:transform;box-shadow:0 30px 80px rgba(0,0,0,.45);border-radius:16px}
/* steps */
.ry-step{position:relative;transition:opacity .5s,transform .5s}
.ry-step:not(.ry-active){opacity:.45;transform:translateX(6px)}
.ry-step>.ry-dot{position:absolute;left:-26px;top:.35em;width:12px;height:12px;border-radius:50%;border:2px solid var(--ry-blue);background:var(--ry-deep);transition:background .4s,box-shadow .4s}
.ry-step.ry-active .ry-dot{background:var(--ry-blue);box-shadow:0 0 0 6px rgba(27,195,224,.18)}
.ry-rail{position:absolute;left:-21px;top:.6em;bottom:.6em;width:2px;background:rgba(255,255,255,.12)}
.ry-rail i{display:block;width:100%;height:var(--p,0%);background:var(--ry-blue);transition:height .25s}
.ry-steps{position:relative;margin-left:26px}
/* radial orbital timeline */
.ry-orbit{position:relative;width:min(340px,80vw);aspect-ratio:1;margin:28px auto}
.ry-orbit .ring{position:absolute;inset:12%;border:1px dashed rgba(27,195,224,.35);border-radius:50%}
.ry-orbit .core{position:absolute;inset:38%;border-radius:50%;display:grid;place-items:center;text-align:center;color:#fff;font:600 14px/1.2 Figtree,sans-serif;
 background:radial-gradient(circle,rgba(27,195,224,.35),rgba(27,195,224,.05) 70%);box-shadow:0 0 40px rgba(27,195,224,.25)}
.ry-orbit .spin{position:absolute;inset:0;animation:rySpin 36s linear infinite}
.ry-orbit:hover .spin,.ry-orbit:focus-within .spin{animation-play-state:paused}
@keyframes rySpin{to{transform:rotate(360deg)}}
.ry-orbit button{position:absolute;left:50%;top:50%;width:84px;margin:-17px 0 0 -42px;padding:8px 6px;border-radius:999px;cursor:pointer;
 border:1px solid rgba(27,195,224,.5);background:var(--ry-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font:600 12px Figtree,sans-serif;
 transform:rotate(var(--a)) translateY(calc(min(340px,80vw)*-.38)) rotate(calc(var(--a)*-1));animation:ryCounter 36s linear infinite}
.ry-orbit:hover button,.ry-orbit:focus-within button{animation-play-state:paused}
@keyframes ryCounter{from{transform:rotate(var(--a)) translateY(calc(min(340px,80vw)*-.38)) rotate(calc(var(--a)*-1))}to{transform:rotate(calc(var(--a) + 360deg)) translateY(calc(min(340px,80vw)*-.38)) rotate(calc(var(--a)*-1 - 360deg))}}
.ry-orbit .spin{animation:none}
.ry-orbit button:hover,.ry-orbit button:focus-visible{background:var(--ry-blue);color:#0d1b1e;outline:none}
/* interactive-hover-button (all CTAs) */
a.elementor-button.ry-ihb{position:relative;overflow:hidden;isolation:isolate;transition:color .35s}
a.elementor-button.ry-ihb::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
a.elementor-button.ry-ihb:hover::before,a.elementor-button.ry-ihb:focus-visible::before{transform:scaleX(1)}
a.elementor-button.ry-ihb:hover,a.elementor-button.ry-ihb:focus-visible{color:#0d1b1e!important}
a.elementor-button.ry-ihb .ry-arr{display:inline-block;margin-left:8px;transition:transform .35s}
a.elementor-button.ry-ihb:hover .ry-arr{transform:translateX(5px)}
/* shiny-borders-button (hero CTA) */
@property --ry-ang{syntax:"<angle>";initial-value:0deg;inherits:false}
a.elementor-button.ry-shiny{border:2px solid transparent!important;background:linear-gradient(var(--ry-blue),var(--ry-blue)) padding-box,conic-gradient(from var(--ry-ang),#1BC3E0,#fff,#1BC3E0 40%,#0b6f80,#1BC3E0) border-box!important;animation:ryAng 3.5s linear infinite}
@keyframes ryAng{to{--ry-ang:360deg}}
/* neon-button (final CTA) */
a.elementor-button.ry-neon{box-shadow:0 0 0 1px rgba(27,195,224,.6),0 0 18px rgba(27,195,224,.55),0 0 42px rgba(27,195,224,.3);animation:ryNeon 2.6s ease-in-out infinite}
@keyframes ryNeon{50%{box-shadow:0 0 0 1px rgba(27,195,224,.9),0 0 26px rgba(27,195,224,.8),0 0 64px rgba(27,195,224,.45)}}
/* glassy sticky + liquid-glass-button */
.ry-sticky{background:rgba(24,26,30,.55)!important;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border-top:1px solid rgba(255,255,255,.14)!important;box-shadow:0 -10px 30px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08)!important}
.ry-sticky a.ry-btn{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(27,195,224,.95),rgba(27,195,224,.75))!important;border:1px solid rgba(255,255,255,.35);border-radius:999px!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.6),inset 0 -6px 12px rgba(0,0,0,.12),0 6px 20px rgba(27,195,224,.35)}
.ry-sticky a.ry-btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:ryShine 4s ease-in-out infinite}
@keyframes ryShine{0%,70%{left:-60%}100%{left:130%}}
@media (max-width:640px){.ry-paths{opacity:.35}.ry-tilt>*{transform:rotateX(10deg) scale(.98)}.ry-orbit{width:min(300px,86vw)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.ry-in{opacity:1;transform:none;filter:none}.ry-rot span.on{opacity:1}}

.ry-steps>.ry-step:not(:has(h3))>.ry-dot{display:none}
.ry-orbit .core{color:#1f2a2e!important}.ry-orbit button{background:rgba(47,47,47,.82)}.ry-rail{background:rgba(0,0,0,.12)}.ry-step .ry-dot{background:#fff}
.elementor-element-90b157d,.elementor-element-f9c0f78,.elementor-element-90b157d .elementor-widget-image{height:auto!important;min-height:0!important;max-height:none!important}.elementor-element-eee904d>.e-con{overflow:clip}
#masthead .menu-toggle,#masthead .ast-mobile-menu-buttons,#masthead nav,#masthead .main-header-bar-navigation,#masthead .ast-builder-menu,#masthead .ast-mobile-header-content,#masthead .ast-desktop-header-content{display:none!important}

@media (max-width:767px){
 .elementor-element-c2bab65{display:none!important}
 .elementor-element-420fa8b{min-height:0!important}
 .elementor-element-50e93b4{position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;margin-top:-80px!important}
}
.ry-paths{display:none!important}
.ry-spot-static{background:radial-gradient(70% 45% at 50% 68%,rgba(27,195,224,.26),rgba(27,195,224,.08) 45%,transparent 75%);animation:ryGlow 6s ease-in-out infinite}
@keyframes ryGlow{50%{opacity:.6}}
img[src*="Reggie-Young-."]{display:block!important;vertical-align:bottom;margin:0 auto}
.elementor-element-50e93b4,.elementor-element-50e93b4 .elementor-widget-container,.elementor-element-69c69f0{margin-bottom:0!important;padding-bottom:0!important;line-height:0}
.ry-rv{opacity:0;transform:translateY(26px);transition:opacity .55s ease-out,transform .7s cubic-bezier(.2,.7,.2,1)}
.ry-rv.ry-rv-on{opacity:1;transform:none}
@media (max-width:640px){.ry-rv{transform:translateY(16px)}}
@media (prefers-reduced-motion:reduce){.ry-rv{opacity:1!important;transform:none!important;filter:none!important}}

.ry-h1-sub{display:block;font-size:clamp(15px,1.6vw,20px);line-height:1.3;letter-spacing:0;text-transform:none;font-weight:500;color:#cfd8dc;margin-top:14px}

.ry-was-h2{font-size:5rem}.ry-was-h3{font-size:2rem}.ry-was-h4{font-size:1.5rem}.ry-was-h5{font-size:1.25rem}.ry-was-h6{font-size:1.125rem}
@media (max-width:921px){.ry-was-h2{font-size:3.125rem}.ry-was-h3{font-size:1.5rem}.ry-was-h4{font-size:1.25rem}}
@media (max-width:544px){.ry-was-h2{font-size:2rem}.ry-was-h3{font-size:1.25rem}.ry-was-h4,.ry-was-h5{font-size:1.125rem}}
/* Readability fix: motion never changes text contrast */
.ry-rv,.ry-rv.ry-rv-on{opacity:1!important;filter:none!important}
.ry-rv{transform:translateY(22px);transition:transform .7s cubic-bezier(.2,.7,.2,1)!important}
.ry-rv.ry-rv-on{transform:none}
@media (max-width:640px){.ry-rv{transform:translateY(14px)}}
.ry-step,.ry-step:not(.ry-active){opacity:1!important;transform:none!important}
.ry-step:not(.ry-active) .ry-dot{opacity:.55}
/* blue service cards: dark text for contrast */
.elementor-element-2a9a755 :is(h2,h3,h4,p,li,span,.elementor-icon-box-title,.elementor-icon-box-description):not(.elementor-button *){color:#0b2329!important}
.elementor-element-2a9a755 .elementor-icon svg{fill:#0b2329}
/* press logos: same visual size */
img[src*="Forbes.svg"],img[src*="business-insider"],img[src*="entrepreneur-logo"]{height:34px!important;width:auto!important;max-width:160px!important;object-fit:contain}
@media (max-width:640px){img[src*="Forbes.svg"],img[src*="business-insider"],img[src*="entrepreneur-logo"]{height:26px!important;max-width:120px!important}}
/* badge with rotating word: dot inline, uppercase like other badges */
.elementor-element-27f29fa .elementor-icon-box-wrapper{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px;flex-wrap:nowrap!important}
.elementor-element-27f29fa .elementor-icon-box-icon{margin:0!important;flex:none;line-height:0}
.elementor-element-27f29fa .elementor-icon-box-content{flex:none}
.elementor-element-27f29fa .elementor-icon-box-title{margin:0!important;white-space:nowrap;text-transform:uppercase}
.elementor-element-27f29fa .ry-rot{height:1.2em;vertical-align:-.22em}
/* sticky bar: readable over light sections */
.ry-sticky{background:rgba(18,20,24,.9)!important}
/* press logos: optically matched (equal visual area after trimming) */
img[src*="Forbes.svg"]{height:34px!important;max-width:none!important}
img[src*="business-insider"]{height:42px!important;max-width:none!important}
img[src*="entrepreneur-logo"]{height:29px!important;max-width:none!important}
@media (max-width:640px){img[src*="Forbes.svg"]{height:26px!important}img[src*="business-insider"]{height:32px!important}img[src*="entrepreneur-logo"]{height:22px!important}}
/* rotating word on light badge: readable brand blue */
.elementor-element-27f29fa .ry-rot span{color:#0e3ecc!important}
/* spacing system: equal section rhythm (hero excluded) */
:root{--ry-sec:clamp(64px,8vw,104px)}
[data-elementor-type]>.e-con:not(.elementor-element-420fa8b){padding-top:var(--ry-sec)!important;padding-bottom:var(--ry-sec)!important}
[data-elementor-type]>.e-con:not(.elementor-element-420fa8b)>.e-con-inner{padding-top:0!important;padding-bottom:0!important}
#ast-scroll-top{display:none!important}
/* press logo row: equal slots, centred, equal top/bottom space */
.elementor-element-119f896{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:20px 48px!important;padding:24px 10px!important}
.elementor-element-119f896>.elementor-widget{width:auto!important;max-width:none!important;flex:0 0 auto!important;height:44px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
.elementor-element-119f896 .elementor-widget-container,.elementor-element-119f896 a{display:flex!important;align-items:center;line-height:0;margin:0!important;padding:0!important}
.elementor-element-119f896 img{display:block!important;margin:0!important}
@media (max-width:640px){.elementor-element-119f896{gap:16px 28px!important}}
/* stats: number + title + description read as one group; clear gap between groups */
:is(.elementor-element-1b3d2ec,.elementor-element-bf9e73a,.elementor-element-33c869f){gap:10px!important;padding:0!important;min-height:0!important;height:auto!important;justify-content:flex-start!important}
:is(.elementor-element-1b3d2ec,.elementor-element-bf9e73a,.elementor-element-33c869f)>.elementor-widget{margin:0!important}
:is(.elementor-element-1b3d2ec,.elementor-element-bf9e73a,.elementor-element-33c869f) :is(.elementor-icon-box-wrapper,.elementor-icon-box-content){margin:0!important;padding:0!important}
:is(.elementor-element-1b3d2ec,.elementor-element-bf9e73a,.elementor-element-33c869f) .ry-was-h2{line-height:1!important;margin:0!important}
:is(.elementor-element-1b3d2ec,.elementor-element-bf9e73a,.elementor-element-33c869f) .elementor-icon-box-title{margin:0 0 6px!important}
:is(.elementor-element-1b3d2ec,.elementor-element-bf9e73a,.elementor-element-33c869f) .elementor-icon-box-description{margin:0!important}
:is(.e-con-inner,.e-con):has(>.elementor-element-1b3d2ec){gap:48px 40px!important;align-items:flex-start!important}
:is(.elementor-element-1b3d2ec,.elementor-element-bf9e73a,.elementor-element-33c869f) .elementor-icon-box-description:empty{display:none}
/* rotating word: reset instantly (no flash through the visible spot), never clipped, centred on the "Built to" line */
.ry-rot span:not(.on):not(.out){transition:none!important}
.elementor-element-27f29fa .elementor-icon-box-title>a>span[aria-hidden]{display:inline-flex!important;align-items:center;gap:.32em;white-space:nowrap}
.elementor-element-27f29fa .ry-rot{vertical-align:middle!important;height:1.4em!important;grid-template-rows:1.4em;align-items:center}
.elementor-element-27f29fa .ry-rot span{line-height:1.4em}
.elementor-element-27f29fa .elementor-icon-box-content{min-width:max-content}
/* image cards: same label inset, same label-to-image gap, image flush to card bottom, equal card heights */
:is(.elementor-element-ddfcce6,.elementor-element-50dfb79,.elementor-element-90b157d,.elementor-element-051ff3f){padding:24px 0 0!important;gap:16px!important;overflow:hidden!important}
:is(.elementor-element-52bf5d1,.elementor-element-610c3e9,.elementor-element-10223c4,.elementor-element-233e884){padding:0 24px!important;margin:0!important}
:is(.elementor-element-52bf5d1,.elementor-element-610c3e9,.elementor-element-10223c4,.elementor-element-233e884) :is(.e-con,.e-con-inner,.elementor-widget){padding-left:0!important;padding-right:0!important;margin:0!important}
:is(.elementor-element-e3d84e9,.elementor-element-dee73eb,.elementor-element-f9c0f78,.elementor-element-362d5f0){aspect-ratio:3/2!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;overflow:hidden!important;position:relative!important;top:auto!important;flex:0 0 auto!important}
:is(.elementor-element-e3d84e9,.elementor-element-dee73eb,.elementor-element-f9c0f78,.elementor-element-362d5f0) .elementor-widget-container{position:absolute!important;inset:0!important;height:auto!important;margin:0!important;padding:0!important}
:is(.elementor-element-e3d84e9,.elementor-element-dee73eb,.elementor-element-f9c0f78,.elementor-element-362d5f0) img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important}
/* reviews: same inner padding on every card, content starts at the top, nothing pushed to the edges */
:is(.elementor-element-d635c32,.elementor-element-9369ff1,.elementor-element-8c1cd4d){padding:clamp(28px,3vw,40px)!important;justify-content:flex-start!important;gap:20px!important}
:is(.elementor-element-d635c32,.elementor-element-9369ff1,.elementor-element-8c1cd4d) .elementor-widget{margin:0!important;max-width:100%!important}
:is(.elementor-element-d635c32,.elementor-element-9369ff1,.elementor-element-8c1cd4d) .e-con{padding:0!important;width:100%!important;max-width:100%!important;--padding-left:0;--padding-right:0}
:is(.elementor-element-d635c32,.elementor-element-9369ff1,.elementor-element-8c1cd4d) .e-con-inner{padding:0!important;max-width:100%!important}
