.elementor-2372 .elementor-element.elementor-element-a7bdd56{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-2372 .elementor-element.elementor-element-b2ada28{padding:0px 0px 10px 0px;}.elementor-2372 .elementor-element.elementor-element-b2ada28 .elementor-heading-title{font-family:var( --e-global-typography-906d09f-font-family ), Sans-serif;font-size:var( --e-global-typography-906d09f-font-size );font-weight:var( --e-global-typography-906d09f-font-weight );color:#FFFFFF;}.elementor-2372 .elementor-element.elementor-element-485c4f2{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-2372 .elementor-element.elementor-element-b4a09b5{--grid-columns:6;--grid-row-gap:2px;--grid-column-gap:2px;}@media(max-width:1366px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-2372 .elementor-element.elementor-element-b2ada28 .elementor-heading-title{font-size:var( --e-global-typography-906d09f-font-size );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-2372 .elementor-element.elementor-element-b2ada28{padding:0px 0px 0px 0px;}.elementor-2372 .elementor-element.elementor-element-b2ada28 .elementor-heading-title{font-size:var( --e-global-typography-906d09f-font-size );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-2372 .elementor-element.elementor-element-b4a09b5{--grid-columns:2;--grid-row-gap:12px;--grid-column-gap:12px;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-2372 .elementor-element.elementor-element-b2ada28 .elementor-heading-title{font-size:var( --e-global-typography-906d09f-font-size );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-2372 .elementor-element.elementor-element-b4a09b5{--grid-columns:1;}}@media(min-width:2400px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-2372 .elementor-element.elementor-element-b2ada28 .elementor-heading-title{font-size:var( --e-global-typography-906d09f-font-size );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}}/* Start custom CSS for loop-grid, class: .elementor-element-b4a09b5 *//* Services panels. The loop item (#377) holds the link, featured-image background, overlay and title;
   this CSS adds only what Elementor cannot: the 01-06 numbers (a counter, so they follow the loop order),
   the panel that grows on hover (init.js moves .active), vertical titles on the narrow panels and the
   caption bar on the open one. */
.elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .elementor-loop-container { counter-reset: service; }
.elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .e-loop-item { counter-increment: service; }
.elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .service-card-title::after { content: counter(service, decimal-leading-zero); color: #E2B85C; font: 600 26px/1.1 "Epilogue", sans-serif; }
.elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .service-card-title .elementor-heading-title { margin: 0; }
.elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .service-panel::before { transition: opacity 400ms ease; }

@media (min-width: 1025px) {
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .elementor-loop-container { display: flex; gap: 2px; }
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .e-loop-item { flex: 1 1 0; min-width: 0; transition: flex-grow 600ms cubic-bezier(0.2, 0.7, 0.2, 1); }
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .e-loop-item.active { flex-grow: 3.2; }

  /* Narrow panels: gold number above a title that reads bottom to top */
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .e-loop-item:not(.active) .service-card-title { flex-direction: column-reverse; align-items: center; gap: 12px; padding: 0 0 24px; }
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .e-loop-item:not(.active) .service-card-title .elementor-heading-title { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; font-size: 18px; }

  /* Open panel: full photo, gold rule on top, caption bar with title then number */
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .e-loop-item.active .service-panel { box-shadow: inset 0 3px 0 #E2B85C; }
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .e-loop-item.active .service-panel::before { opacity: 0; }
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .e-loop-item.active .service-card-title { background: rgba(9, 17, 29, 0.72); }
}

/* Tablet and mobile: stacked panels, title and number side by side on a caption bar */
@media (max-width: 1024px) {
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .service-card-title { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: flex-end; gap: 12px; background: rgba(9, 17, 29, 0.72); padding: 14px 16px; }
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .service-card-title > .elementor-widget { flex: 1 1 auto; width: auto; min-width: 0; }
  .elementor-2372 .elementor-element.elementor-element-b4a09b5#numbered-services-grid .service-card-title::after { flex-shrink: 0; }
}/* End custom CSS */