/* Shared native navbar successor; preserve the existing header height/scroll states. */
.dillon-menu-simple-panel{display:none!important;flex-direction:column!important;gap:0!important}
.dillon-nav-group.is-open>.dillon-menu-simple-panel{display:flex!important}
.dillon-menu-simple-panel>.dillon-nav-group{width:100%!important}
header.elementor-element-17c16a9 .dillon-menu-simple-panel>.dillon-nav-group{flex-direction:column!important;align-items:stretch!important}
.dillon-menu-nested-link{padding-inline-start:16px!important}
header.elementor-element-17c16a9 .dillon-page-submenu .dillon-menu-simple-panel{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;box-shadow:none!important;padding:8px 0 0 14px!important;border-radius:0!important}
.elementor header.elementor-element.elementor-element-17c16a9,.elementor header.elementor-element.elementor-element-17c16a9.sher-scrolled{box-shadow:none!important}
/* Paint the full-width solid-header divider without adding to its box geometry.
   An open hero disclosure alone is not a scrolled/solid-page state. */
.elementor header.elementor-element.elementor-element-17c16a9::after{content:"";display:none;position:absolute;inset:auto 0 0;height:1px;background:#e2e3e3;pointer-events:none}
.elementor header.elementor-element.elementor-element-17c16a9.sher-scrolled::after,body:has(.dillon-contact-conversion-contact) .elementor header.elementor-element.elementor-element-17c16a9::after{display:block}
.dillon-nav-group{position:relative!important;flex-direction:row!important;flex:0 0 auto!important;width:auto!important;gap:0!important;padding:0!important;margin:0!important}
.dillon-industry-anchor{scroll-margin-top:110px}
.dillon-nav-group>.elementor-widget-button>.elementor-button-wrapper{position:relative}
.dillon-navigation-toggle{position:absolute;right:-17px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:17px;height:30px;padding:0;border:0;background:transparent;color:#fdfdfb;cursor:pointer}
.sher-scrolled .dillon-navigation-toggle,.dillon-interior .dillon-navigation-toggle{color:#16263c}
/* Keep the tiny rotating artwork on a stable layer and the whole button as
   its hit target, rather than retesting moving SVG/path edges during rotation. */
.dillon-navigation-toggle svg{display:block;width:10px;height:10px;pointer-events:none;backface-visibility:hidden;will-change:transform;transform:rotate(0deg);transform-origin:50% 50%;transform-box:view-box;transition:transform .32s cubic-bezier(.4,0,.2,1)}
.dillon-navigation-toggle[aria-expanded="true"] svg{transform:rotate(45deg)}
.dillon-navigation-toggle:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.dillon-page-submenu{display:none!important;position:absolute!important;top:var(--dillon-megamenu-top,100%)!important;left:var(--dillon-megamenu-left,-18px);z-index:150;max-width:calc(100vw - 32px)!important;margin:0!important;border:1px solid #e2e3e3;background:#f7f7f6!important;box-shadow:none!important}
.dillon-page-submenu:not(.dillon-image-megamenu){width:290px!important;padding:10px 0!important}
.dillon-page-submenu::before{display:none}
.dillon-nav-group.is-open>.dillon-page-submenu{display:flex!important}
.dillon-page-submenu .elementor-widget-button,.dillon-page-submenu .elementor-button-wrapper,.dillon-page-submenu .elementor-button{width:100%}
.dillon-page-submenu .elementor-button{text-align:left;white-space:normal;background:transparent!important;color:#16263c!important;border:0!important;border-radius:0!important}
#main-navigation .dillon-page-submenu .elementor-button :is(.elementor-button-text,.elementor-button-content-wrapper){color:#16263c!important}
.dillon-page-submenu .elementor-button-content-wrapper{justify-content:flex-start}
.dillon-page-submenu .elementor-button:hover,.dillon-page-submenu .elementor-button:focus-visible{background:#e9ebec!important;color:#b73525!important}
#main-navigation .dillon-page-submenu .elementor-button:is(:hover,:focus-visible) :is(.elementor-button-text,.elementor-button-content-wrapper){color:#b73525!important}
.elementor-editor-active .dillon-page-submenu{display:flex!important;position:relative!important;top:auto!important;left:auto!important}
/* Shared editable composition for Services, Industries and About. */
.dillon-nav-group>.dillon-image-megamenu{top:var(--dillon-megamenu-top,100%)!important;left:var(--dillon-megamenu-left,-18px);max-width:calc(100vw - 32px)!important;box-sizing:border-box;border-radius:0;overflow:visible}
.dillon-nav-group.is-open>.dillon-image-megamenu,.elementor-editor-active .dillon-image-megamenu{display:grid!important}
.dillon-image-megamenu :is(.dillon-megamenu-content,.dillon-megamenu-links,.elementor-widget){min-width:0;max-width:100%}
.dillon-image-megamenu .dillon-megamenu-content{width:100%!important}
.dillon-image-megamenu .dillon-megamenu-links{width:100%!important;align-items:stretch}
.dillon-image-megamenu .dillon-megamenu-divider{grid-column:1 / -1!important;width:100%!important}
.dillon-image-megamenu .dillon-megamenu-divider-phone{display:none!important}
.dillon-image-megamenu .elementor-button{display:flex;align-items:center;min-height:48px;overflow:visible;white-space:nowrap;overflow-wrap:normal}
.dillon-image-megamenu .elementor-button-text{white-space:nowrap;overflow:visible;text-wrap:nowrap}
.dillon-image-megamenu .elementor-button-content-wrapper{min-width:0;width:100%}
.dillon-image-megamenu .elementor-button:is(:hover,:focus-visible){background:#eeeee9!important;box-shadow:inset 2px 0 #c43322}
.dillon-image-megamenu .elementor-button:focus-visible{outline:2px solid #c43322;outline-offset:2px}
.dillon-megamenu-image{align-self:stretch;line-height:0}
.dillon-megamenu-image img{display:block;width:100%;max-width:100%;object-fit:cover;border-radius:0}
.elementor-editor-active .dillon-image-megamenu{top:auto!important;left:auto!important;max-width:100%!important}
/* Match the solid scrolled header while a desktop disclosure is open over a hero.
   Existing open/close behavior owns this state; leave scroll classes untouched. */
@media(min-width:761px){
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(.dillon-nav-group.is-open){background-color:#f7f7f6!important}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(.dillon-nav-group.is-open) #main-navigation>.elementor-widget-button :is(.elementor-button,.elementor-button-content-wrapper,.elementor-button-text),
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(.dillon-nav-group.is-open) #main-navigation>.dillon-nav-group>.elementor-widget-button :is(.elementor-button,.elementor-button-content-wrapper,.elementor-button-text){color:#16263c!important;border-bottom-color:#16263c!important}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(.dillon-nav-group.is-open) #main-navigation>.elementor-widget-button .elementor-button:is(:hover,:focus-visible) :is(.elementor-button-content-wrapper,.elementor-button-text),
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(.dillon-nav-group.is-open) #main-navigation>.dillon-nav-group>.elementor-widget-button .elementor-button:is(:hover,:focus-visible) :is(.elementor-button-content-wrapper,.elementor-button-text){color:#c43322!important;border-bottom-color:#c43322!important}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(.dillon-nav-group.is-open) .dillon-navigation-toggle{color:#16263c}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(.dillon-nav-group.is-open) .elementor-element-a3362c9{background-color:#c43322!important;color:#fdfdfb!important}
}
@media(min-width:761px) and (max-width:800px){
  .dillon-nav-group:has(>.dillon-image-megamenu){flex-direction:row!important;width:auto!important}
  .dillon-nav-group:has(>.dillon-image-megamenu)>.elementor-widget-button{width:auto!important}
  .dillon-nav-group .dillon-navigation-toggle{right:-17px;width:17px;height:30px;color:#fdfdfb}
  .sher-scrolled .dillon-nav-group .dillon-navigation-toggle,body:has(.dillon-interior) .dillon-nav-group .dillon-navigation-toggle{color:#16263c}
  .dillon-nav-group>.dillon-image-megamenu{position:absolute!important;width:var(--width,820px)!important;margin:0!important;padding:20px!important;border:1px solid #dedfd8;box-shadow:none!important}
}
/* The installed Elementor kit uses mobile 760 / tablet 800, not 767 / 1024. */
@media(max-width:760px){
  .dillon-nav-group>.dillon-image-megamenu{position:static!important;top:auto!important;left:auto!important;width:100%!important;max-width:100%!important;margin:0 0 10px!important;padding:18px 12px!important;border:1px solid #dedfd8;border-left:2px solid #c43322;box-shadow:none}
  .dillon-image-megamenu .dillon-megamenu-image img{height:140px}
}
@media(max-width:559px){
  .dillon-image-megamenu .dillon-megamenu-links{grid-template-columns:minmax(0,1fr)!important}
  .dillon-image-megamenu .dillon-megamenu-divider-phone{display:block!important}
  .dillon-image-megamenu .dillon-megamenu-image{display:none!important}
}
@media(max-width:760px){
  .dillon-nav-group{flex-direction:column!important;width:100%!important;align-items:stretch!important}
  .dillon-nav-group>.elementor-widget-button{width:100%!important}
  .dillon-navigation-toggle{right:0;width:44px;height:44px;color:#16263c}
  .dillon-page-submenu{position:static!important;top:auto!important;left:auto!important;width:100%!important;max-width:none!important;margin:0 0 10px!important;border:0;border-left:2px solid #c43322;box-shadow:none}
  .dillon-page-submenu::before{display:none}
  /* Touch-selected submenu links keep their resting appearance; retain the
     distinct keyboard focus treatment and all desktop hover styles. */
  body:not(.elementor-editor-active) #main-navigation.dillon-menu-open .dillon-page-submenu .elementor-button:hover:not(:focus-visible){background:transparent!important;color:#16263c!important;box-shadow:none!important}
  body:not(.elementor-editor-active) #main-navigation.dillon-menu-open .dillon-page-submenu .elementor-button:hover:not(:focus-visible) :is(.elementor-button-content-wrapper,.elementor-button-text){color:#16263c!important}
  /* The original linked accordion label is the mobile heading. Do not repeat
     the desktop panel title or leave a touch-hover accent on the outer link. */
  body:not(.elementor-editor-active) #main-navigation .dillon-page-submenu .dillon-megamenu-heading{display:none!important}
  body:not(.elementor-editor-active) #main-navigation.dillon-menu-open>.dillon-nav-group>.dillon-header-route .elementor-button{background:transparent!important;color:#16263c!important;border-color:#16263c!important;box-shadow:none!important}
  body:not(.elementor-editor-active) #main-navigation.dillon-menu-open>.dillon-nav-group>.dillon-header-route .elementor-button :is(.elementor-button-content-wrapper,.elementor-button-text){color:#16263c!important;border-color:#16263c!important;text-decoration:none!important}
}
/* Keep the logo at the left and the utility group at the right. The original
   nav was absolutely positioned; use its native flex slot for the wider actions. */
header.elementor-element-17c16a9 #main-navigation{position:static!important;min-width:0}
#main-navigation>.dillon-header-route .elementor-button,
#main-navigation>.dillon-nav-group>.dillon-header-route .elementor-button{font-size:14px!important}
header.elementor-element-17c16a9 .dillon-header-actions{flex:0 0 auto;gap:12px}
/* The frozen single-CTA stylesheet has ID-level hover/scrolled rules. Keep
   this successor group transparent without changing that approved source. */
body header.elementor-element-17c16a9:has(#main-navigation) .dillon-header-actions{background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important}
.dillon-header-actions .elementor-button{white-space:nowrap;min-height:44px;display:flex;align-items:center;justify-content:center}
header.elementor-element-17c16a9 .dillon-header-phone .elementor-button,
header.elementor-element-17c16a9 .dillon-header-login .elementor-button{background:transparent!important;color:#fdfdfb!important}
header.elementor-element-17c16a9 .dillon-header-phone .elementor-button{border:0!important;box-shadow:none!important;padding-inline:0!important}
header.elementor-element-17c16a9 .dillon-header-phone .elementor-button:is(:hover,:focus-visible) .elementor-button-text{text-decoration:underline!important;text-decoration-thickness:1px;text-underline-offset:3px}
header.elementor-element-17c16a9 .dillon-header-login .elementor-button{border:1px solid currentColor!important;box-shadow:none!important;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.dillon-header-actions .elementor-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
header.elementor-element-17c16a9.sher-scrolled :is(.dillon-header-phone,.dillon-header-login) .elementor-button,
body:has(.dillon-interior) header.elementor-element-17c16a9 :is(.dillon-header-phone,.dillon-header-login) .elementor-button,
body.elementor-editor-active header.elementor-element-17c16a9 :is(.dillon-header-phone,.dillon-header-login) .elementor-button,
header.elementor-element-17c16a9:has(.dillon-nav-group.is-open) :is(.dillon-header-phone,.dillon-header-login) .elementor-button{color:#16263c!important;border-color:#16263c!important;--dillon-login-fill:#16263c;--dillon-login-ink:#fdfdfb}
body header.elementor-element-17c16a9 .dillon-header-actions .dillon-header-login .elementor-button:is(:hover,:focus-visible){background:var(--dillon-login-fill,#fdfdfb)!important;color:var(--dillon-login-ink,#16263c)!important;border-color:var(--dillon-login-fill,#fdfdfb)!important}
header.elementor-element-17c16a9 .dillon-header-estimate .elementor-button{color:#fdfdfb!important;background:#c43322!important;border-color:#c43322!important}
header.elementor-element-17c16a9 .dillon-header-estimate .elementor-button:is(:hover,:focus-visible){background:#8f2417!important;border-color:#8f2417!important}
/* Preserve the existing direct-route baseline, including mobile.
   Two real navigation ID references beat native and open-menu nested-text rules.
   Text decoration paints beneath the label without changing the link box. */
header.elementor-element-17c16a9{--dillon-direct-route-ink:#fdfdfb}
body:has(.dillon-interior) header.elementor-element-17c16a9,
body.elementor-editor-active header.elementor-element-17c16a9,
header.elementor-element-17c16a9.sher-scrolled,
header.elementor-element-17c16a9:has(.dillon-nav-group.is-open){--dillon-direct-route-ink:#16263c}
body header.elementor-element-17c16a9:has(#main-navigation) #main-navigation>.dillon-header-route:is(.elementor-element-d584629,.elementor-element-6ade069) :is(.elementor-button,.elementor-button-content-wrapper,.elementor-button-text){color:var(--dillon-direct-route-ink)!important;border-bottom-color:currentColor!important}
/* Captured display:contents labels have no box on which to paint an underline. */
body header.elementor-element-17c16a9:has(#main-navigation) #main-navigation>.dillon-header-route:is(.elementor-element-d584629,.elementor-element-6ade069) .elementor-button-text{display:inline!important}
body header.elementor-element-17c16a9:has(#main-navigation) #main-navigation>.dillon-header-route:is(.elementor-element-d584629,.elementor-element-6ade069) .elementor-button:is(:hover,:focus-visible) .elementor-button-text{text-decoration:underline!important;text-decoration-thickness:1px;text-underline-offset:3px}
body header.elementor-element-17c16a9:has(#main-navigation) #main-navigation>.dillon-header-route:is(.elementor-element-d584629,.elementor-element-6ade069) .elementor-button:focus-visible{outline:2px solid currentColor!important;outline-offset:3px}
@media(min-width:761px){
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(:has(.dillon-nav-group.is-open)){--dillon-direct-route-ink:#fdfdfb}
  /* Unified desktop route labels. Structural roles preserve native menu edits;
     two navigation ID references beat captured and open-menu nested colors.
     Only the text gets a paintable inline box; disclosures and geometry stay put. */
  body header.elementor-element-17c16a9:has(#main-navigation) :is(#main-navigation>.dillon-header-route,#main-navigation>.dillon-nav-group>.dillon-header-route) :is(.elementor-button,.elementor-button-content-wrapper,.elementor-button-text){color:var(--dillon-direct-route-ink)!important;border-bottom-color:currentColor!important;background:transparent!important}
  body header.elementor-element-17c16a9:has(#main-navigation) :is(#main-navigation>.dillon-header-route,#main-navigation>.dillon-nav-group>.dillon-header-route) .elementor-button-text{display:inline!important}
  body header.elementor-element-17c16a9:has(#main-navigation) :is(#main-navigation>.dillon-header-route,#main-navigation>.dillon-nav-group>.dillon-header-route) .elementor-button:is(:hover,:focus-visible) .elementor-button-text{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}
  body header.elementor-element-17c16a9:has(#main-navigation) :is(#main-navigation>.dillon-header-route,#main-navigation>.dillon-nav-group>.dillon-header-route) .elementor-button:focus-visible{outline:2px solid currentColor!important;outline-offset:3px}
}
@media(max-width:760px){
  header.elementor-element-17c16a9{--dillon-direct-route-ink:#16263c}
  /* Match the native expanded-section dividers on only the five route lines.
     Beat direct-route, nested-label, scrolled and Contact colors without
     changing label ink, other border edges, focus or panel/action styling. */
  body header.elementor-element-17c16a9:has(#main-navigation) #main-navigation>.dillon-header-route:is(.elementor-element-d584629,.elementor-element-6ade069) :is(.elementor-button,.elementor-button-content-wrapper,.elementor-button-text),
  body header.elementor-element-17c16a9:has(#main-navigation) #main-navigation>.dillon-nav-group>.dillon-header-route:is(.elementor-element-7a3d4cd,.elementor-element-8a8f93d,.elementor-element-55a9e3a) :is(.elementor-button,.elementor-button-content-wrapper,.elementor-button-text){border-bottom-color:#16263c33!important}
  /* Dividers belong to the full route row, not the intrinsic-width label.
     Leave disclosure controls and expanded panel borders independent. */
  header.elementor-element-17c16a9 #main-navigation.dillon-menu-open>.dillon-header-route,
  header.elementor-element-17c16a9 #main-navigation.dillon-menu-open>.dillon-nav-group>.dillon-header-route{width:100%!important;max-width:none!important;min-width:0;border-bottom:1px solid #16263c33!important;box-sizing:border-box}
  header.elementor-element-17c16a9 #main-navigation.dillon-menu-open>.dillon-header-route .elementor-button,
  header.elementor-element-17c16a9 #main-navigation.dillon-menu-open>.dillon-nav-group>.dillon-header-route .elementor-button{flex:1 1 auto;min-width:0;display:flex!important;justify-content:flex-start!important;text-align:left}
  header.elementor-element-17c16a9 #main-navigation.dillon-menu-open>.dillon-header-route :is(.elementor-button,.elementor-button-content-wrapper,.elementor-button-text),
  header.elementor-element-17c16a9 #main-navigation.dillon-menu-open>.dillon-nav-group>.dillon-header-route :is(.elementor-button,.elementor-button-content-wrapper,.elementor-button-text){border-bottom-width:0!important}
}
@media(min-width:761px) and (max-width:1200px){
  header.elementor-element-17c16a9 .elementor-element-8ab3533{gap:20px}
  header.elementor-element-17c16a9 #main-navigation{gap:22px}
  .dillon-header-actions .elementor-button{padding:10px 12px!important}
}
/* At crowded intermediate widths use two intrinsic rows, not shrunken type.
   No fixed header height or menu top offset is introduced. */
@media(min-width:761px) and (max-width:1199.98px){
  header.elementor-element-17c16a9 .elementor-element-8ab3533{flex-wrap:wrap;padding-block:10px}
  header.elementor-element-17c16a9 #main-navigation{order:3;flex-basis:100%;justify-content:center}
  header.elementor-element-17c16a9 .dillon-header-actions{margin-inline-start:auto}
}
/* Elementor's tablet breakpoint includes 800px, where the captured header carries
   a 768px tablet width and sits inset from the viewport edge, out of line with the
   page content and with 801px. Correct 800px; retain the below-800px baseline. */
@media(min-width:800px) and (max-width:800px){
  body header.elementor-element.elementor-element-17c16a9.e-con{--width:100%}
}
/* Runtime slots contain original widgets, never copies. The estimate moves only
   while open; its closed-header slot and all saved/editor content are retained. */
.dillon-mobile-actions{display:none!important}
.dillon-mobile-header-call{display:none!important}
@media(max-width:760px){
  body:not(.elementor-editor-active) header.elementor-element-17c16a9 .dillon-mobile-header-call:not([hidden]){display:grid!important;place-items:center;order:1;flex:0 0 44px;width:44px;height:44px;box-sizing:border-box;padding:10px;margin:0;margin-inline-start:auto!important;border:1px solid currentColor;border-radius:4px;background:transparent;color:#fdfdfb;text-decoration:none;touch-action:manipulation}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(#main-navigation) .dillon-mobile-header-call:not([hidden])+.dillon-header-actions{margin-inline-start:0!important}
  .dillon-mobile-header-call svg{display:block;width:24px;height:24px;pointer-events:none}
  .dillon-mobile-header-call:focus-visible{outline:2px solid currentColor;outline-offset:2px}
  header.elementor-element-17c16a9.sher-scrolled .dillon-mobile-header-call,
  body:has(.dillon-interior) header.elementor-element-17c16a9 .dillon-mobile-header-call,
  header.elementor-element-17c16a9.dillon-mobile-fullscreen .dillon-mobile-header-call{color:#16263c!important}
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(.dillon-mobile-fullscreen) .dillon-mobile-header-call{color:#fff!important}
  body:not(.elementor-editor-active) header.dillon-mobile-fullscreen:has(#main-navigation) .dillon-mobile-header-call~.elementor-element-a2d7aca{margin-inline-start:0!important}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(#main-navigation) .elementor-element-8ab3533{flex-wrap:nowrap!important;gap:8px!important}
  /* Balance the visible artwork as well as the control boxes: the logo keeps
     its native aspect ratio, and the menu glyph no longer looks undersized. */
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(#main-navigation) .elementor-element-60cccf6{flex:0 0 auto!important;width:60px!important;max-width:60px!important}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(#main-navigation) .elementor-element-60cccf6 img{width:100%!important;height:auto!important;object-fit:contain}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(#main-navigation) .elementor-element-a2d7aca{order:2;flex:0 0 44px!important;width:44px!important;min-height:44px!important;margin:0!important;touch-action:manipulation}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:not(.dillon-mobile-fullscreen) .elementor-element-a2d7aca{padding:6px!important}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:not(.dillon-mobile-fullscreen) .elementor-element-a2d7aca :is(.elementor-element-e98d71e,img){width:32px!important;height:32px!important}
  header.elementor-element-17c16a9 .elementor-element-a2d7aca:focus-visible{outline:2px solid currentColor;outline-offset:2px}
  header.elementor-element-17c16a9.sher-scrolled .elementor-element-a2d7aca,
  body:has(.dillon-interior) header.elementor-element-17c16a9 .elementor-element-a2d7aca{color:#16263c}
  header.elementor-element-17c16a9.sher-scrolled .elementor-element-a2d7aca img,
  body:has(.dillon-interior) header.elementor-element-17c16a9 .elementor-element-a2d7aca img{filter:brightness(0)}
  /* Use a white hamburger over interior photography, not on solid/open bars. */
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(.dillon-mobile-fullscreen):not(:has(#main-navigation.dillon-menu-open)) .elementor-element-a2d7aca{color:#fff}
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(.dillon-mobile-fullscreen):not(:has(#main-navigation.dillon-menu-open)) .elementor-element-a2d7aca img{filter:brightness(0) invert(1)}
  header.elementor-element-17c16a9 #main-navigation{position:absolute!important;top:var(--dillon-mobile-navigation-top,100%)!important}
  #main-navigation>.dillon-header-route .elementor-button,
  #main-navigation>.dillon-nav-group>.dillon-header-route .elementor-button{font-size:18.6667px!important}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9:has(#main-navigation) .dillon-header-actions{order:1;width:auto!important;flex:0 0 auto!important;justify-content:flex-end;flex-wrap:nowrap!important;gap:0!important;margin-inline-start:auto!important;padding:0!important}
    body:not(.elementor-editor-active) header.elementor-element-17c16a9 .dillon-header-actions>:is(.dillon-header-phone,.dillon-header-login,.dillon-header-extra){display:none!important}
  .dillon-header-actions .elementor-button,.dillon-mobile-actions .elementor-button{padding:10px 12px!important}
  /* Match the closed-row primary to the outlined 44px phone control.
     Its original widget regains the full-size action style inside the menu. */
  body:not(.elementor-editor-active) header.elementor-element-17c16a9 .dillon-header-actions>.dillon-header-estimate .elementor-button{height:44px!important;min-height:44px!important;padding:8px 10px!important;font-size:12px!important;line-height:18px!important;box-sizing:border-box}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9 .dillon-header-actions>.dillon-header-estimate :is(.elementor-button-content-wrapper,.elementor-button-text){font-size:inherit!important;line-height:inherit!important}
  body:not(.elementor-editor-active) #main-navigation.dillon-menu-open>.dillon-mobile-actions:not([hidden]){display:flex!important;flex:0 0 auto;width:100%;min-width:0;box-sizing:border-box;flex-direction:column;align-items:stretch;gap:8px;padding-block:12px 4px}
  #main-navigation>.dillon-mobile-actions :is(.elementor-widget-button,.elementor-button-wrapper){width:100%;min-width:0}
  #main-navigation>.dillon-mobile-actions .elementor-button{display:flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap;color:#16263c!important;border-color:#16263c!important;--dillon-login-fill:#16263c;--dillon-login-ink:#fdfdfb}
  #main-navigation>.dillon-mobile-actions .elementor-button :is(.elementor-button-content-wrapper,.elementor-button-text){color:inherit!important}
  #main-navigation>.dillon-mobile-actions .dillon-header-login .elementor-button:is(:hover,:focus-visible){background:var(--dillon-login-fill)!important;color:var(--dillon-login-ink)!important;border-color:var(--dillon-login-fill)!important}
  #main-navigation>.dillon-mobile-actions .elementor-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
  #main-navigation>.dillon-mobile-actions .dillon-header-estimate .elementor-button{width:100%!important;color:#fdfdfb!important;background:#c43322!important;border-color:#c43322!important}
  #main-navigation>.dillon-mobile-actions .dillon-header-estimate .elementor-button:is(:hover,:focus-visible){background:#8f2417!important;border-color:#8f2417!important}
  /* Temporary ancestor classes release converted containing/stacking blocks.
     Removing the classes restores their native layout without inline rewrites. */
  body:not(.elementor-editor-active):has(#main-navigation.dillon-menu-open) .dillon-mobile-nav-ancestor{transform:none!important;translate:none!important;rotate:none!important;scale:none!important;filter:none!important;backdrop-filter:none!important;perspective:none!important;contain:none!important;container-type:normal!important;content-visibility:visible!important;will-change:auto!important;overflow:visible!important;clip-path:none!important;mask-image:none!important;isolation:auto!important;opacity:1!important;z-index:auto!important}
  body:not(.elementor-editor-active) header.elementor-element-17c16a9.dillon-mobile-fullscreen:has(#main-navigation){position:fixed!important;inset:0!important;width:100%!important;max-width:none!important;height:100vh!important;height:100dvh!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;box-sizing:border-box;z-index:9999!important;background:#f7f7f6!important;overflow:hidden!important;transform:none!important;filter:none!important;contain:none!important;transition:none!important}
  body:not(.elementor-editor-active) header.dillon-mobile-fullscreen:has(#main-navigation) .elementor-element-8ab3533{position:static!important;width:100%!important;max-width:none!important;margin:0!important;padding:env(safe-area-inset-top,0px) max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px))!important;box-sizing:border-box;min-height:calc(72px + env(safe-area-inset-top,0px))!important;flex:0 0 auto!important;transform:none!important;filter:none!important;contain:none!important}
  body:not(.elementor-editor-active) header.dillon-mobile-fullscreen:has(#main-navigation) .dillon-header-actions{display:none!important}
  body:not(.elementor-editor-active) header.dillon-mobile-fullscreen:has(#main-navigation) .elementor-element-a2d7aca{position:relative!important;margin-inline-start:auto!important;color:#16263c!important;min-height:44px!important;cursor:pointer}
  header.dillon-mobile-fullscreen .elementor-element-a2d7aca>*{display:none!important}
  header.dillon-mobile-fullscreen .elementor-element-a2d7aca::before,header.dillon-mobile-fullscreen .elementor-element-a2d7aca::after{content:"";position:absolute;top:21px;left:10px;width:24px;height:2px;background:currentColor;transform:rotate(45deg);pointer-events:none}
  header.dillon-mobile-fullscreen .elementor-element-a2d7aca::after{transform:rotate(-45deg)}
  body:not(.elementor-editor-active) header.dillon-mobile-fullscreen #main-navigation.dillon-menu-open{display:flex!important;position:absolute!important;inset:var(--dillon-mobile-controls-height,72px) 0 0!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:12px max(18px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))!important;box-sizing:border-box;background:#f7f7f6!important;border:0!important;box-shadow:none!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;touch-action:pan-y}
  header.dillon-mobile-fullscreen #main-navigation.dillon-menu-open>*{flex-shrink:0!important}
}
/* Interior photo heroes need light controls, not the solid-page defaults.
   Leave the editor, mobile menu, scrolled bar and open desktop menus unchanged. */
@media(min-width:761px){
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(:has(.dillon-nav-group.is-open)) #main-navigation>.dillon-header-route .elementor-button,
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(:has(.dillon-nav-group.is-open)) #main-navigation>.dillon-nav-group>.dillon-header-route .elementor-button{color:#fdfdfb!important}
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(:has(.dillon-nav-group.is-open)) :is(.dillon-header-phone,.dillon-header-login) .elementor-button{color:#fdfdfb!important;border-color:#fdfdfb!important;--dillon-login-fill:#fdfdfb;--dillon-login-ink:#16263c}
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(:has(.dillon-nav-group.is-open)) .dillon-header-login .elementor-button:is(:hover,:focus-visible){color:#16263c!important}
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(:has(.dillon-nav-group.is-open)) .dillon-header-route .elementor-button :is(.elementor-button-content-wrapper,.elementor-button-text),
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(:has(.dillon-nav-group.is-open)) .dillon-header-actions .elementor-button :is(.elementor-button-content-wrapper,.elementor-button-text){color:inherit!important}
  body:has(.dillon-interior-hero):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):not(:has(.dillon-nav-group.is-open)) .dillon-navigation-toggle{color:#fdfdfb}
}
/* Desktop hero overlays stay transparent while hovering or opening a menu.
   Scroll, solid pages, editor and mobile retain their existing backgrounds.
   The dropdown itself remains a solid, readable panel. */
@media(min-width:761px){
  body:is(.home,:has(.dillon-interior-hero)):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled){background-color:transparent!important;--dillon-direct-route-ink:#fdfdfb}
  body:is(.home,:has(.dillon-interior-hero)):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled) #main-navigation>.dillon-nav-group>.dillon-header-route .dillon-navigation-toggle{color:#fdfdfb}
  body:is(.home,:has(.dillon-interior-hero)):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled) :is(.dillon-header-phone,.dillon-header-login) .elementor-button{color:#fdfdfb!important;border-color:#fdfdfb!important;--dillon-login-fill:#fdfdfb;--dillon-login-ink:#16263c}
  body:is(.home,:has(.dillon-interior-hero)):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled) .dillon-header-login .elementor-button:is(:hover,:focus-visible){color:#16263c!important}
}
/* A pointer-engaged dropdown alone supersedes the transparent hero overlay.
   Keep its existing 160ms bridge/exit timing separate from keyboard openness.
   Paint only: no logo, underline, focus, button geometry or panel changes. */
@media(min-width:761px){
  body:is(.home,:has(.dillon-interior-hero)):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):has(#main-navigation>.dillon-nav-group.is-open.is-hover-engaged){background-color:#f7f7f6!important;--dillon-direct-route-ink:#16263c}
  body:is(.home,:has(.dillon-interior-hero)):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):has(#main-navigation>.dillon-nav-group.is-open.is-hover-engaged) #main-navigation>.dillon-nav-group>.dillon-header-route .dillon-navigation-toggle{color:#16263c}
  body:is(.home,:has(.dillon-interior-hero)):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):has(#main-navigation>.dillon-nav-group.is-open.is-hover-engaged) :is(.dillon-header-phone,.dillon-header-login) .elementor-button{color:#16263c!important;border-color:#16263c!important;--dillon-login-fill:#16263c;--dillon-login-ink:#fdfdfb}
  body:is(.home,:has(.dillon-interior-hero)):not(.elementor-editor-active) header.elementor-element-17c16a9:not(.sher-scrolled):has(#main-navigation>.dillon-nav-group.is-open.is-hover-engaged) .dillon-header-login .elementor-button:is(:hover,:focus-visible){color:#fdfdfb!important}
}
@media(prefers-reduced-motion:reduce){.dillon-navigation-toggle svg{transition:none;will-change:auto}header.elementor-element-17c16a9 .dillon-header-login .elementor-button{transition:none}}
