.elementor-2599 .elementor-element.elementor-element-3fc3c4a{--display:flex;--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:32px 32px;--row-gap:32px;--column-gap:32px;--padding-top:32px;--padding-bottom:060px;--padding-left:24px;--padding-right:24px;}.elementor-2599 .elementor-element.elementor-element-61e70ad{--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-2599 .elementor-element.elementor-element-55cc89b{text-align:center;}.elementor-2599 .elementor-element.elementor-element-36bec7f{text-align:center;font-family:var( --e-global-typography-c6f126b-font-family ), Sans-serif;font-size:var( --e-global-typography-c6f126b-font-size );font-weight:var( --e-global-typography-c6f126b-font-weight );line-height:var( --e-global-typography-c6f126b-line-height );}.elementor-2599 .elementor-element.elementor-element-54d80c4{--display:flex;--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;--padding-top:24px;--padding-bottom:60px;--padding-left:24px;--padding-right:24px;}.elementor-2599 .elementor-element.elementor-element-bcf229c{--grid-columns:1;}.elementor-2599 .elementor-element.elementor-element-5c56cb4{--display:flex;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:40px;--padding-left:24px;--padding-right:24px;}.elementor-2599 .elementor-element.elementor-element-d3b3cf8{--display:flex;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--border-radius:16px 16px 16px 16px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-2599 .elementor-element.elementor-element-d3b3cf8:not(.elementor-motion-effects-element-type-background), .elementor-2599 .elementor-element.elementor-element-d3b3cf8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-2599 .elementor-element.elementor-element-b0421a7{--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-2599 .elementor-element.elementor-element-e1c4630{text-align:center;}.elementor-2599 .elementor-element.elementor-element-e1c4630 .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:40px;font-weight:500;line-height:110%;color:#FFFFFF;}.elementor-2599 .elementor-element.elementor-element-85fbe3a{text-align:center;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;line-height:150%;color:#FFFFFF;}.elementor-2599 .elementor-element.elementor-element-d3d11f6 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-2599 .elementor-element.elementor-element-d3d11f6 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-2599 .elementor-element.elementor-element-d3d11f6 .elementor-button{font-size:20px;}.elementor-2599 .elementor-element.elementor-element-6e0c527{text-align:center;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;font-style:italic;line-height:150%;color:#FFFFFF;}body.elementor-page-2599:not(.elementor-motion-effects-element-type-background), body.elementor-page-2599 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-072f7af );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-2599 .elementor-element.elementor-element-3fc3c4a{--content-width:950px;}.elementor-2599 .elementor-element.elementor-element-5c56cb4{--content-width:943px;}}@media(max-width:1024px){.elementor-2599 .elementor-element.elementor-element-3fc3c4a{--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-2599 .elementor-element.elementor-element-61e70ad{--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-2599 .elementor-element.elementor-element-36bec7f{font-size:var( --e-global-typography-c6f126b-font-size );line-height:var( --e-global-typography-c6f126b-line-height );}.elementor-2599 .elementor-element.elementor-element-bcf229c{--grid-columns:1;}.elementor-2599 .elementor-element.elementor-element-d3b3cf8{--padding-top:032px;--padding-bottom:032px;--padding-left:24px;--padding-right:24px;}.elementor-2599 .elementor-element.elementor-element-6e0c527{font-size:16px;}}@media(max-width:767px){.elementor-2599 .elementor-element.elementor-element-3fc3c4a{--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-2599 .elementor-element.elementor-element-61e70ad{--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-2599 .elementor-element.elementor-element-36bec7f{font-size:var( --e-global-typography-c6f126b-font-size );line-height:var( --e-global-typography-c6f126b-line-height );}.elementor-2599 .elementor-element.elementor-element-54d80c4{--padding-top:32px;--padding-bottom:40px;--padding-left:16px;--padding-right:16px;}.elementor-2599 .elementor-element.elementor-element-bcf229c{--grid-columns:1;}.elementor-2599 .elementor-element.elementor-element-5c56cb4{--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-2599 .elementor-element.elementor-element-d3b3cf8{--padding-top:24px;--padding-bottom:24px;--padding-left:8px;--padding-right:8px;}.elementor-2599 .elementor-element.elementor-element-e1c4630 .elementor-heading-title{font-size:46px;}.elementor-2599 .elementor-element.elementor-element-85fbe3a{font-size:16px;}.elementor-2599 .elementor-element.elementor-element-d3d11f6 .elementor-button{font-size:18px;}}/* Start custom CSS for container, class: .elementor-element-3fc3c4a */.background-hero-city {
  position: relative;
  overflow: hidden;
}

/* Background image, faded */
.background-hero-city::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("https://stage.raulluna.com/wp-content/uploads/2025/08/city-background.png")
              center/cover no-repeat;
  opacity: 0.2; /* just fade the image */
  
  /* apply the fade with a mask (no colors added) */
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 20%,
    black 80%,
    transparent 100%
  );
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: cover;

  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 20%,
    black 80%,
    transparent 100%
  );
  mask-repeat: no-repeat;
  mask-size: cover;

  z-index: 0;
}

/* Content stays on top */
.background-hero-city > * {
  position: relative;
  z-index: 1;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-85fbe3a */.elementor-2599 .elementor-element.elementor-element-85fbe3a a {
    color: white;
    text-decoration: underline;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d3b3cf8 *//* ===== Hero Join Card — Sparkly Border (no rotation of content) ===== */
.hero-join-card{
  /* quick tweaks */
  --radius: 36px;
  --border-w: 2px;
  --accent: #9FF9B9;                                  /* brand sparkle */
  --ring: color-mix(in srgb, var(--accent), black 16%);/* border color */
  --glow: color-mix(in srgb, var(--accent), white 10%);

  position: relative;
  border-radius: var(--radius);
  /* keep your existing background from Elementor; no override here */
  isolation: isolate;
  box-shadow: 0 12px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
}

/* Animatable angle for the conic gradient (only affects the border) */
@property --ring-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

/* Animated ring — masked to show only the border */
.hero-join-card::before{
  content:"";
  position:absolute;
  inset:0;
  padding: var(--border-w);
  border-radius: inherit;

  background:
    conic-gradient(from var(--ring-angle),
      transparent 0deg,
      var(--ring) 14deg, transparent 28deg,
      var(--ring) 42deg, transparent 56deg,
      var(--ring) 70deg, transparent 84deg,
      var(--ring) 98deg, transparent 112deg,
      var(--ring) 126deg, transparent 140deg,
      var(--ring) 154deg, transparent 168deg,
      var(--ring) 182deg, transparent 196deg,
      var(--ring) 210deg, transparent 224deg,
      var(--ring) 238deg, transparent 252deg,
      var(--ring) 266deg, transparent 280deg,
      var(--ring) 294deg, transparent 308deg,
      var(--ring) 322deg, transparent 336deg,
      var(--ring) 350deg, transparent 360deg
    );

  filter: drop-shadow(0 0 10px var(--glow));

  /* show only the border ring */
  -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;

  pointer-events:none;
  animation: ring-rotate 16s linear infinite;
}

/* Optional subtle top highlight on the border (also masked) */
.hero-join-card::after{
  content:"";
  position:absolute;
  inset:0;
  padding: var(--border-w);
  border-radius: inherit;
  pointer-events:none;

  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 40%);
  mix-blend-mode: screen;

  -webkit-mask:
      linear-gradient(#000 0 0) content-box,
      linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  opacity:.6;
}

@keyframes ring-rotate { to { --ring-angle: 360deg; } }

/* Fallback if conic gradients / @property aren’t supported */
@supports not (background: conic-gradient(red, blue)) {
  .hero-join-card::before{
    background: none;
    box-shadow: inset 0 0 0 var(--border-w) var(--ring);
    filter: none;
    animation: none;
  }
  .hero-join-card::after{ opacity:.3; }
}

/* Motion-safe */
@media (prefers-reduced-motion: reduce){
  .hero-join-card::before,
  .hero-join-card::after{ animation: none !important; }
}/* End custom CSS */