/* Restore readable primary actions without changing their layout or sizing. */
body .elementor .elementor-widget-cmsmasters-button .elementor-widget-cmsmasters-button__button[data-local-cta] {
  color: #020202;
  background-color: #fffbbd;
  background-image: linear-gradient(70deg, #fff 0%, #fffbbd 70%);
}
body .elementor .elementor-widget-cmsmasters-button .elementor-widget-cmsmasters-button__button[data-local-cta]:hover,
body .elementor .elementor-widget-cmsmasters-button .elementor-widget-cmsmasters-button__button[data-local-cta]:focus {
  color: #020202;
  background-color: #fffbbd;
  background-image: linear-gradient(70deg, #fffbbd 0%, #fff 100%);
}
body .elementor .elementor-widget-cmsmasters-button [data-local-cta] .elementor-widget-cmsmasters-button__text {
  white-space: nowrap;
}
body .elementor .elementor-widget-cmsmasters-button a.elementor-widget-cmsmasters-button__button[data-local-cta] .elementor-widget-cmsmasters-button__content-wrapper .elementor-widget-cmsmasters-button__icon,
body .elementor .elementor-widget-cmsmasters-button a.elementor-widget-cmsmasters-button__button[data-local-cta] .elementor-widget-cmsmasters-button__content-wrapper .elementor-widget-cmsmasters-button__icon svg {
  color: #020202;
  fill: currentColor;
}
body .elementor .elementor-widget-cmsmasters-button [data-local-cta]:focus-visible {
  outline: 2px solid #fffbbd;
  outline-offset: 4px;
}

/* The document owns scrolling; the body's overflow must not add a second bar. */
body#cmsmasters_body { overflow-x: clip; overflow-y: visible; }
header a.audax-logo-slot {
  display: block; position: relative; width: 196px; height: 92px; max-width: 100%; isolation: isolate;
}
header a.audax-logo-slot > img {
  display: block; width: 100% !important; height: 100% !important; object-fit: contain;
  transition: opacity .16s linear;
}
.audax-logo-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
header a.audax-logo-slot.audax-logo-ready > img { opacity: 0; }
@media (max-width: 1024px) {
  header a.audax-logo-slot { width: 156px; height: 76px; }
  body .elementor-78 .elementor-element.elementor-element-53fc563e {
    --container-widget-width: 156px; width: 156px; max-width: 156px; flex: 0 0 156px;
  }
  body .elementor-78 .elementor-element.elementor-element-3b9e9906 { --width: auto; width: auto; flex: 0 0 auto; }
  body .elementor-78 .elementor-element.elementor-element-361e4fed { --gap: 20px; }
}
@media (max-width: 360px) {
  header a.audax-logo-slot { width: 138px; height: 68px; }
  body .elementor-78 .elementor-element.elementor-element-53fc563e {
    --container-widget-width: 138px; width: 138px; max-width: 138px; flex: 0 0 138px;
  }
}
@media (prefers-reduced-motion: reduce) { header a.audax-logo-slot > img { transition: none; } }
html { scrollbar-gutter: stable; }
html.local-menu-open body#cmsmasters_body {
  position: fixed; top: var(--local-menu-scroll-top, 0px); left: 0; right: 0; width: 100%;
}
html[data-audax-navigation="2"] [data-elementor-type="cmsmasters_popup"][data-elementor-id="95"],
html[data-audax-navigation="2"] .cmsmasters-elementor-popup[data-popup-id="95"] { display: none !important; }
/* Replace the malformed WordPress mega-menu with six clean service cards. */
header .local-services-enabled > .cmsmasters-megamenu-container { display: none !important; }
header .local-services-enabled > a { cursor: pointer; }
header .local-services-enabled > a[aria-expanded="true"] { color: #fffbbd; }
header .local-services-enabled > a[aria-expanded="true"] .elementor-widget-cmsmasters-nav-menu__arrow svg { transform: rotate(180deg); }
.local-services-panel[hidden] { display: none; }
.local-services-panel {
  position: fixed; z-index: 10000; box-sizing: border-box; padding: 24px;
  border: 1px solid #39382d; border-radius: 22px;
  background: rgba(16,16,16,.98); color: #fff; overflow-y: auto;
  box-shadow: 0 24px 70px #0009, 0 0 24px #fffbbd08;
  font-family: var(--cmsmasters-text-font-family, sans-serif);
}
.local-services-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 6px 18px; }
.local-services-heading > span { color: #a6a69c; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; }
.local-services-heading > a { color: #fffbbd; font-size: 14px; font-weight: 600; text-decoration: none; }
.local-services-heading > a::after { content: ' ↗'; margin-left: 8px; }
.local-services-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.local-services-grid .local-service-link {
  box-sizing: border-box; display: flex; align-items: center; gap: 16px;
  min-height: 88px; padding: 18px; color: #f5f5ef; background: #171717;
  border: 1px solid #ffffff0a; border-radius: 12px; text-decoration: none;
  transition: background-color .18s, border-color .18s, transform .18s;
}
.local-service-number { flex: 0 0 30px; color: #8c8c80; font-size: 12px; font-weight: 500; letter-spacing: 1px; }
.local-service-label { flex: 1; min-width: 0; font-size: 16px; font-weight: 600; line-height: 1.5; }
.local-service-arrow { flex: 0 0 auto; color: #8c8c80; font-size: 21px; line-height: 1; }
.local-services-grid .local-service-link:hover,
.local-services-grid .local-service-link:focus-visible,
.local-services-grid .local-service-link[aria-current="page"] {
  color: #fffbbd; background: #24241d; border-color: #fffbbd60; transform: translateY(-1px);
}
.local-service-link:hover .local-service-arrow,
.local-service-link:focus-visible .local-service-arrow { color: #fffbbd; }
.local-services-panel a:focus-visible { outline: 2px solid #fffbbd; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .local-services-grid .local-service-link { transition: none; } }
html.local-menu-open { overflow: hidden; }
.local-menu {
  box-sizing: border-box; inset: 0 0 0 auto; margin: 0; padding: 24px;
  width: min(420px, 100vw); max-width: 100vw; height: 100dvh; max-height: 100dvh;
  color: #fff; background: #101010; border: 0; border-left: 1px solid #332c27;
  overflow-y: auto;
}
.local-menu::backdrop { background: #000a; }
.local-menu-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 40px; }
.local-menu-top img { display: block; width: 140px; height: auto; }
.local-menu .local-menu-close {
  display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
  border: 1px solid #332c27; border-radius: 10px; background: #020202; color: #fff;
  font: 30px/1 sans-serif; cursor: pointer;
}
dialog.local-menu button.local-menu-close,
dialog.local-menu button.local-menu-close:focus,
dialog.local-menu button.local-menu-close:hover { background: #fffbbd; color: #020202; }
.local-menu nav { display: flex; flex-direction: column; }
.local-menu nav a {
  display: block; padding: 18px 0; border-bottom: 1px solid #332c27;
  color: #fff; font: 500 24px/1.35 var(--cmsmasters-primary-font-family); text-decoration: none;
}
.local-menu nav a:hover, .local-menu nav a:focus-visible { color: #fffbbd; }

/* Prevent decorative entrance effects from moving the mobile page during load. */
@media (max-width: 1024px) {
  .elementor [data-settings*="_animation"].elementor-invisible,
  .elementor [data-settings*="_animation"].animated {
    visibility: visible !important; opacity: 1 !important;
    animation: none !important; transform: none !important;
  }
  .elementor-55734 .elementor-element-d0da942 { --min-height: 100svh; }
}

/* Restore the missing contact-page layout while retaining its original content. */
.elementor-38573 > .e-con { --display: flex; --flex-direction: column; }
.elementor-38573 > .e-con > .e-con-inner {
  width: 100%; max-width: 1280px; margin-inline: auto;
}
.elementor-38573 .elementor-element-ced2686 {
  --padding-top: 220px; --padding-bottom: 90px;
  --padding-left: 40px; --padding-right: 40px;
}
.elementor-38573 .elementor-element-bb7c436 {
  --display: flex; --flex-direction: column; --gap: 26px; width: 100%;
}
.elementor-38573 .elementor-element-39c84c1 { max-width: 980px; }
.elementor-38573 .elementor-element-39c84c1 .cmsmasters-widget-title__heading {
  font-size: clamp(42px, 4.8vw, 68px); line-height: 1.12; letter-spacing: -2px;
  background-image: linear-gradient(90deg, #fff 25%, #fffbbd 100%);
  background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.elementor-38573 .elementor-element-bef41db { max-width: 780px; }
.elementor-38573 .elementor-element-bef41db p { margin: 0; line-height: 1.7; }
.elementor-38573 .elementor-element-48d6ae1 {
  --display: flex; --flex-direction: row; --align-items: center;
  --flex-wrap: wrap; --gap: 32px; --padding-top: 12px;
}
.elementor-38573 .elementor-element-1ea9183 { width: auto; }
.elementor-38573 .elementor-element-1ea9183 .elementor-widget-cmsmasters-featured-box__title {
  font-size: 15px; line-height: 1.5; margin-bottom: 4px;
}
.elementor-38573 .elementor-element-739d881 {
  --padding-top: 0px; --padding-bottom: 100px;
  --padding-left: 40px; --padding-right: 40px;
}
.elementor-38573 .elementor-element-739d881 > .e-con-inner {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 60px; align-items: stretch;
}
.elementor-38573 .elementor-element-3fceefb {
  --display: flex; --flex-direction: column; --gap: 24px; width: 100%; min-width: 0;
}
.elementor-38573 .elementor-element-2a0e5ac .elementor-heading-title {
  font-size: clamp(30px, 3vw, 42px); line-height: 1.2; letter-spacing: -1px;
}
.elementor-38573 .elementor-element-c6dddfa p { margin: 0; }
.elementor-38573 .elementor-element-684a7f0 {
  --display: flex; --flex-direction: row; --gap: 24px; --flex-wrap: wrap;
}
.elementor-38573 .elementor-element-7e1aaba,
.elementor-38573 .elementor-element-894904e {
  --display: flex; --flex-direction: column; --gap: 8px;
  flex: 1 1 180px; min-width: 0;
}
.elementor-38573 .elementor-element-a9ba3d7 .elementor-heading-title,
.elementor-38573 .elementor-element-8a50e2a .elementor-heading-title,
.elementor-38573 .elementor-element-28767dd .elementor-heading-title {
  font-size: 17px; line-height: 1.5; letter-spacing: 0;
}
.elementor-38573 .elementor-element-26d00e4 a { color: var(--e-global-color-accent); }
.elementor-38573 .elementor-element-6dcd8a3 {
  --display: flex; --flex-direction: column; --align-items: flex-start; --gap: 24px;
  --padding-top: 24px; border-top: 1px solid var(--e-global-color-border);
}
.elementor-38573 .elementor-element-ac560ab {
  --display: flex; --flex-direction: column; --gap: 12px;
}
.elementor-38573 .elementor-element-a506bc1 {
  --display: flex; width: 100%; min-width: 0; min-height: 560px;
  border: 1px solid var(--e-global-color-border); border-radius: 20px; overflow: hidden;
}
.elementor-38573 .elementor-element-de7ffd1,
.elementor-38573 .elementor-element-de7ffd1 .elementor-widget-container,
.elementor-38573 .elementor-element-de7ffd1 .elementor-custom-embed {
  width: 100%; height: 100%; min-height: 560px;
}
.elementor-38573 .elementor-element-de7ffd1 iframe {
  display: block; width: 100%; height: 100%; min-height: 560px; border: 0;
}

/* The surviving service template needs a title that fits its two-column hero. */
.single-services .elementor-widget-cmsmasters-post-title .entry-title {
  font-size: clamp(38px, 5vw, 72px); line-height: 1.1;
  word-break: normal; overflow-wrap: normal;
}

/* Layout for the shared footer whose original generated CSS is unavailable. */
.elementor-117 .elementor-element-a27d62f {
  --display: flex; --flex-direction: column; --gap: 36px;
  --padding-top: 50px; --padding-bottom: 30px;
  --padding-left: 40px; --padding-right: 40px;
  border-top: 1px solid var(--e-global-color-border);
}
.elementor-117 .elementor-element-a27d62f > .e-con-inner { width: 100%; max-width: 1280px; }
.elementor-117 .elementor-element-47996f08 { width: 100%; }
.elementor-117 .elementor-widget-cmsmasters-nav-menu__main > ul { justify-content: center; flex-wrap: wrap; gap: 14px 30px; }
.elementor-117 .elementor-element-6dd685b1 {
  --display: flex; --flex-direction: row; --justify-content: space-between;
  --align-items: center; --flex-wrap: wrap; --gap: 20px; width: 100%;
}
.elementor-117 .elementor-element-43f2abab {
  --display: flex; --flex-direction: row; --align-items: center;
  --flex-wrap: wrap; --gap: 8px; width: auto;
}
.elementor-117 .elementor-element-737f7774 .cmsmasters-widget-title__heading,
.elementor-117 .elementor-element-11c78756 .elementor-heading-title {
  font-size: 15px; line-height: 1.65; letter-spacing: 0;
}
.elementor-117 .elementor-element-96e3edb { width: auto; --icon-size: 16px; }
.elementor-117 .elementor-element-8d29d44 {
  position: fixed; right: 24px; bottom: 24px; z-index: 20;
}

@media (max-width: 1024px) {
  .elementor-38573 .elementor-element-ced2686 { --padding-top: 190px; --padding-bottom: 70px; }
  .elementor-38573 .elementor-element-739d881 > .e-con-inner { gap: 32px; }
}
@media (max-width: 767px) {
  body .elementor-72 .elementor-element.elementor-element-61408bba {
    --flex-direction: row; --flex-wrap: nowrap; --align-items: center;
    --justify-content: space-between; --gap: 16px;
    --padding-top: 16px; --padding-bottom: 16px;
    --padding-left: 20px; --padding-right: 20px;
  }
  body .elementor-72 .elementor-element.elementor-element-42536d2e {
    --container-widget-width: auto; width: auto; max-width: calc(100% - 70px); flex: 0 1 auto;
  }
  body .elementor-72 .elementor-element-42536d2e .elementor-widget-cmsmasters-site-logo__image-container img { width: 140px; }
  body .elementor-72 .elementor-element.elementor-element-1b3f2251 {
    width: auto; --width: auto; flex: 0 0 auto;
    --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px;
  }
  :root, .elementor-kit-6 {
    --e-global-typography-h1-font-size: 40px; --e-global-typography-h1-letter-spacing: -1px;
    --e-global-typography-h2-font-size: 36px; --e-global-typography-h2-letter-spacing: -1px;
    --e-global-typography-h3-font-size: 30px;
    --e-global-typography-h4-font-size: 25px;
  }
  .elementor-38573 .elementor-element-ced2686 {
    --padding-top: 160px; --padding-bottom: 60px; --padding-left: 20px; --padding-right: 20px;
  }
  .elementor-38573 .elementor-element-39c84c1 .cmsmasters-widget-title__heading {
    font-size: 40px; letter-spacing: -1px;
  }
  .elementor-38573 .elementor-element-48d6ae1 { --gap: 24px; }
  .elementor-38573 .elementor-element-739d881 {
    --padding-left: 20px; --padding-right: 20px; --padding-bottom: 60px;
  }
  .elementor-38573 .elementor-element-739d881 > .e-con-inner { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .elementor-38573 .elementor-element-a506bc1,
  .elementor-38573 .elementor-element-de7ffd1,
  .elementor-38573 .elementor-element-de7ffd1 .elementor-widget-container,
  .elementor-38573 .elementor-element-de7ffd1 .elementor-custom-embed,
  .elementor-38573 .elementor-element-de7ffd1 iframe { min-height: 350px; }
  .single-services .elementor-widget-cmsmasters-post-title .entry-title { font-size: clamp(32px, 8.5vw, 42px); }
  .elementor-117 .elementor-element-a27d62f { --padding-left: 20px; --padding-right: 20px; }
  .elementor-117 .elementor-element-6dd685b1 { --justify-content: center; text-align: center; }
  .elementor-117 .elementor-element-43f2abab { --justify-content: center; }
}
