.pauline-modal-open {
  overflow: hidden;
}

/* ponytail: clip horizontal paint without creating the false scroll container that breaks sticky rails. */
body.pauline-page:not(.pauline-modal-open) {
  overflow-x: clip !important;
  overflow-y: visible !important;
}

/* ponytail: restore the static design's light title over image-backed heroes. */
.pauline-page .pauline-content .hero h1 {
  color: #fff !important;
}

.pauline-page .pauline-content .customer-feedback-card blockquote,
.pauline-page .pauline-content .home-testimonial-grid blockquote {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  position: static !important;
  font-style: normal !important;
  text-align: left !important;
  quotes: none !important;
}

.pauline-page .pauline-content .customer-feedback-card blockquote::before,
.pauline-page .pauline-content .customer-feedback-card blockquote::after,
.pauline-page .pauline-content .home-testimonial-grid blockquote::before,
.pauline-page .pauline-content .home-testimonial-grid blockquote::after {
  display: none !important;
  content: none !important;
}

.pauline-page .pauline-content dt {
  padding-bottom: 0 !important;
}

.pauline-page .pauline-content .service-control-layout figure {
  margin: 29px 0 0 !important;
}

.pauline-page .pauline-content table {
  margin: 0 !important;
}

.pauline-quick-quote-modal[hidden] {
  display: none !important;
}

.pauline-quick-quote-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.pauline-quick-quote-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 17, 29, 0.76);
}

.pauline-quick-quote-panel {
  width: min(760px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  position: relative;
  z-index: 1;
  padding: 38px;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  color: #152333;
}

.pauline-quick-quote-panel h2 {
  margin: 0 0 12px;
  color: #0b2034;
  font-size: clamp(28px, 4vw, 40px);
}

.pauline-modal-eyebrow {
  margin: 0 0 10px;
  color: #e8772f;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.pauline-quick-quote-close {
  width: 42px;
  height: 42px;
  position: absolute;
  top: 12px;
  right: 12px;
  border: 0;
  background: transparent;
  color: #0b2034;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

.pauline-quick-quote-panel .quick-quote-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

/* Contact Form 7 wraps grid children in one paragraph; flatten that wrapper back into the grid. */
.pauline-quick-quote-panel .quick-quote-grid > p {
  display: contents;
}

.pauline-quick-quote-panel .quick-quote-grid br {
  display: none;
}

.pauline-quick-quote-panel label {
  display: block;
  color: #263a49;
  font-size: 14px;
  font-weight: 700;
}

.pauline-quick-quote-panel input:not([type="checkbox"]),
.pauline-quick-quote-panel select,
.pauline-quick-quote-panel textarea {
  width: 100%;
  margin-top: 7px;
  margin-bottom: 0 !important;
  padding: 11px 12px;
  border: 1px solid #c7d5de;
  background: #fbfcfd;
  color: #152333;
  font: inherit;
}

button.nav-expander {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  display: inline-grid;
  place-items: center;
}

.pauline-quick-quote-panel .button {
  min-height: 46px;
  padding: 12px 18px;
  border: 0;
  border-radius: 4px;
  background: #e8772f;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

/* Keep the desktop navigation on one row down to Elementor's 1025px breakpoint. */
@media (min-width: 1025px) and (max-width: 2560px) {
  body.pauline-page .elementor-element-240f55d,
  body.pauline-page .elementor-element-406cd36,
  body.pauline-page .elementor-element-56d3be4 {
    display: none !important;
  }

  body.pauline-page .elementor-element-6b4c2a3 {
    --width: 55px !important;
    width: 55px !important;
    flex: 0 0 55px !important;
  }

  header .elementor-widget-navigation-menu ul.hfe-nav-menu > li > a,
  header .elementor-widget-navigation-menu ul.hfe-nav-menu > li > .hfe-has-submenu-container > a {
    padding-right: 2px !important;
    padding-left: 2px !important;
    font-size: 15px !important;
  }
}

@media (min-width: 1025px) and (max-width: 1174px) {
  body.pauline-page .elementor-element-749b284 .hfe-nav-menu > li > a,
  body.pauline-page .elementor-element-749b284 .hfe-nav-menu > li > .hfe-has-submenu-container > a {
    padding-right: 4px !important;
    padding-left: 4px !important;
    font-size: 15px !important;
  }

  header .elementor-widget-navigation-menu ul.hfe-nav-menu > li > a,
  header .elementor-widget-navigation-menu ul.hfe-nav-menu > li > .hfe-has-submenu-container > a {
    font-size: 13px !important;
  }
}

@media (min-width: 1025px) {
  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0 !important;
    width: min(1308px, calc(100vw - 96px)) !important;
    max-width: none !important;
    left: min(0px, calc((100% - min(1308px, calc(100vw - 96px))) / 2)) !important;
    right: auto !important;
    padding: 16px !important;
    overflow: visible;
    background: #fff;
    box-shadow: 0 18px 40px rgba(8, 24, 39, 0.18) !important;
  }

  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu > li.pauline-service-group {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    padding: 0 10px 8px;
    border-left: 1px solid #e3e8ec;
  }

  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu > li.pauline-service-group:first-child {
    border-left: 0;
  }

  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu > li.pauline-service-group > .hfe-has-submenu-container > a {
    display: flex;
    min-height: 50px;
    align-items: center;
    padding: 10px !important;
    background: #0b2034;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800;
    line-height: 1.25;
    white-space: normal;
  }

  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu > li.pauline-service-group > ul.sub-menu {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 4px 0 0 !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    background: transparent;
    box-shadow: none !important;
  }

  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu > li.pauline-service-group > ul.sub-menu > li {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu > li.pauline-service-group > ul.sub-menu > li > a {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 7px 0 !important;
    box-sizing: border-box;
    color: #2e4150 !important;
    font-size: 12px !important;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu > li.pauline-service-group > ul.sub-menu > li > a .rs__menu_sp_dyc {
    display: none !important;
  }

  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu > li.pauline-service-group > ul.sub-menu > li > a:hover,
  header .hfe-nav-menu li.pauline-services-mega-menu > ul.sub-menu > li.pauline-service-group > ul.sub-menu > li > a:focus {
    color: #e8772f !important;
  }
}

@media (max-width: 1100px) {
  .pauline-page .pauline-content .article-layout,
  .pauline-page .pauline-content .longform,
  .pauline-page .pauline-content .blog-side-rail {
    min-width: 0;
  }
}

@media (max-width: 1024px) {
  .right_menu_togle #mobile_menu_rstheme li.pauline-service-group > a {
    color: #0b2034;
    font-weight: 800;
  }

  .right_menu_togle #mobile_menu_rstheme li.pauline-service-group > ul.sub-menu {
    margin-left: 12px;
    border-left: 2px solid #e8772f;
  }
}

@media (max-width: 620px) {
  .pauline-page .pauline-content .blog-side-rail .technical-rail {
    grid-template-columns: 1fr;
  }

  .pauline-page .pauline-content .blog-side-rail .rail-block {
    min-width: 0;
    border-right: 0;
  }

  .pauline-quick-quote-modal {
    padding: 12px;
  }

  .pauline-quick-quote-panel {
    max-height: calc(100vh - 24px);
    padding: 30px 20px;
  }

  .pauline-quick-quote-panel .quick-quote-grid {
    grid-template-columns: 1fr;
  }
}
