.elementor-14 .elementor-element.elementor-element-45b1edd{--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-14 .elementor-element.elementor-element-0e80071{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-879db74{--display:flex;--overlay-opacity:0.5;--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-14 .elementor-element.elementor-element-879db74::before, .elementor-14 .elementor-element.elementor-element-879db74 > .elementor-background-video-container::before, .elementor-14 .elementor-element.elementor-element-879db74 > .e-con-inner > .elementor-background-video-container::before, .elementor-14 .elementor-element.elementor-element-879db74 > .elementor-background-slideshow::before, .elementor-14 .elementor-element.elementor-element-879db74 > .e-con-inner > .elementor-background-slideshow::before, .elementor-14 .elementor-element.elementor-element-879db74 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-14 .elementor-element.elementor-element-f2cff4f{--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-14 .elementor-element.elementor-element-5deff81{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-14 .elementor-element.elementor-element-f314cc9{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-14 .elementor-element.elementor-element-455519e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:25px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-c875b8a{--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-14 .elementor-element.elementor-element-732fb5f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-252b48d{--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-14 .elementor-element.elementor-element-84a08df{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-513dfd8{--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-14 .elementor-element.elementor-element-2d2ef2b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:50px 0px 50px 0px;}.elementor-14 .elementor-element.elementor-element-0dd1ca8{--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-14 .elementor-element.elementor-element-fb82ac4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:50px 0px 50px 0px;}.elementor-14 .elementor-element.elementor-element-6528a05{--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-14 .elementor-element.elementor-element-a707f5f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:50px 0px 50px 0px;}.elementor-14 .elementor-element.elementor-element-90c6e94{--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-14 .elementor-element.elementor-element-a291949{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}@media(max-width:767px){.elementor-14 .elementor-element.elementor-element-5deff81{--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-14 .elementor-element.elementor-element-944d045{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-f314cc9{--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-14 .elementor-element.elementor-element-455519e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-c875b8a{--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-14 .elementor-element.elementor-element-732fb5f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-252b48d{--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-14 .elementor-element.elementor-element-84a08df{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-513dfd8{--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-14 .elementor-element.elementor-element-2d2ef2b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-0dd1ca8{--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-14 .elementor-element.elementor-element-fb82ac4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-6528a05{--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-14 .elementor-element.elementor-element-a707f5f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-14 .elementor-element.elementor-element-90c6e94{--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-14 .elementor-element.elementor-element-a291949{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-0e80071 */.jm-container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
}

.jm-topbar{
    background:#86b97a;
    color:#fff;
    font-size:14px;
}

.jm-topbar .jm-container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:6px 20px;
}

.jm-topbar a{
    color:#fff;
    text-decoration:none;
    margin-left:20px;
}

.jm-header{
    background:#fff;
    border-bottom:1px solid #eef2ee;
    position:sticky;
    top:0;
    z-index:999;
}

.jm-header .jm-container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 20px;
}

.jm-logo img{
    height:64px;
    width:auto;
}

.jm-nav{
    display:flex;
    gap:30px;
    align-items:center;
}

.jm-nav a{
    color:#2b2b2b;
    text-decoration:none;
    font-weight:500;
    transition:.2s;
}

.jm-nav a:hover{
    color:#e4007d;
}

.jm-btn{
    background:#e4007d;
    color:#fff !important;
    padding:10px 22px;
    border-radius:30px;
}

.jm-burger{
    display:none;
    flex-direction:column;
    gap:5px;
    background:none;
    border:none;
    cursor:pointer;
}

.jm-burger span{
    width:26px;
    height:3px;
    background:#2b2b2b;
    display:block;
}
.jm-topbar i{
    margin-right:8px;
    color:#ffffff;
}

.jm-topbar-right a i{
    margin-right:6px;
}

.jm-topbar-right a{
    margin-left:22px;
}

@media(max-width:900px){

.jm-topbar-left{
    display:none;
}

.jm-nav{
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;

    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 24px;

    transform: translateY(-20px);
    opacity: 0;
    pointer-events: none;

    transition: .25s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
    z-index: 9999;
  }

  .jm-nav.jm-open{
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .jm-burger{
    display:flex;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3120817 */.jm-hero-section{
  position: relative;
  overflow: hidden;
  max-width: 100%;
  height: 700px;
  min-height: 700px;
  display: flex;
  align-items: center;
}

.jm-hero-section::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background-image: url('https://www.krasny-usmev.sk/wp-content/uploads/2026/03/petra-1.webp');
  background-size: cover;
  background-position: right center;
  background-repeat: no-repeat;
  background-attachment: scroll;

  filter: blur(var(--hero-blur, 0px));
  -webkit-filter: blur(var(--hero-blur, 0px));
  transform: scale(1.05);
  transition: filter 0.12s linear, -webkit-filter 0.12s linear;
}

.jm-hero-section::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,0.78) 0%,
      rgba(255,255,255,0.66) 28%,
      rgba(255,255,255,0.32) 52%,
      rgba(255,255,255,0.08) 72%,
      rgba(255,255,255,0.00) 100%
    );
}

.jm-hero-inner{
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 90px 20px;
  box-sizing: border-box;
}

.jm-hero-card{
  max-width: 540px;
  background: rgba(255,255,255,0.65);
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 0 20px 45px rgba(0,0,0,0.08);
  border-radius: 16px;
  padding: 36px;
  box-sizing: border-box;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.jm-hero-badge{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(147,199,128,0.16);
  color: #2b2b2b;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 14px;
  margin-bottom: 18px;
}

.jm-hero-badge i{
  color: #93c780;
}

.jm-hero-card h1{
  font-size: 42px;
  line-height: 1.15;
  margin: 0 0 18px;
  color: #222;
  font-weight: 750;
}

.jm-hero-lead{
  font-size: 18px;
  line-height: 1.6;
  margin: 0 0 24px;
  color: #444;
}

.jm-hero-actions{
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.jm-hero-btn{
  display: inline-block;
  background: #da0b81;
  color: #fff;
  padding: 14px 26px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 650;
  transition: .25s ease;
}

.jm-hero-btn:hover{
  background: #93c780;
  color: #1e1e1e;
}

.jm-hero-link{
  color: #222;
  text-decoration: none;
  font-weight: 600;
}

.jm-hero-link i{
  color: #da0b81;
  margin-right: 8px;
}

.jm-hero-points{
  display: grid;
  gap: 10px;
  font-size: 15px;
  color: #333;
}

.jm-hero-points i{
  color: #93c780;
  margin-right: 10px;
}

@media (max-width: 1024px){
  .jm-hero-section{
    height: 620px;
    min-height: 620px;
  }

  .jm-hero-section::before{
    background-position: 68% center;
    background-size: cover;
    background-attachment: scroll;
    transform: scale(1.04);
  }

  .jm-hero-section::after{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.62) 0%,
        rgba(255,255,255,0.42) 45%,
        rgba(255,255,255,0.16) 100%
      );
  }

  .jm-hero-inner{
    padding: 70px 20px;
  }

  .jm-hero-card{
    max-width: 100%;
    padding: 28px;
    background: rgba(255,255,255,0.58);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(8px);
  }

  .jm-hero-card h1{
    font-size: 36px;
  }
}

@media (max-width: 767px){
  .jm-hero-section{
    height: 560px;
    min-height: 560px;
    align-items: flex-end;
  }

  .jm-hero-section::before{
    background-position: 72% center;
    background-size: 185% auto;
    background-repeat: no-repeat;
    background-attachment: scroll;
    transform: scale(1.02);
  }

  .jm-hero-section::after{
    background:
      linear-gradient(
        180deg,
        rgba(255,255,255,0.18) 0%,
        rgba(255,255,255,0.28) 30%,
        rgba(255,255,255,0.60) 62%,
        rgba(255,255,255,0.86) 100%
      );
  }

  .jm-hero-inner{
    padding: 60px 16px 24px;
  }

  .jm-hero-card{
    max-width: 100%;
    padding: 22px;
    background: rgba(255,255,255,0.70);
    border-radius: 14px;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(1px);
  }

  .jm-hero-card h1{
    font-size: 27px;
    line-height: 1.18;
  }

  .jm-hero-lead{
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 22px;
  }

  .jm-hero-actions{
    gap: 14px;
  }

  .jm-hero-btn{
    width: 100%;
    text-align: center;
  }

  .jm-hero-link{
    width: 100%;
    text-align: center;
  }

  .jm-hero-points{
    font-size: 14px;
    gap: 8px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d7f17fe */.jm-insurance-section{
  background:#f7fbf6;
  padding:42px 0;
}

.jm-insurance-box{
  display:flex;
  align-items:flex-start;
  gap:26px;
  background:#fff;
  border:1px solid #eef2ee;
  border-radius:16px;
  padding:32px 36px;
  box-shadow:0 14px 35px rgba(0,0,0,0.06);
}

.jm-insurance-icon{
  width:64px;
  height:64px;
  flex:0 0 64px;
  border-radius:50%;
  background:rgba(147,199,128,0.16);
  display:flex;
  align-items:center;
  justify-content:center;
}

.jm-insurance-icon i{
  color:#da0b81;
  font-size:28px;
}

.jm-insurance-kicker{
  margin:0 0 8px;
  color:#86b97a;
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0;
}

.jm-insurance-content h2{
  margin:0 0 12px;
  color:#222;
  font-size:30px;
  line-height:1.2;
  font-weight:750;
}

.jm-insurance-content p{
  margin:0;
  color:#444;
  font-size:17px;
  line-height:1.6;
  max-width:780px;
}

.jm-insurance-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.jm-insurance-list span{
  display:inline-flex;
  align-items:center;
  background:rgba(147,199,128,0.14);
  color:#2b2b2b;
  border:1px solid rgba(147,199,128,0.28);
  border-radius:999px;
  padding:9px 15px;
  font-size:15px;
  font-weight:600;
}

.jm-insurance-list span::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#da0b81;
  margin-right:9px;
}

@media(max-width:767px){
  .jm-insurance-section{
    padding:28px 0;
  }

  .jm-insurance-box{
    flex-direction:column;
    gap:18px;
    padding:26px 22px;
    border-radius:14px;
  }

  .jm-insurance-icon{
    width:56px;
    height:56px;
    flex-basis:56px;
  }

  .jm-insurance-icon i{
    font-size:24px;
  }

  .jm-insurance-content h2{
    font-size:25px;
  }

  .jm-insurance-content p{
    font-size:16px;
  }

  .jm-insurance-list{
    gap:8px;
  }

  .jm-insurance-list span{
    width:100%;
    box-sizing:border-box;
    justify-content:flex-start;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-944d045 */.jm-about2 .jm-container{max-width:1200px;margin:0 auto;padding:0 20px;}

    .jm-about2-grid{
      display:grid;
      grid-template-columns: 1.25fr 0.75fr;
      gap:44px;
      align-items:start;
    }

    .jm-about2 h2{
      font-size:36px;
      line-height:1.2;
      margin:0 0 16px;
      color:#222;
      position:relative;
      padding-left:14px;
    }

    .jm-about2 h2:before{
      content:"";
      position:absolute;
      left:0;
      top:6px;
      width:6px;
      height:80%;
      border-radius:8px;
      background: linear-gradient(180deg, #da0b81, #93c780);
    }

    .jm-about2 p{
      font-size:17px;
      line-height:1.75;
      color:#444;
      margin:0 0 14px;
    }

    .jm-about2-bullets{
      margin-top:18px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:10px 18px;
      font-weight:600;
      color:#2b2b2b;
    }
    .jm-about2-bullets i{color:#93c780;margin-right:10px;}

    .jm-trust{
      display:grid;
      gap:14px;
    }
    .jm-trust-card{
      background:#fff;
      border:1px solid rgba(147,199,128,0.25);
      border-radius:16px;
      padding:18px 18px;
      box-shadow:0 18px 40px rgba(0,0,0,0.06);
      display:flex;
      gap:14px;
      align-items:flex-start;
    }
    .jm-trust-ico{
      width:44px;height:44px;border-radius:14px;
      background: rgba(218,11,129,0.10);
      display:flex;align-items:center;justify-content:center;
      flex:0 0 auto;
    }
    .jm-trust-ico i{color:#da0b81;font-size:18px;}
    .jm-trust-card h3{
      font-size:16px;margin:0 0 6px;color:#222;
    }
    .jm-trust-card p{
      margin:0;color:#555;font-size:14.5px;line-height:1.6;
    }

    .jm-about2-cta{
      margin-top:22px;
      display:flex;
      gap:16px;
      align-items:center;
      flex-wrap:wrap;
    }
    .jm-about2-btn{
      display:inline-block;
      background:#da0b81;
      color:#fff;
      padding:12px 22px;
      border-radius:999px;
      text-decoration:none;
      font-weight:650;
      transition:.25s ease;
    }
    .jm-about2-btn:hover{background:#93c780;color:#1e1e1e;}

    .jm-about2-link{
      text-decoration:none;
      color:#222;
      font-weight:650;
    }
    .jm-about2-link i{color:#da0b81;margin-right:8px;}

    @media(max-width:900px){
      .jm-section{padding:70px 0;}
      .jm-about2-grid{grid-template-columns:1fr;}
      .jm-about2 h2{font-size:28px;}
      .jm-about2-bullets{grid-template-columns:1fr;}
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-455519e */.jm-services{
      background:#ffffff;
      padding:0px 0;
    }

    .jm-services .jm-container{
      max-width:1200px;
      margin:0 auto;
      padding:0 20px;
    }

    .jm-services h2{
      text-align:center;
      font-size:36px;
      margin-bottom:12px;
      color:#222;
    }

    .jm-services-sub{
      text-align:center;
      color:#666;
      margin-bottom:40px;
      font-size:17px;
    }

    .jm-services-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:24px;
    }

    .jm-service-card{
      border:1px solid rgba(147,199,128,0.25);
      border-radius:16px;
      padding:28px;
      background:#f9fbf9;
      transition:.25s ease;
    }

    .jm-service-card:hover{
      transform:translateY(-6px);
      box-shadow:0 18px 40px rgba(0,0,0,0.06);
    }

    .jm-service-icon{
      width:54px;
      height:54px;
      border-radius:14px;
      background:rgba(218,11,129,0.1);
      display:flex;
      align-items:center;
      justify-content:center;
      margin-bottom:18px;
    }

    .jm-service-icon i{
      color:#da0b81;
      font-size:22px;
    }

    .jm-service-card h3{
      font-size:20px;
      margin-bottom:10px;
      color:#222;
    }

    .jm-service-card p{
      color:#555;
      font-size:15.5px;
      line-height:1.6;
    }

    @media(max-width:1024px){
      .jm-services-grid{
        grid-template-columns:repeat(2,1fr);
      }
    }

    @media(max-width:680px){
      .jm-services-grid{
        grid-template-columns:1fr;
      }

      .jm-services{
        padding:70px 0;
      }

      .jm-services h2{
        font-size:28px;
      }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-732fb5f */.jm-steps{
      background:#f7faf7;
      padding:90px 0;
    }

    .jm-steps .jm-container{
      max-width:1200px;
      margin:0 auto;
      padding:0 20px;
    }

    .jm-steps-head{
      display:flex;
      justify-content:space-between;
      gap:30px;
      align-items:flex-end;
      margin-bottom:36px;
    }

    .jm-steps h2{
      font-size:36px;
      color:#222;
      margin:0 0 10px;
    }

    .jm-steps p.jm-steps-sub{
      margin:0;
      color:#666;
      font-size:17px;
      max-width:680px;
      line-height:1.7;
    }

    .jm-steps-grid{
      display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap:18px;
    }

    .jm-step{
      background:#fff;
      border:1px solid rgba(147,199,128,0.25);
      border-radius:16px;
      padding:22px;
      box-shadow:0 18px 40px rgba(0,0,0,0.05);
      position:relative;
      overflow:hidden;
    }

    .jm-step:before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(135deg, rgba(218,11,129,0.08), rgba(147,199,128,0.10));
      opacity:0.55;
      pointer-events:none;
    }

    .jm-step *{ position:relative; }

    .jm-step-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      margin-bottom:14px;
    }

    .jm-step-num{
      font-weight:800;
      color:#da0b81;
      font-size:14px;
      letter-spacing:0.12em;
    }

    .jm-step-ico{
      width:46px;
      height:46px;
      border-radius:14px;
      background:rgba(218,11,129,0.10);
      display:flex;
      align-items:center;
      justify-content:center;
    }

    .jm-step-ico i{
      color:#da0b81;
      font-size:18px;
    }

    .jm-step h3{
      font-size:18px;
      margin:0 0 8px;
      color:#222;
    }

    .jm-step p{
      margin:0;
      color:#555;
      font-size:15.5px;
      line-height:1.6;
    }

    .jm-steps-note{
      margin-top:24px;
      background:#fff;
      border:1px solid rgba(147,199,128,0.25);
      border-radius:16px;
      padding:18px 20px;
      display:flex;
      gap:12px;
      align-items:flex-start;
      color:#444;
      line-height:1.7;
    }

    .jm-steps-note i{
      color:#93c780;
      margin-top:3px;
    }

    .jm-steps-cta{
      margin-top:24px;
      display:flex;
      gap:16px;
      align-items:center;
      flex-wrap:wrap;
    }

    .jm-steps-btn{
      display:inline-block;
      background:#da0b81;
      color:#fff;
      padding:12px 22px;
      border-radius:999px;
      text-decoration:none;
      font-weight:650;
      transition:.25s ease;
    }
    .jm-steps-btn:hover{
      background:#93c780;
      color:#1e1e1e;
    }

    .jm-steps-link{
      text-decoration:none;
      color:#222;
      font-weight:650;
    }
    .jm-steps-link i{
      color:#da0b81;
      margin-right:8px;
    }

    @media(max-width:1024px){
      .jm-steps-grid{
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media(max-width:680px){
      .jm-steps{
        padding:70px 0;
      }
      .jm-steps-head{
        flex-direction:column;
        align-items:flex-start;
      }
      .jm-steps h2{
        font-size:28px;
      }
      .jm-steps-grid{
        grid-template-columns: 1fr;
      }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-84a08df */.jm-gallery-cf{
      background:#ffffff;
      padding:90px 0;
    }

    .jm-gallery-cf .jm-container{
      max-width:1200px;
      margin:0 auto;
      padding:0 20px;
    }

    .jm-gallery-cf-head{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:24px;
      margin-bottom:22px;
    }

    .jm-gallery-cf h2{
      font-size:36px;
      margin:0 0 8px;
      color:#222;
      position:relative;
      padding-left:14px;
    }

    .jm-gallery-cf h2:before{
      content:"";
      position:absolute;
      left:0;
      top:6px;
      width:6px;
      height:80%;
      border-radius:8px;
      background: linear-gradient(180deg, #da0b81, #93c780);
    }

    .jm-gallery-cf-sub{
      margin:0;
      color:#666;
      font-size:17px;
      line-height:1.7;
      max-width:760px;
    }

    .jm-cf-shell{
      background:#f7faf7;
      border:1px solid rgba(147,199,128,0.25);
      border-radius:18px;
      box-shadow:0 18px 40px rgba(0,0,0,0.05);
      overflow:hidden;
      padding:26px 18px 18px;
      position:relative;
    }

    .jm-cf-stage{
      position:relative;
      height:520px;
      perspective:1200px;
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
    }

    .jm-cf-slide{
      position:absolute;
      width:min(520px, 70vw);
      height:460px;
      border-radius:18px;
      overflow:hidden;
      background:#fff;
      border:1px solid rgba(0,0,0,0.06);
      box-shadow:0 22px 45px rgba(0,0,0,0.10);
      transform-style:preserve-3d;
      transition:transform .45s ease, opacity .45s ease, filter .45s ease;
      will-change:transform;
      cursor:pointer;
    }

    .jm-cf-slide img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

    .jm-cf-cap{
      position:absolute;
      left:14px;
      right:14px;
      bottom:14px;
      padding:10px 12px;
      border-radius:14px;
      background:rgba(255,255,255,0.88);
      color:#333;
      font-size:14px;
      line-height:1.45;
      border:1px solid rgba(147,199,128,0.25);
    }

    .jm-cf-btn{
      position:absolute;
      top:50%;
      transform:translateY(-50%);
      width:46px;
      height:46px;
      border-radius:999px;
      border:1px solid rgba(0,0,0,0.10);
      background:rgba(255,255,255,0.95);
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 10px 25px rgba(0,0,0,0.10);
      transition:.2s ease;
      z-index:10;
    }

    .jm-cf-btn:hover{
      border-color:rgba(218,11,129,0.35);
      transform:translateY(-50%) scale(1.03);
    }

    .jm-cf-prev{ left:14px; }
    .jm-cf-next{ right:14px; }

    .jm-cf-btn i{
      color:#da0b81;
      font-size:18px;
    }

    .jm-cf-dots{
      display:flex;
      gap:10px;
      justify-content:center;
      padding:14px 10px 2px;
    }

    .jm-cf-dot{
      width:10px;
      height:10px;
      border-radius:999px;
      border:0;
      cursor:pointer;
      background:rgba(0,0,0,0.18);
      transition:.2s ease;
    }

    .jm-cf-dot.jm-active{
      background:#da0b81;
      width:26px;
    }

    .jm-lightbox{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,0.88);
      display:flex;
      align-items:center;
      justify-content:center;
      z-index:9999;
      opacity:0;
      pointer-events:none;
      transition:opacity .25s ease;
      padding:20px;
    }

    .jm-lightbox.active{
      opacity:1;
      pointer-events:auto;
    }

    .jm-lightbox-img{
      max-width:92vw;
      max-height:88vh;
      width:auto;
      height:auto;
      border-radius:16px;
      box-shadow:0 25px 60px rgba(0,0,0,0.55);
      background:#fff;
    }

    .jm-lightbox-close{
      position:absolute;
      top:18px;
      right:22px;
      width:48px;
      height:48px;
      border:none;
      border-radius:999px;
      background:rgba(255,255,255,0.14);
      color:#fff;
      font-size:34px;
      line-height:1;
      cursor:pointer;
      transition:.2s ease;
    }

    .jm-lightbox-close:hover{
      background:rgba(255,255,255,0.24);
    }

    @media(max-width:900px){
      .jm-gallery-cf{ padding:70px 0; }
      .jm-gallery-cf-head{ flex-direction:column; align-items:flex-start; }
      .jm-gallery-cf h2{ font-size:28px; }
      .jm-cf-stage{ height:430px; }
      .jm-cf-slide{ height:380px; width:min(420px, 78vw); }
    }

    @media(max-width:520px){
      .jm-cf-shell{ padding:20px 12px 14px; }
      .jm-cf-stage{ height:360px; }
      .jm-cf-slide{ height:310px; width:min(360px, 86vw); }
      .jm-cf-btn{ width:42px; height:42px; }
      .jm-lightbox-close{
        top:14px;
        right:14px;
        width:44px;
        height:44px;
        font-size:30px;
      }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d2ef2b */.jm-pricing{
      background:#ffffff;
    }

    .jm-pricing .jm-container{
      max-width:1200px;
      margin:0 auto;
      padding:0 20px;
    }

    .jm-pricing-head{
      text-align:center;
      margin-bottom:38px;
    }

    .jm-pricing h2{
      font-size:36px;
      margin:0 0 12px;
      color:#222;
    }

    .jm-pricing-sub{
      margin:0 auto;
      max-width:760px;
      color:#666;
      font-size:17px;
      line-height:1.7;
    }

    .jm-price-box{
      background:#f7faf7;
      border:1px solid rgba(147,199,128,0.25);
      border-radius:18px;
      padding:26px;
      box-shadow:0 18px 40px rgba(0,0,0,0.05);
    }

    .jm-price-row{
      display:grid;
      grid-template-columns: 1fr auto;
      gap:18px;
      align-items:center;
      padding:16px 6px;
      border-bottom:1px solid rgba(0,0,0,0.06);
    }
    .jm-price-row:last-child{ border-bottom:none; }

    .jm-price-title{
      font-weight:750;
      color:#222;
      font-size:16.5px;
      margin:0 0 4px;
    }

    .jm-price-desc{
      margin:0;
      color:#555;
      font-size:14.8px;
      line-height:1.6;
    }

    .jm-price{
      font-weight:800;
      color:#da0b81;
      font-size:18px;
      white-space:nowrap;
    }

    .jm-price small{
      font-weight:700;
      color:#333;
      font-size:12px;
      margin-right:6px;
    }

    .jm-pricing-note{
      margin-top:18px;
      color:#555;
      line-height:1.7;
      display:flex;
      gap:10px;
      align-items:flex-start;
      background:#fff;
      border:1px solid rgba(147,199,128,0.25);
      border-radius:14px;
      padding:14px 16px;
    }

    .jm-pricing-note i{
      color:#93c780;
      margin-top:3px;
    }

    .jm-pricing-cta{
      margin-top:22px;
      display:flex;
      justify-content:center;
      gap:16px;
      flex-wrap:wrap;
      align-items:center;
    }

    .jm-pricing-btn{
      display:inline-block;
      background:#da0b81;
      color:#fff;
      padding:12px 22px;
      border-radius:999px;
      text-decoration:none;
      font-weight:650;
      transition:.25s ease;
    }
    .jm-pricing-btn:hover{
      background:#93c780;
      color:#1e1e1e;
    }

    .jm-pricing-link{
      text-decoration:none;
      color:#222;
      font-weight:650;
    }
    .jm-pricing-link i{ color:#da0b81; margin-right:8px; }

    /* MOBILE */
    @media(max-width:768px){
      .jm-pricing{ padding:70px 0; }
      .jm-pricing h2{ font-size:28px; }
      .jm-price-row{
        grid-template-columns: 1fr;
      }
      .jm-price{
        justify-self:start;
      }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fb82ac4 */.jm-booking{
      background:#f7faf7;
      padding:90px 0;
    }

    .jm-booking .jm-container{
      max-width:1000px;
      margin:0 auto;
      padding:0 20px;
    }

    .jm-booking-head{
      text-align:center;
      margin-bottom:28px;
    }

    .jm-booking h2{
      font-size:36px;
      margin:0 0 10px;
      color:#222;
    }

    .jm-booking-sub{
      color:#666;
      font-size:17px;
      line-height:1.7;
      margin:0 auto;
      max-width:720px;
    }

    .jm-booking-box{
      margin-top:26px;
      background:#fff;
      border:1px solid rgba(147,199,128,0.25);
      border-radius:18px;
      padding:28px;
      box-shadow:0 18px 40px rgba(0,0,0,0.06);
    }

    .jm-booking-info{
      display:flex;
      gap:14px;
      margin-bottom:20px;
      color:#444;
      line-height:1.7;
      background:rgba(147,199,128,0.12);
      border-radius:12px;
      padding:14px 16px;
    }

    .jm-booking-info i{
      color:#93c780;
      margin-top:4px;
    }

    /* SHORTCODE wrapper */
    .jm-booking-calendar{
      margin-top:10px;
    }

    /* MOBILE */
    @media(max-width:768px){
      .jm-booking{
        padding:70px 0;
      }
      .jm-booking h2{
        font-size:28px;
      }
      .jm-booking-box{
        padding:20px;
      }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a707f5f */.jm-contact{
      background:#ffffff;
      padding:90px 0;
    }

    .jm-contact .jm-container{
      max-width:1200px;
      margin:0 auto;
      padding:0 20px;
    }

    .jm-contact-grid{
      display:grid;
      grid-template-columns: 1fr 1.1fr;
      gap:40px;
      align-items:start;
    }

    .jm-contact h2{
      font-size:36px;
      margin:0 0 18px;
      color:#222;
    }

    .jm-contact-card{
      background:#f7faf7;
      border:1px solid rgba(147,199,128,0.25);
      border-radius:18px;
      padding:26px;
      box-shadow:0 18px 40px rgba(0,0,0,0.05);
    }

    .jm-contact-item{
      display:flex;
      gap:14px;
      margin-bottom:18px;
      align-items:flex-start;
    }

    .jm-contact-ico{
      width:44px;
      height:44px;
      border-radius:14px;
      background:rgba(218,11,129,0.12);
      display:flex;
      align-items:center;
      justify-content:center;
      flex-shrink:0;
    }

    .jm-contact-ico i{
      color:#da0b81;
      font-size:18px;
    }

    .jm-contact-item strong{
      display:block;
      color:#222;
      margin-bottom:4px;
    }

    .jm-contact-item a{
      color:#222;
      text-decoration:none;
      font-weight:600;
    }

    .jm-contact-map iframe{
      width:100%;
      height:100%;
      min-height:320px;
      border:0;
      border-radius:18px;
    }

.jm-contact-grid{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap:40px;
  align-items:stretch;  
}


.jm-contact-grid > div{
  height:100%;
  display:flex;
  flex-direction:column;
}

.jm-contact-card{
  flex:1;
}

.jm-contact-map{
  height:100%;
}

.jm-contact-map iframe{
  width:100%;
  height:100%;
  min-height:100%;
  border:0;
  border-radius:18px;
}

    @media(max-width:900px){
      .jm-contact{
        padding:70px 0;
      }
      .jm-contact-grid{
        grid-template-columns:1fr;
      }
      .jm-contact h2{
        font-size:28px;
      }
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a291949 */.jm-footer{
  background:#2b2b2b;
  color:#bbb;
  padding:26px 0;
  font-size:14px;
}

.jm-footer .jm-container{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.jm-footer-credit{
  opacity:.85;
}

.jm-link{
  position:relative;
  color:#93c780;
  text-decoration:none;
  font-weight:500;
  padding:2px 4px;
  transition:color .35s ease, text-shadow .35s ease;
}

.jm-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:100%;
  height:2px;

  background:linear-gradient(
    90deg,
    transparent,
    #93c780,
    #bce8ac,
    #e5f5df,
    transparent
  );

  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s cubic-bezier(.19,1,.22,1);
  opacity:.9;
}

.jm-link:hover{
  color:#ffffff;

  text-shadow:
    0 0 4px rgba(147,199,128,.6),
    0 0 8px rgba(147,199,128,.6),
    0 0 14px rgba(218,11,129,.45);
}

.jm-link:hover::after{
  transform:scaleX(1);
}

@media(max-width:680px){
  .jm-footer .jm-container{
    flex-direction:column;
    text-align:center;
  }
}/* End custom CSS */