.elementor-kit-5{--e-global-color-primary:#1E1F21;--e-global-color-secondary:#2C2C2C;--e-global-color-text:#1E1F21;--e-global-color-accent:#FF6A1D;--e-global-color-sdorangedark:#C05610;--e-global-color-sdorangehover:#E06B18;--e-global-color-sdcharraised:#2C2C2C;--e-global-color-sdcharmid:#555555;--e-global-color-sdcharmuted:#808080;--e-global-color-sdwhite:#FFFFFF;--e-global-color-sdborder:#D0D0D0;--e-global-color-sdbordersub:#E8E8E8;--e-global-color-sdorangetint:#FEF3E8;--e-global-color-sdoffwhite:#F8F6F3;--e-global-color-sdondarkmuted:#D0D0D0;--e-global-color-sdsuccess:#2D7A3A;--e-global-color-sderror:#B3261E;--e-global-typography-primary-font-family:"Barlow Condensed";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Barlow Condensed";--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-line-height:1.05em;--e-global-typography-secondary-letter-spacing:-0.015em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-text-letter-spacing:0em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.3em;--e-global-typography-accent-letter-spacing:0.08em;--e-global-typography-sd-h3-font-family:"Barlow Condensed";--e-global-typography-sd-h3-font-size:28px;--e-global-typography-sd-h3-font-weight:700;--e-global-typography-sd-h3-line-height:1.1em;--e-global-typography-sd-h3-letter-spacing:-0.01em;--e-global-typography-sd-stat-font-family:"Barlow Condensed";--e-global-typography-sd-stat-font-size:64px;--e-global-typography-sd-stat-font-weight:800;--e-global-typography-sd-stat-line-height:1em;--e-global-typography-sd-stat-letter-spacing:-0.02em;--e-global-typography-sd-lead-font-family:"Inter";--e-global-typography-sd-lead-font-size:20px;--e-global-typography-sd-lead-font-weight:400;--e-global-typography-sd-lead-line-height:1.65em;--e-global-typography-sd-lead-letter-spacing:0em;--e-global-typography-sd-small-font-family:"Inter";--e-global-typography-sd-small-font-size:13px;--e-global-typography-sd-small-font-weight:400;--e-global-typography-sd-small-line-height:1.6em;--e-global-typography-sd-small-letter-spacing:0.01em;--e-global-typography-sd-pullquote-font-family:"Barlow Condensed";--e-global-typography-sd-pullquote-font-size:26px;--e-global-typography-sd-pullquote-font-weight:700;--e-global-typography-sd-pullquote-font-style:italic;--e-global-typography-sd-pullquote-line-height:1.3em;--e-global-typography-sd-pullquote-letter-spacing:-0.01em;color:#1E1F21;font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#FF6A1D;font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;letter-spacing:0.02em;color:#FFFFFF;border-radius:4px 4px 4px 4px;padding:14px 28px 14px 28px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#C05610;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#FF6A1D;}.elementor-kit-5 a:hover{color:#C05610;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Smarter Drainage — Global Kit Custom CSS */

/* Fluid type overrides */
.elementor-heading-title.elementor-size-xxl,
h1.elementor-heading-title {
  font-size: clamp(2.75rem, 2rem + 3vw, 4.5rem) !important;
  line-height: 1.0 !important;
}

.elementor-heading-title.elementor-size-xl,
h2.elementor-heading-title {
  font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.5rem) !important;
  line-height: 1.05 !important;
}

/* Trust stat counter numbers */
.sd-stat-number {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(2.5rem, 2rem + 4vw, 5rem) !important;
  line-height: 1.0 !important;
  color: #FF6A1D !important;
  letter-spacing: -0.02em !important;
}

/* Section eyebrow labels */
.sd-eyebrow {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #FF6A1D;
}

.sd-eyebrow--light {
  color: rgba(255,255,255,0.7);
}

/* Card hover lift */
.sd-card {
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.sd-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.14), 0 3px 8px rgba(0,0,0,0.08);
}

/* Section reveal animation */
@media (prefers-reduced-motion: no-preference) {
  .sd-reveal {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 500ms cubic-bezier(0.16, 1, 0.3, 1),
                transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
  }
  .sd-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Reduced motion: show all immediately */
@media (prefers-reduced-motion: reduce) {
  .sd-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Primary button orange shadow */
.elementor-button.elementor-button-primary,
.elementor-widget-button .elementor-button[class*='elementor-button'] {
  box-shadow: 0 4px 16px rgba(255,106,29,0.35);
  transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 180ms cubic-bezier(0.16, 1, 0.3, 1),
              background-color 180ms ease;
}

.elementor-button.elementor-button-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(255,106,29,0.5);
}

/* Phone CTA link — always orange, always bold */
a.sd-phone-cta {
  color: #FF6A1D !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: color 180ms ease;
}

a.sd-phone-cta:hover {
  color: #C05610 !important;
}

/* Sticky mobile call bar — handled via Elementor sticky section */
/* sticky call bar removed per client 2026-06-12 */

/* sd-header-fixups */
.elementor-location-header .elementor-button { white-space: nowrap; }
.elementor-nav-menu--layout-horizontal .elementor-nav-menu { flex-wrap: nowrap; }
.elementor-location-header .elementor-nav-menu a { white-space: nowrap; }

/* raw-html-headings: h2/h3 inside HTML widgets (location body + FAQs) follow the type scale */
.elementor-widget-html h2, .elementor-widget-text-editor h2 {
  font-family: "Barlow Condensed", sans-serif; font-weight: 800;
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); line-height: 1.1; color: #1E1F21;
  margin: 1.5em 0 0.5em;
}
.elementor-widget-html h3, .elementor-widget-text-editor h3 {
  font-family: "Barlow Condensed", sans-serif; font-weight: 700;
  font-size: clamp(1.25rem, 1.05rem + 0.7vw, 1.5rem); line-height: 1.15; color: #1E1F21;
  margin: 1.25em 0 0.4em;
}
/* drainage page: emergency CTA spans the full row under jetting/repairs */
.elementor-element-ds-jetting-repairs-row .e-con-inner > .elementor-element-ds-emergency,
.elementor-element-ds-jetting-repairs-row > .elementor-element-ds-emergency { grid-column: 1 / -1; }

/* sd-accordion: compact, designed FAQ accordions */
.elementor-accordion .elementor-accordion-item {
  background: #FFFFFF; border: 1px solid #E8E8E8 !important; border-radius: 8px;
  margin-bottom: 12px; overflow: hidden;
}
.elementor-accordion .elementor-tab-title {
  font-family: Inter, sans-serif !important; font-size: 17px !important; font-weight: 600 !important;
  line-height: 1.45 !important; color: #1E1F21; padding: 16px 20px !important;
}
.elementor-accordion .elementor-tab-title.elementor-active { color: #C05610; }
.elementor-accordion .elementor-tab-title .elementor-accordion-icon { color: #FF6A1D; }
.elementor-accordion .elementor-tab-content {
  font-size: 16px !important; line-height: 1.7 !important; color: #555555;
  padding: 0 20px 18px !important; border-top: none !important;
}

.sd-honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; pointer-events:none !important; }
.elementor-field-group.sd-honeypot { display:none !important; }

/* accordion-anchor-belt: the inner <a> gets element-scoped rules — pin it to the FAQ scale */
.elementor-accordion .elementor-tab-title a.elementor-accordion-title {
  font-family: Inter, sans-serif !important; font-size: 17px !important;
  font-weight: 600 !important; line-height: 1.45 !important; letter-spacing: 0 !important;
}

/* ssm-mobile-menu (v2): overlay full-width below the bar; anchor to the fixed hdr-root, never grow the bar.
   NOTE: the dropdown shares the .elementor-nav-menu__container class, so NEVER null position via that
   class — null only the wrapper widget ids, and position the dropdown by its --dropdown class. */
@media (max-width: 1024px) {
  .elementor-location-header .elementor-element-hdr-hamburger-wrap,
  .elementor-location-header .elementor-element-hdr-hamburger,
  .elementor-location-header .elementor-element-hdr-hamburger > .elementor-widget-container { position: static !important; }
  .elementor-location-header .elementor-element-hdr-hamburger .elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin-top: 0 !important;
    z-index: 9999 !important;
    border-top: 3px solid #FF6A1D;
    box-shadow: 0 14px 28px rgba(0,0,0,0.25);
    max-height: 80vh;
    overflow-y: auto;
  }
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
    font-size: 16px !important; padding: 14px 24px !important;
  }
}

/* ssm-toggle-chip: make the mobile hamburger clearly visible on the charcoal bar */
@media (max-width: 1024px) {
  .elementor-location-header .elementor-menu-toggle {
    color: #FF6A1D !important; border: 2px solid #FF6A1D !important; border-radius: 6px !important;
    width: 46px !important; height: 46px !important;
    display: flex !important; align-items: center; justify-content: center;
  }
  .elementor-location-header .elementor-menu-toggle svg,
  .elementor-location-header .elementor-menu-toggle i { color: #FF6A1D !important; fill: #FF6A1D !important; font-size: 26px !important; }
  .elementor-location-header .elementor-menu-toggle.elementor-active { background: #FF6A1D !important; }
  .elementor-location-header .elementor-menu-toggle.elementor-active svg,
  .elementor-location-header .elementor-menu-toggle.elementor-active i { color: #FFFFFF !important; fill: #FFFFFF !important; }
}/* End custom CSS */