
/* ag-readable-prose */
.ag-prose p {
  margin: 0 0 12px;
  line-height: 1.7;
}
.ag-prose p:last-child {
  margin-bottom: 0;
}
@media (max-width: 1024px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose p {
    text-align: left !important;
  }
  .ag-prose p {
    margin-bottom: 16px;
    line-height: 1.7;
  }
  .ag-prose p:last-child {
    margin-bottom: 0;
  }
}
/* /ag-readable-prose */
/* ag-page-responsive */
/* Intro cluster alignment. Fleet-wide stamp: --ag-intro-align is always
   center (titles/headings). Body glyphs stay text-align:left; body boxes use
   max-width + margin:auto so the block sits under centered titles. Ignores
   per-site layout.headingAlign DNA on Deploy All / Deploy Selected / Fix Live. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) {
  --ag-intro-align: center;
}

/* ALL VIEWPORTS: Force phone-only CTA strategy in hero */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-form {
  display: none !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-button {
  font-size: clamp(20px, 2.5vw, 24px) !important;
  padding: 24px 32px !important;
  width: 100% !important;
  max-width: 480px !important;
  white-space: normal !important;
}

/* DESKTOP (1025px+): Buttons in left-aligned prose columns line up with the text */
@media (min-width: 1025px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.elementor-widget-text-editor) .elementor-button-wrapper,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.elementor-widget-text-editor) .elementor-widget-button {
    text-align: left !important;
    justify-content: flex-start !important;
    display: flex !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.elementor-widget-text-editor) .elementor-button {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
  }
}

/* ALL VIEWPORTS: About Us, prose, and HTML widget body copy left-aligned */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-html p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-html div > p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero .elementor-widget-html p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-html p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-html div > p {
  text-align: left !important;
}

/* ALL VIEWPORTS: Heading inside centered CTA section agrees with centered CTA */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-call-cta) .elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .elementor-heading-title {
  text-align: center !important;
}

/* CALL / quote CTA: keep heading + panel off the screen edge at 1280+.
   Markup-neutral: classic sections and e-con containers that host .ag-call-cta. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-call-cta) > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .e-con:has(.ag-call-cta) > .e-con-inner {
  padding-inline: var(--ag-gutter, 16px) !important;
  box-sizing: border-box !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-call-cta) .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-call-cta) .elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .e-con:has(.ag-call-cta) .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .e-con:has(.ag-call-cta) .elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta {
  max-width: min(100%, var(--ag-measure-cta, 720px)) !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: var(--ag-gutter, 16px) !important;
  box-sizing: border-box !important;
}

/* === AG READABILITY & CONTRAST SYSTEM (ALL VIEWPORTS) ===
   Enforce dark readable text on light sections (#18181B / #3F3F46)
   and light readable text on dark sections (#FFFFFF / #E2E8F0). */
.ag-sec-light .elementor-heading-title, .ag-sec-light h1, .ag-sec-light h2, .ag-sec-light h3, .ag-sec-light h4, .ag-sec-light h5, .ag-sec-light h6 { color: var(--ag-ink-head-light, #18181B) !important; }
.ag-sec-light .elementor-widget-text-editor, .ag-sec-light .elementor-widget-text-editor *, .ag-sec-light .elementor-text-editor, .ag-sec-light .elementor-icon-list-text, .ag-sec-light .elementor-tab-content, .ag-sec-light .elementor-toggle-content { color: var(--ag-ink-body-light, #3F3F46) !important; }
.ag-sec-dark .elementor-heading-title, .ag-sec-dark h1, .ag-sec-dark h2, .ag-sec-dark h3, .ag-sec-dark h4, .ag-sec-dark h5, .ag-sec-dark h6, .ag-sec-dark .elementor-icon-list-text { color: var(--ag-ink-head-dark, #FFFFFF) !important; }
.ag-sec-dark .elementor-widget-text-editor, .ag-sec-dark .elementor-widget-text-editor *, .ag-sec-dark .elementor-text-editor { color: var(--ag-ink-body-dark, #E2E8F0) !important; }

/* Override for the nearest inner container that owns a background */
.ag-bg-light .elementor-heading-title, .ag-bg-light h1, .ag-bg-light h2, .ag-bg-light h3, .ag-bg-light h4, .ag-bg-light h5, .ag-bg-light h6 { color: var(--ag-ink-head-light, #18181B) !important; }
.ag-bg-light .elementor-widget-text-editor, .ag-bg-light .elementor-widget-text-editor *, .ag-bg-light .elementor-text-editor, .ag-bg-light .elementor-icon-list-text, .ag-bg-light .elementor-tab-content, .ag-bg-light .elementor-toggle-content { color: var(--ag-ink-body-light, #3F3F46) !important; }
.ag-bg-dark .elementor-heading-title, .ag-bg-dark h1, .ag-bg-dark h2, .ag-bg-dark h3, .ag-bg-dark h4, .ag-bg-dark h5, .ag-bg-dark h6, .ag-bg-dark .elementor-icon-list-text { color: var(--ag-ink-head-dark, #FFFFFF) !important; }
.ag-bg-dark .elementor-widget-text-editor, .ag-bg-dark .elementor-widget-text-editor *, .ag-bg-dark .elementor-text-editor { color: var(--ag-ink-body-dark, #E2E8F0) !important; }

/* Counter titles */
.ag-sec-light .elementor-counter-title, .ag-bg-light .elementor-counter-title { color: var(--ag-ink-body-light, #3F3F46) !important; }
.ag-sec-dark .elementor-counter-title, .ag-bg-dark .elementor-counter-title { color: var(--ag-ink-body-dark, #E2E8F0) !important; }

/* Fleet FAQ: keep accordion icon from sitting on the title glyph (seen @390).
   Flex + gap + icon end-margin; title text gets inline-start breathing room. */
/* Fleet FAQ: uniform width across all viewports and items */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-toggle {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-accordion-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-toggle .elementor-toggle-item {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-tab-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-accordion-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-toggle .elementor-tab-title {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: 100% !important;
  gap: var(--ag-accordion-gap, 10px) !important;
  padding-inline: var(--ag-gutter, 16px) !important;
  box-sizing: border-box !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-tab-title *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-accordion-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-tab-title a,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-tab-title span,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-toggle .elementor-tab-title * {
  text-align: left !important;
  justify-content: flex-start !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-accordion-icon {
  flex-shrink: 0 !important;
  margin-inline-end: 10px !important;
  width: 1.25em !important;
  min-width: 1.25em !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-tab-title .elementor-accordion-icon + *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-accordion-title .elementor-accordion-icon + * {
  padding-inline-start: 4px !important;
}



/* Accordion and Toggle open panels: body copy defaults to dark ink on light card backgrounds */
.elementor-accordion .elementor-tab-content,
.elementor-accordion .elementor-tab-content *,
.elementor-toggle .elementor-tab-content,
.elementor-toggle .elementor-tab-content *,
.elementor-tab-content,
.elementor-tab-content * {
  color: var(--ag-ink-body-light, #3F3F46) !important;
  -webkit-text-fill-color: var(--ag-ink-body-light, #3F3F46) !important;
}

/* Transparent/ghost accordions sitting directly on dark sections get light ink */
.ag-sec-dark .ag-acc-ghost-type .elementor-tab-content,
.ag-sec-dark .ag-acc-ghost-type .elementor-tab-content *,
.ag-sec-dark .ag-acc-underline-list .elementor-tab-content,
.ag-sec-dark .ag-acc-underline-list .elementor-tab-content *,
.ag-sec-dark .ag-acc-rule-book .elementor-tab-content,
.ag-sec-dark .ag-acc-rule-book .elementor-tab-content *,
.ag-sec-dark .ag-acc-quote-list .elementor-tab-content,
.ag-sec-dark .ag-acc-quote-list .elementor-tab-content *,
.ag-bg-dark .ag-acc-ghost-type .elementor-tab-content,
.ag-bg-dark .ag-acc-ghost-type .elementor-tab-content *,
.ag-bg-dark .ag-acc-underline-list .elementor-tab-content,
.ag-bg-dark .ag-acc-underline-list .elementor-tab-content *,
.ag-bg-dark .ag-acc-rule-book .elementor-tab-content,
.ag-bg-dark .ag-acc-rule-book .elementor-tab-content *,
.ag-bg-dark .ag-acc-quote-list .elementor-tab-content,
.ag-bg-dark .ag-acc-quote-list .elementor-tab-content * {
  color: var(--ag-ink-body-dark, #F8FAFC) !important;
  -webkit-text-fill-color: var(--ag-ink-body-dark, #F8FAFC) !important;
}
.ag-sec-light .elementor-accordion .elementor-tab-content,
.ag-sec-light .elementor-accordion .elementor-tab-content *,
.ag-bg-light .elementor-accordion .elementor-tab-content,
.ag-bg-light .elementor-accordion .elementor-tab-content * {
  color: var(--ag-ink-body-light, #3F3F46) !important;
  -webkit-text-fill-color: var(--ag-ink-body-light, #3F3F46) !important;
}

/* Fleet footprint: never show a fixed mobile call bar, even if leftover markup remains. */
.ag-sticky-call-bar,
.ag-mobile-sticky-bar {
  display: none !important;
}

/* Accordion active title colour is owned by buildAccordionCss (per-variant
   activeColor). A hardcoded white here beat that rule on .ag-sec-dark and
   painted open questions white on light pills (slableakrepairchicago.org). */

/* Header Navigation Menu: Always horizontal flex row without bullets across all viewports */
.ag-nav,
.ag-nav .ag-menu,
.ag-menu,
[data-elementor-type="header"] .elementor-icon-list-items,
header .elementor-icon-list-items {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ag-nav .ag-menu > li,
.ag-menu > li,
[data-elementor-type="header"] .elementor-icon-list-item,
header .elementor-icon-list-item {
  display: inline-flex !important;
  list-style: none !important;
  list-style-type: none !important;
}


/* Trust chips on light sections: force dark ink (chimney / stamp-row / tiles were shipping #f8fafc on white). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-tiles .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-tiles .ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-row .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-row .ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-stats .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-medals .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-slash .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-item * {
  color: var(--ag-ink-head-light, #18181B) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-label,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-note,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-label,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-light .ag-trust-note {
  color: var(--ag-ink-body-light, #3F3F46) !important;
}

/* Trust badges contrast on light/white sections */
.ag-sec-light .ag-trust-stats .ag-trust-item,
.ag-sec-light .ag-trust-tiles .ag-trust-item,
.ag-sec-light .ag-trust-medals .ag-trust-item,
.ag-sec-light .ag-trust-slash .ag-trust-item,
.ag-sec-light .ag-trust-stats .ag-trust-item,
.ag-sec-light .ag-trust-tiles .ag-trust-item,
.ag-sec-light .ag-trust-medals .ag-trust-item,
.ag-sec-light .ag-trust-slash .ag-trust-item { color: var(--ag-ink-head-light, #18181B) !important; }

.ag-sec-light .ag-trust-label, .ag-sec-light .ag-trust-note,
.ag-sec-light .ag-trust-label,
.ag-sec-light .ag-trust-note { color: var(--ag-ink-body-light, #3F3F46) !important; }

.ag-sec-light .ag-trust-stats,
.ag-sec-light .ag-trust-stats { border-top-color: rgba(0,0,0,0.12) !important; border-bottom-color: rgba(0,0,0,0.12) !important; }

/* CTA section lead copy & list items contrast */
.ag-sec-light .ag-call-cta-lead,
.ag-bg-light .ag-call-cta-lead,
.elementor-section:not(.ag-sec-dark) .ag-call-cta-lead { color: var(--ag-ink-body-light, #3F3F46) !important; }
.ag-sec-light .ag-call-cta ul, .ag-sec-light .ag-call-cta li,
.ag-bg-light .ag-call-cta ul, .ag-bg-light .ag-call-cta li,
.elementor-section:not(.ag-sec-dark) .ag-call-cta ul,
.elementor-section:not(.ag-sec-dark) .ag-call-cta li { color: var(--ag-ink-body-light, #3F3F46) !important; }

.ag-sec-dark .ag-call-cta-lead,
.ag-bg-dark .ag-call-cta-lead { color: var(--ag-ink-body-dark, #E2E8F0) !important; }
.ag-sec-dark .ag-call-cta ul, .ag-sec-dark .ag-call-cta li,
.ag-bg-dark .ag-call-cta ul, .ag-bg-dark .ag-call-cta li { color: #CBD5E1 !important; }

/* ALL VIEWPORTS: Header gutters + CALL CTA pill (page-injected bake)
   Complements chromeResponsive.js so Fix Live / Deploy page CSS covers Elementor
   pages even before the child-theme zip is refreshed. */
[data-elementor-type="header"] .elementor-section > .elementor-container,
[data-elementor-type="header"] .e-con > .e-con-inner,
.elementor-location-header .elementor-section > .elementor-container {
  padding-inline: 16px !important;
  box-sizing: border-box !important;
}
[data-elementor-type="header"] .elementor-button,
[data-elementor-type="header"] .elementor-button-link,
[data-elementor-type="header"] a.elementor-button,
.elementor-location-header .elementor-button,
.elementor-location-header .elementor-button-link {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  background-color: var(--e-global-color-accent, var(--ag-accent, #F59E0B)) !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font-weight: 700 !important;
}
[data-elementor-type="header"] .elementor-button .elementor-button-text,
.elementor-location-header .elementor-button .elementor-button-text,
[data-elementor-type="header"] .elementor-button span,
.elementor-location-header .elementor-button span {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}
@media (max-width: 767px) {
  [data-elementor-type="header"] .elementor-widget-button,
  .elementor-location-header .elementor-widget-button {
    display: block !important;
    visibility: visible !important;
  }
}

/* ALL VIEWPORTS: Footer SVG constraints (prevents 500px blowout on non-Elementor/404 templates) */
[data-elementor-type="footer"] .elementor-icon-list-icon svg,
footer .elementor-icon-list-icon svg,
.elementor-location-footer .elementor-icon-list-icon svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  flex-shrink: 0 !important;
}

/* ALL VIEWPORTS: Footer text wrapping and edge gutter guards */


/* Empty utility sections (sec_style_* + sec_page_responsive_*): hold only
   injected CSS/HTML stamps: never visible content. Collapse on ALL viewports
   so desktop compact padding cannot reopen a ~232px ZIP→footer gap (Tampa).
   Future sites inherit this; no host pins. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_style_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section[class*="sec_style_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_page_responsive_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section[class*="sec_page_responsive_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[id*="sec_page_responsive_"] {
  background-color: transparent !important;
  background-image: none !important;
  display: block !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  line-height: 0 !important;
  font-size: 0 !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_style_"] > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section[class*="sec_style_"] > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_page_responsive_"] > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section[class*="sec_page_responsive_"] > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[id*="sec_page_responsive_"] > .elementor-container {
  display: none !important;
  min-height: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Trust / badge band:
   Ribbon-only bands: transparent fill (no black halo under hero).
   Tile/item trust bands: restore a dark surface: zeroing ALL badge fills left
   chimney light ink (#f8fafc) on transparent/white (contrast ~1.05). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"]:has(.ag-trust-ribbon):not(:has(.ag-trust-item)),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-ribbon):not(:has(.ag-trust-item)),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap):not(:has(.ag-trust-item)) {
  background-color: transparent !important;
  background-image: none !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  min-height: 0 !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"]:has(.ag-trust-item),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-dark:has(.ag-trust-item),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-tiles),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-row):has(.ag-trust-item),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-stats):has(.ag-trust-item),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-medals) {
  background-color: #18181b !important;
  background-image: none !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"] > .elementor-shape,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-trust-ribbon) > .elementor-shape,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-ribbon) > .elementor-shape,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]) > .elementor-shape,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap) > .elementor-shape,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-item) > .elementor-shape {
  display: none !important;
  height: 0 !important;
}

/* Collapse empty / invisible companion columns from layout-DNA splits
   (about/features left a blank or zero-size image col; titles looked off-center). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)) > .elementor-container:has(> .elementor-column:nth-child(2)):not(:has(> .elementor-column:nth-child(3))) > .elementor-column:not(:has(.elementor-widget-heading)):not(:has(.elementor-widget-text-editor)):not(:has(.elementor-widget-button)):not(:has(.elementor-widget-icon-list)):not(:has(.elementor-widget-icon-box)):not(:has(.elementor-widget-accordion)):not(:has(.ag-trust-item)):not(:has(.elementor-widget-image)) {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)) > .elementor-container:has(> .elementor-column:nth-child(2)):not(:has(> .elementor-column:nth-child(3))) {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
}
/* Measure width only: NEVER flex-basis:720px. On mobile Elementor stacks
   columns (flex-direction:column), so basis:720px became ~720px HEIGHT and left
   a huge empty gap under CALL FOR YOUR QUOTE before Areas Nearby (Tampa). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not(:has(.ag-call-cta)):not(.ag-r-cta) > .elementor-container:has(> .elementor-column:nth-child(2)):not(:has(> .elementor-column:nth-child(3))) > .elementor-column:has(.elementor-widget-heading),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not(:has(.ag-call-cta)):not(.ag-r-cta) > .elementor-container:has(> .elementor-column:nth-child(2)):not(:has(> .elementor-column:nth-child(3))) > .elementor-column:has(.elementor-widget-text-editor) {
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  flex: 0 1 auto !important;
  margin-inline: auto !important;
}
/* CALL CTA columns: hug content height and center horizontally on every viewport. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cta > .elementor-container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-inline: auto !important;
  text-align: center !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) > .elementor-container > .elementor-column:not(:has(.ag-call-cta)):not(:has(h2)):not(:has(h3)),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cta > .elementor-container > .elementor-column:not(:has(.ag-call-cta)):not(:has(h2)):not(:has(h3)) {
  display: none !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) > .elementor-container > .elementor-column,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cta > .elementor-container > .elementor-column {
  flex: 0 1 auto !important;
  flex-basis: auto !important;
  width: min(100%, 720px) !important;
  max-width: 720px !important;
  margin-inline: auto !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: center !important;
  float: none !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cta > .elementor-container > .elementor-column > .elementor-widget-wrap {
  height: auto !important;
  min-height: 0 !important;
  margin-inline: auto !important;
}
/* Desktop CALL panel: button + bullets share vertical center; bullets left. */
@media (min-width: 1025px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px 28px !important;
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta-lead {
    flex: 1 1 100% !important;
    text-align: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta-btn,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta a.ag-call-cta-btn {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta ul {
    margin: 0 !important;
    text-align: left !important;
    display: block !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta li {
    text-align: left !important;
  }
}

/* FOOTER_MOBILE_CENTER_IPAD_TOP */
/* Footer: Headings centered; list block centered under headings; list items strictly left-aligned with icon on left */
[data-elementor-type="footer"] .elementor-heading-title,
.elementor-location-footer .elementor-heading-title,
footer .elementor-heading-title,
.site-footer .elementor-heading-title,
.ag-footer .elementor-heading-title,
.ag-accent-heading,
.ag-accent-heading .elementor-heading-title,
[data-elementor-type="footer"] .elementor-widget-heading,
[data-elementor-type="footer"] .elementor-widget-heading .elementor-widget-container,
[data-elementor-type="footer"] .ag-accent-heading .elementor-heading-title,
.elementor-section:has(.ag-accent-heading) .elementor-widget-heading,
.elementor-section:has(.ag-accent-heading) .elementor-heading-title {
  display: block !important;
  text-align: center !important;
  margin-inline: auto !important;
  width: 100% !important;
  float: none !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}
[data-elementor-type="footer"] .elementor-widget-icon-list,
[data-elementor-type="footer"] .elementor-widget-icon-list .elementor-widget-container,
.elementor-location-footer .elementor-widget-icon-list,
footer .elementor-widget-icon-list,
.site-footer .elementor-widget-icon-list,
.ag-footer .elementor-widget-icon-list,
.elementor-section:has(.ag-accent-heading) .elementor-widget-icon-list {
  display: flex !important;
  justify-content: center !important;
  text-align: left !important;
  width: 100% !important;
  margin-inline: auto !important;
}
[data-elementor-type="footer"] .elementor-icon-list-items,
.elementor-location-footer .elementor-icon-list-items,
footer .elementor-icon-list-items,
.site-footer .elementor-icon-list-items,
.ag-footer .elementor-icon-list-items,
.elementor-section:has(.ag-accent-heading) .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding-inline-start: 0 !important;
  gap: 12px !important;
  box-sizing: border-box !important;
}
[data-elementor-type="footer"] .elementor-icon-list-item,
[data-elementor-type="footer"] .elementor-icon-list-item a,
.elementor-location-footer .elementor-icon-list-item,
.elementor-location-footer .elementor-icon-list-item a,
footer .elementor-icon-list-item,
footer .elementor-icon-list-item a,
.site-footer .elementor-icon-list-item,
.site-footer .elementor-icon-list-item a,
.ag-footer .elementor-icon-list-item,
.ag-footer .elementor-icon-list-item a,
.elementor-section:has(.ag-accent-heading) .elementor-icon-list-item,
.elementor-section:has(.ag-accent-heading) .elementor-icon-list-item a {
  display: inline-flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
  margin-inline: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  padding-inline: 0 !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  float: none !important;
}
[data-elementor-type="footer"] .elementor-icon-list-icon,
.elementor-location-footer .elementor-icon-list-icon,
footer .elementor-icon-list-icon,
.site-footer .elementor-icon-list-icon,
.ag-footer .elementor-icon-list-icon,
.elementor-section:has(.ag-accent-heading) .elementor-icon-list-icon {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
[data-elementor-type="footer"] .elementor-icon-list-icon svg,
.elementor-location-footer .elementor-icon-list-icon svg,
footer .elementor-icon-list-icon svg,
.site-footer .elementor-icon-list-icon svg,
.ag-footer .elementor-icon-list-icon svg,
.elementor-section:has(.ag-accent-heading) .elementor-icon-list-icon svg {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  flex-shrink: 0 !important;
}
[data-elementor-type="footer"] .elementor-icon-list-text,
.elementor-location-footer .elementor-icon-list-text,
footer .elementor-icon-list-text,
.site-footer .elementor-icon-list-text,
.ag-footer .elementor-icon-list-text,
.elementor-section:has(.ag-accent-heading) .elementor-icon-list-text {
  position: static !important;
  inset: auto !important;
  display: inline-block !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
  box-sizing: border-box !important;
  float: none !important;
}

[data-elementor-type="footer"] .elementor-icon-list-item,
[data-elementor-type="footer"] .elementor-icon-list-text {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  max-width: 100% !important;
}

/* Copyright / bottom-bar gutters: probe measures element box edges (not glyphs).
   Padding on the <p> alone does not move getBoundingClientRect().left, so the
   bottom section container and the copyright widget must inset. Prefer
   padding-inline:16 so tablet 1024 and desktop keep >=12px screen gutters. */
[data-elementor-type="footer"] .elementor-section:last-child > .elementor-container,
[data-elementor-type="footer"] .elementor-section:last-of-type > .elementor-container,
[data-elementor-type="footer"] .e-con:last-child > .e-con-inner,
.elementor-location-footer .elementor-section:last-child > .elementor-container,
.elementor-location-footer .elementor-section:last-of-type > .elementor-container {
  padding-inline: 16px !important;
  box-sizing: border-box !important;
}
[data-elementor-type="footer"] .elementor-section:last-child .elementor-widget-text-editor,
[data-elementor-type="footer"] .elementor-section:last-of-type .elementor-widget-text-editor,
[data-elementor-type="footer"] .elementor-section:last-child .elementor-widget-html,
[data-elementor-type="footer"] .elementor-section:last-of-type .elementor-widget-html,
.elementor-location-footer .elementor-section:last-child .elementor-widget-text-editor,
.elementor-location-footer .elementor-section:last-of-type .elementor-widget-text-editor {
  max-width: 100% !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: 16px !important;
  box-sizing: border-box !important;
}
[data-elementor-type="footer"] section:last-child p,
[data-elementor-type="footer"] .elementor-section:last-child p,
[data-elementor-type="footer"] .elementor-section:last-of-type p,
[data-elementor-type="footer"] .elementor-widget-text-editor p,
.elementor-location-footer .elementor-section:last-child p,
.elementor-location-footer .elementor-section:last-of-type p {
  padding-inline: 16px !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
}

[data-elementor-type="footer"] section:last-child p,
[data-elementor-type="footer"] .elementor-widget-text-editor p {
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
}

/* === AG PAGE RESPONSIVE: center + stack Elementor content on tablet and mobile
   (<=1366 covers iPad Pro portrait). Desktop unchanged. === */
@media (max-width: 1366px) {
  /* Same inline stretched width as the desktop block - it is written by
     Elementor at load, so it is wrong at every width, not only above 1024. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section.elementor-section-stretched,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section {
    width: auto !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
  }
  /* Stack every row: classic columns AND newer flex containers */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .e-con > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .e-con-inner > .e-con {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Responsive ordering on mobile & tablet: headings and text always appear before images and maps */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section.elementor-reverse-mobile > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section.elementor-reverse-tablet > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section.elementor-reverse > .elementor-container {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section > .elementor-container > .elementor-column:has(.elementor-widget-heading),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section > .elementor-container > .elementor-column:has(.elementor-widget-text-editor) {
    order: 1 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section > .elementor-container > .elementor-column:has(.elementor-widget-image),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section > .elementor-container > .elementor-column:has(.elementor-widget-google_maps) {
    order: 2 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section > .elementor-container > .elementor-column:has(.elementor-widget-heading):has(.elementor-widget-image),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section > .elementor-container > .elementor-column:has(.elementor-widget-text-editor):has(.elementor-widget-image) {
    order: 1 !important;
  }
  /* No widget may be wider than its column */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget {
    max-width: 100% !important;
  }
  /* Section titles & headings: centered on screen */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-heading {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-heading-title {
    text-align: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-text-editor {
    display: block !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-text-editor p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-text-editor ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-text-editor li,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-html p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-html div > p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-html ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-html ol,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-html li,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose ol,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose li {
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .e-con-inner {
    align-items: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-button-wrapper,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-button {
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-button {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-icon-list-items {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-icon-box-wrapper,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-image-box-wrapper {
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter .elementor-counter-number-wrapper {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter-title {
    max-width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-image,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-image figure {
    text-align: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-image img {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) img,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) iframe {
    max-width: 100% !important;
    height: auto !important;
  }
  /* A narrow measure row is pinned to one edge on desktop (see below); on a
     stacked phone layout there is no edge to line up with, so it re-centres. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-measure-left > .elementor-container {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta {
    text-align: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-blog-phone-cta,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-pills,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-medals,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-grid-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-ribbon,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-stats,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-tiles,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .trust-console-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Badge chips hug their text and stack one per row on tablet/mobile.
     The wrap stays full-width; only the painted chip shrinks. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-row,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-grid,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-header-bar,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-cards-grid {
    display: flex !important;
  grid-template-columns: minmax(0, 1fr) !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  justify-items: center !important;
  text-align: center !important;
  width: 100% !important;
  gap: 10px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-pill,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-header-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-card {
    display: inline-flex !important;
  width: auto !important;
  width: fit-content !important;
  width: max-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  justify-self: flex-start !important;
  align-self: flex-start !important;
  text-align: left !important;
  white-space: nowrap !important;
  overflow: visible !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-plaques .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-capsules .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-pulse .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-pills .ag-trust-pill,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-seals .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-flags .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-tickets .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-stamps .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-tabs .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-notch .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-mosaic .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-banner .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-plates .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-pins .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-stars .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-warranty .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-slash .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-ribbon .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-brackets .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-chevrons .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-coins .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-shields .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-waxrow .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-steps .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-score .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-ledger .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-dots .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-crestline .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-orbit .ag-trust-item {
    width: 200px;
  width: max-content !important;
  min-width: 190px !important;
  max-width: 100% !important;
  min-height: 42px !important;
  height: 44px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
  }
  /* Stacked hero: do not stretch the text column to the image height. That
     leftover min-height is the empty band between CALL and the trust strip. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column > .elementor-widget-wrap.elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .e-con {
    min-height: 0 !important;
    height: auto !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section > .elementor-container {
    min-height: 0 !important;
  }
  /* Content sections: replace excessive desktop 132px padding with balanced mobile spacing */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }
  /* Hero section: header clearance, tight bottom into trust badges */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type {
    padding-top: 72px !important;
    padding-bottom: 16px !important;
  }
  /* Trust badges section: compact padding directly hugging hero CTA */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .trust-console-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) [data-ag-trust] {
    margin-top: 6px !important;
    margin-bottom: 6px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"] {
    padding-top: 4px !important;
    padding-bottom: 12px !important;
  }
  /* Remove broken decorative shape divider on trust badges section so following section starts cleanly */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap) > .elementor-shape,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]) > .elementor-shape,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"] > .elementor-shape {
    display: none !important;
  }
  /* Eyebrow lead sections (A BIT ABOUT US, THE USUAL QUESTIONS, DISCIPLINED METHODOLOGY):
     tighten top padding and clear column margin so pointer dividers point cleanly without floating gap */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-eyebrow) {
    padding-top: 20px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-eyebrow) > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-eyebrow) .elementor-column:first-child > .elementor-widget-wrap.elementor-element-populated {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  /* Sections with bottom shape divider: maintain 84px bottom clearance
     (56px SVG divider + 28px breathing clearance) so no widgets (text,
     testimonial cards, counters, Google Maps iframes) collide with or
     protrude past the divider on tablet and mobile. Exclude hero (:has(h1))
     which connects directly into the matching dark trust badges section. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.trust-console-wrap)):has(> .elementor-shape-bottom) {
    padding-bottom: 84px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):has(> .elementor-shape-top) {
    padding-top: 84px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) > .elementor-container {
    margin-bottom: 0 !important;
    position: relative;
    z-index: 2;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) .elementor-column:last-child > .elementor-widget-wrap.elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) > .elementor-container > .elementor-column:last-child {
    margin-bottom: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) .elementor-widget:last-child {
    margin-bottom: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) .elementor-inner-section:last-child {
    margin-bottom: 0 !important;
  }
  /* Remove strange notch/divider at bottom of hero section that cuts into trust badges */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) > .elementor-shape,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type > .elementor-shape {
    display: none !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-shape {
    pointer-events: none !important;
    z-index: 1 !important;
  }
  /* Area codes / ZIP footprint section: collapse top and bottom whitespace into footer */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) {
    padding-top: 16px !important;
    padding-bottom: 20px !important;
    margin-bottom: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(+ .elementor-top-section[class*="sec_zip_"]),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(+ .elementor-top-section [class*="wid_zipt_"]) {
    padding-bottom: 16px !important;
  }
  /* Collapse invisible style sections completely so they create zero whitespace before footer */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_style_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_page_responsive_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[id*="sec_page_responsive_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.trust-console-wrap)):not(:has(.ag-trust-row)):not(:has(.tc-header-bar)):not(:has([class*="wid_zipt_"])):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-html:only-child) {
    display: block !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
    font-size: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_style_"] > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_page_responsive_"] > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[id*="sec_page_responsive_"] > .elementor-container {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* Explicitly guarantee trust badge sections are NEVER collapsed on ANY viewport */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-row) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"] > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-row) > .elementor-container {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:last-of-type {
    margin-bottom: 0 !important;
  }
  .site-footer, [data-elementor-type="footer"], .elementor-location-footer {
    margin-top: 0 !important;
  }
  /* Trust badges on mobile & iPad: center-aligned group, left-aligned content internally */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-row,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-grid,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-header-bar,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-cards-grid,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) [data-ag-trust] .ag-trust-row {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-header-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-pill,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-card {
    display: inline-flex !important;
    align-items: center !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: auto !important;
    width: max-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-check-badge,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-check,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-seal,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-chev,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-right: 8px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  transform: none !important;
  position: relative !important;
  top: 0 !important;
  flex-shrink: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-tab-title {
    padding: 12px 16px !important;
    font-size: 14px !important;
  }
  /* ag-footer-contact-mobile-center */
/* FOOTER_MOBILE_CENTER_IPAD_TOP */

  /* Beat Elementor hf.css id-specific width:100%/align-items:center on footer lists */
  html body [data-elementor-type="footer"] .elementor-element .elementor-icon-list-items,
  html body .elementor-location-footer .elementor-element .elementor-icon-list-items,
  html body footer .elementor-element .elementor-icon-list-items,
  html body .site-footer .elementor-element .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: fit-content !important;
    max-width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: left !important;
  }
  html body [data-elementor-type="footer"] .elementor-element .elementor-icon-list-item,
  html body [data-elementor-type="footer"] .elementor-element .elementor-icon-list-item a,
  html body .elementor-location-footer .elementor-element .elementor-icon-list-item,
  html body .elementor-location-footer .elementor-element .elementor-icon-list-item a {
    width: auto !important;
    max-width: auto !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

/* Footer: Headings centered; list block centered under headings; list items strictly left-aligned with icon on left */
@media (max-width: 1024px) {
  /* Section headings: NAVIGATE and CONTACT centered */
  [data-elementor-type="footer"] .elementor-widget-heading,
  [data-elementor-type="footer"] .elementor-widget-heading .elementor-widget-container,
  [data-elementor-type="footer"] .elementor-heading-title,
  [data-elementor-type="footer"] .ag-accent-heading .elementor-heading-title,
  .elementor-location-footer .elementor-widget-heading,
  .elementor-location-footer .elementor-heading-title,
  footer .elementor-widget-heading,
  footer .elementor-heading-title,
  .site-footer .elementor-widget-heading,
  .site-footer .elementor-heading-title,
  .ag-footer .elementor-widget-heading,
  .ag-footer .elementor-heading-title,
  .ag-accent-heading,
  .ag-accent-heading .elementor-heading-title,
  .elementor-section:has(.ag-accent-heading) .elementor-widget-heading,
  .elementor-section:has(.ag-accent-heading) .elementor-heading-title {
    display: block !important;
    text-align: center !important;
    margin-inline: auto !important;
    width: 100% !important;
    float: none !important;
  }

  /* Footer icon lists (both NAVIGATE and CONTACT sections):
     List block centered as a unit under the heading, but every item and text strictly LEFT-ALIGNED with icons on the left (zero overlap) */
  [data-elementor-type="footer"] .elementor-widget-icon-list,
  [data-elementor-type="footer"] .elementor-widget-icon-list.elementor-align-left,
  [data-elementor-type="footer"] .elementor-widget-icon-list.elementor-mobile-align-left,
  [data-elementor-type="footer"] .elementor-widget-icon-list .elementor-widget-container,
  .elementor-location-footer .elementor-widget-icon-list,
  footer .elementor-widget-icon-list,
  .site-footer .elementor-widget-icon-list,
  .ag-footer .elementor-widget-icon-list,
  .elementor-section:has(.ag-accent-heading) .elementor-widget-icon-list {
    display: flex !important;
    justify-content: center !important;
    text-align: left !important;
    width: 100% !important;
  }
  [data-elementor-type="footer"] .elementor-icon-list-items,
  .elementor-location-footer .elementor-icon-list-items,
  footer .elementor-icon-list-items,
  .site-footer .elementor-icon-list-items,
  .ag-footer .elementor-icon-list-items,
  .elementor-section:has(.ag-accent-heading) .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline-start: 0 !important;
    gap: 12px !important;
    text-align: left !important;
  }
  [data-elementor-type="footer"] .elementor-icon-list-item,
  [data-elementor-type="footer"] .elementor-icon-list-item a,
  .elementor-location-footer .elementor-icon-list-item,
  .elementor-location-footer .elementor-icon-list-item a,
  footer .elementor-icon-list-item,
  footer .elementor-icon-list-item a,
  .site-footer .elementor-icon-list-item,
  .site-footer .elementor-icon-list-item a,
  .ag-footer .elementor-icon-list-item,
  .ag-footer .elementor-icon-list-item a,
  .elementor-section:has(.ag-accent-heading) .elementor-icon-list-item,
  .elementor-section:has(.ag-accent-heading) .elementor-icon-list-item a {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 10px !important;
    /* width:auto so parent fit-content can shrink and center as a box */
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
  }
  [data-elementor-type="footer"] .elementor-icon-list-icon,
  .elementor-location-footer .elementor-icon-list-icon,
  footer .elementor-icon-list-icon,
  .site-footer .elementor-icon-list-icon,
  .ag-footer .elementor-icon-list-icon,
  .elementor-section:has(.ag-accent-heading) .elementor-icon-list-icon {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }
  [data-elementor-type="footer"] .elementor-icon-list-icon svg,
  .elementor-location-footer .elementor-icon-list-icon svg,
  footer .elementor-icon-list-icon svg,
  .site-footer .elementor-icon-list-icon svg,
  .ag-footer .elementor-icon-list-icon svg,
  .elementor-section:has(.ag-accent-heading) .elementor-icon-list-icon svg {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    flex-shrink: 0 !important;
  }
  [data-elementor-type="footer"] .elementor-icon-list-text,
  .elementor-location-footer .elementor-icon-list-text,
  footer .elementor-icon-list-text,
  .site-footer .elementor-icon-list-text,
  .ag-footer .elementor-icon-list-text,
  .elementor-section:has(.ag-accent-heading) .elementor-icon-list-text {
    position: static !important;
    inset: auto !important;
    display: block !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 1 auto !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    float: none !important;
  }
  [data-elementor-type="footer"] .elementor-widget-icon-list {
    margin-bottom: 14px !important;
    padding-bottom: 4px !important;
  }
}
@media (max-width: 1024px) {
  [data-elementor-type="footer"] .elementor-widget-icon-list {
    margin-bottom: 14px !important;
    padding-bottom: 4px !important;
  }
}
/* /ag-footer-contact-mobile-center */
  [data-elementor-type="footer"] .elementor-widget-icon-list {
    margin-bottom: 14px !important;
    padding-bottom: 4px !important;
  }
  /* All CTA buttons in body HTML markup: center-aligned on mobile and iPad */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta-btn,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-blog-phone-cta a,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-blog-phone-cta a.ag-blog-phone-cta__btn,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-seo-cta-container a,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) a.elementor-button {
    display: inline-flex !important;
    width: 100% !important;
    max-width: 420px !important;
    min-height: 52px !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 12px 0 6px !important;
    text-align: center !important;
    clear: both !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta-lead {
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px 0 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    text-align: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 18px auto 0 !important;
    display: inline-block !important;
    text-align: left !important;
    max-width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-call-cta li {
    margin: 6px 0 !important;
    line-height: 1.5 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-blog-phone-cta,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-blog-phone-cta__actions {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
  html, body {
    overflow-x: hidden !important;
    width: 100%;
  }
}


/* === AG DESKTOP BREAKPOINT (>= 1025px) ===
   Modern CSS Grid for Testimonials (4-column, eliminates Card 2 & 3 touching glitch)
   and Process Steps (4-column horizontal grid). */
@media (min-width: 1367px) {
  /* Elementor's stretched-section script writes an inline width once - it
     measured 1425px on this fleet - and never recalculates. At a 1200px laptop
     that is 240px of sideways scroll; at 1440 it is 8px, which is why it read
     as fine in screenshots. Only !important can beat an inline style. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section.elementor-section-stretched,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section {
    width: auto !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* Narrow intro blocks (max-width 768px) sit in the middle of the boxed
     section. Pinning them with margin-left:0 put a 768px column on the left
     of a 1200px page on 9 of 13 sites - the box was left, not the text-align.
     Text inside stays left; only the container is centered. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-measure-left > .elementor-container {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* 1. HERO BOTTOM BREATHING ROOM: Add visible bottom padding beneath primary CTA and badges */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) {
    padding-bottom: 56px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap) {
    padding-bottom: 48px !important;
  }

  /* 2. COMPACT SECTION SPACING (~32-48px top and bottom, eliminating excessive 132px/84px gaps) */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.trust-console-wrap)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])):not([class*="sec_style_"]):not([class*="sec_page_responsive_"]):not([id*="sec_page_responsive_"]) {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  /* Utility stamp sections stay collapsed on desktop (beats compact pad). */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_style_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_page_responsive_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[id*="sec_page_responsive_"] {
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  /* Testimonials grid: row-gated like process cards.
     Reshape/DNA may leave each review in its own 1-up inner-section; a blind
     repeat(4, 1fr) then leaves three empty tracks and a ~174px left-hug
     (flat roof Tampa CLIENT FEEDBACK). */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column:nth-child(3):last-child):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column:nth-child(3):last-child):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column:nth-child(4)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column:nth-child(4)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container > .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-wrap.elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-wrap.elementor-element-populated {
    padding: var(--ag-card-pad, 24px) !important;
    border-radius: var(--ag-radius-card, 8px) !important;
    border: 1px solid var(--ag-card-border, #e2e8f0) !important;
    box-shadow: var(--ag-card-shadow-css, 0 4px 12px rgba(0, 0, 0, 0.06)) !important;
    text-align: left !important;
    height: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }
  /* Lock testimonial author headings to a shared bottom baseline across all
     cards. margin-top alone measured 0px at 1440 - a later 'margin: 0
     !important' on the widget beats it. margin-block-start is the same
     property under a name those shorthands do not reset, declared after it. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-heading:last-child,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-heading:last-child {
    margin-top: auto !important;
    margin-block-start: auto !important;
    padding-top: 16px !important;
  }
  /* Process card ROWS only. DNA may split the template's 3-up row into 1-up
     inner-sections (one col-100 card each). Painting repeat(3, 1fr) on those
     left two empty tracks and a ~367px left-hug - measured on
     sumppumprepairdallas.org and pianomoversaustintx.org at 1440. nth-child(2)
     is the row gate; 1-up is handled below. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column:nth-child(3)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container {
    display: grid !important;
    /* Default 2-up. Explicit, not auto-fit: auto-fit sized four tracks for
       three cards at 1200 and 1440 - "366px 366px 366px 0px". 3-col and 4-col
       overrides below still apply where those columns exist. */
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column:nth-child(3):last-child > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column:nth-child(3):last-child):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column:nth-child(4) > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  /* 1-up DNA: one card, one track. Must sit after the row rules so it wins if
     a leftover 3-col selector still matches on image+heading alone. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column):not(:has(> .elementor-container > .elementor-column:nth-child(2))):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column):not(:has(> .elementor-container > .elementor-column:nth-child(2))):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):not(:has(h1)) > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image) .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):not(:has(h1)) .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  /* Eliminate excessive 132px/84px padding around short trust badge bands */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap) {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  /* 1. Fix boxed / misaligned 2-column content sections (COMMITTED EXCELLENCE and A BIT ABOUT US) */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 48px !important;
    width: 100% !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) > .elementor-container > .elementor-column {
    flex: 1 1 0% !important;
    width: calc((100% - 48px) / 2) !important;
    max-width: calc((100% - 48px) / 2) !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-wrap {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 560px !important;
    object-fit: cover !important;
    border-radius: var(--ag-radius-media, 8px) !important;
    display: block !important;
  }

  /* 1b. A BIT ABOUT US: CTA button under image and sticky on desktop */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(+ .elementor-top-section .ag-call-cta):not(:has(h1)) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):has(.elementor-widget-image):has(.elementor-widget-button):has(.elementor-widget-text-editor) > .elementor-container {
    align-items: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(+ .elementor-top-section .ag-call-cta):not(:has(h1)) .elementor-column:has(.elementor-widget-image),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):has(.elementor-widget-image):has(.elementor-widget-button):has(.elementor-widget-text-editor) .elementor-column:has(.elementor-widget-image) {
    align-self: stretch !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(+ .elementor-top-section .ag-call-cta):not(:has(h1)) .elementor-column:has(.elementor-widget-image) > .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):has(.elementor-widget-image):has(.elementor-widget-button):has(.elementor-widget-text-editor) .elementor-column:has(.elementor-widget-image) > .elementor-widget-wrap {
    height: 100% !important;
    position: relative !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(+ .elementor-top-section .ag-call-cta):not(:has(h1)) .elementor-column:has(.elementor-widget-image) .elementor-widget-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):has(.elementor-widget-image):has(.elementor-widget-button):has(.elementor-widget-text-editor) .elementor-column:has(.elementor-widget-image) .elementor-widget-button {
    position: sticky !important;
    top: 100px !important;
    z-index: 10 !important;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
    width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(+ .elementor-top-section .ag-call-cta):not(:has(h1)) .elementor-column:has(.elementor-widget-image) .elementor-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):has(.elementor-widget-image):has(.elementor-widget-button):has(.elementor-widget-text-editor) .elementor-column:has(.elementor-widget-image) .elementor-button {
    width: 100% !important;
    max-width: 440px !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  /* 2. TALK TO A REAL PERSON: align section title and heading centered; break lead text into max 2 sentences per row with centered container & left-aligned text; horizontally center list below CTA button with left-aligned text */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-eyebrow,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-eyebrow .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .ag-eyebrow,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .ag-eyebrow .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .elementor-heading-title,
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-call-cta-lead,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .ag-call-cta-lead,
    display: block !important;
    width: 100% !important;
    max-width: 505px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    /* No text-align here. This rule used to pin the lead left inside a CTA
       panel whose eyebrow, heading and button are all centred, so the panel
       carried four different left edges in one column. Alignment belongs to
       the ag-r-cta role, which states it once for every widget in the panel,
       including this one. */
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-call-cta ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .ag-call-cta ul,
    display: table !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: left !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-call-cta li,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column:has(.ag-call-cta) .ag-call-cta li,
    text-align: left !important;
    margin: 6px 0 !important;
  }

  /* 3. ZIP block: heading + codes share 768px centered measure. Title uses --ag-intro-align;
     lead/codes stay text-align:left inside that box.
     Do not paint display:grid / repeat(4) on the ul - zipDna columns uses
     column-count (3 on hydrojetting). */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-zip-columns) .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-zip-columns) .elementor-widget,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-html,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-html,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-zip-columns) ul {
    display: block !important;
    width: 100% !important;
    max-width: 768px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
    text-align: left !important;
    align-self: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-html div[style*="flex"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-html div[style*="flex"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-html div:has(> span),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-html div:has(> span) {
    justify-content: var(--ag-intro-align, center) !important;
    margin-inline: auto !important;
    max-width: 768px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] h2,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] h3,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) h2,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) h3,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-heading-title {
    text-align: var(--ag-intro-align, center) !important;
    margin-inline: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-text-editor {
    text-align: left !important;
    margin-inline: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] li,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) li,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-zip-columns) li {
    text-align: left !important;
    list-style: none !important;
  }

    /* 4. Trust badge bands: hide shape clearance only.
     Do NOT wipe background when .ag-trust-item tiles are present (chimney contrast). */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"]:has(> .elementor-shape-bottom):not(:has(.ag-trust-item)),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]):has(> .elementor-shape-bottom):not(:has(.ag-trust-item)),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap):has(> .elementor-shape-bottom):not(:has(.ag-trust-item)),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-trust-ribbon):not(:has(.ag-trust-item)) {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    background-color: transparent !important;
    background-image: none !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"]:has(.ag-trust-item),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sec-dark:has(.ag-trust-item) {
    background-color: #18181b !important;
    background-image: none !important;
  }

/* 5. PROCESS CARDS EQUAL LENGTH: Ensure all cards share identical margin & height */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) .elementor-inner-section > .elementor-container > .elementor-column:last-child > .elementor-widget-wrap.elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section > .elementor-container > .elementor-column > .elementor-widget-wrap.elementor-element-populated {
    margin-bottom: 20px !important;
    height: calc(100% - 20px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
  }

  /* 6. DESKTOP SECTION DIVIDER CLEARANCE: 72px bottom clearance prevents image/map collision without excessive gap */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.trust-console-wrap)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])):not([class*="sec_style_"]):not([class*="sec_page_responsive_"]):not([id*="sec_page_responsive_"]):has(> .elementor-shape-bottom) {
    padding-bottom: 72px !important;
  }

  /* 7+8. Intro cluster: heading + lead share one 768px centered measure.
     Titles follow --ag-intro-align (fleet center). Lead glyphs stay left inside
     the centered box (not text-align:center, not a left-stuck full-bleed box).
     Inner-sections that hold a card image are excluded - a leftover 1-up
     process card is a card, not an intro. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .ag-eyebrow,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .ag-eyebrow .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-heading-title {
    display: block !important;
    width: 100% !important;
    max-width: 768px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor {
    display: block !important;
    width: 100% !important;
    max-width: 768px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor .elementor-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]):not(:has([class*="wid_zipt_"])) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-text-editor p {
    text-align: left !important;
  }
  /* Leftover 1-up process/feature card: fill the column, never the intro 768.
     Titles follow --ag-intro-align (fleet center). Body glyphs stay left. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor p {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-inline: 0 !important;
    display: block !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-heading-title {
    /* Titles follow --ag-intro-align (fleet center). Body glyphs stay left
       in the next rule; body boxes use max-width + margin:auto. */
    text-align: var(--ag-intro-align, center) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor p {
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor {
    width: 100% !important;
    max-width: min(100%, 768px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor p {
    text-align: left !important;
  }
}

/* Leftover sticky-call-bar markup is a fleet footprint. Hide at every width;
   injectPageResponsiveStyles also strips the widget so Deploy never re-emits it. */
@media (min-width: 768px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sticky-call-bar,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-mobile-sticky-bar {
    display: none !important;
  }
  /* Content image column stays sticky beside scrolling text across tablet & desktop */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:not([class*="sec_badges_"]) > .elementor-container > .elementor-column:has(.elementor-widget-image):not(:has(.elementor-widget-heading)):not(:has(.elementor-widget-text-editor)),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not([class*="sec_badges_"]) > .elementor-container > .elementor-column:has(.elementor-widget-image):not(:has(.elementor-widget-heading)):not(:has(.elementor-widget-text-editor)) {
    position: sticky !important;
    top: 100px !important;
    align-self: flex-start !important;
  }
}

/* === AG IPAD PRO / TABLET BREAKPOINT (768px - 1024px) ===
   Hero stays 2-column (1.1fr 0.9fr), Process & Testimonials 2x2 grids, Counters single row. */
@media (min-width: 768px) and (max-width: 1366px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) > .elementor-container {
    display: grid !important;
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: 32px !important;
    align-items: center !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) > .elementor-container > .elementor-column:has(h1),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) > .elementor-container > .elementor-column:has(.elementor-widget-heading) {
    order: 1 !important;
    grid-column: 1 / 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) > .elementor-container > .elementor-column:has(.elementor-widget-image) {
    order: 2 !important;
    grid-column: 2 / 3 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-heading-title {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-text-editor {
    text-align: left !important;
    max-width: min(100%, 672px) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-text-editor p {
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) h1.elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) h1 {
    font-size: clamp(2.1rem, 3.4vw, 2.75rem) !important;
    line-height: 1.18 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-button-wrapper {
    justify-content: flex-start !important;
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-button {
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  /* Process steps: 2x2 grid (3-col on iPad Pro 900px+, centered 3rd card on 768px-899px).
     Same row gate as desktop: a 1-up inner-section must not get two empty tracks. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column:nth-child(3)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container > .elementor-column:nth-child(3):last-child,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container > .elementor-column:nth-child(3):last-child {
    grid-column: 1 / -1 !important;
    width: calc((100% - 24px) / 2) !important;
    max-width: calc((100% - 24px) / 2) !important;
    /* margin-inline: auto measured 0px - a later 'margin: 0 !important' on
       .elementor-column wins. justify-self is a grid property nothing else
       here sets, so it centres reliably. Keep margin-inline as the fallback
       for any non-grid context. */
    justify-self: center !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }
  @media (min-width: 900px) {
    .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)):has(> .elementor-container > .elementor-column:nth-child(3):last-child > .elementor-widget-wrap > .elementor-widget-image) > .elementor-container,
    .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)):has(> .elementor-container > .elementor-column:nth-child(3):last-child > .elementor-widget-wrap > .elementor-widget-image) > .elementor-container {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      gap: 16px !important;
    }
    .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)):has(> .elementor-container > .elementor-column:nth-child(3):last-child > .elementor-widget-wrap > .elementor-widget-image) > .elementor-container > .elementor-column:nth-child(3):last-child,
    .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)):has(> .elementor-container > .elementor-column:nth-child(3):last-child > .elementor-widget-wrap > .elementor-widget-image) > .elementor-container > .elementor-column:nth-child(3):last-child {
      grid-column: auto !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-inline: 0 !important;
      /* The 768px rule above also set justify-self: center. Left in place, a
         grid item sizes to its content instead of filling its track, so the
         third process card rendered narrower than the first two from 900px to
         1024px - measured justify-self "center" at both. The track widths look
         equal, which is why a grid-template check cannot see it. */
      justify-self: stretch !important;
    }
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column):not(:has(> .elementor-container > .elementor-column:nth-child(2))):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column):not(:has(> .elementor-container > .elementor-column:nth-child(2))):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):not(:has(h1)) > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image) .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):not(:has(h1)) .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image) .elementor-widget-image img,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):not(:has(h1)) .elementor-widget-image img {
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: var(--ag-radius-media, 4px) !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image) .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image) .elementor-widget-text-editor p {
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image) .elementor-heading-title {
    text-align: var(--ag-intro-align, center) !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
  }

  /* Testimonials tablet: row-gated (1-up must not get an empty second track). */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container > .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-wrap.elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-wrap.elementor-element-populated {
    padding: var(--ag-card-pad, 24px) !important;
    border-radius: var(--ag-radius-card, 8px) !important;
    border: 1px solid var(--ag-card-border, #e2e8f0) !important;
    box-shadow: var(--ag-card-shadow-css, 0 4px 12px rgba(0, 0, 0, 0.06)) !important;
    text-align: left !important;
    height: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-flow: column nowrap !important;
    justify-content: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-heading:last-child,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-heading:last-child {
    margin-top: auto !important;
    margin-block-start: auto !important;
    padding-top: 16px !important;
  }

  /* Statistics counter row: single horizontal row with top alignment */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-around !important;
    align-items: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) .elementor-column {
    width: auto !important;
    flex: 1 1 0% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 4px !important;
    align-self: flex-start !important;
    vertical-align: top !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) .elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) .elementor-element-populated {
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter .elementor-counter-number-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: baseline !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter .elementor-counter-title {
    margin-top: 6px !important;
    margin-bottom: 0 !important;
    text-align: center !important;
  }

  /* === AG IPAD PORTRAIT FOOTER (768px - 920px) ===
     Balanced 2-row layout: Row 1 has Column 0 (Logo & description), Row 2 has Columns 1 & 2 side-by-side */
  @media (max-width: 920px) {
    body [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container,
    [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 32px 28px !important;
      width: 100% !important;
      max-width: 720px !important;
      margin: 0 auto !important;
      padding: 0 24px !important;
      box-sizing: border-box !important;
    }
    body [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:first-child,
    [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:first-child {
      grid-column: 1 / -1 !important;
      width: 100% !important;
      max-width: 100% !important;
      text-align: left !important;
    }
    body [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:first-child .elementor-widget-text-editor,
    body [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:first-child .elementor-widget-text-editor p,
    [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:first-child .elementor-widget-text-editor,
    [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:first-child .elementor-widget-text-editor p {
      max-width: 620px !important;
      text-align: left !important;
    }
    body [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:nth-child(2),
    body [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:nth-child(3),
    [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:nth-child(2),
    [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:nth-child(3) {
      width: 100% !important;
      max-width: 100% !important;
    }
  }

  /* === AG IPAD LANDSCAPE FOOTER (921px - 1024px) ===
     Sleek 3-column row with balanced flex sizing and 0px stepped indent */
  @media (min-width: 921px) {
    body [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container,
    [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      justify-content: space-between !important;
      align-items: flex-start !important;
      gap: 24px !important;
      width: 100% !important;
      max-width: 100% !important;
      padding: 0 24px !important;
      box-sizing: border-box !important;
    }
    body [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column,
    [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column {
      width: auto !important;
      flex: 1 1 0% !important;
      margin: 0 !important;
      left: auto !important;
      right: auto !important;
    }
    body [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:first-child,
    [data-elementor-type="footer"] .elementor-top-section:first-of-type > .elementor-container > .elementor-column:first-child {
      flex: 1.6 1 0% !important;
    }
  }

  /* Footer typography and link alignments */
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-heading,
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-heading-title,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-heading,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-heading-title {
    display: block !important;
    text-align: center !important;
    margin-inline: auto !important;
    width: 100% !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-icon-list,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-icon-list {
    display: flex !important;
    justify-content: center !important;
    text-align: left !important;
    width: 100% !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-items,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline-start: 0 !important;
    gap: 12px !important;
    text-align: left !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item,
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item a,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item a {
    display: inline-flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-block: 4px !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-icon,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-icon {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-text,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-text {
    position: static !important;
    inset: auto !important;
    display: inline-block !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 1 auto !important;
  }
  body [data-elementor-type="footer"] .elementor-section:last-child p,
  body [data-elementor-type="footer"] .elementor-section:last-of-type p,
  body [data-elementor-type="footer"] .elementor-section:last-child .elementor-widget-text-editor p,
  body [data-elementor-type="footer"] .elementor-section:last-of-type .elementor-widget-text-editor p,
  body [data-elementor-type="footer"] .elementor-section:last-child .elementor-text-editor p,
  [data-elementor-type="footer"] .elementor-section:last-child p,
  [data-elementor-type="footer"] .elementor-section:last-of-type p,
  [data-elementor-type="footer"] section:last-child p {
    text-align: center !important;
    margin: 0 auto !important;
    padding-inline: 16px !important;
  }
}

/* === AG MOBILE BREAKPOINT (< 768px) ===
   Section intro padding, scroll-snap testimonials, clamped process images. */
@media (max-width: 767px) {
  /* Clamp divider shape height on mobile to prevent 16-degree spike distortion */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-shape,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-shape svg {
    height: 24px !important;
  }

  /* Mobile footer stack (< 768px) */
  [data-elementor-type="footer"] > .elementor-section > .elementor-container {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
  [data-elementor-type="footer"] .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-bottom: 24px !important;
  }
  [data-elementor-type="footer"] .elementor-top-section:last-of-type p,
  [data-elementor-type="footer"] .elementor-section:last-child p,
  [data-elementor-type="footer"] section:last-child p {
    text-align: center !important;
    margin: 0 auto !important;
  }

  /* Mobile footer headings centered; list block centered under headings; items left-aligned with icon on left */
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-heading,
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-heading-title,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-heading,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-heading-title {
    display: block !important;
    text-align: center !important;
    margin-inline: auto !important;
    width: 100% !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-icon-list,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-icon-list {
    display: flex !important;
    justify-content: center !important;
    text-align: left !important;
    width: 100% !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-items,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-inline-start: 0 !important;
    gap: 12px !important;
    text-align: left !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item,
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item a,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item a {
    display: inline-flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-icon,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-icon {
    position: static !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-text,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-text {
    position: static !important;
    inset: auto !important;
    display: inline-block !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 1 auto !important;
  }
  /* Some pages carry an inline style="text-align:center" on the <p> itself -
     one paragraph on concretecontractorsdallastx.net at every width, one on
     flatroofrepairtampa.org below 768. A rule on the widget cannot beat an
     inline style on the child, so target the child. Headings are excluded:
     a deliberately centred section heading is a design choice, a centred
     body paragraph in a left-aligned column is not. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-text-editor p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-text-editor li {
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-text-editor {
    width: 100% !important;
    padding-inline: var(--ag-gutter, 16px) !important;
    box-sizing: border-box !important;
  }
  /* Titles stay centered (fleet --ag-intro-align); body glyphs read left. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-heading-title {
    text-align: var(--ag-intro-align, center) !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-text-editor {
    text-align: left !important;
  }
  /* Testimonials: horizontal swipeable carousel using pure CSS scroll-snap */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 16px !important;
    padding-inline: var(--ag-gutter, 16px) !important;
    padding-bottom: 16px !important;
    align-items: stretch !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container > .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) > .elementor-container > .elementor-column {
    width: 85% !important;
    min-width: 85% !important;
    max-width: 85% !important;
    flex-shrink: 0 !important;
    scroll-snap-align: center !important;
    text-align: left !important;
    margin: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container > .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list):not(:has(> .elementor-container > .elementor-column:nth-child(2))) > .elementor-container > .elementor-column {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
    scroll-snap-align: start !important;
    text-align: left !important;
    margin: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-wrap.elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-wrap.elementor-element-populated {
    padding: var(--ag-card-pad, 20px) !important;
    border-radius: var(--ag-radius-card, 8px) !important;
    border: 1px solid var(--ag-card-border, #e2e8f0) !important;
    box-shadow: var(--ag-card-shadow-css, 0 4px 12px rgba(0, 0, 0, 0.06)) !important;
    height: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
    display: flex !important;
    flex-flow: column nowrap !important;
    justify-content: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-heading:last-child,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-icon-list) .elementor-widget-heading:last-child {
    margin-top: auto !important;
    margin-block-start: auto !important;
    padding-top: 12px !important;
  }
  /* Process steps: single-column stack with tightened vertical padding & clamped image height */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column:nth-child(3)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading):not(:has(h1)) > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  /* Both arms, matching the image rule directly below. Dropping the
     .elementor-section arm left a process row built as a top-level section
     with clamped 170px images inside columns that never got width:100% - a
     half-styled row on mobile. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):not(:has(h1)) .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):not(:has(h1)) .elementor-column {
    width: 100% !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image) .elementor-widget-image img,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):not(:has(h1)) .elementor-widget-image img {
    height: 170px !important;
    max-height: 180px !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: var(--ag-radius-media, 4px) !important;
  }
  /* Statistics counters: single horizontal row on mobile (prevents 3-screen vertical wall of zeros) */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) > .elementor-container {
    display: flex !important;
    flex-flow: row nowrap !important;
    justify-content: space-around !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding-inline: 8px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) .elementor-column {
    width: auto !important;
    flex: 1 1 0% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 4px !important;
    align-self: flex-start !important;
    vertical-align: top !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) .elementor-element-populated,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) .elementor-element-populated {
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter .elementor-counter-number-wrapper {
    font-size: 26px !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: baseline !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter .elementor-counter-title {
    font-size: 11px !important;
    line-height: 1.25 !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    text-align: center !important;
  }
  /* Sticky mobile CTA is a fleet-wide footprint. Hide any leftover markup
     until the live inject strips the widget. Do not display:flex this bar. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-mobile-sticky-bar,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-sticky-call-bar {
    display: none !important;
  }
}

/* === AG HEADING OVERFLOW GUARD (all widths, desktop included) ===
   Heading sizes are fitted to their column at deploy time (src/headingFit.js).
   This is the guarantee for pages carrying an older baked size: a heading that
   is still too large must wrap inside its column, never run out under the hero
   image where the text is simply cut off. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-heading-title {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  hyphens: auto !important;
}
/* Phones never have room for a hero H1 baked at 90px+; size it off the
   viewport so already-deployed pages read correctly without a redeploy. */
@media (max-width: 767px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h1.elementor-heading-title {
    font-size: clamp(28px, 9vw, 54px) !important;
    line-height: 1.12 !important;
  }
}

/* === AG ALL-VIEWPORT ALIGNMENT & TRUST BADGES (Desktop, iPad, Mobile) ===
   Do NOT 768-box every heading/text-editor. That shrink-wrapped About
   eyebrows (display:table) and turned leftover 1-up process cards into intros.
   Intro cluster = 1-col, no card image. Cards fill their column. FAQ stays left. */
/* Intro inner-section IS the 768 measure, same as the H2 in the parent wrap.
   A previous pass set this row to max-width:100%. The 768 .ag-prose widget
   then sat at margin-left:0 in a 1220 flex wrap (hydrojetting Workflow /
   Customer Stories: left 110 vs heading 336). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) {
  max-width: 768px !important;
  width: 100% !important;
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) > .elementor-container > .elementor-column {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-text-editor {
  display: block !important;
  width: 100% !important;
  max-width: 768px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-heading {
  text-align: var(--ag-intro-align, center) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-text-editor {
  text-align: left !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-heading {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
  text-align: var(--ag-intro-align, center) !important;
  box-sizing: border-box !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor {
  display: block !important;
  width: 100% !important;
  max-width: 768px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
  text-align: left !important;
  box-sizing: border-box !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title {
  text-align: var(--ag-intro-align, center) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-text-editor p {
  text-align: left !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-heading-title {
  text-align: var(--ag-intro-align, center) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
  display: block !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor {
  text-align: left !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor {
  width: 100% !important;
  max-width: min(100%, 768px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
  text-align: left !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):has(.elementor-widget-image):has(.elementor-widget-heading):not(:has(h1)) .elementor-widget-text-editor p {
  text-align: left !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-tab-content,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-tab-content {
  text-align: left !important;
}
/* === AG FLUID TYPOGRAPHY SCALE === */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h1.elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h2.elementor-heading-title {
  line-height: 1.25 !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h2.elementor-heading-title {
  font-size: clamp(1.75rem, 4vw, 2.25rem) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-tab-content,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-accordion .elementor-tab-content {
  text-align: left !important;
}
/* === AG UNIFORM SECTION TITLES & HEADINGS CENTERING (ALL VIEWPORTS) === */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-eyebrow,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-eyebrow *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-heading .elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h1,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h2,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h3,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h4,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h1.elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h2.elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h3.elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h4.elementor-heading-title {
  text-align: center !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-row,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-grid,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-header-bar,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-cards-grid,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) [data-ag-trust] .ag-trust-row {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-header-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-pill,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-card {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: auto !important;
  width: max-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}
/* .tc-card is grouped with the chips above, which is right for its display and
   alignment but wrong for its text: a trust CARD carries a multi-sentence
   description, and nowrap + max-content let it expand to 564px and push the
   page 19px past the viewport at 1200 on pianomoverssandiegoca.org. Chips stay
   nowrap; cards wrap. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-card,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-card-desc {
  white-space: normal !important;
  width: auto !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .tc-check-badge,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-check,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-seal,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-chev,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  margin-right: 8px !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) {
  padding-top: 20px !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(+ .elementor-top-section[class*="sec_zip_"]),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(+ .elementor-top-section [class*="wid_zipt_"]) {
  padding-bottom: 20px !important;
}
/* === AG SECTION DIVIDER CONTAINMENT (Desktop, Laptop, iPad, Mobile) ===
   Elementor bottom shape dividers (e.g. split/triangle pointer) are 56px tall
   SVGs absolutely positioned at the bottom of the section. Content must have
   adequate bottom clearance so no text, cards, counters, or map iframes collide
   with or protrude across the divider line or pointer on ANY device. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.trust-console-wrap)):has(> .elementor-shape-bottom) {
  padding-bottom: 84px !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1)):has(> .elementor-shape-top) {
  padding-top: 84px !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) > .elementor-container {
  margin-bottom: 0 !important;
  position: relative;
  z-index: 2;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) .elementor-column:last-child > .elementor-widget-wrap.elementor-element-populated,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) > .elementor-container > .elementor-column:last-child {
  margin-bottom: 0 !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) .elementor-widget:last-child {
  margin-bottom: 0 !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-shape-bottom) .elementor-inner-section:last-child {
  margin-bottom: 0 !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) > .elementor-shape,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type > .elementor-shape {
  display: none !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-shape {
  pointer-events: none !important;
  z-index: 1 !important;
}

/* === AG MOBILE & TABLET (<=1366px) SECTION HEADINGS, TRUST BADGES, ZIP CODES === */
@media (max-width: 1366px) {
  /* 1. All section titles, eyebrows, and headings centered on mobile and tablet */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not([class*="sec_badges_"]):not(:has([data-ag-trust])):not(:has(.ag-call-cta)):not([class*="sec_zip_"]) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-heading .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-eyebrow,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-eyebrow *,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h1,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h2,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h3,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h4,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h1.elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h2.elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h3.elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) h4.elementor-heading-title {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
  }

  /* 2. Trust badges: eliminate bottom gap and center align the badge group */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.trust-console-wrap) {
    padding-top: 14px !important;
    padding-bottom: 16px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has([data-ag-trust]) > .elementor-shape-bottom,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"] > .elementor-shape-bottom {
    display: none !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-trust-seals,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) [data-ag-trust] {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) [data-ag-trust] .ag-trust-row,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"] .ag-trust-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: max-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: left !important;
    gap: 12px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) [data-ag-trust] .ag-trust-item,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"] .ag-trust-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-inline: 0 !important;
    width: auto !important;
  }

  /* 3. Center the zip codes block and all its format variants (chips, columns, table, inline/ranges) */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-zip-columns) .elementor-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-zip-columns) .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-zip-columns) .elementor-widget,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-html,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-html,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-zip-columns) ul {
    display: block !important;
    width: 100% !important;
    max-width: 768px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
    align-self: center !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] h2,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] h3,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) h2,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) h3 {
    text-align: var(--ag-intro-align, center) !important;
    margin-inline: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] li,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) li,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-zip-columns) li {
    text-align: left !important;
    list-style: none !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-html div[style*="flex"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-html div[style*="flex"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-html div:has(> span),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-html div:has(> span) {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: var(--ag-intro-align, center) !important;
    margin-inline: auto !important;
    width: 100% !important;
    max-width: 768px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] table,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) table {
    margin-inline: auto !important;
    max-width: 768px !important;
    width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] td,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) td {
    text-align: center !important;
  }

  /* 4. Intro body copy only - left glyphs in a centered 768 box; not process cards, not 2-col About. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap > .elementor-widget-text-editor {
    display: block !important;
    max-width: 768px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor ol,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:not(:has(.elementor-column:nth-child(2))):not(:has(.elementor-widget-image)) .elementor-widget-text-editor li {
    text-align: left !important;
  }

  /* Footer description under logo: centered table block, text internally left-aligned */
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-text-editor,
  .elementor-location-footer .elementor-top-section:first-of-type .elementor-widget-text-editor {
    display: table !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: left !important;
    max-width: 580px !important;
    box-sizing: border-box !important;
  }
  [data-elementor-type="footer"] .elementor-section:not(:last-child) .elementor-column .elementor-widget-text-editor p,
  [data-elementor-type="footer"] .elementor-section:not(:last-child) .elementor-widget-text-editor .elementor-widget-container p,
  [data-elementor-type="footer"] .elementor-section:not(:last-child) .elementor-widget-text-editor p,
  .elementor-location-footer .elementor-section:not(:last-child) .elementor-column .elementor-widget-text-editor p,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-widget-text-editor p,
  [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-text-editor p {
    text-align: left !important;
  }
  /* Footer copyright centered */
  body [data-elementor-type="footer"] .elementor-section:last-child p,
  body [data-elementor-type="footer"] .elementor-section:last-of-type p,
  body [data-elementor-type="footer"] .elementor-section:last-child .elementor-widget-text-editor p,
  body [data-elementor-type="footer"] .elementor-section:last-of-type .elementor-widget-text-editor p,
  body [data-elementor-type="footer"] .elementor-section:last-child .elementor-text-editor p,
  [data-elementor-type="footer"] .elementor-section:last-child p,
  [data-elementor-type="footer"] .elementor-section:last-of-type p,
  .elementor-location-footer .elementor-section:last-child p,
  .elementor-location-footer .elementor-section:last-of-type p {
    text-align: center !important;
    margin-inline: auto !important;
  }

  /* 5. Mobile & iPad View: Sections with images and normal body text (e.g. Committed Excellence, About Us, Hero)
     Ensure images appear directly under headings before the normal block of text appears.
     Dissolve column boundaries with display: contents so widgets order directly under the container:
     - Headings (eyebrow + title): order 1
     - Image (centered, clean max-width): order 2
     - Text editor (normal block of text): order 3
     - Button / Counters / Inner sections: order 4
  */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-column.elementor-hidden-tablet {
    display: block !important;
    visibility: visible !important;
  }

  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 768px !important;
    margin-inline: auto !important;
    padding-inline: var(--ag-gutter, 16px) !important;
    box-sizing: border-box !important;
  }

  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) > .elementor-container > .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: contents !important;
  }

  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-heading {
    order: 1 !important;
    width: 100% !important;
    display: block !important;
    text-align: center !important;
  }

  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-image {
    order: 2 !important;
    width: 100% !important;
    max-width: 600px !important;
    margin-top: 16px !important;
    margin-bottom: 24px !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-image img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: var(--ag-radius-media, 8px) !important;
    margin-inline: auto !important;
    display: block !important;
  }

  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-text-editor {
    order: 3 !important;
    width: 100% !important;
    max-width: 720px !important;
    margin-inline: auto !important;
  }

  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-inner-section,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-button {
    order: 4 !important;
    width: 100% !important;
    margin-top: 20px !important;
  }

  /* 6. CONTENT BUTTONS (Mobile & Tablet <= 1024px): Centered, rounded, full-width with safe clamp */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]):not(#ag-role-never) .elementor-widget-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]):not(#ag-role-never) .elementor-widget-button .elementor-widget-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]):not(#ag-role-never) .elementor-widget-button .elementor-button-wrapper {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]):not(#ag-role-never) .elementor-widget-button .elementor-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]):not(#ag-role-never) a.elementor-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]):not(#ag-role-never) .ag-call-cta-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 420px !important;
    min-height: 52px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    border-radius: var(--ag-radius-button, 10px) !important;
    box-sizing: border-box !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
  }
}

/* === AG TABLET / IPAD VIEW (768px - 1024px) ALIGNMENT, SPACING & FLOW === */
@media (min-width: 768px) and (max-width: 1366px) {
  /* 0. TABLET HEADER: compact single bar, logo flush left, phone + hamburger flush right */
  [data-elementor-type="header"] .ag-top-bar,
  [data-elementor-type="header"] .elementor-section.ag-top-bar,
  [data-elementor-type="header"] > .elementor-section:first-of-type:not(:has(.elementor-widget-image)),
  [data-elementor-type="header"] > .elementor-top-section:first-of-type:not(:has(.elementor-widget-image)),
  [data-elementor-type="header"] .elementor-element-591967a,
  [data-elementor-type="header"] > .elementor-top-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section:first-child {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar):not(.elementor-element-591967a) > .elementor-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 24px !important;
    box-sizing: border-box !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar):not(.elementor-element-591967a) > .elementor-container > .elementor-column:first-child {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    order: 1 !important;
    justify-content: flex-start !important;
    margin: 0 !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar):not(.elementor-element-591967a) > .elementor-container > .elementor-column:first-child .elementor-widget-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    margin: 0 !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar):not(.elementor-element-591967a) > .elementor-container > .elementor-column:nth-child(2) {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    order: 2 !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
    position: relative !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar):not(.elementor-element-591967a) > .elementor-container > .elementor-column:nth-child(2) .elementor-widget-wrap,
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .elementor-column:has(.ag-mobile-actions) .elementor-widget-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    margin-left: auto !important;
    position: relative !important;
  }
  [data-elementor-type="header"] .ag-mobile-actions {
    display: flex !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
    align-items: center !important;
    width: auto !important;
  }
  [data-elementor-type="header"] .ag-mobile-phone {
    display: inline-flex !important;
  }
  [data-elementor-type="header"] .ag-hamburger {
    display: inline-flex !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) > .elementor-container > .elementor-column:last-child,
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .elementor-widget-button {
    display: none !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .ag-main-nav .elementor-icon-list-items,
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .elementor-column:nth-child(2) .elementor-widget-icon-list .elementor-icon-list-items,
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .elementor-nav-menu--main {
    display: none !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .ag-main-nav.ag-nav-open .elementor-icon-list-items,
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .elementor-column:nth-child(2) .elementor-widget-icon-list.ag-nav-open .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: auto !important;
    min-width: min(280px, 86vw) !important;
    width: max-content !important;
    max-width: min(320px, 92vw) !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(24, 24, 27, 0.12) !important;
    border-radius: 10px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14) !important;
    z-index: 10050 !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .ag-main-nav.ag-nav-open .elementor-icon-list-item,
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .elementor-column:nth-child(2) .elementor-widget-icon-list.ag-nav-open .elementor-icon-list-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .ag-main-nav.ag-nav-open .elementor-icon-list-item a,
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .elementor-column:nth-child(2) .elementor-widget-icon-list.ag-nav-open .elementor-icon-list-item a {
    display: block !important;
    width: 100% !important;
    padding: 12px 18px !important;
    text-align: left !important;
    color: #18181B !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
  }
  [data-elementor-type="header"] .elementor-section:not(.ag-top-bar) .ag-main-nav.ag-nav-open .elementor-icon-list-item a:hover {
    background: rgba(24, 24, 27, 0.05) !important;
  }

  /* 1. HERO SECTION: Single unified centered column, left-aligned text edge, centered button */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1):not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 720px !important;
    margin-inline: auto !important;
    padding-inline: 24px !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1):not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) .elementor-widget-heading {
    width: 100% !important;
    max-width: 672px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) h1.elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) h1,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) h1 {
    text-align: center !important;
    width: 100% !important;
    max-width: 672px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    font-size: clamp(2.2rem, 3.8vw, 2.85rem) !important;
    line-height: 1.18 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1):not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-image,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-image,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) .elementor-widget-image {
    width: 100% !important;
    max-width: 672px !important;
    margin-top: 20px !important;
    margin-bottom: 24px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-image img,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) .elementor-widget-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 440px !important;
    object-fit: cover !important;
    border-radius: var(--ag-radius-media, 10px) !important;
    display: block !important;
    margin: 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1):not([class*="sec_badges_"]):not(:has([data-ag-trust])):has(> .elementor-container > .elementor-column:nth-child(2)):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-image):has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-text-editor) .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) .elementor-widget-text-editor {
    width: 100% !important;
    max-width: 672px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-text-editor p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) .elementor-widget-text-editor p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-html p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-html div > p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-html p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-html div > p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-prose p {
    text-align: left !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    margin-bottom: 16px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-widget-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-button-wrapper,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-column:has(.elementor-widget-text-editor) .elementor-widget-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-column:has(.elementor-widget-text-editor) .elementor-button-wrapper,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) .elementor-widget-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) .elementor-button-wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 24px auto 12px auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(h1) .elementor-column:has(.elementor-widget-text-editor) .elementor-button,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:first-of-type:has(.elementor-widget-heading):has(.elementor-widget-image) .elementor-button {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
    text-align: center !important;
    max-width: 440px !important;
    width: 100% !important;
  }

  /* 2. CTA SECTION: Centered vertical stack, no button-list collision, full-width map */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) > .elementor-container,
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    max-width: 720px !important;
    margin-inline: auto !important;
    padding-inline: 24px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-call-cta,
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-call-cta-lead,
    text-align: center !important;
    max-width: 580px !important;
    margin-inline: auto !important;
    line-height: 1.55 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-call-cta-btn,
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 440px !important;
    margin: 20px auto 18px auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-call-cta ul,
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 auto !important;
    list-style-position: inside !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 440px !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .ag-call-cta ul li,
    text-align: center !important;
    margin: 4px 0 !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .elementor-widget-google_maps,
    width: 100% !important;
    max-width: 672px !important;
    margin: 28px auto 0 auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .elementor-widget-google_maps iframe,
    width: 100% !important;
    height: 280px !important;
    border-radius: var(--ag-radius-media, 8px) !important;
    display: block !important;
  }

  /* 3. ZIP: same 768 centered measure as desktop; title via --ag-intro-align, body left. Never grid/4-col - that
     kills zipDna column-count and left-hugs the codes. */
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] h2,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] h3,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-heading-title,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) h2,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) h3,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-heading,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-heading-title {
    text-align: var(--ag-intro-align, center) !important;
    margin-inline: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] p,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-text-editor,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) p {
    text-align: var(--ag-intro-align, center) !important;
    margin-inline: auto !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] ul,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) ul {
    display: block !important;
    grid-template-columns: none !important;
    max-width: 768px !important;
    width: 100% !important;
    margin-inline: auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] ul li,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) ul li {
    text-align: left !important;
    list-style: none !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-html div[style*="flex"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-html div[style*="flex"],
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] .elementor-widget-html div:has(> span),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) .elementor-widget-html div:has(> span) {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: var(--ag-intro-align, center) !important;
    margin-inline: auto !important;
    max-width: 768px !important;
    width: 100% !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_zip_"] table,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has([class*="wid_zipt_"]) table {
    margin-inline: auto !important;
    max-width: 100% !important;
  }
}
/* ag-section-roles */
/* THE INVARIANT (fleet, Alvin 2026-09-10)
 *
 * Titles/headings resolve --ag-intro-align (stamped center fleet-wide).
 * Body / lead / paragraph / card body glyphs stay text-align:left.
 * Body containers share a centered measure (max-width + margin:auto), never
 * width:fit-content, so the block sits under the centered title without
 * left-stuck full-bleed boxes and without content-dependent width.
 *
 * Matching means: centered title above a centered box of left-reading copy.
 * Not left-aligned body boxes under centered titles, and not center-aligned
 * body glyphs. CTA panels remain a deliberate full-center role exception.
 */

/* Intro cluster: one measure, one alignment, shared by heading and lead. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) > .elementor-container {
  max-width: 768px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* :not(.ag-r-card-*) so an intro that ends up wrapping a tagged card row
   cannot reach past its own copy and restyle the cards inside it. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-heading:not(.ag-r-card-title),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-heading:not(.ag-r-card-title) .elementor-heading-title {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
  text-align: var(--ag-intro-align, center) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-text-editor:not(.ag-r-card-body) {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-text-editor:not(.ag-r-card-body),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-text-editor:not(.ag-r-card-body) p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-html p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-html div > p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .ag-prose p {
  text-align: left !important;
}

/* Card grid: equal heights and a full-width card, whatever the row is built
   from. Deliberately no flex-direction here. An Elementor column already
   stacks its own widgets, and declaring the stack outside a media query is
   what turns a desktop row into a single tall column. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cardgrid:not(#ag-role-never) > .elementor-container {
  align-items: stretch !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never) > .elementor-widget-wrap {
  width: 100% !important;
  align-content: flex-start !important;
}

/* Card copy: title follows --ag-intro-align (fleet center); body glyphs left.
   Body fills the card column (multi-up) or a centered 768 measure (1-up). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card-title:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card-title:not(#ag-role-never) .elementor-heading-title {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
  text-align: var(--ag-intro-align, center) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card-body:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card-body:not(#ag-role-never) p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never) .elementor-widget-html p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never) .elementor-widget-html div > p {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

/* 1-up card copy: when a card sits alone in a row (elementor-col-100 or
   only-child), title + body containers share a centered readable max-width.
   Title glyphs follow --ag-intro-align; body glyphs stay left.

   The width is 100% capped by max-width, never fit-content. fit-content makes
   the box track the length of its own sentence, so the same card renders at
   768px on a page with long copy and 634px on a page with short copy, and the
   left edge of the paragraph moves every time the copy is regenerated. That is
   a layout that changes when nothing in the layout changed, which is exactly
   the class of bug this role stylesheet exists to remove. Auto inline margins
   still center the capped box, so nothing is lost by fixing the width. */
/* 1-up: shared centered measure for title + body boxes; title glyphs center,
   body glyphs left. Width is 100% capped by max-width, never fit-content. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card.elementor-col-100 .ag-r-card-title:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:only-child .ag-r-card-title:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card.elementor-col-100 .ag-r-card-body:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:only-child .ag-r-card-body:not(#ag-role-never) {
  width: 100% !important;
  max-width: min(100%, 768px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card.elementor-col-100 .ag-r-card-title:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:only-child .ag-r-card-title:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card.elementor-col-100 .ag-r-card-title:not(#ag-role-never) .elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:only-child .ag-r-card-title:not(#ag-role-never) .elementor-heading-title {
  text-align: var(--ag-intro-align, center) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card.elementor-col-100 .ag-r-card-body:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:only-child .ag-r-card-body:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card.elementor-col-100 .ag-r-card-body:not(#ag-role-never) p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:only-child .ag-r-card-body:not(#ag-role-never) p {
  text-align: left !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never).elementor-col-100 .elementor-widget-button .elementor-button-wrapper,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never).elementor-col-100 .elementor-widget-button,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never):only-child .elementor-widget-button .elementor-button-wrapper,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never):only-child .elementor-widget-button {
  text-align: left !important;
}

/* A button agrees with the copy it sits under (left body glyphs).
   Mobile full-width phone CTAs may still flex-center (exception below). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never) .elementor-widget-button .elementor-button-wrapper,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never) .elementor-widget-button {
  text-align: left !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-button .elementor-button-wrapper,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-button {
  text-align: left !important;
}

/* CTA panel: every body widget agrees with its neighbours. The audit's
   "left heading over a wholly centred body" is this defect. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .elementor-widget-text-editor,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .elementor-widget-text-editor p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .elementor-widget-button .elementor-button-wrapper,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .elementor-widget-button,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .ag-call-cta,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .ag-call-cta-lead,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .ag-call-cta p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .ag-call-cta ul,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cta:not(#ag-role-never) .ag-call-cta li {
  text-align: center !important;
}

/* Hero: title follows --ag-intro-align; body glyphs + phone button stay left
   inside a centered measure box under the title. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .elementor-heading-title {
  text-align: var(--ag-intro-align, center) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .elementor-widget-text-editor,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .elementor-widget-text-editor p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .elementor-widget-html p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .elementor-widget-html div > p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .ag-prose p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .elementor-widget-button .elementor-button-wrapper,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .elementor-widget-button {
  text-align: left !important;
}
/* Hero body box: shared measure under the centered title (not fit-content). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .elementor-widget-text-editor {
  width: 100% !important;
  max-width: min(100%, 672px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

/* The eyebrow sits on the same edge as the cluster it introduces.
   It is a heading widget, so the rules above already give it the right
   text-align. They do not touch its box, and a shape rule centres that box
   with auto margins, which left a left-aligned eyebrow starting 223px right of
   the copy beneath it. Alignment is the box and the text together. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .ag-eyebrow,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-hero:not(#ag-role-never) .ag-eyebrow *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .ag-eyebrow,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .ag-eyebrow *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-band:not(#ag-role-never) .ag-eyebrow,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-band:not(#ag-role-never) .ag-eyebrow *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .ag-eyebrow,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .ag-eyebrow * {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-inline: 0 !important;
  text-align: var(--ag-intro-align, center) !important;
}

/* Split section: title via --ag-intro-align; body glyphs left (same as hero). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .elementor-heading-title {
  text-align: var(--ag-intro-align, center) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .elementor-widget-text-editor,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .elementor-widget-text-editor p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .elementor-widget-html p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .elementor-widget-html div > p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .ag-prose p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .elementor-widget-button .elementor-button-wrapper,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-split:not(#ag-role-never) .elementor-widget-button {
  text-align: left !important;
}

/* Band: title via --ag-intro-align; list/body glyphs left at every width. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-band:not(#ag-role-never) .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-band:not(#ag-role-never) .elementor-heading-title {
  text-align: var(--ag-intro-align, center) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-band:not(#ag-role-never) .elementor-widget-text-editor,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-band:not(#ag-role-never) .elementor-widget-text-editor p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-band:not(#ag-role-never) .elementor-widget-html p,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-band:not(#ag-role-never) .elementor-widget-icon-list {
  text-align: left !important;
}

/* Short band: padding that dwarfs its own content. Capped, not removed:
   the strip still needs to breathe against the sections either side.
   No em or en dashes anywhere in this string. It is injected into the page
   tree, and the dedash pass treats one as a defect to strip. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-band:not(#ag-role-never) {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

/* Tablet keeps the invariant. This block used to pin these headings to center
   below 1024px while the copy under them went on resolving the variable, which
   re-created at tablet exactly the mismatch the desktop rules had just removed.
   That is why the ZIP finding reproduced on desktop and iPad but not phone. */
@media (max-width: 1024px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-heading,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-heading-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card-title:not(#ag-role-never),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card-title:not(#ag-role-never) .elementor-heading-title {
    text-align: var(--ag-intro-align, center) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto !important;
  }
}

@media (max-width: 767px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never) .elementor-widget-button .elementor-button-wrapper,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-card:not(#ag-role-never) .elementor-widget-button,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-button .elementor-button-wrapper,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-intro:not(#ag-role-never) .elementor-widget-button {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* /ag-section-roles */

/* FINAL: trust-item bands keep dark surface (wins over shape transparent rules) */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_badges_"]:has(.ag-trust-item),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section.ag-sec-dark:has(.ag-trust-item),
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.ag-trust-tiles) {
  background-color: #18181b !important;
  background-image: none !important;
}
/* Accent pill spans locked in FINAL trust block below. */

/* FINAL: col-100 columns stay full width inside the boxed container. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)) > .elementor-container > .elementor-column.elementor-col-100,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cardgrid > .elementor-container > .elementor-column.elementor-col-100:only-child,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cardgrid:not(:has(h1)) > .elementor-container > .elementor-column:only-child,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)) > .elementor-container > .elementor-column:only-child,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)) > .elementor-container > .elementor-column.elementor-col-100:only-child {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
  min-width: 0 !important;
}
/* Intro-only sections: keep the centered ~720px body measure on the wrap.
   NEVER apply that measure when the section hosts a multi-col cardgrid
   (CUSTOMER FEEDBACK 4-up / FROM CALL TO CLEANUP 3-up): those need the
   full boxed width or cards crush to ~157-220px (Austin piano movers). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not(:has(.ag-r-cardgrid)):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section > .elementor-container > .elementor-column:nth-child(2))) > .elementor-container > .elementor-column.elementor-col-100 > .elementor-widget-wrap,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:has(h1)):not(:has(.ag-r-cardgrid)):not(:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section > .elementor-container > .elementor-column:nth-child(2))) > .elementor-container > .elementor-column:only-child > .elementor-widget-wrap {
  max-width: min(100%, 720px) !important;
  width: 100% !important;
  margin-inline: auto !important;
}
/* Cardgrid / multi-col process+testimonial hosts: full boxed measure. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-r-cardgrid) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-inner-section > .elementor-container > .elementor-column:nth-child(2)) > .elementor-container > .elementor-column > .elementor-widget-wrap,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .ag-r-cardgrid > .elementor-container > .elementor-column > .elementor-widget-wrap {
  max-width: 100% !important;
  width: 100% !important;
  margin-inline: 0 !important;
}


/* FINAL ALL-VIEWPORTS: utility stamp sections never contribute layout height.
   Beats desktop compact 48px padding (same !important, later in file). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_style_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section[class*="sec_style_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_page_responsive_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section[class*="sec_page_responsive_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[id*="sec_page_responsive_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1))[class*="sec_style_"],
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:not(:first-of-type):not(:has(h1))[class*="sec_page_responsive_"] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_style_"] > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[class*="sec_page_responsive_"] > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section[id*="sec_page_responsive_"] > .elementor-container {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* FINAL ALL-VIEWPORTS: footer + trust + CTA height (zero-bug bar)
   Durable role rules for current + future sites: no host pins. */

/* Footer FINAL: headings center; list BOX center (fit-content); TEXT left.
   Brand column: logo + text under it share one centered stack (text left inside). */
[data-elementor-type="footer"] .elementor-widget-heading,
[data-elementor-type="footer"] .elementor-widget-heading .elementor-widget-container,
[data-elementor-type="footer"] .elementor-widget-heading .elementor-heading-title,
[data-elementor-type="footer"] .ag-accent-heading .elementor-heading-title,
.elementor-location-footer .elementor-widget-heading,
.elementor-location-footer .elementor-heading-title {
  text-align: center !important;
  margin-inline: auto !important;
  width: 100% !important;
  padding-inline: 0 !important;
  padding-inline-start: 0 !important;
  box-sizing: border-box !important;
}
[data-elementor-type="footer"] .elementor-widget-icon-list,
[data-elementor-type="footer"] .elementor-widget-icon-list .elementor-widget-container,
.elementor-location-footer .elementor-widget-icon-list {
  text-align: left !important;
  width: 100% !important;
  margin-inline: auto !important;
}
[data-elementor-type="footer"] .elementor-icon-list-items,
.elementor-location-footer .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-items,
body [data-elementor-type="footer"] .elementor-icon-list-items {
  align-items: stretch !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}
[data-elementor-type="footer"] .elementor-icon-list-item,
.elementor-location-footer .elementor-icon-list-item {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  padding-inline-start: 0 !important;
  text-align: left !important;
  float: none !important;
  box-sizing: border-box !important;
}
body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item,
body [data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-icon-list-item a,
body [data-elementor-type="footer"] .elementor-icon-list-item,
body [data-elementor-type="footer"] .elementor-icon-list-item a,
body [data-elementor-type="footer"] .elementor-icon-list-text {
  justify-content: flex-start !important;
  align-items: center !important;
  text-align: left !important;
  margin-inline: 0 !important;
  width: 100% !important;
  padding-inline-start: 0 !important;
}
[data-elementor-type="footer"] .elementor-icon-list-icon,
.elementor-location-footer .elementor-icon-list-icon,
footer .elementor-icon-list-icon,
.elementor .elementor-widget-icon-list .elementor-icon-list-icon {
  position: static !important;
  inset: auto !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 0.45em 0 0 !important;
  margin-inline-end: 0.45em !important;
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
}
[data-elementor-type="footer"] .elementor-icon-list-item,
[data-elementor-type="footer"] .elementor-icon-list-item a,
.elementor-location-footer .elementor-icon-list-item,
.elementor-location-footer .elementor-icon-list-item a,
footer .elementor-icon-list-item,
footer .elementor-icon-list-item a,
.elementor .elementor-widget-icon-list .elementor-icon-list-item,
.elementor .elementor-widget-icon-list .elementor-icon-list-item a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  position: relative !important;
}
[data-elementor-type="footer"] .elementor-icon-list-text,
.elementor-location-footer .elementor-icon-list-text,
footer .elementor-icon-list-text,
.elementor .elementor-widget-icon-list .elementor-icon-list-text {
  display: inline-flex !important;
  align-items: center !important;
  position: static !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Brand column: logo + blurb share centered stack; blurb text left inside box */
[data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-column:has(.elementor-widget-image):has(.elementor-widget-text-editor) > .elementor-widget-wrap,
.elementor-location-footer .elementor-top-section:first-of-type .elementor-column:has(.elementor-widget-image):has(.elementor-widget-text-editor) > .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
}
[data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-column:has(.elementor-widget-image):has(.elementor-widget-text-editor) .elementor-widget-image,
[data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-column:has(.elementor-widget-image):has(.elementor-widget-text-editor) .elementor-widget-image .elementor-widget-container {
  text-align: center !important;
  margin-inline: auto !important;
  width: auto !important;
  max-width: 100% !important;
}
[data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-column:has(.elementor-widget-image):has(.elementor-widget-text-editor) .elementor-widget-image img {
  display: block !important;
  margin-inline: auto !important;
  float: none !important;
}
[data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-column:has(.elementor-widget-image):has(.elementor-widget-text-editor) .elementor-widget-text-editor,
[data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-column:has(.elementor-widget-image):has(.elementor-widget-text-editor) .elementor-widget-text-editor .elementor-widget-container {
  text-align: left !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}
[data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-column:has(.elementor-widget-image):has(.elementor-widget-text-editor) .elementor-widget-text-editor,
[data-elementor-type="footer"] .elementor-top-section:first-of-type .elementor-column:has(.elementor-widget-image):has(.elementor-widget-text-editor) .elementor-widget-text-editor * {
  text-align: left !important;
}

/* Footer copyright: inset the BOX (margin), not only padding: probes use border-box left. */
[data-elementor-type="footer"] .elementor-section:last-child > .elementor-container,
[data-elementor-type="footer"] .elementor-section:last-of-type > .elementor-container,
.elementor-location-footer .elementor-section:last-child > .elementor-container,
.elementor-location-footer .elementor-section:last-of-type > .elementor-container {
  width: auto !important;
  max-width: calc(100% - 32px) !important;
  margin-inline: 16px !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}
[data-elementor-type="footer"] .elementor-section:last-child .elementor-widget-text-editor,
[data-elementor-type="footer"] .elementor-section:last-of-type .elementor-widget-text-editor,
[data-elementor-type="footer"] .elementor-section:last-child .elementor-widget-html,
[data-elementor-type="footer"] .elementor-section:last-of-type .elementor-widget-html,
[data-elementor-type="footer"] .elementor-section:last-child .elementor-column,
[data-elementor-type="footer"] .elementor-section:last-of-type .elementor-column,
.elementor-location-footer .elementor-section:last-child .elementor-widget-text-editor,
.elementor-location-footer .elementor-section:last-of-type .elementor-widget-text-editor {
  margin-inline: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Trust/badge contrast (fleet, locked pairs: no site pins):
   Default on trust-row sections: light ink (dark bands).
   Accent pill spans: higher-specificity override → accent fill + dark ink. */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-section:has(.ag-trust-row) .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-section:has(.ag-trust-row) .ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-top-section[class*="sec_badges_"] .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-top-section[class*="sec_badges_"] .ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-sec-dark .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-sec-dark .ag-trust-item * {
  color: #f8fafc !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-section:has(.ag-trust-row) .ag-trust-row > span.ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-section:has(.ag-trust-row) .ag-trust-slash > span.ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-top-section[class*="sec_badges_"] .ag-trust-row > span.ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-sec-dark .ag-trust-row > span.ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-section:has(.ag-trust-row) span.ag-trust-pill {
  background-color: var(--ag-accent, #f8ad12) !important;
  background-image: none !important;
  color: #18181b !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-section:has(.ag-trust-row) .ag-trust-row > span.ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-section:has(.ag-trust-row) .ag-trust-slash > span.ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-top-section[class*="sec_badges_"] .ag-trust-row > span.ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-sec-dark .ag-trust-row > span.ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-section:has(.ag-trust-row) span.ag-trust-pill * {
  color: #18181b !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-sec-light .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-sec-light .ag-trust-item *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-bg-light .ag-trust-item,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-bg-light .ag-trust-item * {
  color: #18181b !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .trust-console-wrap,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .trust-console-wrap * {
  color: #f8fafc !important;
}

/* CALL CTA: hug content on tablet/mobile: no leftover empty band (chimney). */
@media (max-width: 1024px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cta {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    align-items: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) > .elementor-container,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cta > .elementor-container {
    min-height: 0 !important;
    height: auto !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
  }
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) > .elementor-container > .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cta > .elementor-container > .elementor-column,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cta .elementor-widget-wrap,
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta) .elementor-widget-html {
    flex: 0 1 auto !important;
    flex-basis: auto !important;
    min-height: 0 !important;
    height: auto !important;
    align-self: flex-start !important;
  }
}


/* half-column vertical stack REMOVED: humans want 3-up stats in a row inside splits. */

/* FINAL: CALL CTA pad wins over Elementor 72px bottom on mobile/iPad. */
@media (max-width: 1024px) {
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section:has(.ag-call-cta),
  .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-top-section.ag-r-cta {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
}


/* FINAL: FAQ + CTA contrast (fleet, no site pins).
   FAQ: always white chip + dark ink (beats Elementor navy/near-black fills).
   CTA: dark ink on light accent fills (white-on-lime was ~2:1). */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-accordion .elementor-tab-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-accordion .elementor-tab-title.elementor-tab-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-accordion .elementor-tab-title.elementor-active {
  background: #ffffff !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #0f172a !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-accordion .elementor-tab-title .elementor-accordion-title,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-accordion .elementor-tab-title a,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-accordion .elementor-tab-title *,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-accordion .elementor-tab-title .elementor-accordion-icon,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .elementor-accordion .elementor-tab-title .elementor-accordion-icon i {
  color: #0f172a !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-call-cta-btn,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-call-cta a.ag-call-cta-btn,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  a.ag-call-cta-btn,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-blog-phone-cta a,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"])
  .ag-seo-cta-container a {
  color: #0f172a !important;
}
[data-elementor-type="header"] .elementor-button,
[data-elementor-type="header"] a.elementor-button,
.elementor-location-header .elementor-button {
  color: #0f172a !important;
}


/* ELEMENTOR_BTN_CONTRAST: beat Elementor page CSS
   (.elementor-N .elementor-element.ID .elementor-button-text { color:#fff !important }). */
html body .elementor .elementor-element a.elementor-button.elementor-button,
html body .elementor .elementor-element a.elementor-button.elementor-button .elementor-button-text.elementor-button-text,
html body .elementor .elementor-element a.elementor-button.elementor-button .elementor-button-content-wrapper,
html body .elementor .elementor-element a.elementor-button.elementor-button .elementor-button-content-wrapper span,
html body .elementor .elementor-element a.elementor-button.elementor-button span,
html body .elementor .elementor-element .elementor-button.elementor-button .elementor-button-text.elementor-button-text,
html body .elementor .elementor-element .ag-call-cta-btn.ag-call-cta-btn,
html body .elementor .elementor-element .ag-call-cta-btn.ag-call-cta-btn * {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}


/* FAQ_ACTIVE_HIGHLIGHT: expanded title clearly different from idle,
   and ≥4.5:1 on white chips (site primary can be too light, e.g. #6ec1e4). */
html body .elementor .elementor-accordion .elementor-tab-title.elementor-active,
html body .elementor .elementor-accordion .elementor-tab-title.elementor-active.elementor-active {
  color: #1d4ed8 !important;
  -webkit-text-fill-color: #1d4ed8 !important;
  box-shadow: inset 0 0 0 2px var(--ag-accent, var(--e-global-color-accent, #2563eb)) !important;
}
html body .elementor .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title,
html body .elementor .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title.elementor-accordion-title,
html body .elementor .elementor-accordion .elementor-tab-title.elementor-active a,
html body .elementor .elementor-accordion .elementor-tab-title.elementor-active span,
html body .elementor .elementor-accordion .elementor-tab-title.elementor-active *,
html body .elementor .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon,
html body .elementor .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon i {
  color: #1d4ed8 !important;
  -webkit-text-fill-color: #1d4ed8 !important;
}

/* FAQ expanded answer contrast: default to dark ink; transparent/ghost on dark sections get light ink */
html body .elementor .elementor-accordion .elementor-tab-content,
html body .elementor .elementor-accordion .elementor-tab-content *,
html body .elementor .elementor-toggle .elementor-tab-content,
html body .elementor .elementor-toggle .elementor-tab-content *,
html body .elementor .elementor-tab-content,
html body .elementor .elementor-tab-content * {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}
html body .elementor .ag-sec-dark .ag-acc-ghost-type .elementor-tab-content,
html body .elementor .ag-sec-dark .ag-acc-ghost-type .elementor-tab-content *,
html body .elementor .ag-sec-dark .ag-acc-underline-list .elementor-tab-content,
html body .elementor .ag-sec-dark .ag-acc-underline-list .elementor-tab-content *,
html body .elementor .ag-sec-dark .ag-acc-rule-book .elementor-tab-content,
html body .elementor .ag-sec-dark .ag-acc-rule-book .elementor-tab-content *,
html body .elementor .ag-sec-dark .ag-acc-quote-list .elementor-tab-content,
html body .elementor .ag-sec-dark .ag-acc-quote-list .elementor-tab-content *,
html body .elementor .ag-bg-dark .ag-acc-ghost-type .elementor-tab-content,
html body .elementor .ag-bg-dark .ag-acc-ghost-type .elementor-tab-content *,
html body .elementor .ag-bg-dark .ag-acc-underline-list .elementor-tab-content,
html body .elementor .ag-bg-dark .ag-acc-underline-list .elementor-tab-content *,
html body .elementor .ag-bg-dark .ag-acc-rule-book .elementor-tab-content,
html body .elementor .ag-bg-dark .ag-acc-rule-book .elementor-tab-content *,
html body .elementor .ag-bg-dark .ag-acc-quote-list .elementor-tab-content,
html body .elementor .ag-bg-dark .ag-acc-quote-list .elementor-tab-content *,
html body .ag-sec-dark .ag-acc-ghost-type .elementor-tab-content,
html body .ag-sec-dark .ag-acc-ghost-type .elementor-tab-content *,
html body .ag-bg-dark .ag-acc-ghost-type .elementor-tab-content,
html body .ag-bg-dark .ag-acc-ghost-type .elementor-tab-content * {
  color: #f8fafc !important;
  -webkit-text-fill-color: #f8fafc !important;
}
html body .elementor .ag-sec-light .elementor-accordion .elementor-tab-content,
html body .elementor .ag-sec-light .elementor-accordion .elementor-tab-content *,
html body .elementor .ag-bg-light .elementor-accordion .elementor-tab-content,
html body .elementor .ag-bg-light .elementor-accordion .elementor-tab-content * {
  color: #3f3f46 !important;
  -webkit-text-fill-color: #3f3f46 !important;
}

/* Blog posts: centered container with left-aligned body text and centered headings */
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose {
  max-width: 768px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor p,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor ul,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor ol,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor li,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose p,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose ul,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose ol,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose li,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) blockquote,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) :is(body.single-post, body.single, article.post, .single-post, .single) .ag-r-cta:not(#ag-role-never) .elementor-widget-text-editor p,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-r-cta:not(#ag-role-never) .elementor-widget-text-editor p,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-r-cta:not(#ag-role-never) .ag-call-cta p {
  text-align: left !important;
}
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-heading-title,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h1,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h2,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h3,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h4,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h5,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h6 {
  text-align: center !important;
}


/* Counters: reveal data-to-value; hide true-zero widgets */
html body .elementor .elementor-counter .elementor-counter-number[data-to-value]:not([data-to-value="0"]):not([data-to-value=""]) {
  position: relative !important;
  visibility: hidden !important;
}
html body .elementor .elementor-counter .elementor-counter-number[data-to-value]:not([data-to-value="0"]):not([data-to-value=""])::after {
  content: attr(data-to-value) !important;
  visibility: visible !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}
html body .elementor .elementor-counter .elementor-counter-number-wrapper {
  color: inherit !important;
}
html body .elementor .elementor-widget-counter:has(.elementor-counter-number[data-to-value="0"]),
html body .elementor .elementor-widget-counter:has(.elementor-counter-number[data-to-value=""]) {
  display: none !important;
}
html body .elementor .elementor-section:has(.elementor-counter) .elementor-spacer-inner,
html body .elementor .elementor-inner-section:has(.elementor-counter) .elementor-spacer-inner {
  height: 0 !important;
  min-height: 0 !important;
}
html body .elementor .elementor-section:has(.elementor-counter),
html body .elementor .elementor-inner-section:has(.elementor-counter) {
  min-height: 0 !important;
}

/* Testimonial stars amber / gold on dark */
html body .elementor .ag-align-center.elementor-widget-icon-list .elementor-icon-list-icon i,
html body .elementor .ag-align-center .elementor-icon-list-icon i,
html body .elementor .ag-align-center.elementor-widget-icon-list .elementor-icon-list-icon svg,
html body .elementor .ag-align-center .elementor-icon-list-icon svg,
html body .elementor .ag-align-center .elementor-icon-list-icon svg path,
html body .elementor .elementor-widget-star-rating .elementor-star-rating,
html body .elementor .elementor-widget-star-rating .elementor-star-rating i,
html body .elementor .elementor-star-rating,
html body .elementor .elementor-star-rating i {
  color: #b45309 !important;
  -webkit-text-fill-color: #b45309 !important;
  fill: #b45309 !important;
}
html body .elementor .ag-sec-dark .ag-align-center .elementor-icon-list-icon i,
html body .elementor .ag-sec-dark .ag-align-center .elementor-icon-list-icon svg,
html body .elementor .ag-sec-dark .ag-align-center .elementor-icon-list-icon svg path,
html body .elementor .ag-bg-dark .ag-align-center .elementor-icon-list-icon i,
html body .elementor .ag-bg-dark .ag-align-center .elementor-icon-list-icon svg,
html body .elementor .ag-bg-dark .ag-align-center .elementor-icon-list-icon svg path,
html body .elementor .ag-sec-dark .elementor-widget-star-rating .elementor-star-rating,
html body .elementor .ag-sec-dark .elementor-star-rating i,
html body .elementor .ag-bg-dark .elementor-widget-star-rating .elementor-star-rating,
html body .elementor .ag-bg-dark .elementor-star-rating i {
  color: #fbbf24 !important;
  -webkit-text-fill-color: #fbbf24 !important;
  fill: #fbbf24 !important;
}

/* Fleet-wide Counter Centering & Proportional Widths */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) > .elementor-container,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) > .elementor-container {
  max-width: 840px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-inline: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: flex-start !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-inner-section:has(.elementor-counter) .elementor-column,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-section:has(.elementor-counter) .elementor-column {
  width: 33.333% !important;
  flex: 1 1 33.333% !important;
  max-width: 33.333% !important;
  margin: 0 !important;
  padding: 0 16px !important;
  text-align: center !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-counter {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  display: flex !important;
  flex-flow: column nowrap !important;
  align-items: center !important;
  justify-content: center !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter .elementor-counter-number-wrapper {
  order: 1 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: baseline !important;
  text-align: center !important;
  margin: 0 auto !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-counter .elementor-counter-title {
  order: 2 !important;
  width: 100% !important;
  text-align: center !important;
  margin-top: 6px !important;
  margin-inline: auto !important;
}

/* Full-viewport sticky footer: prevents whitespace below footer on short pages (contact, privacy, terms) on tablet/iPad/desktop */
html {
  height: 100% !important;
}
body {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  display: flex !important;
  flex-flow: column nowrap !important;
  margin: 0 !important;
}
header.elementor-location-header,
.elementor-location-header,
header.site-header,
header {
  flex-shrink: 0 !important;
}
body > [data-elementor-type="wp-page"],
body > [data-elementor-type="page"],
body > .elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]),
body > #content,
body > main,
body > .page-content,
.site-main {
  flex: 1 0 auto !important;
}
footer.elementor-location-footer,
.elementor-location-footer,
footer.site-footer,
footer,
[data-elementor-type="footer"] {
  margin-top: auto !important;
  flex-shrink: 0 !important;
}

/* ag-design-tokens */
/* variation: ledger */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) {
  --ag-ink-head-light: #141B2A;
  --ag-ink-body-light: #495361;
  --ag-ink-head-dark: #F9FAFB;
  --ag-ink-body-dark: #CDD1D7;
  --ag-radius-card: 3px;
  --ag-radius-media: 5px;
  --ag-radius-button: 3px;
  --ag-gutter: 20px;
  --ag-card-pad: 29px;
  --ag-accordion-gap: 13px;
  --ag-measure-cta: 653px;
  --ag-card-border: #D1D5DB;
  --ag-card-shadow: hairline;
  --ag-card-shadow-css: 0 1px 2px rgba(15, 23, 42, 0.06);
  --ag-btn-pad-block: 14px;
  --ag-btn-pad-inline: 19px;
  --ag-btn-tracking: 1px;
  --ag-head-tracking: 0px;
  --ag-divider-style: rule;
  --ag-divider-color: #9CA3AF;
}
@media (max-width: 767px) {
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) {
  --ag-gutter: 16px;
  --ag-card-pad: 23px;
}
}
/* reach: only when a design is chosen */
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-button,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-button-link {
  border-radius: var(--ag-radius-button, 10px) !important;
  padding: var(--ag-btn-pad-block, 14px) var(--ag-btn-pad-inline, 24px) !important;
  letter-spacing: var(--ag-btn-tracking, 0px) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-widget-image img {
  border-radius: var(--ag-radius-media, 8px) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) .elementor-heading-title {
  letter-spacing: var(--ag-head-tracking, 0px) !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) > .elementor-top-section {
  position: relative !important;
}
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) > .elementor-top-section:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important; right: 0 !important;
  height: 1px !important;
  background: var(--ag-divider-color, #e2e8f0) !important;
  pointer-events: none !important;
}
/* /ag-design-tokens */
/* /ag-page-responsive */

/* --- FAQ ACCORDION variant: ember-tab --- */
  /* ag-faq-tap-safe */
  .elementor-widget-accordion .elementor-accordion-item,
  .elementor-widget-toggle .elementor-toggle-item {
      border: 1px solid #FACA65 !important;
      margin-bottom: 8px !important;
      border-radius: 8px !important;
      overflow: visible !important;
  }
  body .elementor-widget-accordion .elementor-tab-title,
  body .elementor-widget-toggle .elementor-tab-title,
  body .ag-sec-light .elementor-widget-accordion .elementor-tab-title,
  body .ag-sec-dark .elementor-widget-accordion .elementor-tab-title,
  body .ag-bg-light .elementor-widget-accordion .elementor-tab-title,
  body .ag-bg-dark .elementor-widget-accordion .elementor-tab-title {
      color: #FFF7ED !important;
      background-color: #704E08 !important;
      padding: 14px 18px !important;
      margin: 0 !important;
      border: none !important;
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
      overflow: visible !important;
      line-height: 1.35 !important;
      display: flex !important;
      align-items: center !important;
      gap: 10px;
      box-sizing: border-box !important;
      -webkit-tap-highlight-color: transparent !important;
      -webkit-user-select: none !important;
      user-select: none !important;
      outline: none !important;
      box-shadow: none !important;
      transition: color 0.2s ease !important;
  }
  /* Inner question text must NOT own a background or extra padding.
     That painted the rectangular tap/active highlight inside the pill. */
  body .elementor-widget-accordion .elementor-tab-title .elementor-accordion-title,
  body .elementor-widget-accordion .elementor-tab-title a,
  body .elementor-widget-toggle .elementor-tab-title .elementor-toggle-title,
  body .elementor-widget-toggle .elementor-tab-title a {
      color: inherit !important;
      background: none !important;
      background-color: transparent !important;
      padding: 0 !important;
      margin: 0 !important;
      display: block !important;
      flex: 1 1 auto !important;
      text-align: left !important;
      width: auto !important;
      height: auto !important;
      overflow: visible !important;
      white-space: normal !important;
      line-height: 1.35 !important;
      box-shadow: none !important;
      outline: none !important;
      -webkit-tap-highlight-color: transparent !important;
      -webkit-user-select: none !important;
      user-select: none !important;
      text-decoration: none !important;
  }
  body .elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon-right,
  body .elementor-widget-toggle .elementor-tab-title .elementor-toggle-icon-right {
      margin-left: auto !important;
      flex-shrink: 0 !important;
  }
  body .elementor-widget-accordion .elementor-tab-title:focus,
  body .elementor-widget-accordion .elementor-tab-title:focus-visible,
  body .elementor-widget-accordion .elementor-tab-title:active,
  body .elementor-widget-toggle .elementor-tab-title:focus,
  body .elementor-widget-toggle .elementor-tab-title:focus-visible,
  body .elementor-widget-toggle .elementor-tab-title:active {
      background-color: #704E08 !important;
      outline: none !important;
      box-shadow: none !important;
      -webkit-tap-highlight-color: transparent !important;
  }
  body .elementor-widget-accordion .elementor-tab-title:focus .elementor-accordion-title,
  body .elementor-widget-accordion .elementor-tab-title:active .elementor-accordion-title,
  body .elementor-widget-accordion .elementor-tab-title:focus a,
  body .elementor-widget-accordion .elementor-tab-title:active a,
  body .elementor-widget-toggle .elementor-tab-title:focus a,
  body .elementor-widget-toggle .elementor-tab-title:active a {
      background: none !important;
      background-color: transparent !important;
      outline: none !important;
      box-shadow: none !important;
      -webkit-tap-highlight-color: transparent !important;
  }
  body .elementor-widget-accordion .elementor-tab-title::selection,
  body .elementor-widget-accordion .elementor-tab-title *::selection,
  body .elementor-widget-toggle .elementor-tab-title::selection,
  body .elementor-widget-toggle .elementor-tab-title *::selection {
      background: transparent !important;
      color: inherit !important;
  }
  body .elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon,
  body .elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon i,
  body .elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon svg,
  body .elementor-widget-toggle .elementor-tab-title .elementor-toggle-icon i,
  body .elementor-widget-toggle .elementor-tab-title .elementor-toggle-icon svg {
      color: #FFEDD5 !important;
      fill: #FFEDD5 !important;
  }
  html body .elementor-widget-accordion .elementor-tab-title.elementor-active,
  html body .elementor-widget-toggle .elementor-tab-title.elementor-active,
  html body .ag-sec-light .elementor-widget-accordion .elementor-tab-title.elementor-active,
  html body .ag-sec-dark .elementor-widget-accordion .elementor-tab-title.elementor-active,
  html body .ag-bg-light .elementor-widget-accordion .elementor-tab-title.elementor-active,
  html body .ag-bg-dark .elementor-widget-accordion .elementor-tab-title.elementor-active,
  html body .elementor-widget-accordion .elementor-tab-title.elementor-active:focus,
  html body .elementor-widget-accordion .elementor-tab-title.elementor-active:active {
      background-color: #9A6B0B !important;
      color: #FFFFFF !important;
  }
  /* Cover Elementor's .elementor-active .elementor-accordion-title path.
     Color only. Do not clear the pill background. */
  html body .elementor-widget-accordion .elementor-tab-title.elementor-active,
  html body .elementor-widget-toggle .elementor-tab-title.elementor-active {
      color: #FFFFFF !important;
  }
  html body .elementor-widget-accordion .elementor-tab-title.elementor-active a,
  html body .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-title,
  html body .elementor-widget-accordion .elementor-active .elementor-accordion-title,
  html body .elementor-widget-accordion .elementor-active .elementor-accordion-icon,
  html body .elementor-widget-toggle .elementor-tab-title.elementor-active a,
  html body .elementor-widget-toggle .elementor-active .elementor-toggle-title {
      color: #FFFFFF !important;
      fill: #FFFFFF !important;
      background: none !important;
      background-color: transparent !important;
  }
  body .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-title,
  body .elementor-widget-accordion .elementor-tab-title.elementor-active a,
  body .elementor-widget-accordion .elementor-tab-title.elementor-active span,
  body .elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-title,
  body .elementor-widget-toggle .elementor-tab-title.elementor-active a,
  body .elementor-widget-toggle .elementor-tab-title.elementor-active span {
      color: #FFFFFF !important;
      background: none !important;
      background-color: transparent !important;
  }
  body .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon,
  body .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon i,
  body .elementor-widget-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg,
  body .elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon i,
  body .elementor-widget-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon svg {
      color: #FFFFFF !important;
      fill: #FFFFFF !important;
  }
  .elementor-widget-accordion .elementor-tab-content,
  .elementor-widget-toggle .elementor-tab-content,
  .elementor-widget-accordion .elementor-tab-content p,
  .elementor-widget-toggle .elementor-tab-content p {
      color: #101520 !important;
      -webkit-text-fill-color: #101520 !important;
      background-color: #FEF8EC !important;
  }
  
  .elementor-widget-accordion .elementor-tab-content,
  .elementor-widget-toggle .elementor-tab-content {
      padding: 20px !important;
      border-top: 1px solid #e5e7eb !important;
      overflow: visible !important;
      height: auto !important;
  }
  
      body .elementor-widget-accordion .elementor-tab-title,
      body .elementor-widget-toggle .elementor-tab-title {
        border-top: 3px solid #F8AD12 !important;
      }
    
/* silhouette:tabs */

      
    body .elementor-widget-accordion .elementor-accordion-item,
    body .elementor-widget-toggle .elementor-toggle-item {
        max-width: 96% !important;
        border-top-left-radius: 12px !important;
        border-top-right-radius: 12px !important;
      }
      
    body .elementor-widget-accordion .elementor-tab-title,
    body .elementor-widget-toggle .elementor-tab-title {
        border-top-left-radius: 12px !important;
        border-top-right-radius: 12px !important;
      }
    
  @media (max-width: 1024px) {
    body .elementor-widget-accordion .elementor-tab-title,
    body .elementor-widget-toggle .elementor-tab-title {
      padding: 14px 18px !important;
      text-align: left !important;
      height: auto !important;
      min-height: 0 !important;
      overflow: visible !important;
      line-height: 1.35 !important;
      -webkit-tap-highlight-color: transparent !important;
    }
    body .elementor-widget-accordion .elementor-tab-title .elementor-accordion-title,
    body .elementor-widget-accordion .elementor-tab-title a,
    body .elementor-widget-toggle .elementor-tab-title a {
      white-space: normal !important;
      overflow: visible !important;
      height: auto !important;
      background: none !important;
      background-color: transparent !important;
    }
    .elementor-widget-accordion .elementor-tab-content,
    .elementor-widget-toggle .elementor-tab-content {
      padding: 16px !important;
    }
  }

/* ag-ss-patch-v6 */
.ag-sec-light .elementor-counter-title, .ag-bg-light .elementor-counter-title { color: #3F3F46 !important; }
.ag-sec-dark .elementor-counter-title, .ag-bg-dark .elementor-counter-title { color: #E2E8F0 !important; }
.ag-align-center .elementor-icon-list-items, .ag-align-center .elementor-inline-items { justify-content: center !important; }
.ag-align-left .elementor-icon-list-items, .ag-align-left .elementor-inline-items { justify-content: flex-start !important; }
.elementor-accordion .elementor-tab-content, .elementor-accordion .elementor-tab-content *,
.elementor-toggle .elementor-tab-content, .elementor-toggle .elementor-tab-content *,
.elementor-tab-content, .elementor-tab-content * { color: #3F3F46 !important; -webkit-text-fill-color: #3F3F46 !important; }
html body .elementor .ag-sec-dark .ag-acc-ghost-type .elementor-tab-content,
html body .elementor .ag-sec-dark .ag-acc-ghost-type .elementor-tab-content *,
html body .elementor .ag-sec-dark .ag-acc-underline-list .elementor-tab-content,
html body .elementor .ag-sec-dark .ag-acc-underline-list .elementor-tab-content *,
html body .elementor .ag-sec-dark .ag-acc-rule-book .elementor-tab-content,
html body .elementor .ag-sec-dark .ag-acc-rule-book .elementor-tab-content *,
html body .elementor .ag-sec-dark .ag-acc-quote-list .elementor-tab-content,
html body .elementor .ag-sec-dark .ag-acc-quote-list .elementor-tab-content *,
html body .elementor .ag-bg-dark .ag-acc-ghost-type .elementor-tab-content,
html body .elementor .ag-bg-dark .ag-acc-ghost-type .elementor-tab-content *,
html body .elementor .ag-bg-dark .ag-acc-underline-list .elementor-tab-content,
html body .elementor .ag-bg-dark .ag-acc-underline-list .elementor-tab-content *,
html body .elementor .ag-bg-dark .ag-acc-rule-book .elementor-tab-content,
html body .elementor .ag-bg-dark .ag-acc-rule-book .elementor-tab-content *,
html body .elementor .ag-bg-dark .ag-acc-quote-list .elementor-tab-content,
html body .elementor .ag-bg-dark .ag-acc-quote-list .elementor-tab-content *,
html body .ag-sec-dark .ag-acc-ghost-type .elementor-tab-content,
html body .ag-sec-dark .ag-acc-ghost-type .elementor-tab-content *,
html body .ag-bg-dark .ag-acc-ghost-type .elementor-tab-content,
html body .ag-bg-dark .ag-acc-ghost-type .elementor-tab-content * { color: #F8FAFC !important; -webkit-text-fill-color: #F8FAFC !important; }
html body .elementor .ag-sec-light .elementor-accordion .elementor-tab-content,
html body .elementor .ag-sec-light .elementor-accordion .elementor-tab-content *,
html body .elementor .ag-bg-light .elementor-accordion .elementor-tab-content,
html body .elementor .ag-bg-light .elementor-accordion .elementor-tab-content * { color: #3F3F46 !important; -webkit-text-fill-color: #3F3F46 !important; }
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose {
  max-width: 768px !important; margin-left: auto !important; margin-right: auto !important; display: block !important;
}
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor p,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor ul,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor ol,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-widget-text-editor li,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose p,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose ul,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose ol,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-prose li,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) blockquote,
.elementor:not([data-elementor-type="header"]):not([data-elementor-type="footer"]) :is(body.single-post, body.single, article.post, .single-post, .single) .ag-r-cta:not(#ag-role-never) .elementor-widget-text-editor p,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-r-cta:not(#ag-role-never) .elementor-widget-text-editor p,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .ag-r-cta:not(#ag-role-never) .ag-call-cta p {
  text-align: left !important;
}
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) .elementor-heading-title,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h1,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h2,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h3,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h4,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h5,
:is(body.single-post, body.single, article.post, .single-post, .single):not(#ag-never) h6 {
  text-align: center !important;
}
