.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2706 .elementor-element.elementor-element-79cd9569 .elementor-menu-toggle{margin-left:auto;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* Site-wide rules V4 style inputs can't reach (the V3 Nav Menu's inner markup, accordion internals).
   Lives in the DPS Header template's Custom CSS, which loads on every page. Applied by `node site-css.mjs`. */
body { background-color: #ffffff; color: #0B2B4B; font-family: "Nunito Sans", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; }
#contact, #quote, #work, #faq, #why, #how, #reviews { scroll-margin-top: 80px; }

/* Header menu: Elementor Pro Nav Menu (V3) inside .dps-menu. Inline links from 1025px up, burger + dropdown below. */
.dps-menu .elementor-nav-menu--main .elementor-nav-menu a.elementor-item { font-family: "Nunito Sans", sans-serif; font-size: 14px; font-weight: 700; line-height: 1.3; color: #3B5570; padding: 8px 0; }
.dps-menu .elementor-nav-menu--main .elementor-nav-menu > li + li { margin-left: 28px; }
.dps-menu .elementor-nav-menu--main .elementor-nav-menu a.elementor-item:hover,
.dps-menu .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.elementor-item-active,
.dps-menu .elementor-nav-menu--main .elementor-nav-menu a.highlighted { color: #0A8FD1; }
.dps-menu .elementor-nav-menu--main .elementor-nav-menu a.elementor-item.elementor-item-active { box-shadow: inset 0 -2px 0 #0A8FD1; }
.dps-menu .elementor-nav-menu--main .sub-arrow { padding-left: 6px; font-size: 10px; }
/* Applications dropdown */
.dps-menu .elementor-nav-menu--main .sub-menu { background: #fff; border: 1px solid #E4EDF4; border-radius: 14px; box-shadow: 0 12px 32px rgba(6, 30, 54, 0.14); padding: 8px; min-width: 240px !important; margin-top: 10px !important; }
.dps-menu .elementor-nav-menu--main .sub-menu a.elementor-sub-item { font-family: "Nunito Sans", sans-serif; font-size: 14px; font-weight: 700; color: #3B5570; padding: 10px 12px; border-radius: 9px; background: transparent; border: 0; }
.dps-menu .elementor-nav-menu--main .sub-menu li:first-child a.elementor-sub-item { color: #0B2B4B; font-weight: 800; border-bottom: 1px solid #E4EDF4; border-radius: 9px 9px 0 0; }
.dps-menu .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.dps-menu .elementor-nav-menu--main .sub-menu a.elementor-sub-item.elementor-item-active { background: #E6F4FC; color: #0A8FD1; }
/* Burger + full-width dropdown (tablet and phone) */
.dps-menu .elementor-menu-toggle { background-color: transparent; color: #0B2B4B; border-radius: 10px; padding: 8px; font-size: 24px; --nav-menu-icon-size: 24px; }
.dps-menu .elementor-menu-toggle:hover, .dps-menu .elementor-menu-toggle.elementor-active { background-color: #F4F8FB; color: #0A8FD1; }
.dps-menu .elementor-nav-menu--dropdown { background: #fff; border-top: 1px solid #E4EDF4; box-shadow: 0 12px 24px rgba(6, 30, 54, 0.12); }
.dps-menu .elementor-nav-menu--dropdown a { font-family: "Nunito Sans", sans-serif; font-size: 16px; font-weight: 700; color: #0B2B4B !important; padding: 14px 20px !important; background: transparent !important; }
.dps-menu .elementor-nav-menu--dropdown .sub-menu a { padding-left: 36px !important; font-size: 15px; color: #3B5570 !important; }
.dps-menu .elementor-nav-menu--dropdown a:hover, .dps-menu .elementor-nav-menu--dropdown a.elementor-item-active { color: #0A8FD1 !important; background: #F4F8FB !important; }

/* FAQ accordion: native <details>; the chevron is the widget's default icon, tinted brand blue. */
.dps-faq summary { list-style: none; }
.dps-faq summary::-webkit-details-marker { display: none; }
.dps-faq summary:hover p { color: #0A8FD1; }
/* + / − indicator like the design (the icon slot is left empty and drawn here). */
.dps-faq [data-element_type="e-accordion-item-icon"] { transform: none !important; justify-content: center; }
.dps-faq [data-element_type="e-accordion-item-icon"]::before { content: "+"; font-size: 22px; line-height: 1; font-weight: 400; color: #0A8FD1; }
.dps-faq details[open] > summary [data-element_type="e-accordion-item-icon"]::before { content: "−"; }

/* Form fields (Home quote forms) */
.dps-form input::placeholder, .dps-form textarea::placeholder { color: #6A809A; opacity: 1; }
.dps-form input:focus, .dps-form select:focus, .dps-form textarea:focus { outline: 2px solid #0A8FD1; outline-offset: 1px; }

/* Mobile sticky Call / Quote bar (Home), shown under 860px like the design */
.dps-sticky { display: none !important; }
@media (max-width: 859px) { .dps-sticky { display: grid !important; } body.home { padding-bottom: 70px; } }

/* Burger dropdown: drop full width under the header bar instead of pushing the logo and CTA down. */
@media (max-width: 1024px) {
  .dps-menu, .dps-menu .elementor-widget-nav-menu, .dps-menu .elementor-widget-container, .dps-menu nav { position: static !important; }
  .dps-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: 100% !important; max-width: none !important; margin: 0 !important; z-index: 50; }
}/* End custom CSS */