.elementor-41 .elementor-element.elementor-element-1b17cad{--display:flex;}.elementor-41 .elementor-element.elementor-element-7cb3063{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-41 .elementor-element.elementor-element-984f4c2{--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:0px;--padding-left:0px;--padding-right:0px;}.elementor-41 .elementor-element.elementor-element-222aa4b{--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:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-7cb3063 */.elementor embed, .elementor iframe, .elementor object, .elementor video {
aspect-ratio: 9/16 !important;
    border-radius: 16px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1b17cad *//* Small layout helpers (kept minimal to avoid fighting your existing stylesheet) */
    .lp-hero {
      padding: 72px 0;
    }

    .lp-hero .hero-card {
      border-radius: 22px;
      overflow: hidden;
    }

    .lp-kpi {
      border-radius: 16px;
      background: rgba(104, 70, 196, .06);
    }

    .lp-muted {
      opacity: .85;
    }

    .lp-section {
      padding: 70px 0;
    }

    .lp-badge {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .45rem .75rem;
      border-radius: 999px;
      background: rgba(0, 0, 0, .04);
      font-size: .95rem;
    }

    .lp-shadow {
      box-shadow: 0 12px 40px rgba(0, 0, 0, .08);
    }

    .lp-project img {
      aspect-ratio: 4/3;
      object-fit: cover;
    }

    .lp-sticky-cta {
      position: fixed;
      left: 12px;
      right: 12px;
      bottom: 12px;
      z-index: 9999;
      display: none;
    }

    @media (max-width: 991px) {
      .lp-sticky-cta {
        display: block;
      }

      body {
        padding-bottom: 76px;
      }
    }

    /* Vertical video slider (scroll-snap) */
    .lp-video-shell {
      border-radius: 22px;
      overflow: hidden;
      background: #fff;
    }

    .lp-video-slider {
      height: 560px;
      overflow-y: auto;
      scroll-snap-type: y mandatory;
      -webkit-overflow-scrolling: touch;
    }

    .lp-video-slide {
      scroll-snap-align: start;
      padding: 18px;
      border-bottom: 1px solid rgba(0, 0, 0, .06);
    }

    .lp-video-slide:last-child {
      border-bottom: none;
    }

    .lp-video {
      width: 100%;
      border-radius: 16px;
      background: #000;
      aspect-ratio: 9 / 16;
      object-fit: cover;
    }

    .lp-review-meta {
      font-size: .92rem;
    }

    .lp-icon-badge {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      padding: .5rem .75rem;
      border-radius: 999px;
      background: rgba(0, 0, 0, .04);
    }

    /* Mobile-first conversion tweaks (keeps theme/colors consistent) */
    @media (max-width: 576px) {
      .lp-hero h1 {
        font-size: 2.05rem !important;
        line-height: 1.15;
      }

      .lp-hero .lead {
        font-size: 1.05rem;
      }

      .lp-section {
        padding: 56px 0;
      }

      .lp-kpi {
        padding: 14px;
      }

      .btn {
        padding: .85rem 1.1rem;
      }

      .my-btn-ghost {
        border-radius: 50px;
        font-weight: 700;
        padding: 10px;
        border: 1px solid #222;
        color: #222;
        background: transparent;
        transition: .2s ease;
      }

      .lp-video-slider {
        height: 480px;
      }
    }

    /* Sticky mobile CTA (safe-area aware) */
    .lp-sticky-cta {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 999;
      padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
      background: rgba(255, 255, 255, .92);
      backdrop-filter: blur(10px);
      border-top: 1px solid rgba(0, 0, 0, .08);
    }

    .lp-sticky-cta .btn {
      width: 100%;
      max-width: 640px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: .5rem;
    }

    body {
      padding-bottom: 78px;
    }

    /* space for sticky CTA */

    /* Booking calendar embed */
    .lp-booking-card iframe {
      width: 100%;
      height: 640px;
      border: 0;
      border-radius: 16px;
      background: #fff;
    }

    @media (max-width: 576px) {
      .lp-booking-card iframe {
        height: 720px;
      }
    }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-984f4c2 */#faq .accordion-button,
#faq .accordion-button:not(.collapsed),
#faq .accordion-button:focus {
  background: #ffffff !important;
  color: #111111 !important;
  box-shadow: none !important;
}

#faq .accordion-button::after {
  filter: none !important;
}

#faq .accordion-item {
  background: #ffffff !important;
  border-color: #e5e7eb !important;
}

#faq .accordion-body {
  background: #ffffff !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-222aa4b */#faq .accordion-button,
#faq .accordion-button:not(.collapsed),
#faq .accordion-button:focus {
  background: #ffffff !important;
  color: #111111 !important;
  box-shadow: none !important;
}

#faq .accordion-button::after {
  filter: none !important;
}

#faq .accordion-item {
  background: #ffffff !important;
  border-color: #e5e7eb !important;
}

#faq .accordion-body {
  background: #ffffff !important;
}/* End custom CSS */