.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"din-condensed";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"din-condensed";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"aller";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"din-condensed";--e-global-typography-accent-font-weight:400;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#2EA3F2;}.elementor-kit-6 a:hover{color:#1B87D4;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ws-cta-btn */
/* CTA-band buttons: live renders 180x60, 17px/3px-tracking uppercase white on a
   bottom-indigo-to-top-cyan gradient with a trailing download glyph. Elementor's
   button widget has no gradient control, so only the gradient + box metrics live
   here; typography, colour, padding and the icon are widget settings applied by
   build/band-btn-fix.js. Class ws-cta-btn is set on the widget wrapper. */
.ws-cta-btn .elementor-button{
  background-image:linear-gradient(0deg,#423BB6 0%,#2BB9F3 100%);
  min-width:180px;
  line-height:36px;
  justify-content:center;
}
.ws-cta-btn .elementor-button:hover,
.ws-cta-btn .elementor-button:focus{
  background-image:linear-gradient(0deg,#2BB9F3 0%,#423BB6 100%);
}
.ws-cta-btn .elementor-button-icon{font-size:15px;}
@media (max-width:767px){
  .ws-cta-btn .elementor-button{min-width:0;width:100%;}
}
/* end ws-cta-btn */

/* ws-cs-list */
/* /case-studies/ list: live renders the thumbnail at 768px, narrower than
   the text column. Elementor has no image-width control on this skin. */
.ws-cs-list .elementor-post__thumbnail__link{max-width:768px;}
/* end ws-cs-list */

/* ws-carousel-fill (desktop: live's 1180x500 crop) */
@media(min-width:768px){
/* Carousel slides: live renders every slide 1180x500 with the image cropped
   to fill. Width alone is not enough — without a height constraint the image
   drives the slide and heights ranged 643-1450px. aspect-ratio reproduces
   live's 1180:500 shape at whatever width the container happens to be. */
.elementor-image-carousel .swiper-slide img,
.elementor-image-carousel .swiper-slide-image,
.elementor-widget-image-carousel .swiper-slide img{
  width:100%;aspect-ratio:1180/500;height:auto;object-fit:cover;object-position:center;display:block;
}}
/* carousel-fill-mobile: phones get 4:3 so slides are visible, not a letterbox */
@media(max-width:767px){.elementor-image-carousel .swiper-slide img,.elementor-image-carousel .swiper-slide-image{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center}}

/* end ws-carousel-fill */

/* ws-faq-toggle */
/* FAQ: live puts each question in a separated #F7F7F7 panel with a ~26px
   gap. The rebuild had transparent rows butting together. */
.ws-faq-toggle .elementor-toggle-item{
  background:#F7F7F7;border:1px solid #F7F7F7;padding:2px 0;margin-bottom:26px;
}
.ws-faq-toggle .elementor-tab-title{padding:12px 50px 12px 20px;}
.ws-faq-toggle .elementor-tab-content{padding:0 50px 14px 20px;background:#F7F7F7;}
/* end ws-faq-toggle */
/* post-navigation: keep the 62px prev/next names from being clipped */
.elementor-widget-post-navigation .post-navigation__prev--title,
.elementor-widget-post-navigation .post-navigation__next--title{line-height:1.1}

/* home hero H1 mobile: match live's 51px (widget rule loses the cascade) */
@media(max-width:767px){.elementor-21 .elementor-element-3c313ee .elementor-heading-title{font-size:51px !important;line-height:53px !important}}

/* mobile: long bare URLs in old posts must wrap, not overflow */
@media(max-width:767px){.elementor-widget-text-editor{overflow-wrap:anywhere}}

/* post-navigation on mobile: full names at a readable size, like live */
@media(max-width:767px){.elementor-widget-post-navigation .post-navigation__prev--title,.elementor-widget-post-navigation .post-navigation__next--title{font-size:20px !important;line-height:1.2 !important;white-space:normal}}/* End custom CSS */