/* Static-export display fallback: preserve the original layout if animation/lazy JS is late or unavailable. */
.elementor-invisible,
.animated {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

html,
body {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100%;
  overflow-x: hidden;
}

.elementor-location-header,
.elementor-location-header.elementor-13546 {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

img {
  max-width: 100%;
}

/* Regional cards must remain visible in static/file mode. */
.elementor-13952 .elementor-element.elementor-element-5cedcc6,
.elementor-13952 .elementor-element.elementor-element-12ba525,
.elementor-13952 .elementor-element.elementor-element-5c6add2 {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Keep the header readable at scroll position 0. Elementor's motion effect moves the
   black background to an opacity-controlled child layer; in static/file mode that
   layer starts transparent, leaving white navigation content on a white page. */
.elementor-13546 .elementor-element.elementor-element-eb03a72,
.elementor-13546 .elementor-element.elementor-element-6ac2fc5,
.elementor-13546 .elementor-element.elementor-element-6ac2fc5.elementor-motion-effects-element-type-background,
.elementor-13546 .elementor-element.elementor-element-6ac2fc5 > .elementor-motion-effects-container,
.elementor-13546 .elementor-element.elementor-element-6ac2fc5 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #000 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}
.elementor-13546 .elementor-element.elementor-element-eb03a72,
.elementor-13546 .elementor-element.elementor-element-6ac2fc5 {
  transform: none !important;
}
.elementor-13546 .elementor-element.elementor-element-6a6dbfd,
.elementor-13546 .elementor-element.elementor-element-6a6dbfd img {
  opacity: 1 !important;
  visibility: visible !important;
}
.elementor-13546 .elementor-element.elementor-element-6a6dbfd img {
  display: block !important;
  width: 228px !important;
  max-width: 228px !important;
  height: 36px !important;
  object-fit: contain !important;
}
.elementor-13546 .elementor-element.elementor-element-0c8c7b6,
.elementor-13546 .elementor-element.elementor-element-0c8c7b6 .elementor-item,
.elementor-13546 .elementor-element.elementor-element-0c8c7b6 .elementor-item:link,
.elementor-13546 .elementor-element.elementor-element-0c8c7b6 .elementor-item:visited {
  opacity: 1 !important;
  visibility: visible !important;
  color: #fff !important;
}
.elementor-13546 .elementor-element.elementor-element-3c653de,
.elementor-13546 .elementor-element.elementor-element-3c653de svg,
.elementor-13546 .elementor-element.elementor-element-3c653de i {
  opacity: 1 !important;
  visibility: visible !important;
  color: #d6002a !important;
  fill: #d6002a !important;
}

/* Homepage hero backgrounds are packaged locally and must not depend on Elementor lazy loading. */
.elementor-55 .elementor-element.elementor-element-51b3ea8 .elementor-repeater-item-4cbf716 .swiper-slide-bg {
  background-image: url(../image/hm-main-ban-1-clean.png) !important;
  background-size: cover !important;
  background-position: center center !important;
}
.elementor-55 .elementor-element.elementor-element-51b3ea8 .elementor-repeater-item-5a0b8a8 .swiper-slide-bg {
  background-image: url(../image/hm-main-ban-2-clean.png) !important;
  background-size: cover !important;
  background-position: center center !important;
}
.elementor-55 .elementor-element.elementor-element-51b3ea8 .elementor-repeater-item-1092fe0 .swiper-slide-bg {
  background-image: url(../image/hm-main-ban-3-1-clean.png) !important;
  background-size: cover !important;
  background-position: center center !important;
}
.elementor-55 .elementor-element.elementor-element-51b3ea8 .elementor-slide-description {
  text-shadow: 0 2px 16px rgba(0,0,0,.95) !important;
}

/* Direct file:// preview has no web server and Elementor's carousel may not initialise.
   Keep the first hero slide visible in that state instead of leaving a blank 600px area. */
.elementor-55 .elementor-element.elementor-element-51b3ea8 {
  background: #111 url(../image/hm-main-ban-1-clean.png) center center / cover no-repeat;
}
.elementor-55 .elementor-main-swiper:not(.swiper-initialized) {
  position: relative;
  min-height: 600px;
  overflow: hidden;
}
.elementor-55 .elementor-main-swiper:not(.swiper-initialized) .swiper-wrapper {
  position: absolute !important;
  inset: 0;
  display: block !important;
  transform: none !important;
}
.elementor-55 .elementor-main-swiper:not(.swiper-initialized) .swiper-slide {
  display: none !important;
}
.elementor-55 .elementor-main-swiper:not(.swiper-initialized) .swiper-slide:first-child {
  position: absolute !important;
  inset: 0;
  display: flex !important;
  width: 100% !important;
  height: 600px !important;
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}
.elementor-55 .elementor-main-swiper:not(.swiper-initialized) .swiper-slide:first-child .swiper-slide-bg,
.elementor-55 .elementor-main-swiper:not(.swiper-initialized) .swiper-slide:first-child .swiper-slide-inner,
.elementor-55 .elementor-main-swiper:not(.swiper-initialized) .swiper-slide:first-child .swiper-slide-contents {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Prevent the homepage introduction from retaining an off-screen animation position. */
.elementor-55 .elementor-element.elementor-element-3d7c75b {
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
}
.elementor-55 .elementor-element.elementor-element-ac6b927,
.elementor-55 .elementor-element.elementor-element-c3f8129 {
  width: 100% !important;
  max-width: 100% !important;
  transform: none !important;
}
.elementor-55 .elementor-element.elementor-element-ac6b927 .elementor-heading-title {
  white-space: normal !important;
  overflow-wrap: break-word;
}

@media (min-width: 1025px) {
  .elementor-55 .elementor-element.elementor-element-51b3ea8 .swiper-slide {
    min-height: 600px;
  }
}

/* The exported tablet mega-menu needs Elementor runtime. Use the reliable desktop header
   from 768px upward, scaled slightly so it still fits a narrow laptop window. */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-13546 .elementor-element.elementor-element-eb03a72 {
    display: flex !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
  }
  .elementor-13546 .elementor-element.elementor-element-5bf6ebe {
    display: none !important;
  }
  .elementor-13546 .elementor-element.elementor-element-6ac2fc5 {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 3% !important;
    padding-right: 3% !important;
    --padding-left: 3% !important;
    --padding-right: 3% !important;
  }
  .elementor-13546 .elementor-element.elementor-element-6a6dbfd {
    width: 180px !important;
    max-width: 180px !important;
  }
  .elementor-13546 .elementor-element.elementor-element-6a6dbfd img {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
  }
  .elementor-13546 .elementor-nav-menu--main .elementor-item {
    font-size: 12px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
  .elementor-55 .elementor-element.elementor-element-51b3ea8 .swiper-slide,
  .elementor-55 .elementor-main-swiper:not(.swiper-initialized),
  .elementor-55 .elementor-main-swiper:not(.swiper-initialized) .swiper-slide:first-child {
    height: 500px !important;
    min-height: 500px !important;
  }
  .elementor-55 .elementor-element.elementor-element-3d7c75b {
    padding-left: 6% !important;
    padding-right: 6% !important;
  }
  .elementor-55 .elementor-element.elementor-element-ac6b927 .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 767px) {
  .elementor-55 .elementor-element.elementor-element-51b3ea8 .swiper-slide,
  .elementor-55 .elementor-main-swiper:not(.swiper-initialized),
  .elementor-55 .elementor-main-swiper:not(.swiper-initialized) .swiper-slide:first-child {
    height: 360px !important;
    min-height: 360px !important;
  }
  .elementor-55 .elementor-element.elementor-element-51b3ea8 .elementor-slide-description {
    font-size: 28px !important;
    line-height: 1.2 !important;
  }
}

/* Blackstone content update */
img[src$="blackstone-logo.png"] {
  width: auto !important;
  height: auto !important;
  max-width: 230px !important;
  max-height: 78px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.blackstone-profile-copy,
.blackstone-fraud-copy {
  margin: 18px 0;
  font-size: 16px;
  line-height: 1.9;
}
.blackstone-regions-extra {
  width: min(1140px, calc(100% - 40px));
  margin: 56px auto 72px;
}
.blackstone-regions-extra article {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 330px;
  margin-bottom: 42px;
  background: #eee;
  overflow: hidden;
}
.blackstone-regions-extra article > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 46px 52px;
}
.blackstone-regions-extra img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 330px;
  object-fit: cover !important;
  filter: grayscale(1);
}
.blackstone-regions-extra h2 {
  margin: 0 0 20px;
  color: #d6002a;
  font-size: 34px;
  font-weight: 500;
}
.blackstone-regions-extra p {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
}
@media (max-width: 767px) {
  img[src$="blackstone-logo.png"] { max-width: 185px !important; max-height: 62px !important; }
  .blackstone-regions-extra { width: calc(100% - 28px); margin: 38px auto 50px; }
  .blackstone-regions-extra article { grid-template-columns: 1fr; }
  .blackstone-regions-extra article:nth-child(2) > div { order: 2; }
  .blackstone-regions-extra article > div { padding: 30px 26px; }
  .blackstone-regions-extra img { min-height: 230px; }
}

/* Fully local homepage carousel. This intentionally overrides Swiper transforms so the
   exported page works from file:// as well as HTTP/HTTPS. */
.elementor-55 .elementor-element.elementor-element-51b3ea8 {
  display: none !important;
}
.eta-local-hero {
  position: relative;
  display: block;
  width: 100%;
  height: 600px;
  overflow: hidden;
  background: #111;
}
.eta-local-hero__slide {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity .55s ease;
}
.eta-local-hero__slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}
.eta-local-hero__slide img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.eta-local-hero__caption {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 16%;
  color: #fff;
  text-align: center;
  font-family: "Didot-Bold", Didot, serif;
  font-size: 42px;
  line-height: 1.1;
  text-shadow: 0 2px 16px rgba(0,0,0,.95);
}
.eta-local-hero__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 16px;
  z-index: 5;
  display: flex;
  justify-content: center;
  gap: 7px;
}
.eta-local-hero__dots button {
  display: block;
  width: 12px;
  height: 12px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  opacity: .8;
  cursor: pointer;
}
.eta-local-hero__dots button.is-active {
  background: #d6002a;
  opacity: 1;
}
.elementor-55 .local-hero-carousel {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 600px !important;
  min-height: 600px !important;
  overflow: hidden !important;
  background: #111 url(../image/hm-main-ban-1-clean.png) center center / cover no-repeat !important;
}
.elementor-55 .local-hero-carousel > .swiper-wrapper {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
}
.elementor-55 .local-hero-carousel .swiper-slide {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  transition: opacity .55s ease !important;
  z-index: 1 !important;
}
.elementor-55 .local-hero-carousel .swiper-slide.local-hero-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}
.elementor-55 .local-hero-carousel .swiper-slide-bg,
.elementor-55 .local-hero-carousel .swiper-slide-inner,
.elementor-55 .local-hero-carousel .swiper-slide-contents {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.elementor-55 .local-hero-carousel .swiper-pagination {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 16px !important;
  z-index: 5 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 7px !important;
}
.elementor-55 .local-hero-dot {
  display: block;
  width: 12px;
  height: 12px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  opacity: .8;
  cursor: pointer;
}
.elementor-55 .local-hero-dot.is-active {
  background: #d6002a;
  opacity: 1;
}
@media (min-width: 768px) and (max-width: 1024px) {
  .eta-local-hero { height: 500px; }
  .eta-local-hero__caption { font-size: 34px; }
  .elementor-55 .local-hero-carousel { height: 500px !important; min-height: 500px !important; }
}
@media (max-width: 767px) {
  .eta-local-hero { height: 360px; }
  .eta-local-hero__caption { bottom: 18%; font-size: 28px; line-height: 1.2; }
  .elementor-55 .local-hero-carousel { height: 360px !important; min-height: 360px !important; }
}
