.elementor-24 .elementor-element.elementor-element-d531b40{--display:flex;--min-height:1440px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-24 .elementor-element.elementor-element-06c5791{--display:flex;--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;--align-items:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-24 .elementor-element.elementor-element-da069b0 .elementor-heading-title{font-family:"Inter Tight", Sans-serif;font-size:56px;font-weight:400;}.elementor-24 .elementor-element.elementor-element-19778b8 .elementor-heading-title{font-family:"Inter Tight", Sans-serif;font-size:45px;font-weight:300;}.elementor-24 .elementor-element.elementor-element-d177182{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-24 .elementor-element.elementor-element-82a91c9 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Inter Tight", Sans-serif;font-size:23px;font-weight:300;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-radius:40px 40px 40px 40px;}.elementor-24 .elementor-element.elementor-element-82a91c9 .elementor-button:hover, .elementor-24 .elementor-element.elementor-element-82a91c9 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-primary );}.elementor-24 .elementor-element.elementor-element-82a91c9 .elementor-button:hover svg, .elementor-24 .elementor-element.elementor-element-82a91c9 .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-24 .elementor-element.elementor-element-f2bfd34 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Inter Tight", Sans-serif;font-size:23px;font-weight:300;fill:var( --e-global-color-astglobalcolor4 );color:var( --e-global-color-astglobalcolor4 );border-style:solid;border-width:1px 1px 1px 1px;border-radius:40px 40px 40px 40px;}.elementor-24 .elementor-element.elementor-element-f2bfd34 .elementor-button:hover, .elementor-24 .elementor-element.elementor-element-f2bfd34 .elementor-button:focus{background-color:var( --e-global-color-90668ca );color:var( --e-global-color-primary );}.elementor-24 .elementor-element.elementor-element-f2bfd34 .elementor-button:hover svg, .elementor-24 .elementor-element.elementor-element-f2bfd34 .elementor-button:focus svg{fill:var( --e-global-color-primary );}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-24 .elementor-element.elementor-element-2585a0a{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-24 .elementor-element.elementor-element-2585a0a .elementor-divider-separator{width:75%;margin:0 auto;margin-center:0;}.elementor-24 .elementor-element.elementor-element-2585a0a .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-24 .elementor-element.elementor-element-e9ed9a7{--display:flex;}@media(min-width:768px){.elementor-24 .elementor-element.elementor-element-d177182{--width:100%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-24 .elementor-element.elementor-element-da069b0{text-align:center;}}/* Start custom CSS for container, class: .elementor-element-d531b40 *//* --- Drifting Shapes Animation (SCROLLING FIXED) --- */

/* 1. Prepare the Body and Page */
body {
  /*
   * THIS IS THE FIX:
   * We've changed "overflow: hidden" to "overflow-x: hidden".
   * This hides the horizontal scrollbars from the shapes
   * but ALLOWS normal vertical scrolling.
   */
  overflow-x: hidden; 
}

/* * !! IMPORTANT !!
 * Make the main #page container transparent to see
 * the <body> background where the shapes live.
*/
#page {
  background-color: transparent;
  position: relative; /* Keeps content on top */
  z-index: 1;
}

/* 2. Define the Shapes (Base Styles) */
body::before,
body::after {
  content: "";
  position: fixed;
  z-index: -1;
  
  /* This is your color #ff6558 at 10% opacity */
  border: 2px solid rgba(214, 77, 203, 0.1);
  
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* 3. Style Shape 1 (Circle) */
body::before {
  width: 60vh;
  height: 60vh;
  border-radius: 50%;
  top: 10vh;
  left: -30vw;
  animation-name: moveAcross1;
  animation-duration: 35s; 
}

/* 4. Style Shape 2 (Square) */
body::after {
  width: 70vh;
  height: 70vh;
  top: 50vh;
  left: 110vw;
  animation-name: moveAcross2;
  animation-duration: 45s;
  animation-delay: -10s; 
}

/* 5. Define Animation 1 (Moves Left-to-Right) */
@keyframes moveAcross1 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(150vw, 20vh) rotate(360deg);
  }
}

/* 6. Define Animation 2 (Moves Right-to-Left) */
@keyframes moveAcross2 {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  100% {
    transform: translate(-150vw, -30vh) rotate(-360deg);
  }
}/* End custom CSS */