/* Coyles Longview preservation layer. Source Duda CSS remains authoritative. */
html, body { margin: 0; padding: 0; }
template { display: none !important; }
[data-anim-desktop], [data-anim-tablet], [data-anim-mobile], [data-anim-extended], [data-image-animation] {
  visibility: visible !important;
}
html.envision-drawer-open, html.envision-drawer-open body { overflow: hidden !important; }

/* Native form replacement: preserve source form geometry and add only functional feedback. */
.envision-turnstile {
  float: none;
  clear: both;
  width: 100%;
  margin: 12px 0 0;
}
.envision-turnstile:empty {
  display: none;
  margin: 0;
}
.envision-form-status {
  display: none;
  float: none;
  clear: both;
  width: 100%;
  box-sizing: border-box;
  margin: 16px 0 0;
  padding: 12px 14px;
  line-height: 1.45;
}
.envision-form-status:not(:empty) { display: block; }
.envision-form-status[data-state="info"] {
  color: #333;
  background: #f7f7f7;
  border: 1px solid #ddd;
}
.envision-form-status[data-state="success"] {
  color: #24552a;
  background: #f2f9f2;
  border: 1px solid #b9d8bd;
}
.envision-form-status[data-state="error"] {
  color: #7a1f1f;
  background: #fff4f4;
  border: 1px solid #d7a1a1;
}
form[data-envision-form] [type="submit"]:disabled {
  opacity: .7;
  cursor: wait;
}


/* Home/mobile: preserve the existing bed-bug treatment photograph at a
   meaningful mobile height. Only this source image column is affected. */
@media (max-width: 767px) {
  body.dmMobileBody[data-envision-source-page="home"] #dm .dmRespCol.u_1493533263 {
    min-height: 400px !important;
    background-position: center center !important;
    background-size: cover !important;
  }
}


/* Longview tablet drawer: match the approved mobile red/white/gold palette.
   Tablet keeps its own preserved menu structure and breakpoint geometry. */
@media (min-width: 768px) and (max-width: 1024px) {
  body.dmTabletBody #dm .p_hfcontainer #hamburger-drawer.layout-drawer {
    background-color: rgb(252, 57, 27) !important;
    color: #fff !important;
  }
  body.dmTabletBody #dm .p_hfcontainer #hamburger-drawer .dmNewParagraph,
  body.dmTabletBody #dm .p_hfcontainer #hamburger-drawer .dmNewParagraph h3,
  body.dmTabletBody #dm .p_hfcontainer #hamburger-drawer .dmNewParagraph p {
    color: #fff !important;
  }
  body.dmTabletBody #dm .p_hfcontainer #hamburger-drawer a.inlineBindingLink {
    color: #fff !important;
  }
  body.dmTabletBody #dm .p_hfcontainer nav.u_1144820115.main-navigation.unifiednav
    .unifiednav__container:not([data-depth]) > .unifiednav__item-wrap > .unifiednav__item {
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
  body.dmTabletBody #dm .p_hfcontainer nav.u_1144820115.main-navigation.unifiednav
    .unifiednav__container:not([data-depth]) > .unifiednav__item-wrap > .unifiednav__item.dmNavItemSelected {
    color: rgb(255, 204, 51) !important;
    font-weight: 400 !important;
  }
  body.dmTabletBody #dm .p_hfcontainer nav.u_1144820115.main-navigation.unifiednav
    .unifiednav__container[data-depth] {
    background-color: transparent !important;
  }
  body.dmTabletBody #dm .p_hfcontainer nav.u_1144820115.main-navigation.unifiednav
    .unifiednav__container[data-depth] .unifiednav__item {
    color: rgb(239, 239, 239) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
}

/* Restore the Duda drawer submenu's clickable arrow, keeping the
   parent Services text a real navigational link. */
@media (max-width: 1024px) {
  #dm .layout-drawer .unifiednav__item_has-sub-nav .icon-angle-down {
    pointer-events: auto;
    cursor: pointer;
    touch-action: manipulation;
  }
  #dm .layout-drawer .unifiednav__item-wrap.envision-subnav-open > .unifiednav__container_sub-nav {
    display: block !important;
    visibility: visible !important;
    position: static !important;
    opacity: 1 !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    transform: none !important;
    pointer-events: auto !important;
  }
}

/* Home: reproduce the source gallery's desktop/tablet entrance cue without
   Duda's JavaScript. Mobile and reduced-motion presentations are unchanged. */
@media (min-width: 768px) {
  #dm .dmPhotoGallery.u_1396928955.envision-gallery-entrance:not(.envision-gallery-entered)
    .photogallery-column {
    opacity: 0;
  }
  #dm .dmPhotoGallery.u_1396928955.envision-gallery-entrance.envision-gallery-entered
    .photogallery-column {
    animation: envision-longview-gallery-entrance 650ms ease-out both;
    animation-delay: calc(var(--envision-gallery-order, 0) * 80ms);
  }
}
@keyframes envision-longview-gallery-entrance {
  0% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  #dm .dmPhotoGallery.u_1396928955 .photogallery-column {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


/* Sitewide source-preserving responsive spacing repair.
   Duda image columns whose sole direct child is a spacer can collapse when
   stacked on mobile, even though their original background images load. */
@media (max-width: 767px) {
  body.dmMobileBody #dm #dmFirstContainer .dmRespColsWrapper > .dmRespCol:has(> .dmSpacer) {
    min-height: 400px !important;
    box-sizing: border-box !important;
  }
}

/* Full-bleed two-column source rows place reading text against the outside
   viewport or adjoining photo on tablet. Inset only text-bearing columns,
   never the adjacent photographic column or the hero/background sections. */
@media (min-width: 768px) and (max-width: 1024px) {
  body.dmTabletBody #dm #dmFirstContainer .dmRespRow.fullBleedMode > .dmRespColsWrapper > .dmRespCol:has(> .dmNewParagraph) {
    padding-left: 28px !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
  }
}

/* Desktop Services submenu: use 30px of horizontal breathing room on each
   first-level dropdown item. Keep source vertical spacing, top navigation,
   tablet/mobile drawers, and the preserved Duda menu behavior unchanged. */
@media (min-width: 1025px) {
  body.dmDesktopBody #dm .p_hfcontainer nav.u_1158757297.main-navigation.unifiednav
    .unifiednav__item-wrap[data-sub-nav-menu="true"] > .unifiednav__container_sub-nav {
    min-width: 180px;
  }
  body.dmDesktopBody #dm .p_hfcontainer nav.u_1158757297.main-navigation.unifiednav
    .unifiednav__item-wrap[data-sub-nav-menu="true"] > .unifiednav__container_sub-nav > .unifiednav__item-wrap > a.unifiednav__item {
    padding-left: 30px;
    padding-right: 30px;
  }
}
