.elementor-149 .elementor-element.elementor-element-5feeb47{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-149 .elementor-element.elementor-element-baCase1{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-149 .elementor-element.elementor-element-baC1Body{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-149 .elementor-element.elementor-element-baC1Cols{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC1Col1{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC1Col2{--display:flex;}.elementor-149 .elementor-element.elementor-element-baCase2{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC2Body{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC2Cols{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC2Col1{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC2Col2{--display:flex;}.elementor-149 .elementor-element.elementor-element-baCase3{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC3Body{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC3Cols{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC3Col1{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC3Col2{--display:flex;}.elementor-149 .elementor-element.elementor-element-baCase4{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC4Body{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC4Cols{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC4Col1{--display:flex;}.elementor-149 .elementor-element.elementor-element-baC4Col2{--display:flex;}.elementor-149 .elementor-element.elementor-element-8098b26{--display:flex;}.elementor-149 .elementor-element.elementor-element-baOfferFig{--display:flex;}.elementor-149 .elementor-element.elementor-element-baOfferPanel{--display:flex;}.elementor-149 .elementor-element.elementor-element-baOfferIn{--display:flex;}.elementor-149 .elementor-element.elementor-element-baOfferRule{--display:flex;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-149 .elementor-element.elementor-element-baOfferBtn .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-149 .elementor-element.elementor-element-8a50660{--display:flex;}.elementor-149 .elementor-element.elementor-element-baQuizIn{--display:flex;}.elementor-149 .elementor-element.elementor-element-baQuizTxt{--display:flex;}.elementor-149 .elementor-element.elementor-element-baQuizBtn .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-149 .elementor-element.elementor-element-e8b0d37{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}}/* Start custom CSS */*, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 150px; }
  body { margin: 0; font-family: Raleway, Helvetica, Arial, sans-serif; color: #0D4E6A; background: #fff; text-wrap: pretty; }
  h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote { margin: 0; }
  ul { padding: 0; list-style: none; }
  img, video, iframe { display: block; max-width: 100%; }
  a { color: inherit; text-decoration: none; }
  a:hover { color: #0D4E6A; }
  .glo-inv a:hover { color: #FFE083; }
  button { font: inherit; }

  /* Kit-proof typography: WordPress/Elementor theme styles target bare a / button from a
     class-scoped body.elementor-page-149 (.elementor-kit-N a), which outweighs `body a` on specificity.
     These need !important to win; the button classes then re-assert their own sizes. */
  body a { font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; letter-spacing: inherit !important; font-family: inherit !important; }
  body .pill { font-size: 13px !important; line-height: 1.2 !important; letter-spacing: 0.5px !important; font-weight: 600 !important; }
  body .ba-offer__btn { font-size: 16px !important; line-height: 1.2 !important; letter-spacing: 0.9px !important; font-weight: 500 !important; }
  body .ba-quiz__btn { font-size: 18px !important; line-height: 1.2 !important; letter-spacing: 0.6px !important; font-weight: 500 !important; }
  body .ba-hero__nav, body .ba-hero__dot { font-size: 0 !important; }

  /* ---------------- scroll reveal ---------------- */
  .rv { opacity: 0; transform: translateY(26px); transition: opacity .85s cubic-bezier(.22,1,.3,1), transform .85s cubic-bezier(.22,1,.3,1); will-change: opacity, transform; }
  .rv.is-in { opacity: 1; transform: none; }
  .rv-d1 { transition-delay: .09s; }
  .rv-d2 { transition-delay: .18s; }
  @media (prefers-reduced-motion: reduce) {
    .rv, .rv-d1, .rv-d2 { opacity: 1; transform: none; transition: none; }
  }

  /* ---------------- 1. hero + carousel ---------------- */
  .ba-hero { position: relative; isolation: isolate; overflow: hidden; padding: 62px 0 30px; background: #E3E6E7; }
  /* one plate per slide, crossfaded with the slide it belongs to */
  .ba-hero__bg { position: absolute; inset: 0; z-index: -2; background-position: 50% 46%; background-size: cover; background-repeat: no-repeat; opacity: 0; transition: opacity .9s cubic-bezier(.22,1,.3,1); }
  .ba-hero__bg.is-on { opacity: 1; }
  .ba-hero__bg--1 { background-image: url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/ba-hero-bg1-scaled.jpg'); }
  .ba-hero__bg--2 { background-image: url('https://i.ytimg.com/vi/l4v7RyBmJCY/sddefault.jpg'); background-position: 50% 54%; }
  .ba-hero__wash { position: absolute; inset: 0; z-index: -1; transition: background .9s cubic-bezier(.22,1,.3,1); background: linear-gradient(180deg, rgba(255,251,241,0.90) 0%, rgba(248,244,235,0.80) 24%, rgba(233,236,237,0.76) 62%, rgba(226,230,232,0.80) 100%); }
  .ba-hero[data-slide="1"] .ba-hero__wash { background: linear-gradient(180deg, rgba(23,95,124,0.74) 0%, rgba(26,102,132,0.68) 40%, rgba(31,110,140,0.72) 100%); }
  .ba-hero__h { max-width: 20ch; margin: 0 auto; text-align: center; font-size: clamp(30px, 3.3vw, 44px); font-weight: 500; line-height: 1.2; letter-spacing: -0.4px; color: #0D4E6A; transition: color .9s cubic-bezier(.22,1,.3,1); }
  .ba-hero[data-slide="1"] .ba-hero__h, .ba-hero[data-slide="1"] .ba-hero__cap, .ba-hero[data-slide="1"] .ba-hero__nav { color: #fff; }
  .ba-hero[data-slide="1"] .ba-hero__dot { background: #fff; }
  .ba-hero__stage { position: relative; margin-top: 42px; padding-inline: clamp(58px, 7vw, 100px); }
  .ba-hero__viewport { max-width: 638px; margin-inline: auto; }
  /* slides are stacked, so the section height is the tallest one and nothing jumps */
  .ba-hero__track { display: grid; }
  .ba-hero__slide { grid-area: 1 / 1; min-width: 0; opacity: 0; visibility: hidden; transform: scale(.994); transition: opacity .85s cubic-bezier(.22,1,.3,1), transform .85s cubic-bezier(.22,1,.3,1), visibility .85s; }
  .ba-hero__slide.is-on { opacity: 1; visibility: visible; transform: none; }
  @media (prefers-reduced-motion: reduce) {
    .ba-hero__bg, .ba-hero__wash, .ba-hero__slide, .ba-hero__h { transition: none; }
  }
  .ba-hero__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #0B2C3C; overflow: hidden; }
  .ba-hero__frame video, .ba-hero__frame iframe { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; border: 0; object-fit: cover; background: #0B2C3C; }
  .ba-hero__frame img { width: 100%; height: 100%; object-fit: cover; background: #0B2C3C; }
  /* the whole frame is the hit target; the gold pill is drawn at its centre */
  .ba-hero__play { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; }
  .ba-hero__play::before { content: ""; width: 58px; height: 58px; border-radius: 999px; background: rgba(255,224,131,0.94); transition: transform .3s cubic-bezier(.22,1,.3,1), background .3s cubic-bezier(.22,1,.3,1); }
  .ba-hero__play::after { content: ""; position: absolute; margin-left: 4px; border-left: 14px solid #0D4E6A; border-top: 9px solid transparent; border-bottom: 9px solid transparent; }
  .ba-hero__play:hover::before { background: #FFE083; transform: scale(1.06); }
  .ba-hero__play:focus-visible { outline: 3px solid #FFE083; outline-offset: -6px; }
  /* the kit styles bare `button` (incl. a red hover fill) and the hit target spans the
     whole frame, so the hover paint has to be forced off; the pill keeps its own colour */
  body .ba-hero__play, body .ba-hero__play:hover, body .ba-hero__play:focus, body .ba-hero__play:active { background: transparent !important; background-color: transparent !important; border: 0 !important; box-shadow: none !important; color: inherit !important; }
  body .ba-hero__play::before { background: rgba(255,224,131,0.94) !important; }
  body .ba-hero__play:hover::before { background: #FFE083 !important; }
  .ba-hero__frame.is-playing .ba-hero__play { display: none; }
  .ba-hero__nav { position: absolute; top: 168px; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: #0D4E6A; cursor: pointer; display: grid; place-items: center; transition: transform .18s cubic-bezier(.4,0,.2,1), opacity .18s cubic-bezier(.4,0,.2,1); }
  .ba-hero__nav:hover { transform: scale(1.12); }
  .ba-hero__nav:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  .ba-hero__nav--prev { left: clamp(6px, 1.4vw, 26px); }
  .ba-hero__nav--next { right: clamp(6px, 1.4vw, 26px); }
  .ba-hero__cap { min-height: 96px; max-width: 810px; margin: 26px auto 0; text-align: center; font-size: clamp(15px, 1.35vw, 19px); font-weight: 400; line-height: 1.42; color: #0D4E6A; transition: color .9s cubic-bezier(.22,1,.3,1); }
  .ba-hero__dots { margin-top: 8px; display: flex; justify-content: center; gap: 12px; }
  .ba-hero__dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #0D4E6A; opacity: .32; cursor: pointer; transition: opacity .18s cubic-bezier(.4,0,.2,1), transform .18s cubic-bezier(.4,0,.2,1); }
  .ba-hero__dot:hover { opacity: .6; }
  .ba-hero__dot[aria-selected="true"] { opacity: 1; transform: scale(1.16); }
  .ba-hero__dot:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  /* carousel chrome only exists when there is more than one slide to move between */
  .ba-hero__stage[data-single] .ba-hero__nav, .ba-hero__stage[data-single] .ba-hero__dots { display: none; }
  .ba-hero__stage[data-single] .ba-hero__cap { min-height: 0; }
  @media (max-width: 767px) { .ba-hero__nav { top: auto; bottom: -6px; } .ba-hero__stage { padding-inline: 18px; } }

  /* ---------------- 2. case studies ---------------- */
  .ba-case__shot { width: 100%; height: auto; }
  .ba-case__body { max-width: 1440px; margin-inline: auto; padding: 66px 24px 96px; }
  .ba-case__quote { max-width: 26ch; margin: 0 auto; text-align: center; font-size: clamp(23px, 2.3vw, 32px); font-style: italic; font-weight: 700; line-height: 1.3; letter-spacing: -0.3px; color: #0D4E6A; }
  .ba-case__sub { margin: 14px auto 0; text-align: center; font-size: clamp(17px, 1.5vw, 21px); font-weight: 400; line-height: 1.35; color: #0D4E6A; }
  .ba-case__cols { margin-top: 46px; display: flex; flex-wrap: wrap; gap: 26px 60px; }
  .ba-case__col { flex: 1 1 380px; min-width: 280px; max-width: 690px; }
  .ba-case__label { font-size: 15px; font-weight: 700; line-height: 1.4; color: #0D4E6A; }
  .ba-case__p { margin-top: 14px; font-size: 15px; font-weight: 400; line-height: 1.45; color: #0D4E6A; }
  @media (max-width: 767px) { .ba-case__body { padding: 42px 18px 56px; } .ba-case__cols { margin-top: 30px; } }

  /* ---------------- 3. offer band ---------------- */
  .ba-offer { display: flex; flex-wrap: wrap; min-height: 644px; }
  .ba-offer__figure { flex: 0 0 33.33%; min-width: 0; position: relative; isolation: isolate; overflow: hidden; background: #0D4E6A; padding: 6px 0 6px 6px; }
  /* the plate sits under a flat teal duotone wash, inset from the band's navy edge */
  .ba-offer__figure::after { content: ""; position: absolute; inset: 6px 0 6px 6px; background: rgba(30,92,122,0.62); mix-blend-mode: multiply; pointer-events: none; }
  .ba-offer__figure img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 34%; filter: saturate(0.72); }
  .ba-offer__panel { position: relative; isolation: isolate; overflow: hidden; flex: 1 1 66.66%; min-width: 300px; display: flex; align-items: center; background: #E9EAEA url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/ba-offer-bg.jpg') 50% 40% / cover no-repeat; }
  .ba-offer__panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(244,245,245,0.93); }
  .ba-offer__inner { position: relative; z-index: 1; padding: 74px clamp(24px, 5vw, 96px) 74px clamp(24px, 12vw, 172px); }
  .ba-offer__eyebrow { font-size: clamp(19px, 1.7vw, 23px); font-weight: 400; line-height: 1.3; color: #0D4E6A; }
  .ba-offer__price { margin-top: 34px; font-size: clamp(34px, 4.2vw, 58px); font-weight: 800; line-height: 1.05; letter-spacing: -1.2px; color: #0D4E6A; }
  .ba-offer__terms { margin-top: 30px; font-size: 15px; font-weight: 400; line-height: 1.4; color: #0D4E6A; }
  .ba-offer__rule { width: 88px; height: 1px; margin-top: 14px; background: rgba(13,78,106,0.55); }
  .ba-offer__p { max-width: 44ch; margin-top: 22px; font-size: clamp(16px, 1.35vw, 19px); font-weight: 400; line-height: 1.9; color: #0D4E6A; }
  .ba-offer__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 34px; min-width: 352px; padding: 17px 30px; border-radius: 0; background: #0D4E6A; color: #fff; font-size: 16px; font-weight: 500; letter-spacing: 0.9px; transition: background .28s cubic-bezier(.22,1,.3,1), transform .28s cubic-bezier(.22,1,.3,1), box-shadow .28s cubic-bezier(.22,1,.3,1); }
  .ba-offer__btn:hover { background: #0A3D54; color: #fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(13,78,106,0.30); }
  .ba-offer__btn:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  .ba-offer__fine { margin-top: 44px; font-size: 12.5px; font-weight: 700; line-height: 1.4; color: #0D4E6A; }
  @media (max-width: 900px) { .ba-offer { min-height: 0; } .ba-offer__figure { flex: 1 1 100%; height: 320px; padding: 6px 6px 0; } .ba-offer__figure::after { inset: 6px 6px 0; } .ba-offer__panel { flex: 1 1 100%; } .ba-offer__inner { padding: 48px 24px; } .ba-offer__btn { min-width: 0; width: 100%; } }

  /* ---------------- 4. gold quiz band ---------------- */
  .ba-quiz { position: relative; isolation: isolate; overflow: hidden; background: #FFE083 url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/ba-quiz-bg.jpg') 50% 38% / cover no-repeat; }
  /* the brand's translucent gold over the photo, as on the footer's Submit */
  .ba-quiz::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255,224,131,0.92); }
  .ba-quiz__inner { position: relative; z-index: 1; max-width: 1410px; margin-inline: auto; padding: 46px clamp(24px, 4.6vw, 66px); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 26px 40px; }
  .ba-quiz__h { font-size: clamp(24px, 2.6vw, 34px); font-weight: 800; line-height: 1.2; letter-spacing: -0.4px; color: #0D4E6A; }
  .ba-quiz__p { margin-top: 8px; font-size: clamp(17px, 1.6vw, 22px); font-weight: 400; line-height: 1.35; color: #0D4E6A; }
  .ba-quiz__btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 296px; padding: 19px 34px; border-radius: 999px; background: #0D4E6A; color: #fff; font-size: 18px; font-weight: 500; letter-spacing: 0.6px; box-shadow: 4px 8px 18px rgba(4,26,38,0.34); transition: background .28s cubic-bezier(.22,1,.3,1), transform .28s cubic-bezier(.22,1,.3,1), box-shadow .28s cubic-bezier(.22,1,.3,1); }
  .ba-quiz__btn:hover { background: #0A3D54; color: #fff; transform: translateY(-2px); box-shadow: 5px 11px 24px rgba(4,26,38,0.42); }
  .ba-quiz__btn:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  .ba-quiz__btn svg { transition: transform .18s cubic-bezier(.4,0,.2,1); }
  .ba-quiz__btn:hover svg { transform: translateX(3px); }
  @media (max-width: 767px) { .ba-quiz__inner { padding: 34px 18px; } .ba-quiz__btn { min-width: 0; width: 100%; } }
/* GLO-BAKITPROOF: the kit's crimson button:hover fill washes the carousel arrows and dots.
   Arrows are chromeless; dots keep their own navy. */
body .ba-hero__nav, body .ba-hero__nav:hover, body .ba-hero__nav:focus, body .ba-hero__nav:active, body .ba-hero__nav:focus-visible{background:transparent!important;background-color:transparent!important;border:0!important;box-shadow:none!important;}
body .ba-hero__dot, body .ba-hero__dot:hover, body .ba-hero__dot:focus, body .ba-hero__dot:active, body .ba-hero__dot:focus-visible{background:#0D4E6A!important;background-color:#0D4E6A!important;border:0!important;box-shadow:none!important;}
body .ba-hero[data-slide="1"] .ba-hero__dot, body .ba-hero[data-slide="1"] .ba-hero__dot:hover, body .ba-hero[data-slide="1"] .ba-hero__dot:focus{background:#fff!important;background-color:#fff!important;}

/* ===== GLO-BA149-SHIM START =====
   Page 149 native conversion. The design CSS above is left UNPREFIXED on purpose:
   it carries bare *, html and body rules, so prefixing it would kill the reset.
   Everything below is scoped to .elementor-149 and only fights Elementor defaults. */

/* 1. e-con defaults: no gap, no padding; design paddings re-asserted */
.elementor-149 .e-con{--gap:0px;--row-gap:0px;--column-gap:0px;gap:0px;padding:0}
.elementor-149 .e-con.ba-case__body{max-width:1440px;margin-inline:auto;padding:66px 24px 96px}
.elementor-149 .e-con.ba-offer__figure{padding:6px 0 6px 6px}
.elementor-149 .e-con.ba-offer__inner{padding:74px clamp(24px,5vw,96px) 74px clamp(24px,12vw,172px)}
.elementor-149 .e-con.ba-quiz__inner{max-width:1410px;margin-inline:auto;padding:46px clamp(24px,4.6vw,66px)}
@media(max-width:900px){
  .elementor-149 .e-con.ba-offer__figure{padding:6px 6px 0}
  .elementor-149 .e-con.ba-offer__inner{padding:48px 24px}
}
@media(max-width:767px){
  .elementor-149 .e-con.ba-case__body{padding:42px 18px 56px}
  .elementor-149 .e-con.ba-quiz__inner{padding:34px 18px}
}

/* 2. layout: .e-con is flex-column; the design wants rows here */
.elementor-149 .e-con.ba-offer{display:flex!important;--flex-direction:row;flex-direction:row!important;flex-wrap:wrap;min-height:644px}
.elementor-149 .e-con.ba-offer__figure{flex:0 0 33.33%!important;width:auto!important;min-width:0;position:relative;isolation:isolate;overflow:hidden;background:#0D4E6A;display:block!important}
.elementor-149 .e-con.ba-offer__panel{flex:1 1 66.66%!important;width:auto!important;min-width:300px;display:flex!important;--flex-direction:row;flex-direction:row!important;align-items:center}
.elementor-149 .e-con.ba-offer__inner{position:relative;z-index:1;width:100%}
.elementor-149 .e-con.ba-case__cols{display:flex!important;--flex-direction:row;flex-direction:row!important;flex-wrap:wrap;gap:26px 60px;margin-top:46px}
.elementor-149 .e-con.ba-case__col{flex:1 1 380px!important;width:auto!important;min-width:280px;max-width:690px}
.elementor-149 .e-con.ba-quiz__inner{display:flex!important;--flex-direction:row;flex-direction:row!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px 40px;position:relative;z-index:1}
.elementor-149 .e-con.ba-quiz__inner>.e-con{width:auto;flex:0 1 auto}
@media(max-width:900px){
  .elementor-149 .e-con.ba-offer{min-height:0}
  .elementor-149 .e-con.ba-offer__figure{flex:1 1 100%!important;height:320px}
  .elementor-149 .e-con.ba-offer__panel{flex:1 1 100%!important}
}
@media(max-width:767px){.elementor-149 .e-con.ba-case__cols{margin-top:30px}}

/* 3. images: the widget wrapper sits between the container and the <img> */
.elementor-149 .ba-case__shot{width:100%!important;max-width:100%!important;line-height:0;font-size:0}
.elementor-149 .ba-case__shot img{width:100%;height:auto;display:block}
.elementor-149 .e-con.ba-offer__figure .elementor-widget-image{height:100%;width:100%;line-height:0;font-size:0}
.elementor-149 .e-con.ba-offer__figure .elementor-widget-image .elementor-widget-container{height:100%}
.elementor-149 .e-con.ba-offer__figure img{width:100%;height:100%;object-fit:cover;object-position:50% 34%;filter:saturate(.72);display:block}

/* 4. the 88x1 rule is an empty container, not a divider widget */
.elementor-149 .e-con.ba-offer__rule{width:88px!important;height:1px;min-height:1px;margin-top:14px;background:rgba(13,78,106,.55);flex:none!important}

/* 5. headings: kit paints h1-h6 its own size/colour over the class */
.elementor-149 .ba-case__sub h3{font-size:clamp(17px,1.5vw,21px)!important;font-weight:400!important;line-height:1.35!important;color:#0D4E6A!important;text-align:center}
.elementor-149 .ba-offer__price h2{font-size:clamp(34px,4.2vw,58px)!important;font-weight:800!important;line-height:1.05!important;letter-spacing:-1.2px!important;color:#0D4E6A!important}
.elementor-149 .ba-quiz__h h2{font-size:clamp(24px,2.6vw,34px)!important;font-weight:800!important;line-height:1.2!important;letter-spacing:-.4px!important;color:#0D4E6A!important}

/* 6. text-editor: kit colour/size beats the wrapper class.
      Port the design's line-height where it has one; never invent one. */
.elementor-149 .elementor-widget-text-editor,
.elementor-149 .elementor-widget-text-editor :is(p,li,span,b,strong,div){color:inherit!important}
.elementor-149 .elementor-widget-text-editor p{margin:0}
.elementor-149 .ba-case__quote{max-width:26ch!important;margin:0 auto!important}
.elementor-149 .ba-case__quote p{text-align:center;font-size:clamp(23px,2.3vw,32px)!important;font-style:italic!important;font-weight:700!important;line-height:1.3!important;letter-spacing:-.3px!important;color:#0D4E6A!important}
.elementor-149 .ba-case__sub{margin:14px auto 0!important}
.elementor-149 .ba-case__label p{font-size:15px!important;font-weight:700!important;line-height:1.4!important;color:#0D4E6A!important}
.elementor-149 .ba-case__p{margin-top:14px!important}
.elementor-149 .ba-case__p p{font-size:15px!important;font-weight:400!important;line-height:1.45!important;color:#0D4E6A!important}
.elementor-149 .ba-offer__eyebrow p{font-size:clamp(19px,1.7vw,23px)!important;font-weight:400!important;line-height:1.3!important;color:#0D4E6A!important}
.elementor-149 .ba-offer__price{margin-top:34px!important}
.elementor-149 .ba-offer__terms{margin-top:30px!important}
.elementor-149 .ba-offer__terms p{font-size:15px!important;font-weight:400!important;line-height:1.4!important;color:#0D4E6A!important}
.elementor-149 .ba-offer__p{max-width:44ch!important;margin-top:22px!important}
.elementor-149 .ba-offer__p p{font-size:clamp(16px,1.35vw,19px)!important;font-weight:400!important;line-height:1.9!important;color:#0D4E6A!important}
.elementor-149 .ba-offer__fine{margin-top:44px!important}
.elementor-149 .ba-offer__fine p{font-size:12.5px!important;font-weight:700!important;line-height:1.4!important;color:#0D4E6A!important}
.elementor-149 .ba-quiz__p{margin-top:8px!important}
.elementor-149 .ba-quiz__p p{font-size:clamp(17px,1.6vw,22px)!important;font-weight:400!important;line-height:1.35!important;color:#0D4E6A!important}

/* 7. buttons: _css_classes lands on the WRAPPER, so the design skin goes on the <a>.
      Wrapper classes are ba-offerbtn / ba-quizbtn, names absent from the design CSS,
      so the design's .ba-offer__btn rules cannot paint the wrapper as a second button. */
.elementor-149 .ba-offerbtn,.elementor-149 .ba-quizbtn{width:auto!important;max-width:100%}
.elementor-149 .ba-offerbtn{margin-top:34px!important}
.elementor-149 .ba-offerbtn .elementor-button{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;min-width:352px;padding:17px 30px!important;border-radius:0!important;background:#0D4E6A!important;color:#fff!important;font-size:16px!important;font-weight:500!important;line-height:normal!important;letter-spacing:.9px!important;transition:background .28s cubic-bezier(.22,1,.3,1),transform .28s cubic-bezier(.22,1,.3,1),box-shadow .28s cubic-bezier(.22,1,.3,1)}
.elementor-149 .ba-offerbtn .elementor-button:hover{background:#0A3D54!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 12px 28px rgba(13,78,106,.30)}
.elementor-149 .ba-quizbtn .elementor-button{display:inline-flex!important;align-items:center;justify-content:center;gap:12px;min-width:296px;padding:19px 34px!important;border-radius:999px!important;background:#0D4E6A!important;color:#fff!important;font-size:18px!important;font-weight:500!important;line-height:normal!important;letter-spacing:.6px!important;box-shadow:4px 8px 18px rgba(4,26,38,.34)!important;transition:background .28s cubic-bezier(.22,1,.3,1),transform .28s cubic-bezier(.22,1,.3,1),box-shadow .28s cubic-bezier(.22,1,.3,1)}
.elementor-149 .ba-quizbtn .elementor-button:hover{background:#0A3D54!important;color:#fff!important;transform:translateY(-2px);box-shadow:5px 11px 24px rgba(4,26,38,.42)!important}
.elementor-149 .ba-offerbtn .elementor-button-content-wrapper,
.elementor-149 .ba-quizbtn .elementor-button-content-wrapper{display:inline-flex;align-items:center;flex-direction:row}
.elementor-149 .ba-offerbtn .elementor-button-text,
.elementor-149 .ba-quizbtn .elementor-button-text{order:1!important;flex-grow:0}
.elementor-149 .ba-offerbtn .elementor-button-icon,
.elementor-149 .ba-quizbtn .elementor-button-icon{display:inline-flex;align-items:center;margin:0}
.elementor-149 .ba-offerbtn .elementor-button-icon svg{width:15px;height:15px}
.elementor-149 .ba-quizbtn .elementor-button-icon svg{width:14px;height:14px}
@media(max-width:900px){.elementor-149 .ba-offerbtn,.elementor-149 .ba-offerbtn .elementor-button{min-width:0!important;width:100%!important}}
@media(max-width:767px){.elementor-149 .ba-quizbtn,.elementor-149 .ba-quizbtn .elementor-button{min-width:0!important;width:100%!important}}

/* 8. hero + page script stay html widgets; kill the phantom text line box */
.elementor-149 .e-con.ba-script-wrap{padding:0!important}
/* GLO-BAHEROFLOOR 2026-09-05: the old blanket padding:0 also killed the fixed-header
   clearance the kit reserves on this container (GLO-HEROBOX), so the h1 sat under the
   120px navy bar. Keep the side/bottom kill; reserve the live header height on top. */
.elementor-149 .e-con.ba-hero-wrap{padding:var(--glo-hdr-h,172px) 0 0!important}
@media(max-width:1120px){.elementor-149 .e-con.ba-hero-wrap{padding-top:var(--glo-hdr-h,200px)!important}}
@media(max-width:767px){.elementor-149 .e-con.ba-hero-wrap{padding-top:var(--glo-hdr-h,226px)!important}}
.elementor-149 .e-con.ba-hero-wrap>.elementor-widget-html,
.elementor-149 .e-con.ba-script-wrap>.elementor-widget-html{position:static!important;width:100%!important;max-width:100%!important;font-size:0;line-height:0}

/* 9. reveal-on-scroll: .rv sits on widget wrappers now. The page script queries .rv
      globally so it still finds them, but a widget that never enters the viewport
      would stay at opacity:0 — keep this as the safety net. */
.elementor-149 .rv.is-in{opacity:1!important;transform:none!important}
/* ===== GLO-BA149-SHIM END ===== */

/* ===== GLO-BA149-SHIM R2 START =====
   Two root causes, both from moving a design class onto an Elementor widget wrapper. */

/* R2a: `ch` resolves against the ELEMENT'S OWN font-size. The design class sat on the
   <p>/<h2> and so measured in the design's type size; on the widget wrapper it measures
   in the kit's 16px, so every ch-cap came out narrow (quote 495 -> 246, offer p 512 -> 431).
   Fix: give the wrapper the same font-size as its inner tag. */
.elementor-149 .ba-case__quote{font-size:clamp(23px,2.3vw,32px)!important}
.elementor-149 .ba-offer__p{font-size:clamp(16px,1.35vw,19px)!important}

/* R2b: `margin:0 auto` centres a BLOCK by filling the line box, but a flex item with an
   auto side margin SHRINK-WRAPS to its content instead. As .e-con children these lost
   their full width (sub 1392 -> 398/442/256/257). Give them width:100% and drop the
   auto side margins; text-align already does the centring. */
.elementor-149 .ba-case__quote{width:100%!important;max-width:26ch!important;margin:0 auto!important}
.elementor-149 .ba-case__sub{width:100%!important;max-width:none!important;margin:14px 0 0!important;text-align:center}

/* R2c: .ba-offer__inner is a flex item of .ba-offer__panel and is MEANT to shrink-wrap
   (design width 756, not the panel's 960). Forcing width:100% inflated the whole offer
   section by 72px. Let it size to content. */
.elementor-149 .e-con.ba-offer__inner{width:auto!important;max-width:100%}
/* ===== GLO-BA149-SHIM R2 END ===== *//* End custom CSS */