/* Mobile rescue layer: loaded last, intentionally replaces Elementor mobile layout rules. */
@media (max-width: 767px){
  html, body{
    margin:0!important;
    padding:0!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    position:static!important;
    touch-action:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body{display:block!important;}
  main.elementor,
  body>main.elementor,
  .elementor-page,
  .elementor-1675,
  .elementor-1680,
  .elementor-1685,
  .elementor-1690{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    position:static!important;
  }
  /* Home top-level wrapper must stack normally; Elementor exported it as a row. */
  .elementor-1675 .elementor-element-2c4807b{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    --display:block!important;
    --flex-direction:column!important;
    --flex-wrap:nowrap!important;
    --padding-top:0px!important;
    --padding-bottom:0px!important;
    --padding-left:0px!important;
    --padding-right:0px!important;
  }
  /* Header */
  .elementor-1675 .elementor-element-fa2ae66,
  .gpen-static-header{
    display:block!important;
    position:sticky!important;
    top:0!important;
    width:100%!important;
    height:auto!important;
    min-height:72px!important;
    margin:0!important;
    padding:0 18px!important;
    z-index:9999!important;
  }
  .elementor-1675 .elementor-element-fa2ae66>.e-con-inner,
  .gpen-static-header>.e-con-inner{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:72px!important;
    margin:0!important;
    padding:0!important;
  }
  /* HERO: remove the exported 150px/negative-margin mobile positioning completely. */
  .elementor-1675 .elementor-element-cfb0203{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:38px 22px 48px!important;
    overflow:visible!important;
    --display:block!important;
    --flex-direction:column!important;
    --flex-wrap:nowrap!important;
    --padding-top:38px!important;
    --padding-bottom:48px!important;
    --padding-left:22px!important;
    --padding-right:22px!important;
    --margin-top:0px!important;
    --margin-bottom:0px!important;
    --margin-left:0px!important;
    --margin-right:0px!important;
    --min-height:0px!important;
  }
  .elementor-1675 .elementor-element-cfb0203>.e-con-inner{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  .elementor-1675 .elementor-element-47b5469,
  .elementor-1675 .elementor-element-929b833{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    position:static!important;
    --width:100%!important;
    --margin-top:0px!important;
    --margin-bottom:0px!important;
    --margin-left:0px!important;
    --margin-right:0px!important;
  }
  .elementor-1675 .elementor-element-5cbebf6{
    margin:0 0 34px!important;
    padding:0!important;
  }
  .elementor-1675 .elementor-element-02946eb{margin:0 0 24px!important;}
  .elementor-1675 .elementor-element-4f764df{margin:0 0 34px!important;}
  .elementor-1675 .elementor-element-f107177{margin:0 0 28px!important;}
  .elementor-1675 .elementor-element-50f4f03{margin:0 0 28px!important;--margin-top:0px!important;}
  .elementor-1675 .elementor-element-1b9036f{margin:0 0 24px!important;}
  .elementor-1675 .elementor-element-f2bac01{margin:0!important;width:100%!important;}
  /* Carousels come after the text on mobile, with normal document flow. */
  .elementor-1675 .elementor-element-929b833{margin-top:36px!important;}
  .elementor-widget-media-carousel,
  .elementor-widget-media-carousel .elementor-widget-container,
  .elementor-widget-media-carousel .elementor-main-swiper,
  .elementor-widget-media-carousel .swiper,
  .elementor-widget-media-carousel .swiper-wrapper,
  .elementor-widget-media-carousel .swiper-slide{
    touch-action:pan-y!important;
  }
  .elementor-widget-media-carousel .elementor-main-swiper{overflow:hidden!important;}
  /* Never let any fixed overlay capture the whole page except the opened mobile menu. */
  .gpen-lightbox:not(.open):not(.is-open){display:none!important;pointer-events:none!important;}
}
