/* 9.7.0: common subpage geometry, independent of the shared motion engine.
 * Minimum heights allow future content to grow; no fixed heights or text clipping.
 * The home composition deliberately has no selector in this file.
 */
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero{
  display:flex!important;align-items:center!important;
  padding:44px 0!important;min-height:330px!important;height:auto!important;box-sizing:border-box!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero>.sppb-row-container{
  display:flex!important;align-items:center!important;box-sizing:border-box!important;
  width:calc(100% - 64px)!important;max-width:1200px!important;min-height:0!important;
  height:auto!important;padding:0!important;margin:0 auto!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero>.sppb-row-container>.sppb-row{
  flex:1 1 auto!important;min-width:0!important;min-height:0!important;align-items:center!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero .sppb-addon-wrapper{
  margin-top:0!important;margin-bottom:0!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero :is(.mg-sub-kicker,.mg-sub-h1,.mg-sub-intro,.mg940-kicker,.mg940-h1){
  margin-top:0!important;margin-bottom:0!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero .mg-sub-brand,
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero .mg-sub-brand :is(.sppb-addon-content,.sppb-addon-single-image-container,img){
  max-width:100%!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero h1{
  font-size:52px!important;line-height:1.12!important;margin:0 0 14px!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero :is(.mg-sub-kicker,.mg940-kicker) .sppb-addon-title{
  font-size:14px!important;line-height:1.4!important;margin:0 0 16px!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero .mg-sub-intro :is(.sppb-addon-content,p){
  font-size:20px!important;line-height:1.5!important;margin:0!important;
}

/* Blog and article headers use the same geometry around their native component.
 * The absolutely positioned artwork must never contribute to the text height.
 */
html body .mg-component-hero.mg-p7-hero{
  display:flex!important;align-items:center!important;box-sizing:border-box!important;
  min-height:330px!important;height:auto!important;padding:44px 0!important;
}
html body .mg-component-hero.mg-p7-hero>.container{
  box-sizing:border-box!important;width:calc(100% - 64px)!important;max-width:1200px!important;
  min-height:0!important;height:auto!important;margin:0 auto!important;padding:0 390px 0 22px!important;
}
html body .mg-component-hero.mg-p7-hero .mg-component-title{
  font-size:52px!important;line-height:1.12!important;margin:0 0 14px!important;
}
html body .mg-component-hero.mg-p7-hero .mg-component-kicker{
  font-size:14px!important;line-height:1.4!important;margin:0 0 16px!important;
}
html body .mg-component-hero.mg-p7-hero .mg-component-intro{
  font-size:20px!important;line-height:1.5!important;margin:0!important;
}
html body .mg-component-hero.mg-p7-hero .mg-p7-hero-art{
  position:absolute!important;top:50%!important;right:max(32px,calc((100% - 1200px)/2))!important;
  transform:translateY(-50%)!important;
}

/* Tablets keep a balanced minimum, with content-driven growth for long titles. */
@media(max-width:1199px){
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero{
    min-height:280px!important;padding:36px 0!important;
  }
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero h1,
  html body .mg-component-hero.mg-p7-hero .mg-component-title{
    font-size:clamp(34px,4.2vw,48px)!important;
  }
  html body .mg-component-hero.mg-p7-hero{min-height:280px!important;padding:36px 0!important;}
  html body .mg-component-hero.mg-p7-hero>.container{padding-right:290px!important;}
  html body .mg-component-hero.mg-p7-hero .mg-p7-hero-art{width:240px!important;height:154px!important;}
}

/* Small screens have one natural text block, with no reserved title line. */
@media(max-width:767px){
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero{
    min-height:0!important;padding:30px 0!important;
  }
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero>.sppb-row-container{
    width:calc(100% - 32px)!important;
  }
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero h1,
  html body .mg-component-hero.mg-p7-hero .mg-component-title{
    font-size:clamp(30px,8.6vw,40px)!important;line-height:1.15!important;
    hyphens:auto!important;overflow-wrap:anywhere!important;
  }
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero .mg-sub-intro :is(.sppb-addon-content,p),
  html body .mg-component-hero.mg-p7-hero .mg-component-intro{
    font-size:18px!important;line-height:1.5!important;
  }
  html body .mg-component-hero.mg-p7-hero{min-height:0!important;padding:30px 0!important;}
  html body .mg-component-hero.mg-p7-hero>.container{
    width:calc(100% - 32px)!important;padding:0 0 0 17px!important;
  }
  html body .mg-component-hero.mg-p7-hero .mg-p7-hero-art{display:none!important;}
}
