body.lf-self-heal-h1 h1:not(.lf-auto-rendered-title){
  display:none!important;
}
body.lf-self-heal-h1 .lf-auto-rendered-title{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Repair the native hero in place so its headline, imagery and actions remain
   one composition. A detached fallback is reserved for genuinely missing H1s. */
body.lf-elementor-native.lf-self-heal-h1 .lf-el-hero,
body.lf-elementor-native.lf-self-heal-h1 .lf-world-inner-page-hero{
  padding-top:clamp(48px,5vw,76px)!important;
  padding-bottom:clamp(40px,4vw,64px)!important;
  min-height:0!important;
}
body.lf-elementor-native.lf-self-heal-h1 .lf-el-hero-copy-wrap,
body.lf-elementor-native.lf-self-heal-h1 .lf-el-hero-copy-wrap>*{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  min-width:0!important;
}
body.lf-elementor-native.lf-self-heal-h1 .lf-el-hero .lf-el-hero-title,
body.lf-elementor-native.lf-self-heal-h1 .lf-world-inner-page-hero .lf-el-hero-title{
  width:100%!important;
  max-width:18ch!important;
  font-size:clamp(36px,4.8vw,72px)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  text-wrap:balance;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
body.lf-elementor-native.lf-self-heal-h1 .lf-el-hero h1,
body.lf-elementor-native.lf-self-heal-h1 .lf-world-inner-page-hero h1{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
  margin:0!important;
}

/*
 * SiteForge V31 Self-Healing presentation layer.
 *
 * These classes are activated only after QC detects a safe, presentation-only
 * failure. They never change verified business facts or claims.
 */

body.lf-self-heal-v31 .lf-auto-rendered-h1{
  position:relative;
  z-index:3;
  width:min(100% - 44px,1440px);
  margin:0 auto;
  padding:clamp(96px,10vw,150px) 0 clamp(34px,5vw,76px);
}
body.lf-self-heal-v31 .lf-auto-rendered-h1 .lf-el-kicker{
  display:block;
  margin-bottom:14px;
}
body.lf-self-heal-v31 .lf-auto-rendered-h1 h1{
  margin:0;
  max-width:12ch;
  font-family:var(--lf-brain-font,inherit);
  font-size:clamp(54px,7vw,112px);
  line-height:.9;
  letter-spacing:-.06em;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:balance;
}

/* The recovered heading sits outside the original hero. Use the paired
   paper/ink palette instead of inheriting white text from a dark hero. */
body.lf-elementor-native.lf-self-heal-v31 .lf-auto-rendered-h1{
  background:var(--paper,#f4f7fa);
  color:var(--ink,#10212e);
}
body.lf-elementor-native.lf-self-heal-v31 .lf-auto-rendered-h1 .lf-auto-rendered-title,
body.lf-elementor-native.lf-self-heal-v31 .lf-auto-rendered-h1 .lf-el-kicker{
  color:var(--ink,#10212e)!important;
}
body.lf-elementor-native.lf-self-heal-v31 .site-header{
  background:var(--paper,#f4f7fa)!important;
}
body.lf-elementor-native.lf-self-heal-v31 .site-brand,
body.lf-elementor-native.lf-self-heal-v31 .site-header nav a,
body.lf-elementor-native.lf-self-heal-v31 .brand-words small{
  color:var(--ink,#10212e)!important;
}

body.lf-self-heal-type-1 .lf-el-contact{
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;
  gap:clamp(28px,5vw,80px)!important;
}
body.lf-self-heal-type-1 .lf-el-contact-title,
body.lf-self-heal-type-1 .lf-el-section-title,
body.lf-self-heal-type-1 .lf-el-spotlight-title,
body.lf-self-heal-type-1 .lf-el-cta-band-title{
  width:100%!important;
  max-width:min(100%,18ch)!important;
  font-size:clamp(36px,4.25vw,66px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
body.lf-self-heal-type-1 .lf-world-services>.lf-el-intro>.lf-el-section-title{
  max-width:min(100%,1100px)!important;
}

/* Hero widgets were missing from the typography repair. Keep the chosen font
   and art direction, but give long headings enough width at every breakpoint.
   Specificity matches the world-class/Second Brain hero rules. */
body.lf-elementor-native.lf-self-heal-v31.lf-self-heal-type-1 .lf-el-hero-title,
body.lf-elementor-native.lf-self-heal-v31.lf-self-heal-type-2 .lf-el-hero-title{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  font-size:clamp(34px,4.8vw,72px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
body.lf-elementor-native.lf-self-heal-v31.lf-self-heal-type-2 .lf-el-hero-title{
  font-size:clamp(32px,4vw,60px)!important;
}
body.lf-elementor-native.lf-self-heal-v31.lf-self-heal-type-1 .lf-el-hero-title .elementor-heading-title,
body.lf-elementor-native.lf-self-heal-v31.lf-self-heal-type-2 .lf-el-hero-title .elementor-heading-title{
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Strong second pass: favour readability over an overly narrow art-directed
   column if the first repair still fails. */
body.lf-self-heal-type-2 .lf-el-contact{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.7fr)!important;
}
body.lf-self-heal-type-2 .lf-el-contact-copy-wrap{
  max-width:none!important;
  width:100%!important;
}
body.lf-self-heal-type-2 .lf-el-contact-title,
body.lf-self-heal-type-2 .lf-el-section-title,
body.lf-self-heal-type-2 .lf-el-spotlight-title,
body.lf-self-heal-type-2 .lf-el-cta-band-title,
body.lf-self-heal-type-2 .lf-world-service-title{
  width:100%!important;
  max-width:min(100%,22ch)!important;
  font-size:clamp(32px,3.45vw,56px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
body.lf-self-heal-type-2 .lf-world-services>.lf-el-intro{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
body.lf-self-heal-type-2 .lf-world-services>.lf-el-intro>.lf-el-section-title{
  grid-column:1/-1!important;
  max-width:100%!important;
}
body.lf-self-heal-type-2 .lf-world-services>.lf-el-intro>.lf-el-section-copy{
  grid-column:7/-1!important;
}

@media(max-width:900px){
  body.lf-elementor-native.lf-self-heal-v31.lf-self-heal-type-1 .lf-el-hero,
  body.lf-elementor-native.lf-self-heal-v31.lf-self-heal-type-2 .lf-el-hero{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.lf-elementor-native.lf-self-heal-v31.lf-self-heal-type-1 .lf-el-hero-copy-wrap,
  body.lf-elementor-native.lf-self-heal-v31.lf-self-heal-type-2 .lf-el-hero-copy-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1/-1!important;
  }
  body.lf-self-heal-type-1 .lf-el-contact,
  body.lf-self-heal-type-2 .lf-el-contact{
    grid-template-columns:1fr!important;
  }
  body.lf-self-heal-type-1 .lf-el-contact-title,
  body.lf-self-heal-type-2 .lf-el-contact-title{
    max-width:100%!important;
  }
  body.lf-self-heal-type-2 .lf-world-services>.lf-el-intro{
    grid-template-columns:1fr!important;
  }
  body.lf-self-heal-type-2 .lf-world-services>.lf-el-intro>*{
    grid-column:1!important;
  }
}

@media(max-width:767px){
  body.lf-self-heal-v31 .lf-auto-rendered-h1{
    width:min(100% - 32px,100%);
    padding-top:92px;
  }
  body.lf-self-heal-v31 .lf-auto-rendered-h1 h1{
    max-width:100%;
    font-size:clamp(44px,13vw,72px);
  }
}
