.elementor-9 .elementor-element.elementor-element-f2aae20{--display:flex;}.elementor-9 .elementor-element.elementor-element-260074a{--display:flex;--min-height:100vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:120px;--padding-bottom:150px;--padding-left:24px;--padding-right:24px;}.elementor-9 .elementor-element.elementor-element-0d095ce{--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;--justify-content:center;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;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-9 .elementor-element.elementor-element-f63fb19{--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;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--flex-wrap:wrap;}.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-9 .elementor-element.elementor-element-eb7b735{--display:flex;}@media(max-width:1024px){.elementor-9 .elementor-element.elementor-element-260074a{--padding-top:100px;--padding-bottom:120px;--padding-left:20px;--padding-right:20px;}}@media(max-width:767px){.elementor-9 .elementor-element.elementor-element-260074a{--padding-top:88px;--padding-bottom:105px;--padding-left:16px;--padding-right:16px;}}/* Start custom CSS */:root{
  --al-abyss:#04222f;
  --al-deep:#0a3a4f;
  --al-sea:#0e6e8c;
  --al-aqua:#16b8d4;
  --al-cyan:#39d8e6;
  --al-foam:#d7f3f8;
  --al-mist:#f3fbfd;
  --al-muted:#cdeef5;
  --al-warm:#ff7a4d;
  --al-warm2:#ff5f7e;
  --al-shadow:0 24px 60px -28px rgba(6,48,63,.45);
  --al-grad-sea:linear-gradient(165deg,#04222f 0%, #0a3a4f 42%, #0e6e8c 100%);
  --al-grad-warm:linear-gradient(135deg,var(--al-warm),var(--al-warm2));
}

/* HERO */
.al-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:100vh;
  background:var(--al-grad-sea);
  color:#fff;
}

.al-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 78% 18%, rgba(57,216,230,.30), transparent 28%),
    radial-gradient(circle at 12% 80%, rgba(22,184,212,.22), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 35%);
  z-index:0;
  pointer-events:none;
}

.al-hero-inner{
  position:relative;
  z-index:3;
  width:100%;
  max-width:820px;
}

.al-eyebrow,
.al-eyebrow p,
.al-eyebrow span,
.al-eyebrow .elementor-heading-title{
  font-size: 12px !important;
}

.al-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--al-cyan);
}

.al-eyebrow::before{
  content:"";
  width:26px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--al-cyan),transparent);
}

.al-hero-title{
  margin:18px 0 0;
  color:#fff;
  font-size:clamp(2.5rem,6.6vw,5rem);
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.03em;
}

.al-hero-title .word{
  display:inline-block;
  overflow:hidden;
  vertical-align:top;
  padding-bottom:.06em;
  margin-right:.12em;
}

.al-hero-title .word-in{
  display:inline-block;
  transform:translateY(115%);
}

body.al-go .al-hero-title .word-in{
  animation:alWordUp .85s cubic-bezier(.16,.84,.3,1) forwards;
}

.al-hero-title .word:nth-child(1) .word-in{animation-delay:0s;}
.al-hero-title .word:nth-child(2) .word-in{animation-delay:.075s;}
.al-hero-title .word:nth-child(3) .word-in{animation-delay:.15s;}
.al-hero-title .word:nth-child(4) .word-in{animation-delay:.225s;}
.al-hero-title .word:nth-child(5) .word-in{animation-delay:.30s;}
.al-hero-title .word:nth-child(6) .word-in{animation-delay:.375s;}
.al-hero-title .word:nth-child(7) .word-in{animation-delay:.45s;}
.al-hero-title .word:nth-child(8) .word-in{animation-delay:.525s;}

.al-hero-lead{
  max-width:640px;
  margin-top:24px;
  font-size:clamp(1.05rem,1.7vw,1.3rem);
  line-height:1.65;
  color:var(--al-muted);
  opacity:0;
  transform:translateY(20px);
}

body.al-go .al-hero-lead{
  animation:alFadeUp .9s ease forwards .55s;
}

.al-hero-cta{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:32px;
  opacity:0;
  transform:translateY(20px);
}

body.al-go .al-hero-cta{
  animation:alFadeUp .9s ease forwards .75s;
}

.al-hero .elementor-button,
.al-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:.95rem 1.55rem;
  border-radius:999px;
  font-size:.98rem;
  font-weight:700;
  transition:transform .25s, box-shadow .25s, background .25s, border-color .25s;
}

.al-hero .elementor-button:hover,
.al-btn:hover{
  transform:translateY(-3px);
}

.al-btn-primary .elementor-button,
.al-btn-primary{
  background:var(--al-grad-warm);
  color:#fff !important;
  box-shadow:0 14px 30px -12px rgba(255,95,90,.6);
}

.al-btn-secondary .elementor-button,
.al-btn-secondary{
  background:rgba(255,255,255,.08);
  color:#fff !important;
  border:1.5px solid rgba(255,255,255,.35);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.al-hero .al-hero-badge-clean{
  position:absolute !important;
  top:120px !important;
  right:calc((100vw - 100%) / -2 + 24px) !important;
  z-index:4 !important;
}

.al-hero-badge-clean{
  position:relative !important;
  top:auto !important;
  right:calc((100vw - 100%) / -2 + 24px) !important;
  z-index:4;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  padding:12px 16px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.25) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  white-space:nowrap;
  min-width:max-content;
}

.al-hero-badge-clean *{
  box-sizing:border-box;
}

.al-hero-badge-icon{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  flex:0 0 42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  background:linear-gradient(135deg,#ff7a59,#ff4d6d) !important;
}

.al-hero-badge-icon svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
  fill:none !important;
  stroke:#fff !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.al-hero-badge-text{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:3px !important;
  min-width:max-content;
}

.al-hero-badge-temp{
  display:block !important;
  margin:0 !important;
  font-size:1.3rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  color:#fff !important;
}

.al-hero-badge-label{
  display:block !important;
  margin:0 !important;
  font-size:.72rem !important;
  line-height:1.1 !important;
  letter-spacing:.08em !important;
  color:rgba(255,255,255,.88) !important;
}

.al-hero-badge-wrap{
  position:absolute !important;
  top:120px !important;
  right:0 !important;
  width:0 !important;
  height:0 !important;
  z-index:4 !important;
}

.al-hero-badge-wrap > .elementor-widget-container{
  position:relative !important;
  width:0 !important;
  height:0 !important;
  overflow:visible !important;
}

.al-hero-badge-clean{
  position:relative !important;
  top:auto !important;
  right:calc((100vw - 100%) / -2 + 24px) !important;
}

.al-scroll-cue{
  position:absolute;
  bottom:8.5rem;
  left:50%;
  transform:translateX(-50%);
  z-index:5;
  color:rgba(255,255,255,.6);
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.5rem;
  opacity:0;
}

body.al-go .al-scroll-cue{
  animation:alFadeUp 1s ease forwards 1.6s;
}

.al-scroll-cue i{
  width:1px;
  height:34px;
  background:linear-gradient(rgba(255,255,255,.7),transparent);
  animation:alCueLine 1.8s ease-in-out infinite;
}

.al-bubbles-wrap{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  z-index:2 !important;
  pointer-events:none !important;
}

.al-bubbles-wrap > .elementor-widget-container{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.al-bubbles{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  pointer-events:none;
}

.al-bubbles span{
  position:absolute;
  bottom:-60px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.82), rgba(57,216,230,.22));
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 0 14px rgba(57,216,230,.14);
  opacity:0;
  animation:alRise 10s linear infinite;
}

.al-bubbles span:nth-child(1){width:16px;height:16px;left:21%;animation-duration:10.6s;animation-delay:.5s;}
.al-bubbles span:nth-child(2){width:23px;height:23px;left:14%;animation-duration:10.3s;animation-delay:.6s;}
.al-bubbles span:nth-child(3){width:22px;height:22px;left:29%;animation-duration:7.3s;animation-delay:4.3s;}
.al-bubbles span:nth-child(4){width:8px;height:8px;left:32%;animation-duration:7.8s;animation-delay:4.2s;}
.al-bubbles span:nth-child(5){width:24px;height:24px;left:17%;animation-duration:15.5s;animation-delay:6.3s;}
.al-bubbles span:nth-child(6){width:24px;height:24px;left:9%;animation-duration:12.2s;animation-delay:4s;}
.al-bubbles span:nth-child(7){width:13px;height:13px;left:7%;animation-duration:12s;animation-delay:1.3s;}
.al-bubbles span:nth-child(8){width:19px;height:19px;left:20%;animation-duration:11.9s;animation-delay:5.7s;}
.al-bubbles span:nth-child(9){width:23px;height:23px;left:89%;animation-duration:8.6s;animation-delay:5.8s;}
.al-bubbles span:nth-child(10){width:26px;height:26px;left:26%;animation-duration:10.4s;animation-delay:5.5s;}
.al-bubbles span:nth-child(11){width:8px;height:8px;left:74%;animation-duration:7.5s;animation-delay:2.1s;}
.al-bubbles span:nth-child(12){width:27px;height:27px;left:70%;animation-duration:10.8s;animation-delay:3.1s;}

@keyframes alRise{
  0%{
    transform:translateY(0) scale(.55);
    opacity:0;
  }
  12%{
    opacity:.75;
  }
  80%{
    opacity:.38;
  }
  100%{
    transform:translateY(-92vh) scale(1.08);
    opacity:0;
  }
}

.al-hero-waves{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  z-index:2;
  line-height:0;
  pointer-events:none;
}

.al-hero-waves .wv{
  position:absolute;
  bottom:0;
  left:0;
  width:200%;
}

.al-hero-waves .wv1{
  height:160px;
  fill:rgba(22,184,212,.18);
  animation:alWaveMove 17s linear infinite;
}
.al-hero-waves .wv2{
  height:140px;
  fill:rgba(215,243,248,.30);
  animation:alWaveMove 12s linear infinite reverse;
}
.al-hero-waves .wv3{
  height:120px;
  fill:#f3fbfd;
  animation:alWaveMove 9s linear infinite;
}

/* SPLASH */
.al-preloader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  background:var(--al-grad-sea);
  transition:opacity .8s ease, visibility .8s ease;
}

.al-preloader.is-done{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.al-pre-stage{
  position:relative;
  width:160px;
  height:260px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.al-pre-drop{
  width:34px;
  height:50px;
  color:var(--al-cyan);
  animation:alDropFall 1s cubic-bezier(.55,0,.85,.4) forwards;
  filter:drop-shadow(0 0 10px rgba(57,216,230,.6));
}

.al-pre-drop svg{
  width:100%;
  height:100%;
}

.al-pre-surface{
  position:absolute;
  top:200px;
  left:50%;
  transform:translateX(-50%);
  width:8px;
  height:8px;
}

.al-pre-surface .ripple{
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border:2px solid rgba(57,216,230,.7);
  border-radius:50%;
  transform:translate(-50%,-50%) scale(0);
  opacity:0;
  animation:alRipple 1.4s ease-out forwards .9s;
}

.al-pre-surface .r2{
  animation-delay:1.15s;
}

.al-splash{
  position:absolute;
  top:198px;
  left:50%;
  transform:translateX(-50%);
  width:1px;
  height:1px;
}

.al-splash i{
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--al-cyan);
  opacity:0;
  animation:alSp .7s ease-out forwards .9s;
}

.al-splash i:nth-child(1){--tx:-34px;--ty:-30px;}
.al-splash i:nth-child(2){--tx:34px;--ty:-30px;}
.al-splash i:nth-child(3){--tx:-20px;--ty:-44px;}
.al-splash i:nth-child(4){--tx:20px;--ty:-44px;}
.al-splash i:nth-child(5){--tx:-42px;--ty:-10px;}
.al-splash i:nth-child(6){--tx:42px;--ty:-10px;}

.al-pre-word{
  position:absolute;
  bottom:0;
  left:50%;
  width:max-content;
  white-space:nowrap;
  display:inline-block;
  text-align:center;
  font-size:1.7rem;
  font-weight:800;
  letter-spacing:.18em;
  line-height:1;
  color:#fff;
  opacity:0;
  transform:translateX(-50%) translateY(18px);
  animation:alPreWordIn .8s ease forwards 1.3s;
}

.al-pre-word span{
  color:var(--al-cyan);
}

@keyframes alPreWordIn{
  from{
    opacity:0;
    transform:translateX(-50%) translateY(18px);
  }
  to{
    opacity:1;
    transform:translateX(-50%) translateY(0);
  }
}

@keyframes alWordUp{to{transform:translateY(0);}}
@keyframes alFadeUp{to{opacity:1;transform:none;}}
@keyframes alPopTag{from{opacity:0;transform:scale(.6);}to{opacity:1;transform:scale(1);}}
@keyframes alFloaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-16px);}}
@keyframes alRise{0%{transform:translateY(0) scale(.6);opacity:0;}15%{opacity:.7;}85%{opacity:.5;}100%{transform:translateY(-92vh) scale(1.1);opacity:0;}}
@keyframes alWaveMove{to{transform:translateX(-50%);}}
@keyframes alCueLine{0%,100%{transform:scaleY(.4);opacity:.45;}50%{transform:scaleY(1);opacity:1;}}
@keyframes alDropFall{0%{transform:translateY(-130px) scaleY(.7);opacity:0;}20%{opacity:1;}80%{transform:translateY(120px) scaleY(1.15);opacity:1;}100%{transform:translateY(150px) scaleY(.4) scaleX(1.5);opacity:0;}}
@keyframes alRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:.9;}100%{transform:translate(-50%,-50%) scale(16);opacity:0;}}
@keyframes alSp{0%{opacity:1;transform:translate(0,0) scale(1);}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.3);}}

@media (max-width: 1024px){
  .al-hero-tag{
    top:auto;
    right:auto;
    left:20px;
    bottom:120px;
  }
}

@media (max-width: 767px){
  .al-hero{
    min-height:auto;
  }

  .al-hero-title{
    font-size:clamp(2.2rem,10vw,3.5rem);
  }

  .al-hero-cta{
    flex-direction:column;
    align-items:stretch;
  }

  .al-hero .elementor-button{
    width:100%;
  }

  .al-scroll-cue{
    display:none;
  }

  .al-hero-tag{
    position:relative;
    left:auto;
    bottom:auto;
    margin-top:24px;
    width:max-content;
    max-width:100%;
  }

  .al-hero-waves .wv1{height:120px;}
  .al-hero-waves .wv2{height:100px;}
  .al-hero-waves .wv3{height:84px;}
}

@media (prefers-reduced-motion: reduce){
  .al-hero-title .word-in,
  .al-hero-lead,
  .al-hero-cta,
  .al-hero-tag,
  .al-bubbles span,
  .al-hero-waves .wv,
  .al-pre-drop,
  .al-pre-surface .ripple,
  .al-splash i,
  .al-pre-word,
  .al-scroll-cue{
    animation:none !important;
    transition:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}/* End custom CSS */