.elementor-43 .elementor-element.elementor-element-b03927c{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:5% 0% 5% 0%;}.elementor-43 .elementor-element.elementor-element-b03927c > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-43 .elementor-element.elementor-element-78fbdf0 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-f55e484 > .elementor-container{max-width:1160px;}.elementor-43 .elementor-element.elementor-element-f55e484{margin-top:0px;margin-bottom:0px;padding:0% 0% 0% 0%;}.elementor-43 .elementor-element.elementor-element-f064c20 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-bottom:0px;}.elementor-43 .elementor-element.elementor-element-f064c20 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-1825d90{margin-top:6%;margin-bottom:0%;padding:0% 15% 0% 15%;}.elementor-bc-flex-widget .elementor-43 .elementor-element.elementor-element-252d4ec.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-43 .elementor-element.elementor-element-252d4ec.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-43 .elementor-element.elementor-element-252d4ec.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-43 .elementor-element.elementor-element-252d4ec > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-8f95ad9{text-align:left;width:auto;max-width:auto;}.elementor-43 .elementor-element.elementor-element-8f95ad9 .elementor-heading-title{color:#FFFFFF;font-family:"Montserrat", Sans-serif;font-size:50px;font-weight:700;line-height:1.08em;letter-spacing:-0.02em;}.elementor-43 .elementor-element.elementor-element-8f95ad9 > .elementor-widget-container{margin:0em 10em 0em 10em;padding:0% 0% 0% 0%;}.elementor-43 .elementor-element.elementor-element-c886f5a{text-align:center;width:var( --container-widget-width, 760px );max-width:760px;--container-widget-width:760px;--container-widget-flex-grow:0;}.elementor-43 .elementor-element.elementor-element-c886f5a .elementor-heading-title{color:#FFFFFF;font-family:"Montserrat", Sans-serif;font-size:19px;font-weight:300;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-c886f5a > .elementor-widget-container{margin:18px 0px 30px 0px;padding:0% 0% 0% 0%;}.elementor-43 .elementor-element.elementor-element-d23b7d0{margin-top:2%;margin-bottom:0%;padding:0% 15% 0% 15%;}.elementor-bc-flex-widget .elementor-43 .elementor-element.elementor-element-acdc9ee.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-43 .elementor-element.elementor-element-acdc9ee.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-43 .elementor-element.elementor-element-acdc9ee.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-43 .elementor-element.elementor-element-acdc9ee > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-60ab3da{text-align:left;width:auto;max-width:auto;}.elementor-43 .elementor-element.elementor-element-60ab3da .elementor-heading-title{color:#FFFFFF;font-family:"Montserrat", Sans-serif;font-size:50px;font-weight:700;line-height:1.08em;letter-spacing:-0.02em;}.elementor-43 .elementor-element.elementor-element-60ab3da > .elementor-widget-container{margin:0em 10em 0em 10em;padding:0% 0% 0% 0%;}.elementor-43 .elementor-element.elementor-element-820bbe3{text-align:center;width:var( --container-widget-width, 760px );max-width:760px;--container-widget-width:760px;--container-widget-flex-grow:0;}.elementor-43 .elementor-element.elementor-element-820bbe3 .elementor-heading-title{color:#FFFFFF;font-family:"Montserrat", Sans-serif;font-size:19px;font-weight:300;line-height:1.6em;}.elementor-43 .elementor-element.elementor-element-820bbe3 > .elementor-widget-container{margin:18px 0px 30px 0px;padding:0% 0% 0% 0%;}@media(max-width:1024px){.elementor-43 .elementor-element.elementor-element-8f95ad9 .elementor-heading-title{font-size:40px;}.elementor-43 .elementor-element.elementor-element-60ab3da .elementor-heading-title{font-size:40px;}}@media(max-width:767px){.elementor-43 .elementor-element.elementor-element-b03927c{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-f55e484{margin-top:0px;margin-bottom:0px;padding:0% 5% 0% 5%;}.elementor-43 .elementor-element.elementor-element-f064c20 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-1825d90{margin-top:13%;margin-bottom:0%;padding:0% 0% 0% 0%;}.elementor-43 .elementor-element.elementor-element-252d4ec.elementor-column > .elementor-widget-wrap{justify-content:flex-start;}.elementor-43 .elementor-element.elementor-element-252d4ec > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-8f95ad9{text-align:left;}.elementor-43 .elementor-element.elementor-element-8f95ad9 .elementor-heading-title{font-size:32px;}.elementor-43 .elementor-element.elementor-element-8f95ad9 > .elementor-widget-container{margin:0em 0em 0em 0em;padding:-1% 0% 5% 0%;}.elementor-43 .elementor-element.elementor-element-c886f5a{text-align:left;}.elementor-43 .elementor-element.elementor-element-c886f5a .elementor-heading-title{font-size:3.5vw;}.elementor-43 .elementor-element.elementor-element-c886f5a > .elementor-widget-container{margin:14px 0px 0px 0px;padding:0% 0% 0% 0%;}.elementor-43 .elementor-element.elementor-element-d23b7d0{margin-top:13%;margin-bottom:0%;padding:0% 0% 0% 0%;}.elementor-43 .elementor-element.elementor-element-acdc9ee.elementor-column > .elementor-widget-wrap{justify-content:flex-start;}.elementor-43 .elementor-element.elementor-element-acdc9ee > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-43 .elementor-element.elementor-element-60ab3da{text-align:left;}.elementor-43 .elementor-element.elementor-element-60ab3da .elementor-heading-title{font-size:32px;}.elementor-43 .elementor-element.elementor-element-60ab3da > .elementor-widget-container{margin:0em 0em 0em 0em;padding:-1% 0% 5% 0%;}.elementor-43 .elementor-element.elementor-element-820bbe3{text-align:left;}.elementor-43 .elementor-element.elementor-element-820bbe3 .elementor-heading-title{font-size:3.5vw;}.elementor-43 .elementor-element.elementor-element-820bbe3 > .elementor-widget-container{margin:14px 0px 0px 0px;padding:0% 0% 0% 0%;}}/* Start custom CSS for heading, class: .elementor-element-8f95ad9 *//* static gradient text */
.grad-text {
  background: linear-gradient(90deg, #7a5cff, #34d2ff, #ff5fbf);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* animated gradient text (slower, smoother) */
.grad-text-anim {
  background: linear-gradient(90deg, #7a5cff, #34d2ff, #ff5fbf, #7a5cff);
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  display: inline-block;

  animation: gradShift 300s linear infinite; /* slower */
}

@keyframes gradShift {
 0%, 100% { background-position: 0% 50%; }
 50% { background-position: 100% 50%; }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-60ab3da *//* static gradient text */
.grad-text {
  background: linear-gradient(90deg, #7a5cff, #34d2ff, #ff5fbf);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* animated gradient text (slower, smoother) */
.grad-text-anim {
  background: linear-gradient(90deg, #7a5cff, #34d2ff, #ff5fbf, #7a5cff);
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  display: inline-block;

  animation: gradShift 300s linear infinite; /* slower */
}

@keyframes gradShift {
 0%, 100% { background-position: 0% 50%; }
 50% { background-position: 100% 50%; }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-f55e484 */.svc-stage {   position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 20% 0%, rgba(68, 60, 120, 0.55), transparent 60%),
    radial-gradient(circle at 80% -10%, rgba(60, 90, 160, 0.45), transparent 55%),
    radial-gradient(circle at 50% 120%, rgba(10, 18, 40, 0.9), transparent 55%),
    linear-gradient(180deg, rgba(9, 9, 16, 0.96), rgba(7, 10, 18, 0.98)),
    #07060b; }


@media (min-width: 861px) {
  :root { --svc-header-height: 72px; }

  /* header stays on top */
  .toc-static-header,
  .elementor-location-header {
    position: sticky;
    top: 0;
    z-index: 1000;
  }

  /* pull whole stage up by 72, then balance with padding */
  .svc-stage {
    margin-top: calc(-1 * var(--svc-header-height));
    padding-top: var(--svc-header-height);
  }

  /* avoid double offset from current rule */
  .svc-stage .svc-snap.first-section {
    padding-top: 0 !important;
  }
}

/* =========================================================
   REUSABLE ANIMATED BACKGROUND WITH BORDER-RADIUS SUPPORT
========================================================= */

.bg-shift {
  --c1: #7a5cff;
  --c2: #34d2ff;
  --c3: #ff5fbf;
  --bg-base: rgba(8, 14, 28, 0.88);
  --bg-opacity: 0.16;
  --bg-speed: 10s;
  --bg-radius: 24px; /* change this per element if needed */

  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: var(--bg-radius);
  background: var(--bg-base);
}

/* animated gradient layer */
.bg-shift::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--bg-radius);
  background: linear-gradient(135deg, var(--c1), var(--c2), var(--c3), var(--c1));
  background-size: 250% 250%;
  opacity: var(--bg-opacity);
  animation: bgShiftMove var(--bg-speed) ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

/* optional glow layer */
.bg-shift::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--bg-radius);
  background:
    radial-gradient(circle at 20% 20%, rgba(122, 92, 255, 0.22), transparent 34%),
    radial-gradient(circle at 80% 30%, rgba(52, 210, 255, 0.20), transparent 36%),
    radial-gradient(circle at 60% 80%, rgba(255, 95, 191, 0.18), transparent 38%);
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}

/* content above background */
.bg-shift > * {
  position: relative;
  z-index: 1;
}

/* hover option */
.bg-shift-hover:hover::before {
  opacity: 0.24;
  animation-duration: 6s;
}

/* speed modifiers */
.bg-speed-slow { --bg-speed: 14s; }
.bg-speed-fast { --bg-speed: 6s; }

/* intensity modifiers */
.bg-soft { --bg-opacity: 0.10; }
.bg-medium { --bg-opacity: 0.16; }
.bg-strong { --bg-opacity: 0.24; }

/* radius helpers */
.radius-0 { --bg-radius: 0px; }
.radius-12 { --bg-radius: 12px; }
.radius-16 { --bg-radius: 16px; }
.radius-20 { --bg-radius: 20px; }
.radius-24 { --bg-radius: 24px; }
.radius-30 { --bg-radius: 30px; }
.radius-pill { --bg-radius: 999px; }

/* transparent base if needed */
.bg-transparent-base { --bg-base: transparent; }

/* color themes */
.bg-violet {
  --c1: #7a5cff;
  --c2: #34d2ff;
  --c3: #ff5fbf;
}

.bg-ocean {
  --c1: #2f6bff;
  --c2: #35d7ff;
  --c3: #67f4ff;
}

.bg-mint {
  --c1: #00c2a8;
  --c2: #59f0c2;
  --c3: #b2ff6a;
}

.bg-sunset {
  --c1: #ff7a2f;
  --c2: #ffb347;
  --c3: #ff5f9f;
}

.bg-orchid {
  --c1: #8a5cff;
  --c2: #b68cff;
  --c3: #55d6ff;
}

.bg-electric {
  --c1: #5c7cff;
  --c2: #38d9ff;
  --c3: #8e5bff;
}

@keyframes bgShiftMove {
  0%, 100% {
    background-position: 0% 50%;
    transform: scale(1);
  }
  50% {
    background-position: 100% 50%;
    transform: scale(1.04);
  }
}

.animated-network-bg {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.animated-network-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(141, 74, 254, 0.14), transparent 32%),
    radial-gradient(circle at 80% 60%, rgba(239, 93, 168, 0.12), transparent 34%),
    linear-gradient(135deg, #020816 0%, #050719 52%, #070817 100%);
  z-index: 0;
  pointer-events: none;
}

.animated-network-bg .circle-bg-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.animated-network-bg > *:not(.circle-bg-canvas) {
  position: relative;
  z-index: 2;
}/* End custom CSS */