.elementor-150 .elementor-element.elementor-element-abe13db{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab2ae04{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.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-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-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-150 .elementor-element.elementor-element-abd6db1{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab7961b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-abb3153{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab1441b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab39572{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab6f49b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab061f8{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab6c6dc{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab7d76b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab784c2{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab9715b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-aba9dc3{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab5e1c3{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab3fb7e{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab31417{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-abc9414{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-abbfbfc{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab94fee{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-abf5049{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab3dbbd{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-abfab5f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-abAreas{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:84px;--padding-bottom:88px;--padding-left:24px;--padding-right:24px;}.elementor-150 .elementor-element.elementor-element-abAreas:not(.elementor-motion-effects-element-type-background), .elementor-150 .elementor-element.elementor-element-abAreas > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-150 .elementor-element.elementor-element-abAreasH{text-align:center;}.elementor-150 .elementor-element.elementor-element-abAreasH .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:46px;font-weight:700;line-height:1.1em;letter-spacing:-1.3px;color:#0D4E6A;}.elementor-150 .elementor-element.elementor-element-abAreasP{text-align:center;font-family:"Raleway", Sans-serif;font-size:18px;font-weight:400;line-height:1.85em;color:#1C5A76;}.elementor-150 .elementor-element.elementor-element-abAreasL{text-align:center;font-family:"Raleway", Sans-serif;font-size:16px;font-weight:400;line-height:1.85em;color:#1C5A76;}.elementor-150 .elementor-element.elementor-element-aba4834{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab04185 iframe{height:345px;}.elementor-150 .elementor-element.elementor-element-ab96823{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-150 .elementor-element.elementor-element-ab38c5b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}@media(min-width:768px){.elementor-150 .elementor-element.elementor-element-abAreas{--content-width:940px;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-150 .elementor-element.elementor-element-abAreasH .elementor-heading-title{font-size:38px;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-150 .elementor-element.elementor-element-abAreas{--padding-top:58px;--padding-bottom:62px;--padding-left:18px;--padding-right:18px;}.elementor-150 .elementor-element.elementor-element-abAreasH .elementor-heading-title{font-size:29px;}.elementor-150 .elementor-element.elementor-element-abAreasP{font-size:16px;}.elementor-150 .elementor-element.elementor-element-abAreasL{font-size:15px;}}/* 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-150 (.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 .ab-btn { font-size: 15px !important; line-height: 1.2 !important; letter-spacing: 0.5px !important; font-weight: 600 !important; }
  body .ab-more { font-size: 15.5px !important; line-height: 1.6 !important; font-weight: 400 !important; color: #FFE083 !important; }
  body .ab-car__nav, body .ab-car__dot, body .gal__nav { font-size: 0 !important; }
  /* the hit targets below span whole frames, so the kit's own button hover fill has to go */
  body .ab-car__nav, body .ab-car__nav:hover, body .ab-car__nav:focus, body .ab-car__nav:active,
  body .ab-car__dot, body .ab-car__dot:hover, body .ab-car__dot:focus, body .ab-car__dot:active,
  body .ab-more, body .ab-more:hover, body .ab-more:focus, body .ab-more:active { background: transparent !important; background-color: transparent !important; box-shadow: none !important; }

  /* ---------------- shared page bits ---------------- */
  .ab-wrap { max-width: 1180px; margin-inline: auto; padding-inline: 24px; }
.ab-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; background: #0D4E6A; color: #fff; border: 0; border-radius: 999px; padding: 15px 34px; font-size: 15px; font-weight: 600; letter-spacing: 0.5px; text-align: center; cursor: pointer; transition: background .18s cubic-bezier(.4,0,.2,1), transform .18s cubic-bezier(.4,0,.2,1), box-shadow .18s cubic-bezier(.4,0,.2,1); }
  .ab-btn:hover { background: #0A3D54; color: #fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(13,78,106,.30); }
  .ab-btn svg { flex: none; opacity: .85; transition: transform .18s cubic-bezier(.4,0,.2,1); }
  .ab-btn:hover svg { transform: translateX(3px); }
  .ab-btn:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  .glo-inv .ab-btn:focus-visible { outline-color: #FFE083; }

  /* ---------------- 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; }
  .rv-d3 { transition-delay: .27s; }
  @media (prefers-reduced-motion: reduce) {
    .rv, .rv-d1, .rv-d2, .rv-d3 { opacity: 1; transform: none; transition: none; }
  }

  /* ---------------- 1. hero ---------------- */
  .ab-hero { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; justify-content: center; min-height: 665px; padding: 72px 24px 64px; background: #2D6B86 url('https://www.glodentalstudios.com/wp-content/uploads/2026/09/ab-hero-bg-1920.webp') 50% 34% / cover no-repeat; color: #fff; }
  .ab-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(35,110,141,0.72); }
  .ab-hero__inner { position: relative; z-index: 1; max-width: 900px; text-align: center; }
  .ab-hero h1 { font-size: clamp(34px, 4.6vw, 62px); font-weight: 700; line-height: 1.14; letter-spacing: -0.028em; }
  .ab-hero__sub { max-width: 44ch; margin: 22px auto 0; font-size: clamp(16px, 1.5vw, 19px); font-weight: 400; line-height: 1.5; }
  .ab-hero__mark { margin: 40px auto 0; width: 128px; height: auto; opacity: .96; }
.ab-crumb { margin-top: 22px; }
  .ab-crumb a { text-decoration: underline; text-underline-offset: 3px; }
  .ab-crumb a:hover { color: #FFE083; }
  @media (max-width: 767px) { .ab-hero { min-height: 520px; padding-block: 56px 48px; } }

  /* ---------------- 2. Our Promise carousel ---------------- */
  .ab-car { position: relative; isolation: isolate; overflow: hidden; min-height: 767px; display: flex; align-items: center; background: #0D4E6A; }
  .ab-car__bgs { position: absolute; inset: 0; z-index: -1; }
  .ab-car__bg { position: absolute; inset: 0; background-position: 50% 42%; background-size: cover; background-repeat: no-repeat; opacity: 0; transition: opacity .9s cubic-bezier(.22,1,.3,1); }
  .ab-car__bg.is-on { opacity: 1; }
  .ab-car__stage { position: relative; z-index: 1; width: 100%; padding: 0 clamp(24px, 6vw, 96px); }
  .ab-car__panel { position: relative; max-width: 1180px; margin-inline: auto; min-height: 500px; padding: 58px clamp(24px, 5vw, 72px) 64px; display: flex; align-items: center; justify-content: center; background: rgba(18,80,108,0.46); -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px); }
  .ab-car__slides { position: relative; width: 100%; max-width: 720px; min-height: 300px; display: flex; align-items: center; text-align: center; }
  .ab-car__slide { position: absolute; top: 50%; left: 0; right: 0; transform: translateY(calc(-50% + 14px)); opacity: 0; visibility: hidden; transition: opacity .7s cubic-bezier(.22,1,.3,1), transform .7s cubic-bezier(.22,1,.3,1), visibility .7s; }
  .ab-car__slide.is-on { position: relative; top: auto; transform: none; width: 100%; opacity: 1; visibility: visible; }
  .ab-car__h { font-size: clamp(34px, 4.4vw, 62px); font-weight: 400; line-height: 1.14; letter-spacing: -0.02em; color: #fff; }
  .ab-car__body { max-width: 42ch; margin: 26px auto 0; font-size: clamp(16px, 1.4vw, 19px); font-weight: 400; line-height: 1.62; color: #fff; }
  .ab-car__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 54px; height: 54px; padding: 0; display: grid; place-items: center; border: 0; background: transparent; color: #0D4E6A; cursor: pointer; transition: transform .18s cubic-bezier(.4,0,.2,1), color .18s cubic-bezier(.4,0,.2,1); }
  .ab-car__nav--prev { left: clamp(2px, 1.2vw, 18px); }
  .ab-car__nav--next { right: clamp(2px, 1.2vw, 18px); }
  .ab-car__nav:hover { color: #0A3D54; }
  .ab-car__nav--prev:hover { transform: translateY(-50%) translateX(-3px); }
  .ab-car__nav--next:hover { transform: translateY(-50%) translateX(3px); }
  .ab-car__nav:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  .ab-car__dots { position: absolute; left: 0; right: 0; bottom: 22px; z-index: 3; display: flex; justify-content: center; gap: 14px; }
  .ab-car__dot { width: 11px; height: 11px; padding: 0; border: 0; border-radius: 50%; background: #0D4E6A; opacity: .55; cursor: pointer; transition: opacity .18s cubic-bezier(.4,0,.2,1), transform .18s cubic-bezier(.4,0,.2,1); }
  .ab-car__dot:hover { opacity: .85; }
  .ab-car__dot[aria-selected="true"] { opacity: 1; transform: scale(1.18); }
  .ab-car__dot:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  /* carousel chrome only exists when there is more than one slide to move between */
  .ab-car[data-single] .ab-car__nav, .ab-car[data-single] .ab-car__dots { display: none; }
  @media (max-width: 767px) {
    .ab-car { min-height: 560px; }
    .ab-car__panel { min-height: 380px; padding: 44px 20px 56px; }
    .ab-car__nav { width: 42px; height: 42px; }
  }

  /* ---------------- 3. Meet Your Implant Expert ---------------- */
  .ab-dr { position: relative; isolation: isolate; overflow: hidden; padding: 74px 0 78px; background: #0D4E6A url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/ab-dr-bg.webp') 50% 40% / cover no-repeat; color: #fff; }
  .ab-dr::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(26,94,122,0.80); }
  .ab-dr__row { display: flex; flex-wrap: wrap; gap: clamp(28px, 5vw, 72px); align-items: flex-start; }
  .ab-dr__photo { flex: 0 0 251px; max-width: 100%; }
  .ab-dr__photo img { width: 100%; height: auto; }
  .ab-dr__copy { flex: 1 1 420px; min-width: 280px; }
  .ab-dr__h { font-size: clamp(30px, 3.9vw, 54px); font-weight: 700; line-height: 1.1; letter-spacing: -0.024em; }
  .ab-dr__name { margin-top: 18px; font-size: clamp(19px, 1.8vw, 25px); font-weight: 400; line-height: 1.3; }
  .ab-dr__bio { margin-top: 18px; max-width: 68ch; font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,0.96); }
  .ab-dr__bio p + p { margin-top: 15px; }
  /* collapsed shows the first three lines, then the Read more control takes over */
  .ab-dr__bio[data-clamped] { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
  .ab-dr__bio:not([data-clamped]) { max-height: 340px; overflow-y: auto; padding-right: 10px; overscroll-behavior: contain; }
  .ab-more { display: inline-block; margin-top: 2px; padding: 0; border: 0; background: transparent; color: #FFE083; font-size: 15.5px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
  .ab-more:hover { color: #F8CB3E; }
  .ab-more:focus-visible { outline: 3px solid #FFE083; outline-offset: 3px; }
  .ab-dr .ab-btn { margin-top: 34px; }
  @media (max-width: 767px) { .ab-dr { padding-block: 56px 60px; } }

  /* ---------------- 4. A New Kind of Dental Experience ---------------- */
  .ab-new { background: #FFF6EA; padding: 56px 0 84px; }
  .ab-new__row { display: flex; flex-wrap: wrap; align-items: flex-start; max-width: 1296px; margin-inline: auto; padding-inline: 24px; }
  /* the panel butts flush against the photo and runs taller than it on both edges */
  .ab-new__photo { flex: 1 1 50%; min-width: 0; margin-top: 41px; }
  .ab-new__photo img { width: 100%; height: auto; aspect-ratio: 628 / 472; object-fit: cover; }
  .ab-new__panel { flex: 1 1 50%; min-width: 0; padding: 52px clamp(24px, 3.4vw, 52px) 58px; background: #FBDF7E; color: #0D4E6A; }
  .ab-new__h { font-size: clamp(28px, 3.4vw, 46px); font-weight: 700; line-height: 1.4; letter-spacing: -0.024em; }
  .ab-new__body { margin-top: 22px; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.6; }
  .ab-new .ab-btn { margin-top: 32px; }
  @media (max-width: 980px) {
    .ab-new__photo { flex: 1 1 100%; margin-top: 0; }
    .ab-new__panel { flex: 1 1 100%; }
  }

  /* ---------------- 5. Meet the People Behind Your Smile ---------------- */
  .ab-team { background: #0D4E6A; color: #fff; padding: 78px 0 96px; }
  .ab-team__h { max-width: 22ch; margin-inline: auto; text-align: center; font-size: clamp(30px, 4vw, 54px); font-weight: 700; line-height: 1.12; letter-spacing: -0.024em; }
  .ab-team__lede { max-width: 64ch; margin: 26px auto 0; text-align: center; font-size: 15.5px; line-height: 1.9; color: rgba(255,255,255,0.96); }
  .ab-team__row { margin-top: 56px; display: flex; flex-wrap: wrap; justify-content: center; gap: 34px clamp(24px, 3.4vw, 56px); }
  .ab-tm { position: relative; flex: 0 0 287px; max-width: 100%; padding-bottom: 52px; }
  .ab-tm img { width: 287px; max-width: 100%; height: auto; }
  .ab-tm__plate { position: absolute; left: 42px; right: -28px; bottom: 0; padding: 13px 18px 15px; background: #FBDF7E; }
  .ab-tm__name { font-size: 19px; font-weight: 700; line-height: 1.25; color: #0D4E6A; }
  .ab-tm__role { font-size: 16px; font-weight: 400; line-height: 1.3; color: #0D4E6A; }
  @media (max-width: 767px) {
    .ab-team { padding-block: 60px 72px; }
    .ab-tm__plate { left: 24px; right: 0; }
  }

  /* ---------------- 6. Discover What Makes Glo Different ---------------- */
  .ab-diff { position: relative; isolation: isolate; overflow: hidden; padding: 84px 0 92px; text-align: center; background: #E0E3E5 url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/ab-diff-bg.webp') 50% 42% / cover no-repeat; }
  .ab-diff::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(226,230,232,0.62); }
  .ab-diff__h { font-size: clamp(28px, 3.9vw, 54px); font-weight: 700; line-height: 1.1; letter-spacing: -0.028em; color: #0D4E6A; }
  .ab-diff__body { max-width: 66ch; margin: 34px auto 0; font-size: clamp(16px, 1.4vw, 19px); line-height: 1.9; color: #1C5A76; }
  .ab-diff .ab-btn { margin-top: 38px; }
  @media (max-width: 767px) { .ab-diff { padding-block: 60px 66px; } }

  /* ---------------- 7. gallery mosaic ---------------- */
  .gal { position: relative; --gh: clamp(250px, 27vw, 400px); --ggap: 5px; background: #0D4E6A; padding-block: 0; }
  .gal__viewport { overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scrollbar-width: none; }
  .gal__viewport::-webkit-scrollbar { display: none; }
  .gal__track { display: flex; gap: var(--ggap); height: var(--gh); width: max-content; }
  .gal__group { flex: 0 0 auto; display: flex; flex-direction: column; gap: var(--ggap); height: 100%; }
  .gal__row { display: flex; gap: var(--ggap); min-height: 0; }
  .gal__cell { min-width: 0; overflow: hidden; }
  .gal__cell img { width: 100%; height: 100%; object-fit: cover; transition: transform .18s cubic-bezier(.4,0,.2,1); }
  .gal__cell:hover img { transform: scale(1.03); }
  .gal__nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 46px; height: 46px; display: grid; place-items: center; border: 0; border-radius: 999px; background: rgba(6,32,45,.45); color: #fff; cursor: pointer; transition: background .18s cubic-bezier(.4,0,.2,1); }
  .gal__nav:hover { background: rgba(6,32,45,.68); }
  .gal__nav:focus-visible { outline: 3px solid #FFE083; outline-offset: 3px; }
  .gal__nav--prev { left: clamp(8px, 1.2vw, 20px); }
  .gal__nav--next { right: clamp(8px, 1.2vw, 20px); }
  .gal__nav[hidden] { display: none; }
  @media (max-width: 640px) { .gal { --gh: clamp(200px, 46vw, 260px); } .gal__nav { width: 38px; height: 38px; } }

  /* ---------------- 8. map ---------------- */
  .ab-map { line-height: 0; background: #E0E3E5; }
  .ab-map iframe { width: 100%; height: 345px; border: 0; display: block; }

  /* ---------------- 9. chamber membership band ---------------- */
  .ab-member { background: #fff; padding: 26px 24px 34px; text-align: center; }
  .ab-member__name { font-size: 12.5px; font-weight: 700; line-height: 1.4; color: #111; }
  .ab-member__sub { font-size: 12.5px; font-weight: 400; line-height: 1.4; color: #111; }
  .ab-member img { margin: 18px auto 0; width: 200px; height: auto; }
  .gal__cell img { cursor: zoom-in; }
  /* gallery lightbox */
  .glb { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; background: #1a5470; }
  .glb[hidden] { display: none; }
  .glb__fig { margin: 0; display: grid; place-items: center; width: 100%; height: 100%; padding: clamp(16px, 4vw, 58px); }
  .glb__fig img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; box-shadow: 0 28px 70px rgba(4,26,38,.42); }
  .glb__cap { position: absolute; bottom: clamp(14px, 2vw, 26px); left: 0; right: 0; text-align: center; color: rgba(255,255,255,0.86); font-size: 14px; }
  .glb__btn { position: absolute; border: 0; background: none; color: #fff; opacity: .86; cursor: pointer; transition: opacity .18s cubic-bezier(.4,0,.2,1); }
  .glb__btn:hover, .glb__btn:focus, .glb__btn:active { opacity: 1; background: transparent; }
  .glb__btn:focus-visible { outline: 3px solid #FFE083; outline-offset: 4px; }
  .glb__prev { top: 50%; transform: translateY(-50%); left: clamp(4px, 1.4vw, 26px); padding: 18px; }
  .glb__next { top: 50%; transform: translateY(-50%); right: clamp(4px, 1.4vw, 26px); padding: 18px; }
  .glb__close { top: clamp(12px, 1.6vw, 24px); right: clamp(12px, 1.6vw, 24px); padding: 10px; }
  @media (max-width: 640px) { .gal { --gh: clamp(200px, 46vw, 260px); } .gal__nav { width: 38px; height: 38px; } }

.ab-member__link{display:inline-block;text-decoration:none;transition:opacity .18s cubic-bezier(.4,0,.2,1);}
.ab-member__link:hover,.ab-member__link:focus-visible{opacity:.82;}
.ab-member__link:focus-visible{outline:3px solid #0D4E6A;outline-offset:3px;}

/* GLO-AB-NATIVE addon (2026-08-31): native-widget shims */
.ab-hero,.ab-car,.ab-dr,.ab-new,.ab-team,.ab-diff,.gal,.ab-map,.ab-member{--e-con-gap:0px;}
.ab-hero__mark{width:128px;}.ab-hero__mark img{width:75px;height:auto;margin-inline:auto;}
.ab-hero__inner{max-width:900px;width:100%;}
.ab-tm{position:relative;padding-bottom:52px;}
.ab-member__logo img{margin:18px auto 0;width:200px;height:auto;}
.elementor-widget-text-editor p{margin:0;}
.ab-dr__bio p + p{margin-top:15px!important;}

/* GLO-AB-NATIVE round-2: e-con beats design classes (direction/width), kit h-rules beat inheritance */
.e-con.ab-dr__row,.e-con.ab-new__row,.e-con.ab-team__row{--flex-direction:row;flex-direction:row!important;flex-wrap:wrap;}
.e-con.ab-dr__row{gap:clamp(28px,5vw,72px);align-items:flex-start;}
.e-con.ab-team__row{justify-content:center;gap:34px clamp(24px,3.4vw,56px);margin-top:56px;}
.e-con.ab-dr__photo{--width:251px;width:251px!important;flex:0 0 251px!important;min-width:0;}
.e-con.ab-dr__copy{--width:auto;width:auto!important;flex:1 1 420px!important;min-width:280px;}
.e-con.ab-new__photo{--width:auto;width:auto!important;flex:1 1 50%!important;min-width:0;margin-top:41px;}
.e-con.ab-new__panel{--width:auto;width:auto!important;flex:1 1 50%!important;min-width:0;}
@media (max-width:980px){.e-con.ab-new__photo{flex-basis:100%!important;margin-top:0;}.e-con.ab-new__panel{flex-basis:100%!important;}}
.e-con.ab-tm{--width:287px;width:287px!important;flex:0 0 287px!important;max-width:100%;}
@media (max-width:767px){.e-con.ab-dr__copy{flex-basis:100%!important;width:100%!important;}
/* round-10: photo stays 251px on mobile per design (was wrongly forced to 100%) */
.e-con.ab-dr__photo{flex:0 0 251px!important;width:251px!important;max-width:100%;}}
/* heading sizes: widget h inherits nothing — assert design scale on the inner tag */
.ab-hero h1{font-size:clamp(34px,4.6vw,62px)!important;font-weight:700;line-height:1.14;letter-spacing:-0.028em;color:#fff;}
.ab-dr__h h2{font-size:clamp(30px,3.9vw,54px)!important;font-weight:700;line-height:1.1;letter-spacing:-0.024em;color:inherit;}
.ab-new__h h2{font-size:clamp(28px,3.4vw,46px)!important;font-weight:700;line-height:1.4;letter-spacing:-0.024em;color:inherit;}
.ab-team__h h2{font-size:clamp(30px,4vw,54px)!important;font-weight:700;line-height:1.12;letter-spacing:-0.024em;color:inherit;}
.ab-team__h{margin-inline:auto;max-width:22ch;text-align:center;}
.ab-diff__h h2{font-size:clamp(28px,3.9vw,54px)!important;font-weight:700;line-height:1.1;letter-spacing:-0.028em;color:#0D4E6A;}
/* map wrapper spacing */
.ab-map .elementor-widget{margin:0;}.ab-map .elementor-widget-container{line-height:0;}
/* round-3: kit paints h2 navy — assert design colors explicitly */
.ab-team__h h2,.ab-dr__h h2{color:#fff!important;}
.ab-new__h h2{color:#0D4E6A!important;}
.ab-diff__h h2{color:#0D4E6A!important;}
.ab-hero h1{color:#fff!important;}

/* round-4: e-con default padding pollutes rhythm; kit p typography beats inheritance */
.ab-hero .e-con,.ab-dr .e-con,.ab-new .e-con,.ab-team .e-con,.ab-diff .e-con,.ab-member .e-con{padding:0;}
.e-con.ab-map,.e-con.gal,.e-con.ab-car{padding:0;}
.e-con.ab-wrap{padding:0 24px;}
.e-con.ab-new__panel{padding:52px clamp(24px,3.4vw,52px) 58px!important;}
/* text inheritance walls */
.ab-diff__body p,.ab-team__lede p,.ab-new__body p,.ab-hero__sub p,.ab-dr__name p,.ab-crumb p{font-size:inherit!important;line-height:inherit!important;font-weight:inherit!important;letter-spacing:inherit!important;color:inherit!important;}
.ab-dr__bio p{font-size:15.5px!important;line-height:1.6!important;}
/* team heading wraps at 22ch of its own 54px */
.ab-team__h{max-width:none;}
.ab-team__h h2{max-width:22ch;margin-inline:auto;text-align:center;}
/* round-5: kit .elementor-widget-text-editor (0,2,0) outweighs class wrappers — assert per class */
.ab-diff__body{font-size:clamp(16px,1.4vw,19px)!important;line-height:1.9!important;}
.ab-team__lede{font-size:15.5px!important;line-height:1.9!important;}
.ab-new__body{font-size:clamp(16px,1.4vw,19px)!important;line-height:1.6!important;}
.ab-hero__sub{font-size:clamp(16px,1.5vw,19px)!important;line-height:1.5!important;}
.ab-dr__name{font-size:clamp(19px,1.8vw,25px)!important;line-height:1.3!important;}
.e-con.ab-new__row{padding:0 24px;}
/* round-6: .e-con>.elementor-widget{max-width:100%} (0,2,0) beats class ch-caps */
.ab-diff__body{max-width:66ch!important;margin-left:auto!important;margin-right:auto!important;}
.ab-team__lede{max-width:64ch!important;margin-left:auto!important;margin-right:auto!important;}
.ab-hero__sub{max-width:44ch!important;margin-left:auto!important;margin-right:auto!important;}
.ab-dr__bio{max-width:68ch!important;}

.e-con.ab-tm{padding:0 0 52px!important;}

/* round-7: kit text-editor color (0,2,0) beats section color inheritance - explicit per class */
.ab-hero__sub{color:#fff!important;}
.ab-crumb{color:#fff!important;}
.ab-crumb a{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px;}
.ab-crumb a:hover{color:#FFE083!important;}
.ab-dr__name{color:#fff!important;}
.ab-dr__bio,.ab-dr__bio p{color:rgba(255,255,255,0.96)!important;}
.ab-team__lede{color:rgba(255,255,255,0.96)!important;}
.ab-tm__name{color:#0D4E6A!important;font-size:19px!important;font-weight:700!important;line-height:1.25!important;}
.ab-tm__role{color:#0D4E6A!important;font-size:16px!important;font-weight:400!important;line-height:1.3!important;}
.ab-new__body{color:#0D4E6A!important;}
.ab-diff__body{color:#1C5A76!important;}
.ab-member__name{color:#111!important;font-size:12.5px!important;font-weight:700!important;}
.ab-member__sub{color:#111!important;font-size:12.5px!important;font-weight:400!important;}
/* round-8: fixed header (120px @desktop) overlays hero top - design render has no header.
   Grow hero by the header height so the visible area equals the design. */
.ab-hero{padding-top:calc(72px + 120px)!important;min-height:calc(665px + 120px)!important;}
@media (max-width:767px){.ab-hero{padding-top:calc(56px + 146px)!important;min-height:calc(520px + 146px)!important;}}
/* round-9: hero BELOW the fixed header (margin-top = header height), design geometry restored.
   Growing the hero kept the photo top hidden behind the bar; the design shows the photo
   starting at the header's bottom edge. Header heights measured: 120 @desktop, 164 @<=1024,
   146 @<=767. */
.ab-hero{margin-top:120px;padding-top:72px!important;min-height:665px!important;}
@media (max-width:1024px){.ab-hero{margin-top:164px;}}
@media (max-width:767px){.ab-hero{margin-top:146px;padding-top:56px!important;min-height:520px!important;}}
/* round-11: Elementor gives every .elementor-widget position:relative and this html widget a shrink width, so the carousel's absolute layers (.ab-car__bgs / panel) anchored to the 805px widget box instead of the full-bleed .ab-car section. Wrapper must be a transparent pass-through. */
.ab-car .elementor-widget-html{position:static!important;width:100%!important;max-width:100%!important;}

/* round-12: design centers the carousel stage via .ab-car{display:flex;align-items:center} (ROW direction). Elementor .e-con is COLUMN direction, so vertical centering needs justify-content — stage was top-anchored, panel touching section top instead of floating centered over the photo. */
.e-con.ab-car{--justify-content:center;justify-content:center!important;}

/* round-13: USER DEPARTURE from design (2026-08-31): expanded bio shows ALL text, section grows — no 340px cap, no inner scrollbar. */
.ab-dr__bio:not([data-clamped]){max-height:none!important;overflow-y:visible!important;padding-right:0!important;}

/* round-14: same trap as round-11 — .ab-tm__plate{position:absolute;bottom:0} lives inside a text-editor widget whose .elementor-widget wrapper is position:relative, so the plate anchored to the widget box (ends at img bottom) instead of the .ab-tm card (padding-bottom:52px). Plate must hang 52px below the photo. */
.ab-tm .elementor-widget{position:static!important;}

/* AB-HDRGAP 2026-09-13: hero clearance follows the live header height (--glo-hdr-h, measured by the
   header script: 120 / 160-164 / 172px) instead of the hardcoded 120px / 164px above, which left a
   2px band at 768-1024 and tucked the hero under the bar at 1120 and on mobile. Same as 134/158. */
.elementor-150 .ab-hero{margin-top:var(--glo-hdr-h,120px);}

/* GLO-HEROWEBP 2026-09-13 (perf): hero background re-encoded as WebP (was ab-hero-bg.jpg). Desktop ab-hero-bg-1920.webp;
   phones get a smaller centre crop. Both are preloaded by mu-plugin glo-lcp-preload.php - keep the URLs in sync. */
@media (max-width:767px){.elementor-150 .ab-hero{background-image:url('https://www.glodentalstudios.com/wp-content/uploads/2026/09/ab-hero-bg-m1280.webp')!important;}}/* End custom CSS */