/* Shared action motion; native colour variants stay intact. */
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-action.sppb-btn{position:relative!important;display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:48px!important;padding:14px 48px 14px 28px!important;border-radius:26px!important;line-height:1.3!important;box-shadow:none!important;transform:none!important;animation:none!important;transition:padding .38s ease,background-color .3s ease,color .3s ease!important;}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-action.sppb-btn::before{content:none!important;display:none!important;animation:none!important;box-shadow:none!important;}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-action.sppb-btn::after{content:""!important;display:block!important;position:absolute!important;right:20px!important;left:auto!important;top:50%!important;bottom:auto!important;width:20px!important;max-width:20px!important;height:18px!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:currentColor!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M2 10h19M14 3l7 7-7 7' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20'%3E%3Cpath d='M2 10h19M14 3l7 7-7 7' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;opacity:0!important;transform:translate(-9px,-50%)!important;visibility:visible!important;animation:none!important;transition:opacity .38s ease,transform .38s ease!important;}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-action.sppb-btn:is(:hover,:focus-visible){padding-left:22px!important;padding-right:54px!important;box-shadow:0 7px 20px #0b304018!important;}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-action.sppb-btn:is(:hover,:focus-visible)::after{opacity:1!important;transform:translate(0,-50%)!important;}

/* One visible ellipse, above backgrounds and below native content. */
html body .mg952-hero-managed .mg952-hero-light,#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-hero-managed .mg952-hero-light{isolation:isolate!important;overflow:visible!important;}
html body .mg952-hero-managed .mg952-hero-light:not(.mg-p7-hero-art),#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-hero-managed .mg952-hero-light:not(.mg-p7-hero-art){position:relative!important;}
html body .mg952-hero-managed .mg952-hero-light::after,#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-hero-managed .mg952-hero-light::after{content:""!important;display:block!important;position:absolute!important;inset:-14% -18%!important;width:auto!important;height:auto!important;margin:0!important;border:0!important;border-radius:50%!important;z-index:0!important;pointer-events:none!important;background:radial-gradient(ellipse closest-side at 50% 50%,rgba(174,225,250,.46) 0%,rgba(98,188,231,.25) 34%,rgba(98,188,231,.07) 66%,rgba(98,188,231,0) 100%)!important;clip-path:ellipse(50% 50% at 50% 50%)!important;mask:none!important;-webkit-mask:none!important;box-shadow:none!important;opacity:0;transform:scale(.97);animation:none!important;}
html body .mg952-hero-managed .mg952-hero-light:not(.mg-p7-hero-art)>:is(.sppb-addon-content,.sppb-addon-title,.sppb-column-addons,svg),#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-hero-managed .mg952-hero-light:not(.mg-p7-hero-art)>:is(.sppb-addon-content,.sppb-addon-title,.sppb-column-addons,svg){position:relative!important;z-index:1!important;}
html body .mg952-hero-managed .mg952-hero-light.mg952-hero-playing::after,#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-hero-managed .mg952-hero-light.mg952-hero-playing::after{animation:mg952HeroLight 3200ms 120ms cubic-bezier(.22,.61,.36,1) 1!important;}
html body .mg940-hero.mg952-hero-managed::after,#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg940-hero.mg952-hero-managed::after{animation:none!important;opacity:0!important;}
@keyframes mg952HeroLight{0%,100%{opacity:0;transform:scale(.97)}38%{opacity:.82;transform:scale(1)}68%{opacity:.46;transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){
html body .mg952-hero-managed .mg952-hero-light::after,#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-hero-managed .mg952-hero-light::after,html body .mg952-hero-managed .mg952-hero-light.mg952-hero-playing::after,#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-hero-managed .mg952-hero-light.mg952-hero-playing::after{animation:none!important;opacity:0!important;transform:none!important;}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-action.sppb-btn,#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg952-action.sppb-btn::after{transition:none!important;animation:none!important;}
}

/* Keep the component artwork and its SVG in their original absolute layout. */
html body .mg952-hero-managed .mg-p7-hero-art.mg952-hero-light{position:absolute!important;}
html body .mg952-hero-managed .mg-p7-hero-art.mg952-hero-light>svg{position:absolute!important;z-index:1!important;}

/* 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;}
}

/* 9.7.2: the established common subpage backdrop, in one central definition.
 * Section decoration is static; the descendant light pulse remains independent.
 * The native home hero is outside this scope.
 */
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder section.mg-sub-hero[class],
html body #sp-title#sp-title .mg-component-hero.mg-p7-hero[class],
html body #sp-page-title#sp-page-title .mg-component-hero.mg-p7-hero[class],
html body .mg-component-hero.mg-p7-hero[class]{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  background:linear-gradient(112deg,#071b31 0%,#0c2d4c 55%,#12466c 100%)!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder section.mg-sub-hero[class]::before,
html body .mg-component-hero.mg-p7-hero[class]::before{
  content:none!important;display:none!important;background:none!important;box-shadow:none!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder section.mg-sub-hero[class]::after,
html body .mg-component-hero.mg-p7-hero[class]::after{
  content:""!important;display:block!important;position:absolute!important;z-index:0!important;
  width:600px!important;height:600px!important;right:-160px!important;left:auto!important;
  top:-210px!important;bottom:auto!important;inset-inline:auto -160px!important;
  margin:0!important;padding:0!important;box-sizing:border-box!important;
  border:1px solid #a6d9ef21!important;border-radius:50%!important;background:none!important;
  box-shadow:0 0 0 58px #a6d9ef09,0 0 0 116px #a6d9ef05!important;
  opacity:1!important;transform:none!important;animation:none!important;pointer-events:none!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder section.mg-sub-hero[class]>.sppb-row-container,
html body .mg-component-hero.mg-p7-hero[class]>.container{
  position:relative!important;z-index:1!important;
}

/* Optical balancing for the fine original BSI wordmark, without altering its SVG. */
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero .mg-sub-brand img[src*="bsi-full-transparent-white.svg"]{
  width:270px!important;height:auto!important;max-width:100%!important;max-height:none!important;opacity:1!important;
}

/* One illustration family: matching canvas, fine contours and translucent blue fills. */
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg940-hero .mg940-hero-icon:has(.mg971-art-image){
  width:100%!important;text-align:center!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg940-hero .mg940-hero-icon .sppb-addon-single-image-container:has(.mg971-art-image){
  display:flex!important;justify-content:center!important;
}
#sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg940-hero .mg940-hero-icon img.mg971-art-image{
  display:block!important;width:300px!important;height:auto!important;max-width:100%!important;
  filter:none!important;opacity:1!important;object-fit:contain!important;margin:0 auto!important;
}
html body .mg-component-hero.mg-p7-hero .mg-p7-hero-art.mg971-component-art{
  width:300px!important;height:187.5px!important;border:0!important;border-radius:0!important;
  background:none!important;box-shadow:none!important;backdrop-filter:none!important;
}
html body .mg-component-hero.mg-p7-hero .mg-p7-hero-art.mg971-component-art::before{
  content:none!important;display:none!important;
}
html body .mg-component-hero.mg-p7-hero .mg-p7-hero-art.mg971-component-art>img{
  position:relative!important;z-index:1!important;display:block!important;width:100%!important;
  height:100%!important;max-width:100%!important;object-fit:contain!important;filter:none!important;
}
@media(max-width:1199px){
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero .mg-sub-brand img[src*="bsi-full-transparent-white.svg"]{width:240px!important;}
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg940-hero .mg940-hero-icon img.mg971-art-image{width:240px!important;}
  html body .mg-component-hero.mg-p7-hero .mg-p7-hero-art.mg971-component-art{width:240px!important;height:150px!important;}
}
@media(max-width:767px){
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg-sub-hero .mg-sub-brand img[src*="bsi-full-transparent-white.svg"]{width:220px!important;}
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg940-hero .mg940-hero-art:has(.mg971-art-image){padding:0!important;}
  #sp-page-builder#sp-page-builder#sp-page-builder#sp-page-builder .mg940-hero .mg940-hero-icon img.mg971-art-image{
    width:100%!important;height:clamp(50px,18.5vw,72px)!important;object-fit:cover!important;
  }
}

/* MG Executive Premium Logo 1.3.0 - isolated header logo, no typographic transitions.
   All visible type is SVG outlines. No font or letterspacing changes possible. */
.mg-executive-link {
  display:inline-block;
  position:relative;
  vertical-align:middle;
  line-height:0;
  text-decoration:none !important;
  isolation:isolate;
  overflow:visible;
}
#sp-header #sp-logo .logo a svg.mg-executive-svg,
#sp-header #sp-logo svg.mg-executive-svg,
#sp-header .logo a svg.mg-executive-svg,
.mg-executive-link svg.mg-executive-svg {
  width:var(--mg-exec-normal-width,450px) !important;
  height:auto !important;
  max-height:none !important;
  max-width:calc(100vw - 32px) !important;
  display:inline-block;
  vertical-align:middle;
  overflow:visible;
  box-sizing:border-box;
  transform:none !important;
  transition:none !important; /* prevents resizing between initial and settled render */
  backface-visibility:hidden;
}
#sp-header.header-sticky .mg-executive-svg,
#sp-header.is-sticky .mg-executive-svg,
#sp-header.sticky-header .mg-executive-svg,
#sp-header.header-sticky-out .mg-executive-svg,
.header-sticky .mg-executive-svg,
.header-is-sticky .mg-executive-svg,
.sticky-header .mg-executive-svg,
.is-sticky .mg-executive-svg,
.has-sticky-header .mg-executive-svg {
  width:var(--mg-exec-sticky-width,420px) !important;
}
/* Executive Wave v1.3.0 – one 1900 ms forward-and-reverse sequence.
   NEVER animate the wordmark, tagline, SVG root, header, or link box. */
.mg-executive-svg .mgexec-wordmark-static,
.mg-executive-svg .mgexec-tagline-static {
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  animation:none !important;
  transition:none !important;
}
.mg-executive-svg .mg-logo-dot {
  transform-box:fill-box;
  transform-origin:center center;
  transform:scale(1);
  filter:none;
  opacity:1;
  animation:none;
  transition:none;
}
/* Timing keyframes at exactly 1900ms:
   grow light 120-370, medium 300-550, dark 480-730
   all at full size 730-990
   return dark 990-1280, medium 1200-1490, light 1410-1700.
   No position, filter, glow, or opacity changes. */
.mg-executive-svg.mg-exec-wave-active .mg-logo-dot-1 {
  animation:mgexec-wave-light var(--mg-exec-wave-duration,1900ms) linear both;
}
.mg-executive-svg.mg-exec-wave-active .mg-logo-dot-2 {
  animation:mgexec-wave-medium var(--mg-exec-wave-duration,1900ms) linear both;
}
.mg-executive-svg.mg-exec-wave-active .mg-logo-dot-3 {
  animation:mgexec-wave-dark var(--mg-exec-wave-duration,1900ms) linear both;
}
@keyframes mgexec-wave-light {
   0%     {transform:scale(1)}
   6.316% {transform:scale(1); animation-timing-function:cubic-bezier(.25,.08,.25,1)}
  19.474% {transform:scale(1.115)}
  74.211% {transform:scale(1.115); animation-timing-function:cubic-bezier(.3,0,.3,1)}
  89.474% {transform:scale(1)}
  100%   {transform:scale(1)}
}
@keyframes mgexec-wave-medium {
   0%     {transform:scale(1)}
  15.789% {transform:scale(1); animation-timing-function:cubic-bezier(.25,.08,.25,1)}
  28.947% {transform:scale(1.115)}
  63.158% {transform:scale(1.115); animation-timing-function:cubic-bezier(.3,0,.3,1)}
  78.421% {transform:scale(1)}
  100%   {transform:scale(1)}
}
@keyframes mgexec-wave-dark {
   0%     {transform:scale(1)}
  25.263% {transform:scale(1); animation-timing-function:cubic-bezier(.25,.08,.25,1)}
  38.421% {transform:scale(1.115)}
  52.105% {transform:scale(1.115); animation-timing-function:cubic-bezier(.3,0,.3,1)}
  67.368% {transform:scale(1)}
  100%   {transform:scale(1)}
}
.mg-executive-link:focus-visible {
  outline:2px solid #00659F !important;
  outline-offset:5px;
  border-radius:3px;
}
@media (min-width:768px) and (max-width:1199px) {
  #sp-header #sp-logo .logo a svg.mg-executive-svg,
  #sp-header #sp-logo svg.mg-executive-svg,
  #sp-header .logo a svg.mg-executive-svg,
  .mg-executive-link svg.mg-executive-svg {
    width:min(var(--mg-exec-tablet-width,375px),calc(100vw - 32px)) !important;
  }
}
@media (max-width:767px) {
  #sp-header #sp-logo .logo a svg.mg-executive-svg,
  #sp-header #sp-logo svg.mg-executive-svg,
  #sp-header .logo a svg.mg-executive-svg,
  .mg-executive-link svg.mg-executive-svg {
    width:min(var(--mg-exec-mobile-width,328px),calc(100vw - 32px)) !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .mg-executive-link .mg-executive-svg *,
  .mg-executive-link:hover .mg-executive-svg * {
    animation:none !important;
    transition:none !important;
    transform:none !important;
    filter:none !important;
    opacity:1 !important;
  }
}
