.elementor-21 .elementor-element.elementor-element-fbb9278{--display:flex;--min-height:100vh;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-21 .elementor-element.elementor-element-fbb9278.e-con{--align-self:center;}.elementor-21 .elementor-element.elementor-element-3e58cc6{width:100%;max-width:100%;}.elementor-21 .elementor-element.elementor-element-3e58cc6.elementor-element{--align-self:center;--order:-99999 /* order start hack */;}body.elementor-page-21:not(.elementor-motion-effects-element-type-background), body.elementor-page-21 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3D130;}@media(min-width:768px){.elementor-21 .elementor-element.elementor-element-fbb9278{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-3e58cc6 */:root{
  --rs-dark:  #10341b;
  --rs-gold:  #f4d031;
  --rs-green: #62e37a;
  --rs-green2:#7ff0a0;

  /* default desktop wave height */
  --wave-h:   280px;
  --wave-w:   2000px;
}

.rs-hero{
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background: linear-gradient(180deg, var(--rs-dark) 0%, #1e6634 100%);
}

/* waves + background container */
.rs-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}

/* canvas sits above waves */
#3D-particle-effect-canvas{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:block;
}

/* CTA button */
.rs-enter{
  position:absolute;
  left:50%;
  bottom:14%;
  transform:translateX(-50%);
  z-index:2;
  display:inline-block;
  font-family:"Poppins",system-ui,-apple-system,sans-serif;
  font-weight:700;
  letter-spacing:.05em;
  text-decoration:none;
  border-radius:999px;
  padding:14px 36px;
  background:var(--rs-gold);
  color:var(--rs-dark);
  box-shadow:0 8px 20px rgba(16,52,27,.25);
  transition:all .25s ease;
}

.rs-enter:hover{
  background:var(--rs-green);
  transform:translateX(-50%) translateY(-3px);
  box-shadow:0 12px 30px rgba(16,52,27,.3);
}

.rs-enter:active{
  transform:translateX(-50%) translateY(0);
  box-shadow:0 6px 18px rgba(16,52,27,.25);
}

/* WAVE ANIMATION */
.rs-bg .air{
  --wave-svg: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='2000' height='200' viewBox='0 0 2000 200' preserveAspectRatio='none'>\
  <defs><linearGradient id='g' x1='0' y1='0' x2='0' y2='1'>\
  <stop offset='0%' stop-color='%237ff0a0'/>\
  <stop offset='100%' stop-color='%2362e37a'/>\
  </linearGradient></defs>\
  <path fill='url(%23g)' d='M0,120 C250,170 500,70 750,120 C1000,170 1250,70 1500,120 C1750,170 2000,70 2000,120 L2000,200 L0,200 Z'/>\
</svg>");
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:var(--wave-h);
  pointer-events:none;
  background-image: var(--wave-svg);
  background-repeat: repeat-x;
  background-size: var(--wave-w) var(--wave-h);
  will-change: background-position;
}

.rs-bg .air.air1{
  animation: rs-wave 40s linear infinite;
  opacity:.9;
  bottom:0;
}
.rs-bg .air.air2{
  animation: rs-wave2 20s linear infinite;
  opacity:.6;
  bottom: calc(var(--wave-h) * .08);
}
.rs-bg .air.air3{
  animation: rs-wave 40s linear infinite;
  opacity:.4;
  bottom: calc(var(--wave-h) * .15);
}
.rs-bg .air.air4{
  animation: rs-wave2 8s linear infinite;
  opacity:.75;
  bottom: calc(var(--wave-h) * .22);
}

@keyframes rs-wave  {
  0%  { background-position-x:0 }
  100%{ background-position-x: var(--wave-w) }
}
@keyframes rs-wave2 {
  0%  { background-position-x:0 }
  100%{ background-position-x:-var(--wave-w) }
}

/* ✅ MOBILE: smaller waves & button tweak */
@media (max-width: 768px){
  :root{ --wave-h: 180px; }
  .rs-enter{
    bottom:16%;
    font-size:15px;
    padding:12px 30px;
  }
}
@media (max-width: 480px){
  :root{ --wave-h: 160px; }
  .rs-enter{
    bottom:18%;
    font-size:14px;
    padding:10px 26px;
  }
}

@media (prefers-reduced-motion: reduce){
  .rs-bg .air{ animation:none!important; }
}/* End custom CSS */