.elementor-409 .elementor-element.elementor-element-c539c72{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:65px;--padding-bottom:150px;--padding-left:65px;--padding-right:65px;}.elementor-409 .elementor-element.elementor-element-7a48d7b{padding:0px 0px 0px 0px;text-align:start;}.elementor-409 .elementor-element.elementor-element-7a48d7b img{width:160px;}.elementor-409 .elementor-element.elementor-element-c441d1c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -7px) 0px;padding:0px 0px 0px 0px;bottom:0px;}body:not(.rtl) .elementor-409 .elementor-element.elementor-element-c441d1c{right:0px;}body.rtl .elementor-409 .elementor-element.elementor-element-c441d1c{left:0px;}@media(max-width:1200px){.elementor-409 .elementor-element.elementor-element-c539c72{--min-height:100vh;--padding-top:65px;--padding-bottom:65px;--padding-left:65px;--padding-right:65px;}.elementor-409 .elementor-element.elementor-element-7a48d7b{padding:0px 0px 60px 0px;}.elementor-409 .elementor-element.elementor-element-c441d1c{width:var( --container-widget-width, 562px );max-width:562px;--container-widget-width:562px;--container-widget-flex-grow:0;bottom:0px;z-index:1;}body:not(.rtl) .elementor-409 .elementor-element.elementor-element-c441d1c{right:-130px;}body.rtl .elementor-409 .elementor-element.elementor-element-c441d1c{left:-130px;}}@media(max-width:767px){.elementor-409 .elementor-element.elementor-element-c539c72{--padding-top:40px;--padding-bottom:100px;--padding-left:20px;--padding-right:20px;}.elementor-409 .elementor-element.elementor-element-7a48d7b{padding:0px 0px 40px 0px;}.elementor-409 .elementor-element.elementor-element-7a48d7b img{width:115px;}}/* Start custom CSS *//* ===== Version 1: bottom-right ===== */
.moving-gradient {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: #fff;
}
.moving-gradient::after {
  content: "";
  position: absolute;
  inset: -60px;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(ellipse 16% 24% at 91% 88%, #017f6c 0%, rgba(1,138,116,.95) 45%, rgba(1,138,116,0) 100%),
    radial-gradient(ellipse 8% 10% at 85% 78%, #12a2ae 0%, rgba(18,162,174,.6) 40%, rgba(18,162,174,0) 100%),
    radial-gradient(ellipse 20% 31% at 92% 57%, #0629ee 0%, #0a2cee 18%, #2a50f3 38%, rgba(100,140,255,.7) 62%, rgba(160,185,255,0) 100%),
    radial-gradient(ellipse 28% 20% at 73% 92%, #22e400 0%, #2ee600 35%, rgba(90,232,70,.85) 58%, rgba(150,240,140,0) 100%),
    radial-gradient(ellipse 36% 28% at 64% 90%, rgba(195,247,185,1) 0%, rgba(210,249,200,.75) 50%, rgba(230,252,228,0) 100%);
  background-repeat: no-repeat;
  background-size: 120% 120%;
  background-position: 50% 50%;
  filter: blur(20px);
  transform-origin: 90% 75%;
  animation: gradientDrift 6s ease-in-out infinite alternate,
             gradientDriftBreathe 3s ease-in-out infinite alternate;
}
@keyframes gradientDrift {
  0%   { background-position: 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%; }
  25%  { background-position: 38% 59%, 62% 38%, 35% 41%, 65% 56%, 41% 53%; }
  50%  { background-position: 59% 41%, 41% 62%, 59% 32%, 35% 47%, 59% 44%; }
  75%  { background-position: 65% 53%, 35% 50%, 44% 62%, 59% 38%, 50% 59%; }
  100% { background-position: 44% 62%, 59% 41%, 65% 50%, 41% 59%, 41% 47%; }
}
@keyframes gradientDriftBreathe {
  0%   { transform: scale(1)    rotate(0deg); }
  100% { transform: scale(1.08) rotate(1.5deg); }
}

/* ===== Version 2: top-left ===== */
.moving-gradient-tl {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: #fff;
}
.moving-gradient-tl::after {
  content: "";
  position: absolute;
  inset: -10%;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(ellipse 7% 26% at 15% 19%, #015a92 0%, rgba(0,110,128,.9) 40%, rgba(0,114,125,0) 100%),
    radial-gradient(ellipse 24% 34% at 27% 15%, #0000ff 0%, #0510ff 22%, rgba(60,80,255,.8) 42%, rgba(160,175,255,.4) 70%, rgba(220,228,255,0) 100%),
    radial-gradient(ellipse 7% 30% at 15% 48%, #00e400 0%, #08e404 40%, rgba(60,228,60,.8) 65%, rgba(120,235,120,0) 100%),
    radial-gradient(ellipse 10% 36% at 15% 55%, rgba(195,247,190,1) 0%, rgba(215,250,212,.7) 50%, rgba(235,252,234,0) 100%);
  background-repeat: no-repeat;
  background-size: 120% 120%;
  background-position: 50% 50%;
  filter: blur(20px);
  transform-origin: 10% 15%;
  animation: gradientDriftTL 5s ease-in-out infinite alternate,
             gradientDriftTLBreathe 3s ease-in-out infinite alternate;
}
@keyframes gradientDriftTL {
  0%   { background-position: 50% 50%, 50% 50%, 50% 50%, 50% 50%; }
  25%  { background-position: 62% 41%, 35% 59%, 59% 38%, 44% 56%; }
  50%  { background-position: 41% 59%, 65% 41%, 38% 62%, 59% 41%; }
  75%  { background-position: 56% 65%, 44% 35%, 62% 53%, 41% 59%; }
  100% { background-position: 38% 47%, 59% 65%, 44% 41%, 56% 50%; }
}
@keyframes gradientDriftTLBreathe {
  0%   { transform: scale(1)    rotate(0deg); }
  100% { transform: scale(1.08) rotate(1.5deg); }
}

/* Turn the movement off for visitors who've asked for reduced motion */
@media (prefers-reduced-motion: reduce) {
  .moving-gradient::after,
  .moving-gradient-tl::after { animation: none; }
}

/* ===== Version 3: full section ===== */
.moving-gradient-diag {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: #fff;
}
.moving-gradient-diag::after {
  content: "";
  position: absolute;
  inset: -10%;
  z-index: -1;
  pointer-events: none;
  background-image:
    radial-gradient(ellipse 16% 38% at 50% 50%, #0001ff 0%, #0a1cff 22%, rgba(60,90,255,.85) 42%, rgba(170,185,255,.5) 68%, rgba(230,235,255,0) 100%),
    radial-gradient(ellipse 21% 32% at 50% 50%, #05d820 0%, #0adc10 35%, rgba(70,230,70,.8) 60%, rgba(190,245,185,.4) 82%, rgba(220,250,218,0) 100%);
  background-repeat: no-repeat;
  background-size: 200% 200%;
  background-position: 92% 83%, 17% 25%;
  filter: blur(25px);
  transform-origin: 50% 50%;
  animation: gradientRoam 30s ease-in-out infinite,
             gradientRoamBreathe 11s ease-in-out infinite alternate;
}
@keyframes gradientRoam {
  0%   { background-position: 92% 83%, 17% 25%; }
  20%  { background-position: 63% 42%, 50% 67%; }
  40%  { background-position: 33% 75%, 75% 25%; }
  60%  { background-position: 50% 17%, 25% 79%; }
  80%  { background-position: 79% 58%,  8% 42%; }
  100% { background-position: 92% 83%, 17% 25%; }
}
@keyframes gradientRoamBreathe {
  0%   { transform: scale(1)    rotate(0deg); }
  100% { transform: scale(1.12) rotate(4deg); }
}
@media (prefers-reduced-motion: reduce) {
  .moving-gradient-diag::after { animation: none; }
}/* End custom CSS */