.dillon-interior { --dillon-navy:#0d2440; --dillon-red:#c43322; color:#16263c; font-family:"DM Sans",sans-serif; }
.dillon-interior .dillon-interior-section { padding-block:80px; width:100%; }
.dillon-interior .dillon-interior-width { width:min(100% - 96px,1440px); margin-inline:auto; gap:24px; }
.dillon-interior .dillon-interior-copy { max-width:72ch; }
.dillon-interior .dillon-interior-heading :is(h1,h2,h3) { text-wrap:balance; font-family:"Barlow Condensed",sans-serif; font-weight:700; text-transform:uppercase; line-height:1.06; }
.dillon-interior .dillon-interior-heading h1 { font-size:clamp(2.75rem,6vw,5rem); }
.dillon-interior .dillon-interior-heading h2 { font-size:clamp(2.25rem,4vw,4rem); }
.dillon-interior .dillon-interior-actions { flex-direction:row; flex-wrap:wrap; gap:16px; }
.dillon-interior .dillon-interior-actions .elementor-widget-button { width:auto; }
.dillon-interior .dillon-native-action .elementor-button { background:#c43322; color:#fff; font:600 15px/1.3 "DM Sans",sans-serif; padding:16px 24px; border-radius:4px; }
/* One primary action per group; every following CTA is outlined. The sibling
   selector works across reused pages and saved sources without native ID lists. */
.elementor .dillon-interior-actions > .elementor-widget-button ~ .elementor-widget-button .elementor-button,
.elementor .dillon-interior-actions > .elementor-widget-button ~ .elementor-widget-button .elementor-button:is(:hover,:focus-visible) {
  background:transparent;
  background-image:none;
  color:var(--dillon-red,#c43322);
  border:1px solid currentColor;
  box-shadow:none;
}
/* Captured post rules have four classes and explicit responsive zero insets.
   Repair only the vertical inset of generic native interior buttons at higher
   specificity. Contact device/text links, icon controls, homepage-derived CTA
   treatments and Thank You's editable native padding are intentionally exempt. */
.dillon-interior .elementor-element.elementor-widget-button.dillon-native-action:where(:not(.dillon-interior-text-action,.dillon-contact-conversion-facts *,.dillon-resources-contents *,.dillon-resources-card-link,.dillon-final-cta *,.dillon-contact-conversion-home)) .elementor-button { padding-top:16px; padding-bottom:16px; }
.dillon-interior .dillon-interior-card h3,.dillon-interior .dillon-interior-benefit h3 { font-size:clamp(1.5rem,2.2vw,2rem); }
.dillon-interior .dillon-interior-grid { display:grid; gap:24px; }
.dillon-interior .dillon-interior-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dillon-interior .dillon-interior-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dillon-interior .dillon-interior-card { padding:28px; background:#f7f7f6; gap:18px; height:auto; min-width:0; }
.dillon-interior .dillon-interior-card .dillon-interior-image img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.dillon-interior .dillon-interior-card.dillon-interior-pending { border:1px dashed #9fb4c4; }
.dillon-interior .dillon-interior-stat { text-align:center; }
.dillon-interior .dillon-interior-stat h3 { font-size:clamp(2.25rem,4vw,4rem); }
.dillon-interior .dillon-interior-credibility { background:#f7f7f6; padding-block:36px; }
/* Bottom-align the content within 50vh; allow necessary growth on short or narrow screens. */
.dillon-interior .dillon-interior-hero { height:50vh; min-height:min-content; box-sizing:border-box; justify-content:flex-end; background:#0d2440; padding-block:160px 60px; position:relative; isolation:isolate; }
.dillon-interior .dillon-interior-hero .dillon-interior-heading h1.elementor-heading-title { color:white; max-width:18ch; font-size:clamp(2.75rem,6vw,5rem); }
/* Dark photo heroes must not inherit the dark body-copy color from a page's
   native text widget. Apply the readable color to rich-text children too. */
.dillon-interior .dillon-interior-hero .dillon-interior-copy,
.dillon-interior .dillon-interior-hero .dillon-interior-copy :is(p,li,span,strong,em,a) {
  color:#fdfdfb!important;
}
.dillon-interior .dillon-interior-hero .dillon-interior-image { position:absolute; inset:0; z-index:-1; opacity:.22; width:100%; height:100%; }
.dillon-interior .dillon-interior-hero .dillon-interior-image img { width:100%; height:100%; object-fit:cover; }
.dillon-interior .dillon-interior-centered { text-align:center; }
.dillon-interior .dillon-interior-centered .dillon-interior-width { align-items:center; }
/* Keep the native heading -> copy -> actions order; the image remains a section background. */
.dillon-interior .dillon-interior-hero > .dillon-interior-width { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:min-content min-content; grid-template-areas:"heading" "copy"; align-items:start; min-width:0; position:static; text-align:left; }
.dillon-interior .dillon-interior-hero > .dillon-interior-width:has(> .dillon-interior-actions) { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); grid-template-areas:"heading actions" "copy actions"; }
.dillon-interior .dillon-interior-hero > .dillon-interior-width > :is(.dillon-interior-heading,.dillon-interior-copy,.dillon-interior-actions) { min-width:0; max-width:100%; }
.dillon-interior .dillon-interior-hero > .dillon-interior-width > .dillon-interior-heading { grid-area:heading; }
.dillon-interior .dillon-interior-hero > .dillon-interior-width > .dillon-interior-copy { grid-area:copy; max-width:72ch; text-wrap:pretty; }
.dillon-interior .dillon-interior-hero > .dillon-interior-width > .dillon-interior-actions { grid-area:actions; align-self:end; justify-content:flex-end; width:100%; }
.dillon-interior .dillon-interior-hero .dillon-interior-actions .elementor-widget-button { min-width:0; max-width:100%; }
.dillon-interior .dillon-interior-hero .dillon-interior-actions .elementor-button { max-width:100%; white-space:normal; }
/* Match native post-selector specificity so inherited zero padding cannot collapse hero actions. */
.dillon-interior .dillon-interior-hero .dillon-native-action .elementor-button { background:#c43322; color:#fdfdfb; font:600 15px/1.3 "DM Sans",sans-serif; padding:16px 24px; border:1px solid transparent; border-radius:0; }
.dillon-interior .dillon-interior-hero .dillon-interior-actions > .elementor-widget-button:not(:first-child) .elementor-button { background:transparent; color:#fdfdfb; border-color:currentColor; }
.dillon-interior .dillon-interior-hero .dillon-interior-actions .elementor-button-text { text-wrap:balance; overflow-wrap:anywhere; }
.dillon-interior .dillon-interior-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:center; }
.dillon-interior .dillon-interior-split-copy { grid-column:2; grid-row:1; }
.dillon-interior .dillon-interior-split-media { grid-column:1; grid-row:1; }
.dillon-interior .dillon-media-right .dillon-interior-split-copy { grid-column:1; }
.dillon-interior .dillon-media-right .dillon-interior-split-media { grid-column:2; }
.dillon-interior .dillon-interior-split-media img { width:100%; height:auto; }
.dillon-interior .dillon-interior-features-side .dillon-interior-width { display:grid; grid-template-columns:1fr 1.6fr; }
.dillon-interior .dillon-interior-features-side .dillon-interior-grid { grid-column:2; grid-row:1 / span 2; grid-template-columns:1fr; }
/* The native homepage CTA has its own controls and original style aliases.
   Never put it inside the generic interior width/padding/action rules. */
.dillon-interior:has(> .dillon-final-cta) { margin-bottom:0; padding-bottom:0; }
.dillon-interior > .dillon-final-cta { width:100%; max-width:none; margin:0; flex-shrink:0; }
.dillon-interior .dillon-interior-opening-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); width:min(100% - 96px,1440px); margin-inline:auto; gap:64px; }
.dillon-interior .dillon-interior-opening-overview { padding-block:48px; }
.dillon-interior .dillon-interior-opening-columns .dillon-interior-form-section { margin-top:-120px; z-index:1; padding:32px; background:#fdfdfb; border:1px solid #dbe6ec; }
.dillon-interior .dillon-interior-opening-columns .dillon-interior-width { width:100%; }
.dillon-interior .dillon-interior-detail-opening:has(.dillon-interior-form-section) .dillon-interior-hero .dillon-interior-width { padding-right:52%; }
/* Actionful detail heroes use the full row, above the existing 120px form overlap. */
.dillon-interior .dillon-interior-detail-opening:has(.dillon-interior-form-section) .dillon-interior-hero:has(> .dillon-interior-width > .dillon-interior-actions) { padding-bottom:120px; }
.dillon-interior .dillon-interior-detail-opening:has(.dillon-interior-form-section) .dillon-interior-hero > .dillon-interior-width:has(> .dillon-interior-actions) { padding-right:0; }
.dillon-interior a:focus-visible,.dillon-interior button:focus-visible:not(.dillon-home-faq *),.dillon-interior input:focus-visible,.dillon-interior textarea:focus-visible,.dillon-interior select:focus-visible,.dillon-interior [tabindex]:focus-visible:not(.dillon-home-faq button) { outline:3px solid #c43322; outline-offset:4px; }
.dillon-interior .dillon-native-action:not(:has(a[href])) .elementor-button { cursor:default; }
.dillon-interior-brand { padding:24px 48px; background:#0d2440; }
.dillon-interior-brand img { width:180px; max-height:72px; object-fit:contain; }
.dillon-interior-legal { padding:32px; background:#f7f7f6; text-align:center; font-family:"DM Sans",sans-serif; }
@media(max-width:1024px) {
  .dillon-interior .dillon-interior-width,.dillon-interior .dillon-interior-opening-columns { width:calc(100% - 56px); }
  .dillon-interior .dillon-interior-grid-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dillon-interior .dillon-interior-split { gap:32px; }
  .dillon-interior .dillon-interior-opening-columns { grid-template-columns:1fr; gap:24px; }
  .dillon-interior .dillon-interior-opening-columns .dillon-interior-form-section { margin-top:0; }
  .dillon-interior .dillon-interior-detail-opening:has(.dillon-interior-form-section) .dillon-interior-hero .dillon-interior-width { padding-right:0; }
  .dillon-interior .dillon-interior-hero > .dillon-interior-width:has(> .dillon-interior-actions) { grid-template-columns:minmax(0,1fr); grid-template-rows:min-content min-content min-content; grid-template-areas:"heading" "copy" "actions"; }
  .dillon-interior .dillon-interior-hero > .dillon-interior-width > .dillon-interior-actions { align-self:start; justify-content:flex-start; }
  .dillon-interior .dillon-interior-detail-opening:has(.dillon-interior-form-section) .dillon-interior-hero:has(> .dillon-interior-width > .dillon-interior-actions) { padding-bottom:60px; }
}
@media(max-width:760px) {
  .dillon-interior .dillon-interior-section { padding-block:48px; }
  .dillon-interior .dillon-interior-width,.dillon-interior .dillon-interior-opening-columns { width:calc(100% - 36px); }
  .dillon-interior .dillon-interior-grid,.dillon-interior .dillon-interior-features-side .dillon-interior-width { grid-template-columns:1fr; }
  /* Shared splits, including standalone saved/editor sources. Match the desktop
     image-right specificity; only immediate columns reset, never nested panels. */
  :is(.dillon-interior,.elementor) .dillon-interior-split { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:none; grid-auto-rows:auto; gap:24px; min-width:0; }
  :is(.dillon-interior,.elementor) .dillon-interior-split > :is(.dillon-interior-split-copy,.dillon-interior-split-media) { grid-column:auto; grid-row:auto; min-width:0; max-width:100%; }
  .dillon-interior .dillon-interior-features-side .dillon-interior-grid { grid-column:auto; grid-row:auto; }
  /* Content CTA groups fill the mobile column, including saved/editor sources. */
  .elementor .elementor-element.dillon-interior-actions { width:100%; max-width:100%; flex-direction:column; }
  .elementor .dillon-interior-actions > .elementor-element.elementor-widget-button:where(:not(.dillon-interior-text-action,.dillon-resources-card-link)) { width:100%; max-width:100%; min-width:0; align-self:stretch; --container-widget-width:100%; }
  .elementor .dillon-interior-actions > .elementor-element.elementor-widget-button:where(:not(.dillon-interior-text-action,.dillon-resources-card-link)) :is(.elementor-widget-container,.elementor-button-wrapper,.elementor-button) { width:100%; max-width:100%; box-sizing:border-box; }
  .dillon-interior .dillon-interior-hero { padding-top:112px; }
  .dillon-interior .dillon-interior-hero > .dillon-interior-width > .dillon-interior-actions { flex-direction:column; align-items:flex-start; }
  .dillon-interior .dillon-interior-detail-opening:has(.dillon-interior-form-section) .dillon-interior-hero:has(> .dillon-interior-width > .dillon-interior-actions) { padding-bottom:48px; }
}
@media(prefers-reduced-motion:reduce) { .dillon-interior *, .dillon-interior *::before,.dillon-interior *::after { scroll-behavior:auto!important; } }
/* maintenance-cards:start */
/* Four-benefit interior maintenance only; native controls own card appearance.
   The adaptive column template never exceeds two columns and stacks below
   520px of available copy width, independently of the surrounding split. */
.dillon-maintenance-four .dillon-maintenance-benefits { min-width:0; width:100%; grid-auto-rows:minmax(min-content,auto); align-items:stretch; }
.dillon-maintenance-four .dillon-maintenance-card { min-width:0; height:auto; min-height:0; overflow:visible; box-sizing:border-box; }
.dillon-maintenance-four .dillon-maintenance-card > .elementor-widget { min-width:0; max-width:100%; }
.dillon-maintenance-four .dillon-maintenance-card .elementor-heading-title { font-size:24px; line-height:1.15; text-align:left; text-wrap:balance; overflow-wrap:anywhere; }
.dillon-maintenance-four .dillon-maintenance-card .elementor-widget-text-editor { font-size:15px; line-height:1.65; text-align:left; text-wrap:pretty; overflow-wrap:anywhere; }
.dillon-maintenance-four .dillon-maintenance-card .elementor-widget-text-editor p:last-child { margin-bottom:0; }
.dillon-maintenance-four .dillon-maintenance-icon .elementor-icon { display:block; color:#c43322; font-size:24px; }
.dillon-maintenance-four .dillon-maintenance-icon svg { width:24px; height:24px; fill:currentColor; }
@media(min-width:761px) {
  #dillon-services-services-maintenance .dillon-interior-split-copy { grid-column:1; }
  #dillon-services-services-maintenance .dillon-interior-split-media { grid-column:2; }
  .dillon-maintenance-four .dillon-interior-split-media { position:relative; align-self:stretch; min-height:0; overflow:hidden; }
  .dillon-maintenance-four .dillon-interior-split-media .elementor-widget.elementor-widget-image { position:absolute; inset:0; width:100%; height:100%; }
  .dillon-maintenance-four .dillon-interior-split-media .elementor-widget-container { height:100%; }
  .dillon-maintenance-four .dillon-interior-split-media .elementor-widget.elementor-widget-image img { display:block; width:100%; height:100%; object-fit:cover; }
}
/* maintenance-cards:end */
/* credibility-band:start */
/* Native typography and surfaces remain editable. These rules supply intrinsic
   sizing, safe wrapping and a component-only override of the generic tablet
   two-column grid. Saved sources work without a surrounding interior main. */
.dillon-interior-credibility > .dillon-interior-width { margin-inline:auto; min-width:0; }
.dillon-interior-credibility .dillon-credibility-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:none; grid-auto-rows:auto; align-items:stretch; min-width:0; }
.dillon-interior-credibility .dillon-interior-stat { height:auto; min-height:0; min-width:0; box-sizing:border-box; overflow:visible; }
.dillon-interior-credibility .dillon-interior-stat > .elementor-widget { min-width:0; max-width:100%; }
.dillon-interior-credibility .dillon-credibility-value .elementor-heading-title { margin:0; white-space:nowrap; }
.dillon-interior-credibility .dillon-credibility-label { text-wrap:balance; overflow-wrap:anywhere; }
.dillon-interior-credibility .dillon-credibility-label p { margin:0; }
@media(max-width:767px) {
  .dillon-interior-credibility .dillon-credibility-grid { grid-template-columns:minmax(0,1fr); }
  .dillon-interior-credibility .dillon-credibility-label { width:auto; flex:1 1 0; }
}
/* credibility-dividers:start */
.dillon-interior-credibility .dillon-interior-stat { position:relative; }
.dillon-interior-credibility .dillon-credibility-grid > .dillon-interior-stat + .dillon-interior-stat::after { content:""; position:absolute; pointer-events:none; top:0; bottom:0; left:-12px; width:1px; background:#d6d6d6; }
@media(max-width:1024px) {
  .dillon-interior-credibility .dillon-credibility-grid > .dillon-interior-stat + .dillon-interior-stat::after { left:-8px; }
}
@media(max-width:767px) {
  .dillon-interior-credibility .dillon-credibility-grid > .dillon-interior-stat + .dillon-interior-stat::after { top:-6px; bottom:auto; left:0; right:0; width:auto; height:1px; }
}
/* credibility-dividers:end */
/* credibility-counters:start */
.dillon-interior-credibility .dillon-credibility-counter-accessible { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.dillon-interior-credibility .dillon-credibility-counter-visual { font-variant-numeric:tabular-nums; }
.dillon-interior-credibility .dillon-credibility-counter-letter { position:relative; display:inline-block; height:1em; overflow:hidden; vertical-align:top; }
.dillon-interior-credibility .dillon-credibility-counter-size { visibility:hidden; }
.dillon-interior-credibility .dillon-credibility-counter-roller { position:absolute; top:0; left:0; right:0; text-align:center; }
.dillon-interior-credibility .dillon-credibility-counter-roller > span { display:block; height:1em; line-height:1em; }
/* credibility-counters:end */
/* credibility-band:end */
