.elementor-33 .elementor-element.elementor-element-fac7eaf{--display:flex;--min-height:900px;--justify-content:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:120px;--padding-left:60px;--padding-right:60px;}.elementor-33 .elementor-element.elementor-element-c79c221{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-33 .elementor-element.elementor-element-aa6e568{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-33 .elementor-element.elementor-element-aa6e568.e-con{--flex-grow:0;--flex-shrink:0;}.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 );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-33 .elementor-element.elementor-element-0172848{padding:0px 90px 0px 0px;z-index:6;}.elementor-33 .elementor-element.elementor-element-0172848 .elementor-heading-title{font-family:"Helvetica", Sans-serif;font-size:60px;font-weight:400;line-height:70px;letter-spacing:-0.65px;-webkit-text-stroke-color:#000;stroke:#000;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-33 .elementor-element.elementor-element-feb4c7d{font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;}.elementor-33 .elementor-element.elementor-element-feb4c7d p{margin-block-end:0px;}.elementor-33 .elementor-element.elementor-element-df415e0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-33 .elementor-element.elementor-element-da992ba{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-33 .elementor-element.elementor-element-e72d680{--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;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-33 .elementor-element.elementor-element-aa6e568{--width:60%;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for html, class: .elementor-element-fcb06e7 *//* HERO SECTION */

.hero-scroll-section {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  isolation: isolate;
}


/* NORMAL ELEMENTOR CONTENT */

.hero-scroll-section > .e-con-inner,
.hero-scroll-section > .elementor-container {
  position: relative;
  z-index: 2;
}


/* EXPANDING PINK CIRCLE */

.hero-colour-transition {
  position: absolute;

  left: 50%;
  bottom: 50px;

  width: 60px;
  height: 60px;

  border-radius: 50%;
  background: #b90166;

  transform:
    translateX(-50%)
    scale(0);

  transform-origin: center;

  z-index: 1;
  pointer-events: none;

  will-change: transform;
}


/* BRAND ICON */

.hero-brand-icon {
  position: absolute;

  left: 50%;
  bottom: 50px;

  width: 60px;
  height: 128px;

  transform: translateX(-50%);

  z-index: 4;
  pointer-events: none;
}


/* POSITIONING WRAPPERS */

.brand-circle-position {
  position: absolute;
  left: 0;

  width: 60px;
  height: 60px;

  will-change: transform, opacity;
}


/* BLUE CIRCLE WRAPPER */

/*
 * Pink circle occupies bottom 0–60px.
 * Blue starts at 68px, producing an 8px gap.
 */
.brand-circle-position-blue {
  bottom: 80px;
  z-index: 3;

  animation:
    blueCircleEntrance
      800ms
      150ms
      cubic-bezier(0.22, 0.8, 0.3, 1)
      both,
    blueCircleIdle
      7s
      1.3s
      ease-in-out
      infinite;
}


/* PINK CIRCLE WRAPPER */

.brand-circle-position-pink {
  bottom: 30;
  z-index: 2;

  animation:
    pinkCircleEntrance
      850ms
      300ms
      cubic-bezier(0.22, 0.8, 0.3, 1)
      both,
    pinkCircleIdle
      8s
      1.5s
      ease-in-out
      infinite;
}


/* CIRCLE SHAPES */

.brand-circle {
  display: block;

  width: 60px;
  height: 60px;

  border-radius: 50%;
}

.brand-circle-blue {
  background: #007fc6;
}

.brand-circle-pink {
  background: #b90166;
}


/* BLUE ENTRANCE */

@keyframes blueCircleEntrance {
  0% {
    opacity: 0;

    transform:
      translateY(-130px)
      scale(0.8);
  }

  65% {
    opacity: 1;

    transform:
      translateY(8px)
      scaleX(1.05)
      scaleY(0.95);
  }

  82% {
    opacity: 1;

    transform:
      translateY(-5px)
      scaleX(0.98)
      scaleY(1.02);
  }

  100% {
    opacity: 1;

    transform:
      translateY(0)
      scale(1);
  }
}


/* PINK ENTRANCE */

@keyframes pinkCircleEntrance {
  0% {
    opacity: 0;

    transform:
      translateY(-150px)
      scale(0.8);
  }

  65% {
    opacity: 1;

    transform:
      translateY(10px)
      scaleX(1.08)
      scaleY(0.92);
  }

  82% {
    opacity: 1;

    transform:
      translateY(-6px)
      scaleX(0.98)
      scaleY(1.02);
  }

  100% {
    opacity: 1;

    transform:
      translateY(0)
      scale(1);
  }
}


/* BLUE IDLE MOVEMENT */

@keyframes blueCircleIdle {
  0%,
  100% {
    transform: translate(0, 0);
  }

  35% {
    transform: translate(1.5px, -3px);
  }

  70% {
    transform: translate(-1.5px, 10px);
  }
}


/* PINK IDLE MOVEMENT */

@keyframes pinkCircleIdle {
  0%,
  100% {
    transform:
      translate(0, 0)
      scale(1);
  }

  40% {
    transform:
      translate(-1px, 1.5px)
      scale(1.008);
  }

  75% {
    transform:
      translate(1px, -1px)
      scale(0.998);
  }
}


/* MOBILE */

@media (max-width: 767px) {
  .hero-brand-icon,
  .hero-colour-transition {
    bottom: 30px;
  }
}


/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
  .brand-circle-position {
    opacity: 1;
    animation: none !important;
    transform: none;
  }

  .hero-colour-transition {
    display: none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-da992ba */.hero-scroll-section {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  z-index: 1;
}

.hero-brand-icon {
  position: absolute;
  left: 50%;
  bottom: 50px;
  width: 60px;
  height: 120px;
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
}

.brand-circle {
  position: absolute;
  left: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  will-change: transform, opacity;
}

.brand-circle-blue {
  bottom: 60px;
  background: #007fc6;
  opacity: 0;
  animation: blueCircleIn 700ms 150ms
    cubic-bezier(0.22, 0.8, 0.3, 1) forwards;
}

.brand-circle-pink {
  bottom: 0;
  background: #b90166;
  opacity: 0;
  animation: pinkCircleIn 750ms 300ms
    cubic-bezier(0.22, 0.8, 0.3, 1) forwards;
  transform-origin: center;
}

@keyframes blueCircleIn {
  0% {
    opacity: 0;
    transform: translateY(-120px) scale(0.8);
  }

  70% {
    opacity: 1;
    transform: translateY(8px) scaleX(1.05) scaleY(0.95);
  }

  85% {
    transform: translateY(-5px) scaleX(0.98) scaleY(1.02);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes pinkCircleIn {
  0% {
    opacity: 0;
    transform: translateY(-140px) scale(0.8);
  }

  70% {
    opacity: 1;
    transform: translateY(10px) scaleX(1.08) scaleY(0.92);
  }

  85% {
    transform: translateY(-6px) scaleX(0.98) scaleY(1.02);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand-circle {
    animation: none;
    opacity: 1;
  }
}/* End custom CSS */