/* Refine the selected composition; each source retains its own geometry,
   palette, type family, section order and editable native elements. */
body.lf-elementor-native.lf-experience-v1 .elementor-heading-title{ text-wrap:balance; overflow-wrap:break-word; }
body.lf-elementor-native.lf-experience-v1 .lf-el-hero-copy{ max-width:62ch!important; line-height:1.65; }
/* The first customer action is available at first paint, independent of
   entrance observers and optional motion scripts. */
body.lf-elementor-native.lf-experience-v1 .lf-el-hero-copy-wrap :is(.lf-el-kicker,.lf-el-hero-title,.lf-el-hero-copy,.lf-el-actions,.lf-el-button-primary,.lf-el-button-secondary){opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;animation:none!important}
body.lf-elementor-native.lf-experience-v1 .lf-el-hero-world-canvas{
  min-height:clamp(620px,82svh,800px)!important; padding-bottom:32px!important; isolation:isolate;
}
/* Absolutely positioned grid children otherwise use the padded grid area,
   leaving a blank strip above a supposedly full-bleed photograph. */
body.lf-elementor-native.lf-experience-v1 .lf-el-hero-world-canvas>.lf-world-hero-media-canvas{
  position:absolute!important; grid-column:auto!important; grid-row:auto!important; inset:0!important;
  width:100%!important; height:100%!important; padding:0!important;
  opacity:1!important; isolation:isolate; z-index:0;
}
/* Elementor gives container children a positive layer; the scrim must sit
   above those images and below the copy, even when the photo is very bright. */
body.lf-elementor-native.lf-experience-v1 .lf-world-hero-media-canvas:after{
  z-index:3!important;pointer-events:none;
  background:linear-gradient(90deg,var(--lf-photo-veil-start,rgba(6,8,12,.86)) 0%,var(--lf-photo-veil-start,rgba(6,8,12,.86)) 42%,var(--lf-photo-veil-end,rgba(6,8,12,.72)) 100%)!important;
}
body.lf-elementor-native.lf-experience-v1 .lf-world-hero-media-canvas>.elementor-widget-image{z-index:0!important}
body.lf-elementor-native.lf-experience-v1 .lf-world-hero-media-canvas>.elementor-widget-image:only-child{grid-column:1/-1!important;grid-row:1/-1!important}
body.lf-elementor-native.lf-experience-v1 .site-header{background:var(--lf-header-paper,var(--paper))!important}
body.lf-elementor-native.lf-experience-v1 .site-header :is(.site-brand,.brand-words strong,.brand-words small,nav a:not(.top-cta):not(.nav-cta)){
  color:var(--lf-header-ink,var(--ink))!important;
}
body.lf-elementor-native.lf-experience-v1.lf-ref-hero-fullbleed-media .lf-el-hero-world-canvas :is(.lf-el-hero-title,.lf-el-hero-title .elementor-heading-title){
  width:100%!important; max-width:min(100%,24ch)!important;
  font-size:clamp(40px,5.2vw,80px)!important; line-height:1.08!important;
}
body.lf-elementor-native.lf-experience-v1.lf-hero-align-center .lf-el-hero-copy{margin-inline:auto!important}
body.lf-elementor-native.lf-experience-v1 .lf-el-hero-facts.lf-hero-highlights-4{
  display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:clamp(16px,2.4vw,36px)!important;
}
body.lf-elementor-native.lf-experience-v1 .lf-hero-highlights-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.lf-elementor-native.lf-experience-v1 .lf-hero-highlights-1{grid-template-columns:minmax(0,1fr)!important}
body.lf-elementor-native.lf-experience-v1 .lf-el-fact-value .elementor-heading-title{font-size:clamp(16px,1.5vw,21px)!important;line-height:1.4!important;max-width:48ch}
body.lf-experience-v1 .lf-media-credits{padding-block:12px;font-size:12px;line-height:1.6}
body.lf-experience-v1 .lf-media-credits a{color:inherit;text-decoration:underline;text-underline-offset:3px}
/* New documents already store semantic labels. Display them once instead of
   repeating the old pseudo-element fallback for numeric legacy markers. */
body.lf-elementor-native.lf-experience-v1 :is(.lf-el-service-number,.lf-world-service-number) .elementor-heading-title{font:850 10px/1 var(--lf-brain-font,ui-sans-serif,system-ui,sans-serif)!important;letter-spacing:.12em!important;text-transform:uppercase}
body.lf-elementor-native.lf-experience-v1 :is(.lf-el-service-number,.lf-world-service-number) .elementor-heading-title:before{content:none!important;display:none!important}
body.lf-elementor-native.lf-experience-v1 .lf-hero-service-links .lf-el-fact-value .elementor-heading-title{
  font-family:var(--lf-section-font,var(--lf-brain-body-font))!important;
  font-size:clamp(16px,1.5vw,21px)!important; line-height:1.3!important; text-transform:none!important;
}
body.lf-elementor-native.lf-experience-v1 .lf-hero-service-links .lf-el-fact-value a{
  display:inline-flex; align-items:center; min-height:44px; color:inherit; text-decoration-thickness:1px; text-underline-offset:5px;
}
body.lf-elementor-native.lf-experience-v1 :is(.lf-world-inner-page-hero,.lf-world-service-detail-hero) .lf-el-hero-title .elementor-heading-title{
  font-size:clamp(34px,4.6vw,64px)!important; line-height:1.12!important; max-width:24ch!important;
}
/* Match the actual native media-mode classes rather than the old twelve-track
   masthead, which left nested copy in a single narrow track. */
body.lf-elementor-native.lf-experience-v1 .lf-world-inner-page-hero{
  grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important;
  min-height:clamp(380px,58svh,660px);
}
body.lf-elementor-native.lf-experience-v1 .lf-world-inner-page-hero-media-left{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)!important}
body.lf-elementor-native.lf-experience-v1 :is(.lf-world-inner-page-hero-type-led,.lf-world-inner-page-hero-media-wide){grid-template-columns:minmax(0,1fr)!important}
body.lf-elementor-native.lf-experience-v1 .lf-world-inner-page-hero-type-led{min-height:0;padding-block:clamp(80px,8vw,120px)!important}
body.lf-elementor-native.lf-experience-v1 :is(.lf-el-about-copy,.lf-el-contact-copy,.lf-el-faq-answer) p{max-width:68ch}
body.lf-elementor-native.lf-experience-v1 .lf-el-actions .elementor-button{min-height:44px;box-sizing:border-box}
body.lf-experience-v1 :is(a,button,input,select,textarea):focus-visible{outline:3px solid currentColor!important;outline-offset:4px!important}
@media(max-width:767px){
  /* Source desktop grid placements can create implicit tracks after a mobile
     collapse. Keep every native masthead in one real, full-width track. */
  body.lf-elementor-native.lf-experience-v1 main :is(.lf-el-hero,.lf-world-inner-page-hero,.lf-world-service-detail-hero).e-con{grid-template-columns:minmax(0,1fr)!important;padding-inline:20px!important}
  body.lf-elementor-native.lf-experience-v1 main :is(.lf-el-hero,.lf-world-inner-page-hero,.lf-world-service-detail-hero).e-con>:not(.lf-world-hero-media-canvas){grid-column:1/-1!important;grid-row:auto!important;min-width:0!important;width:100%!important;max-width:100%!important}
  body.lf-elementor-native.lf-experience-v1 main :is(.lf-el-hero,.lf-world-inner-page-hero,.lf-world-service-detail-hero).e-con :is(.lf-el-hero-copy-wrap,.lf-world-inner-page-hero-copy){padding-inline:0!important;min-width:0!important;width:100%!important;max-width:100%!important}
  body.lf-elementor-native.lf-experience-v1 main :is(.lf-el-hero,.lf-world-inner-page-hero,.lf-world-service-detail-hero).e-con :is(.lf-el-hero-title,h1){display:block!important;visibility:visible!important;min-width:0!important;width:100%!important;max-width:100%!important}
  body.lf-elementor-native.lf-experience-v1 .lf-world-inner-page-hero{grid-template-columns:minmax(0,1fr)!important;min-height:0}
  body.lf-elementor-native.lf-experience-v1 .lf-world-inner-page-hero>*{grid-column:1!important;grid-row:auto!important}
  body.lf-elementor-native.lf-experience-v1 .lf-el-hero-facts.lf-hero-highlights-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.lf-elementor-native.lf-experience-v1 .lf-el-hero-world-canvas{min-height:0!important;padding-bottom:28px!important}
  body.lf-elementor-native.lf-experience-v1.lf-ref-hero-fullbleed-media .lf-el-hero-world-canvas :is(.lf-el-hero-title,.lf-el-hero-title .elementor-heading-title){font-size:clamp(36px,10vw,44px)!important;max-width:100%!important}
  body.lf-elementor-native.lf-experience-v1 :is(.lf-world-inner-page-hero,.lf-world-service-detail-hero) .lf-el-hero-title .elementor-heading-title{font-size:clamp(32px,9vw,42px)!important}
}
/* Native headings remain in their composition during an accessibility repair. */
body.lf-elementor-native.lf-experience-v1.lf-self-heal-h1 :is(.lf-el-hero,.lf-world-inner-page-hero,.lf-world-service-detail-hero) h1{
  display:block!important;visibility:visible!important;opacity:1!important;
}
