/* Portable homepage article dependencies. No original ID aliases, carousel
   geometry or generic interior card/action classes are imported. Native
   typography, colors, borders and responsive padding remain editable controls. */
/* Related service introductions only: service ownership plus the existing
   three-card variant excludes the Services listing and industry grids. The
   saved shared source is identified by its component key in render support.
   Direct children exclude all nested card text; no breakpoint resets alignment. */
.dillon-services-grid:has(> .dillon-interior-width > .dillon-interior-grid > .dillon-home-card:nth-child(3):last-child) > .dillon-interior-width > .elementor-element:is(.dillon-interior-heading,.dillon-interior-copy),
.dillon-related-services-source .dillon-interior-static > .dillon-interior-width > .elementor-element:is(.dillon-interior-heading,.dillon-interior-copy) {
  text-align:center; margin-inline:auto;
}
.dillon-interior .dillon-home-card {
  position:relative; isolation:isolate; min-width:0; align-self:stretch;
  justify-content:flex-end; box-sizing:border-box; flex-basis:auto;
}
.dillon-interior .dillon-home-card::after {
  content:""; position:absolute; inset:auto 0 0; width:auto; height:70%; z-index:-1;
  background-image:linear-gradient(0deg,rgba(13,36,64,.97),rgba(13,36,64,.88) 35%,rgba(13,36,64,.5) 72%,rgba(13,36,64,0));
  border:0; transition:height .3s ease;
}
.dillon-interior .dillon-home-card > .dillon-home-card-photo {
  position:absolute; inset:0; width:100%; height:100%; z-index:-2; line-height:0;
}
.dillon-interior .dillon-home-card-photo img { width:100%; height:100%; max-width:none; object-fit:cover; }
.dillon-interior .dillon-home-card-content { min-width:0; max-width:100%; }
.dillon-interior .dillon-home-card .dillon-home-card-title { overflow-wrap:anywhere; }
.dillon-interior .dillon-home-card-title h3 { text-wrap:balance; }
.dillon-interior .dillon-home-card .dillon-home-card-copy { text-wrap:balance; margin-top:16px!important; }
.dillon-interior .dillon-home-card-copy p { margin:0; }
.dillon-interior .dillon-home-card-copy p + p { margin-top:1em; }
.dillon-interior .dillon-home-card .dillon-home-card-action { width:max-content!important; max-width:100%; margin-top:24px!important; }
.dillon-interior .dillon-home-card-action .elementor-button {
  width:max-content; max-width:100%; display:inline-flex; align-items:center; gap:26px;
  min-height:54px; text-align:start; white-space:normal;
}
.dillon-interior .dillon-home-card-action .elementor-button-content-wrapper {
  display:flex; align-items:center; gap:26px;
}
.dillon-interior .dillon-home-card-action .elementor-button-text { display:contents; }
.dillon-interior .dillon-home-card-action :is(.shc-i-dd6047da43ab,.shc-i-5d559fedb5b0) {
  border:0; box-sizing:border-box; vertical-align:middle; flex-shrink:0;
}
.dillon-interior .dillon-home-card-action img { width:20px; height:20px; }
@media(hover:hover) and (min-width:761px) {
  .dillon-interior .dillon-home-card .dillon-home-card-copy,
  .dillon-interior .dillon-home-card .dillon-home-card-action {
    opacity:0; max-height:0; min-height:0; margin-top:0!important; overflow:hidden;
    transition:opacity .3s ease,max-height .3s ease,margin-top .3s ease;
  }
  /* Keep the native link in keyboard order even while visually collapsed. */
  .dillon-interior .dillon-home-card:is(:hover,:focus-within) .dillon-home-card-copy {
    opacity:1; max-height:none; margin-top:16px!important; overflow:visible;
  }
  .dillon-interior .dillon-home-card:is(:hover,:focus-within) .dillon-home-card-action {
    opacity:1; max-height:none; min-height:54px; margin-top:24px!important; overflow:visible;
  }
  .dillon-interior .dillon-home-card:is(:hover,:focus-within)::after { height:100%; }
}
@media(hover:none) {
  .dillon-interior .dillon-home-card::after { height:100%; }
}
/* Pending slots have no approved action to focus and no photo. Their existing
   notice stays visible, without inventing a link or a replacement image. */
.dillon-interior .dillon-home-card.dillon-home-card-pending .dillon-home-card-copy {
  opacity:1; max-height:none; margin-top:16px!important; overflow:visible;
}
.dillon-interior .dillon-home-card.dillon-home-card-pending::after { height:100%; }
@media(max-width:760px) {
  .dillon-interior .dillon-home-card { min-height:412px!important; }
  .dillon-interior .dillon-home-card::after { height:100%; }
  /* Keep the same compact, padded action as other site buttons rather than
     stretching the captured card label into an edge-to-edge mobile bar. */
  .dillon-interior .dillon-home-card .dillon-home-card-action { width:max-content!important; max-width:100%; }
  .dillon-interior .dillon-home-card-action .elementor-button {
    width:auto; max-width:100%; min-height:54px; box-sizing:border-box;
    padding:14px 24px!important; gap:12px; text-align:center;
    font-size:16px; line-height:1.5; text-transform:none!important;
  }
  .dillon-interior .dillon-home-card-action .elementor-button-content-wrapper { justify-content:center; align-items:center; gap:12px; }
  .dillon-interior .dillon-home-card-action .elementor-button-text { text-transform:none!important; }
}
@media(max-width:560px) { .dillon-interior .dillon-home-card { min-height:362px!important; } }
@media(prefers-reduced-motion:reduce) {
  .dillon-interior .dillon-home-card::after,
  .dillon-interior .dillon-home-card-copy,
  .dillon-interior .dillon-home-card-action { transition:none; }
}
