@media (min-width: 1025px) {
  header.elementor-location-header .elementor-widget-nav-menu .elementor-widget-container {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    width: 100%;
  }

  header.elementor-location-header .elementor-widget-nav-menu .elementor-nav-menu--main {
    align-items: center;
    display: flex;
    min-width: 0;
  }

  header.elementor-location-header .elementor-widget-nav-menu .elementor-nav-menu--main > .elementor-nav-menu {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: clamp(14px, 1.8vw, 24px);
    list-style: none;
    margin: 0;
    min-width: 0;
    padding: 2px 0;
  }

  header.elementor-location-header .elementor-widget-nav-menu .elementor-nav-menu--main > .elementor-nav-menu > li {
    align-items: center;
    display: flex;
    gap: 8px;
  }

  header.elementor-location-header .elementor-widget-nav-menu .elementor-nav-menu--main > .elementor-nav-menu > li > a,
  header.elementor-location-header .elementor-widget-nav-menu .elementor-nav-menu--main > .elementor-nav-menu > li > a.elementor-item {
    align-items: center;
    display: inline-flex;
    line-height: 1.1;
    padding: 14px 0;
    text-decoration: none;
  }
}

@media (max-width: 1024px) {
  header.elementor-location-header .elementor-widget-nav-menu .elementor-widget-container {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    width: 100%;
  }

  header.elementor-location-header .elementor-widget-nav-menu .elementor-nav-menu--main {
    display: none !important;
  }

  header.elementor-location-header .elementor-widget-nav-menu .elementor-menu-toggle {
    align-items: center;
    display: inline-flex !important;
    justify-content: center;
    margin-left: auto;
  }

  header.elementor-location-header .elementor-widget-nav-menu .elementor-menu-toggle .elementor-menu-toggle__icon--close {
    display: none;
  }

  header.elementor-location-header .elementor-widget-nav-menu .elementor-menu-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--open {
    display: none;
  }

  header.elementor-location-header .elementor-widget-nav-menu .elementor-menu-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--close {
    display: inline-block;
  }
}

body:not(.home) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"] {
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] {
  isolation: isolate;
  overflow: visible;
  position: relative;
  z-index: 1;
}

body:not(.home) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"]::before {
  background:
    radial-gradient(circle at 14% 24%, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0) 28%),
    radial-gradient(circle at 84% 18%, rgba(0, 127, 174, 0.08), rgba(0, 127, 174, 0) 18%),
    radial-gradient(circle at 78% 82%, rgba(184, 217, 94, 0.1), rgba(184, 217, 94, 0) 16%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

body:not(.home) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"]::after {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0)),
    radial-gradient(circle at center, rgba(1, 63, 121, 0.12) 0 2px, transparent 2px 100%);
  background-size: auto, 22px 22px;
  border: 1px solid rgba(1, 63, 121, 0.08);
  border-radius: 34px;
  content: "";
  height: clamp(170px, 22vw, 250px);
  opacity: 0.42;
  pointer-events: none;
  position: absolute;
  right: clamp(-40px, 4vw, 28px);
  top: clamp(18px, 3vw, 34px);
  transform: rotate(-8deg);
  width: clamp(170px, 22vw, 250px);
  z-index: 0;
}

body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"]::before {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.56) 0%, rgba(255, 255, 255, 0.28) 38%, rgba(255, 255, 255, 0.02) 62%),
    radial-gradient(circle at 16% 22%, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0) 24%),
    radial-gradient(circle at 88% 14%, rgba(0, 127, 174, 0.08), rgba(0, 127, 174, 0) 14%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}

body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"]::after {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)),
    radial-gradient(circle at center, rgba(1, 63, 121, 0.1) 0 2px, transparent 2px 100%);
  background-size: auto, 22px 22px;
  border: 1px solid rgba(1, 63, 121, 0.07);
  border-radius: 32px;
  content: "";
  height: clamp(150px, 18vw, 220px);
  opacity: 0.32;
  pointer-events: none;
  position: absolute;
  right: clamp(-44px, 4vw, 22px);
  top: clamp(20px, 3vw, 32px);
  transform: rotate(-8deg);
  width: clamp(150px, 18vw, 220px);
  z-index: 0;
}

body:not(.home) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"] > .e-con-inner,
body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] > .e-con-inner {
  position: relative;
  z-index: 1;
}

body:not(.home) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"] h1,
body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] h2 {
  text-wrap: balance;
}

body:not(.home) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"] h1,
body:not(.home) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"] h4,
body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] h2,
body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] h6 {
  position: relative;
  z-index: 1;
}

/* Pull standard page heroes upward to reduce blank space under sticky header.
   Excludes home and single-post layouts (services/articles) as requested. */
body:not(.home):not(.single-post) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"] {
  margin-top: -50px;
}

body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] > .e-con-inner > .e-con:last-child {
  padding-top: 50px;
  position: relative;
  z-index: 1;
}

body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] .elementor-widget-theme-post-featured-image img {
  display: block;
  height: 450px !important;
  object-fit: cover;
}

@media (max-width: 1024px) {
  body:not(.home):not(.single-post) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"] {
    margin-top: -34px;
  }

  body:not(.home) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"]::after,
  body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"]::after {
    transform: rotate(-8deg) scale(0.9);
  }

  body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] > .e-con-inner > .e-con:last-child {
    padding-top: 50px;
  }

  body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] .elementor-widget-theme-post-featured-image img {
    height: 400px !important;
  }
}

@media (max-width: 767px) {
  body:not(.home):not(.single-post) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"] {
    margin-top: -20px;
  }

  body:not(.home) [data-elementor-type="wp-page"] > .elementor-element:first-child[data-settings*="background_background"]::after,
  body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"]::after {
    height: 118px;
    opacity: 0.26;
    right: -22px;
    top: 8px;
    width: 118px;
  }

  body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] > .e-con-inner > .e-con:last-child {
    padding-top: 24px;
  }

  body.single-post [data-elementor-type="single-post"] > .elementor-element:first-child[data-settings*="background_background"] .elementor-widget-theme-post-featured-image img {
    height: 201px !important;
  }
}

/* Home page only: tighten the gap below sticky header */
body.home .elementor-145 .elementor-element.elementor-element-476953f {
  --margin-top: 4em;
  --padding-top: 5em;
}

@media (min-width: 768px) {
  [data-elementor-type="footer"] > .elementor-element:first-child {
    padding-left: clamp(20px, 2.6vw, 38px) !important;
    padding-right: clamp(20px, 2.6vw, 38px) !important;
  }
}

/* Get an appointment page: pull the contact cards up so they overlap the blue hero,
   matching the home page treatment. */
body.page-id-888 .elementor-888 .elementor-element.elementor-element-c45e3e4 {
  --margin-top: -7em;
  margin-top: -7em;
  position: relative;
  z-index: 2;
}

body.page-id-170 .elementor-170 .elementor-element.elementor-element-ce66d7a {
  --margin-top: -7em;
  margin-top: -7em;
  position: relative;
  z-index: 2;
}

@media (max-width: 1024px) and (min-width: 768px) {
  body.home .elementor-145 .elementor-element.elementor-element-476953f {
    --margin-top: 2.75em;
    --padding-top: 3.75em;
  }

  body.page-id-888 .elementor-888 .elementor-element.elementor-element-c45e3e4 {
    --margin-top: -5.25em;
    margin-top: -5.25em;
  }

  body.page-id-170 .elementor-170 .elementor-element.elementor-element-ce66d7a {
    --margin-top: -5.25em;
    margin-top: -5.25em;
  }
}

@media (max-width: 767px) {
  body.page-id-888 .elementor-888 .elementor-element.elementor-element-c45e3e4 {
    --margin-top: -3.5em;
    margin-top: -3.5em;
  }

  body.page-id-170 .elementor-170 .elementor-element.elementor-element-ce66d7a {
    --margin-top: -3.5em;
    margin-top: -3.5em;
  }
}
