.elementor-50271 .elementor-element.elementor-element-4f8d415{--display:flex;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-6c0b5de );--border-color:var( --e-global-color-6c0b5de );--border-radius:12px 12px 12px 12px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-50271 .elementor-element.elementor-element-4f8d415:not(.elementor-motion-effects-element-type-background), .elementor-50271 .elementor-element.elementor-element-4f8d415 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5043e04 );}.elementor-50271 .elementor-element.elementor-element-2f93d70{text-align:start;}.elementor-50271 .elementor-element.elementor-element-2f93d70 img{width:100%;max-width:100%;border-radius:12px 12px 0px 0px;}.elementor-50271 .elementor-element.elementor-element-6224258 > .elementor-widget-container{padding:3% 6% 0% 6%;}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(18px/2);}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(18px/2);}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(18px/2);}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-18px/2);}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-18px/2);}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-icon i{color:var( --e-global-color-3424e81 );transition:color 0.3s;}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-icon svg{fill:var( --e-global-color-3424e81 );transition:fill 0.3s;}.elementor-50271 .elementor-element.elementor-element-6224258{--e-icon-list-icon-size:16px;--icon-vertical-offset:0px;}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-icon{padding-inline-end:2px;}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-item > a{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1px;}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-text{color:var( --e-global-color-3424e81 );transition:color 0.3s;}.elementor-50271 .elementor-element.elementor-element-6156459 > .elementor-widget-container{padding:0% 6% 0% 6%;}.elementor-50271 .elementor-element.elementor-element-6156459 .elementor-heading-title{font-size:18px;font-weight:500;line-height:1.35em;}.elementor-50271 .elementor-element.elementor-element-9a4fe58 .elementor-button{background-color:#D9EEEB00;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-50271 .elementor-element.elementor-element-9a4fe58 > .elementor-widget-container{padding:0% 6% 6% 6%;}.elementor-50271 .elementor-element.elementor-element-9a4fe58 .elementor-button:hover, .elementor-50271 .elementor-element.elementor-element-9a4fe58 .elementor-button:focus{color:var( --e-global-color-primary );}.elementor-50271 .elementor-element.elementor-element-9a4fe58 .elementor-button:hover svg, .elementor-50271 .elementor-element.elementor-element-9a4fe58 .elementor-button:focus svg{fill:var( --e-global-color-primary );}@media(max-width:1024px){.elementor-50271 .elementor-element.elementor-element-6224258{--e-icon-list-icon-size:15px;}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-item > a{font-size:11px;}}@media(max-width:767px){.elementor-50271 .elementor-element.elementor-element-6224258 > .elementor-widget-container{padding:3% 6% 0% 6%;}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(15px/2);}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(15px/2);}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(15px/2);}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-15px/2);}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-15px/2);}.elementor-50271 .elementor-element.elementor-element-6224258{--e-icon-list-icon-size:14px;}.elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-50271 .elementor-element.elementor-element-6224258 .elementor-icon-list-item > a{font-size:11px;}.elementor-50271 .elementor-element.elementor-element-9a4fe58 .elementor-button{font-size:12px;}}/* Start custom CSS for theme-post-featured-image, class: .elementor-element-2f93d70 *//* The anchor Elementor wraps the featured image in is inline-block, so it sits
   on a text baseline inside a line box and reserves descender space UNDER the
   image — measured at 10.8px on the rendered card, with the widget container
   180.89px tall against a 171.09px image. The hairline is drawn on the widget's
   bottom edge, so that slack showed as a white strip between the picture and
   the rule. Blocking the anchor and zeroing the line box removes it.
   Do not delete these two rules: display:block on the anchor is what makes the
   hairline sit flush, not decoration. */
.elementor-50271 .elementor-element.elementor-element-2f93d70 .elementor-widget-container {
  line-height: 0;
  font-size: 0;
}
.elementor-50271 .elementor-element.elementor-element-2f93d70 a {
  display: block;
  line-height: 0;
}
.elementor-50271 .elementor-element.elementor-element-2f93d70 img {
  aspect-ratio: 5/3;
  object-fit: cover;
  width: 100%;
  height: auto;
  display: block;
  transition: transform .5s ease;
}
/* Customer-story heroes are the one set that does not fit the 5/3 box. All 14
   are 1000x755 (1.325), so cover crops 155px of height — 78px off the top and
   78px off the bottom — and the city name is burned into the artwork at roughly
   rows 655-700. A centred crop therefore lands mid-lettering and the card shows
   the top half of the letters poking up from its bottom edge. Cropping from the
   top instead shows rows 0-600, putting the text fully out of frame with ~55px
   to spare, and the composition (skyline, landmark, town) lives in that region
   anyway.
   Keyed on the FILENAME, not the post id: all 14 are named *-CS-HERO*, verified
   14/14 on 2026-09-11, so any future customer story following the convention is
   covered with no new rule. The `i` flag is belt-and-braces — the pattern is
   uppercase in all 14 today.
   This is a workaround for artwork with text baked into it. The real fix is to
   regenerate those images without the burned-in name, at which point this rule
   becomes harmless rather than necessary. */
.elementor-50271 .elementor-element.elementor-element-2f93d70 img[src*="-CS-HERO" i] {
  object-position: 50% 0;
}
/* The hairline stays on the WIDGET, not on the img: the img scales on hover and
   would carry its own border out of frame with it. The widget does not move. */
.elementor-50271 .elementor-element.elementor-element-2f93d70 {
  overflow: hidden;
  border-radius: 12px 12px 0 0;
  border-bottom: 1px solid var(--e-global-color-6c0b5de);
}
.elementor-50271 .elementor-element.elementor-element-2f93d70:hover img {
  transform: scale(1.06);
}/* End custom CSS */