.elementor-159 .elementor-element.elementor-element-dac53ee{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-159 .elementor-element.elementor-element-tpherin{--display:flex;}.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-159 .elementor-element.elementor-element-660142f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-159 .elementor-element.elementor-element-tplabrw{--display:flex;}.elementor-159 .elementor-element.elementor-element-tplabtx{--display:flex;}.elementor-159 .elementor-element.elementor-element-8c8c348{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-159 .elementor-element.elementor-element-tptime1{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpstep1{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpstep2{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpstep3{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpstep4{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpstep5{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpstep6{--display:flex;}.elementor-159 .elementor-element.elementor-element-54ac613{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-159 .elementor-element.elementor-element-tpwrap1{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpcols1{--display:flex;}.elementor-159 .elementor-element.elementor-element-6aea74b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-159 .elementor-element.elementor-element-tpdrrow{--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-159 .elementor-element.elementor-element-tpdrbdy{--display:flex;}.elementor-159 .elementor-element.elementor-element-d5d1f0f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-159 .elementor-element.elementor-element-tpbkrow{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpbktxt{--display:flex;}.elementor-159 .elementor-element.elementor-element-3ad929c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-159 .elementor-element.elementor-element-d431d51{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-159 .elementor-element.elementor-element-tpgrid1{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpcrd1{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpcrd2{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpcrd3{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpcrd4{--display:flex;}.elementor-159 .elementor-element.elementor-element-1e9ca44{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-159 .elementor-element.elementor-element-tpofpho{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpofpan{--display:flex;}.elementor-159 .elementor-element.elementor-element-tpoffin{--display:flex;}.elementor-159 .elementor-element.elementor-element-59233db{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@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 );}}@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 );}}/* Start custom CSS */@import url("https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700&display=swap");


  *, *::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-159 (.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 .ab-btn { font-size: 15px !important; line-height: 1.2 !important; letter-spacing: 1.5px !important; font-weight: 500 !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; }

  /* ---------------- page atoms ---------------- */
  .tp-wrap { max-width: 1180px; margin-inline: auto; padding-inline: 24px; }
  .tp-pill { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: #0D4E6A; color: #fff; border: 0; border-radius: 999px; padding: 16px 38px; font-size: 15px; font-weight: 500; letter-spacing: 0.02em; cursor: pointer; box-shadow: 0 8px 22px rgba(13,78,106,0.22); 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); }
  .tp-pill:hover { background: #0A3D54; color: #fff; transform: translateY(-2px); box-shadow: 0 12px 28px rgba(13,78,106,0.30); }
  .tp-pill:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  .tp-pill svg { opacity: 0.85; transition: transform .18s cubic-bezier(.4,0,.2,1); }
  .tp-pill:hover svg { transform: translateX(3px); }
  .tp-chk { flex: none; width: 20px; height: 20px; color: #F8CB3E; }

  /* ---------------- 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 ---------------- */
  .tp-hero { position: relative; isolation: isolate; overflow: hidden; padding: 236px 24px 74px; text-align: center; background: #FAE49A url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/58fd9d_1cf658d4cd554579a211827deb2bf440mv2.jpg') center / cover no-repeat; }
  .tp-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(250,228,154,0.88); }
  .tp-hero__in { max-width: 1000px; margin-inline: auto; }
  .tp-hero h1 { font-size: clamp(38px, 5.4vw, 80px); font-weight: 300; line-height: 1.06; letter-spacing: -0.028em; color: #0D4E6A; }
  .tp-hero h1 strong { display: block; font-weight: 700; }
  .tp-hero__lede { margin: 26px auto 0; max-width: 74ch; font-size: clamp(15px, 1.2vw, 17.5px); font-weight: 400; line-height: 1.62; color: #0D4E6A; }
.tp-crumb { margin: 22px auto 0; color: #0D4E6A; }
  .tp-crumb a { text-decoration: underline; text-underline-offset: 3px; }
  @media (max-width: 1120px) { .tp-hero { padding-top: 246px; } }
  @media (max-width: 767px) { .tp-hero { padding: 262px 18px 56px; } }

  /* ---------------- 2. smile lab advantage ---------------- */
  .tp-lab { background: #fff; padding: 78px 0 84px; }
  .tp-lab__row { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; max-width: 1240px; margin-inline: auto; padding-inline: 24px; }
  .tp-lab h2 { font-size: clamp(30px, 3.8vw, 50px); font-weight: 700; line-height: 1.1; letter-spacing: -0.026em; color: #0D4E6A; }
  .tp-lab p { margin-top: 22px; font-size: 16.5px; line-height: 1.66; color: #0D4E6A; }
  .tp-lab .gal { background: transparent; --gh: clamp(268px, 30vw, 420px); --ggap: 10px; }
  .tp-lab .gal { overflow: hidden; }
  .tp-lab .gal__nav--prev { left: 16px; }
  .tp-lab .gal__nav--next { right: 16px; }
  .tp-lab .gal__nav { top: 50%; }
  .tp-lab .gal__nav { width: 56px; height: 56px; background: #1B5C74; color: #fff; box-shadow: 0 6px 20px rgba(13,78,106,0.18); }
  .tp-lab .gal__nav:hover { background: #0A3D54; }
  .tp-lab .gal__nav:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  .tp-lab .gal__nav svg { width: 24px; height: 24px; stroke-width: 2; }
  .tp-lab .gal { overflow: hidden; }
  .tp-lab .gal__viewport { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; }
  .tp-lab .gal__group { scroll-snap-align: start; }
  @media (max-width: 640px) { .tp-lab .gal__nav { width: 48px; height: 48px; } .tp-lab .gal__nav svg { width: 22px; height: 22px; } }
  @media (max-width: 900px) { .tp-lab__row { grid-template-columns: 1fr; } }
  @media (max-width: 767px) { .tp-lab { padding-block: 54px 60px; } }

  /* ---------------- 3. smile journey ---------------- */
  .tp-jrn { position: relative; isolation: isolate; overflow: hidden; padding: 74px 0 88px; background: #1E5C7A url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/58fd9d_bd91a81d5ebc47a0823d7981b4b37611mv2.jpg') center / cover no-repeat; }
  .tp-jrn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(30,92,122,0.82); background-blend-mode: luminosity; }
  .tp-jrn h1 { text-align: center; font-size: clamp(28px, 3.6vw, 46px); font-weight: 400; line-height: 1.16; color: #FFE083; }
  .tp-jrn h1 strong { font-weight: 700; }
  .tp-time { position: relative; max-width: 860px; margin: 48px auto 0; padding-inline: 24px; list-style: none; }

  .tp-step { position: relative; width: 46%; text-align: center; }
  .tp-step:not(:last-child)::before { content: ""; position: absolute; top: 21px; left: 50%; width: 3px; height: calc(100% + 26px); background: #FFE083; }
  .tp-step--l:not(:last-child)::before { left: auto; right: -8.7%; transform: translateX(50%); }
  .tp-step--r:not(:last-child)::before { left: -8.7%; transform: translateX(-50%); }
  .tp-step + .tp-step { margin-top: 26px; }
  .tp-step--l { margin-right: 54%; }
  .tp-step--r { margin-left: 54%; }
  .tp-step::after { content: ""; position: absolute; top: 4px; width: 34px; height: 34px; border-radius: 50%; background: #FFE083; }
  .tp-step--l::after { right: -8.7%; transform: translateX(50%); }
  .tp-step--r::after { left: -8.7%; transform: translateX(-50%); }
  .tp-step h5 { font-size: clamp(17px, 1.5vw, 21px); font-weight: 700; line-height: 1.22; color: #FFE083; }
  .tp-step p { margin-top: 14px; font-size: 15px; line-height: 1.5; color: #fff; }
  @media (max-width: 767px) {
    .tp-jrn { padding-block: 56px 62px; }

    .tp-step, .tp-step--l, .tp-step--r { width: auto; margin: 0 0 0 76px; text-align: left; }
    .tp-step + .tp-step { margin-top: 30px; }
    .tp-step--l::after, .tp-step--r::after { left: -52px; right: auto; transform: none; }
    .tp-step:not(:last-child)::before { height: calc(100% + 30px); }
    .tp-step--l:not(:last-child)::before, .tp-step--r:not(:last-child)::before { left: -37px; right: auto; transform: none; }
  }

  /* ---------------- 4. what's included ---------------- */
  .tp-inc { background: #fff; padding: 78px 0 84px; text-align: center; }
  .tp-inc h5 { font-size: clamp(28px, 3.6vw, 46px); font-weight: 700; line-height: 1.1; letter-spacing: -0.026em; color: #0D4E6A; }
  .tp-inc__lede { margin-top: 22px; font-size: clamp(16px, 1.4vw, 19px); font-weight: 400; line-height: 1.5; color: #0D4E6A; }
  .tp-inc__lede + .tp-inc__lede { margin-top: 6px; }
  .tp-inc__cols { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px clamp(40px, 8vw, 118px); margin-top: 42px; text-align: left; }
  .tp-inc__list { display: flex; flex-direction: column; gap: 11px; }
  .tp-inc__list li { display: flex; align-items: flex-start; gap: 16px; max-width: 34ch; font-size: 16.5px; line-height: 1.5; color: #0D4E6A; }
  @media (max-width: 767px) { .tp-inc { padding-block: 54px 58px; } }

  /* ---------------- 5. meet your implant expert ---------------- */
  .tp-dr { position: relative; isolation: isolate; overflow: hidden; padding: 78px 0 88px; background: #EAD07A url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/58fd9d_bf0df3f3426348ee92583f2fd3d257b2mv2-1.jpg') center 22% / cover no-repeat; }
  .tp-dr::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(234,208,122,0.86); }
  .tp-dr__row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: clamp(28px, 5vw, 78px); max-width: 1240px; margin-inline: auto; padding-inline: 24px; }
  .tp-dr__photo { flex: none; width: 179px; box-shadow: 0 18px 44px rgba(13,78,106,0.18); }
  .tp-dr__body { flex: 1 1 460px; min-width: 0; }
  .tp-dr h2 { font-size: clamp(28px, 3.8vw, 50px); font-weight: 700; line-height: 1.1; letter-spacing: 0.06em; color:#0D4E6A; }
  .tp-dr__name { margin-top: 22px; font-size: clamp(18px, 1.7vw, 23px); font-weight: 400; color:#0D4E6A; }
  .tp-dr__bio { margin-top: 18px; max-width: 78ch; font-size: 15.5px; line-height: 1.6; color: rgba(13,78,106,0.94); }
  .tp-dr__bio p + p { margin-top: 15px; }
  .tp-dr__rest { display: none; }
  .tp-dr__bio.is-open .tp-dr__rest { display: block; }
  .tp-dr__bio.is-open .tp-dr__clip { -webkit-line-clamp: unset; display: block; }
  .tp-dr__clip { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .tp-more { margin-top: 14px; border: 0; background: none; padding: 0; color:#0D4E6A; font-size: 15.5px; line-height: 1.6; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
  .tp-more:hover, .tp-more:focus, .tp-more:active { background: transparent !important; color:#0D4E6A; }
  .tp-more:focus-visible { outline:3px solid #0D4E6A; outline-offset: 3px; }
  @media (max-width: 767px) { .tp-dr { padding-block: 56px 62px; } }

  /* ---------------- 6. smile handbook ---------------- */
  .tp-book { background: #FDF3E7; padding: 74px 0 82px; }
  .tp-book__row img { width: 100%; height: auto; }
  .tp-book__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.96fr); gap: clamp(24px, 4vw, 56px); align-items: center; max-width: 1240px; margin-inline: auto; padding-inline: 24px; }
  .tp-book h2 { font-size: clamp(30px, 4.2vw, 58px); font-weight: 400; line-height: 1.1; letter-spacing: -0.02em; color: #1B5C74; }
  .tp-book__sub { margin-top: 20px; max-width: 46ch; font-size: clamp(16px, 1.4vw, 19px); font-weight: 400; line-height: 1.45; color: #1B5C74; }
  .tp-book__cta { margin-top: 28px; }
  .tp-book .tp-pill { text-transform: uppercase; letter-spacing: 0.08em; font-size: 15px; }
  @media (max-width: 900px) { .tp-book__row { grid-template-columns: 1fr; } }
  @media (max-width: 767px) { .tp-book { padding-block: 54px 60px; } }

  /* ---------------- 7. the glo warranty ---------------- */
  .tp-war { background: #0D4E6A; color: #fff; padding: 74px 24px 80px; text-align: center; }
  .tp-war__eyebrow { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 16px; color: #fff; }
  .tp-war__eyebrow svg { width: 30px; height: 30px; color: #FFE083; }
  .tp-war h2 { margin-top: 12px; font-size: clamp(30px, 4.2vw, 58px); font-weight: 700; line-height: 1.08; letter-spacing: -0.026em; color: #fff; }
  .tp-war__sub { margin-top: 16px; font-size: clamp(15px, 1.3vw, 18px); color: #fff; }
  .tp-war p.tp-war__body { margin: 26px auto 0; max-width: 62ch; font-size: 16.5px; line-height: 1.62; color: #fff; }
  @media (max-width: 767px) { .tp-war { padding-block: 54px 60px; } }

  /* ---------------- 8. patient outcomes ---------------- */
  .tp-out { background: #fff; padding: 78px 0 86px; text-align: center; }
  .tp-out h2 { font-size: clamp(30px, 4.2vw, 58px); font-weight: 700; line-height: 1.08; letter-spacing: -0.026em; color: #1B5C74; }
  .tp-out__sub { margin-top: 16px; font-size: clamp(15px, 1.3vw, 18px); color: #1B5C74; }
  .tp-out__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1266px; margin: 38px auto 0; padding-inline: 24px; }
  .tp-out__card { position: relative; margin: 0; overflow: hidden; }
  .tp-out__card img { width: 100%; height: 100%; object-fit: cover; }
  .tp-out__card figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 5px; padding: 18px 20px 20px; text-align: left; background: rgba(27,92,116,0.90); }
  .tp-out__who { font-size: clamp(17px, 1.5vw, 22px); font-weight: 700; color: #fff; }
  .tp-out__kind { font-size: 14.5px; color: rgba(255,255,255,0.92); }
  .tp-out__note { margin: 34px auto 0; max-width: 66ch; padding-inline: 24px; font-size: 16.5px; line-height: 1.62; color: #1B5C74; }
  .tp-out__cta { margin-top: 26px; }
  @media (max-width: 900px) { .tp-out__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 767px) { .tp-out { padding-block: 54px 58px; } }

  /* ---------------- 9. offer ---------------- */
  .tp-off { display: grid; grid-template-columns: minmax(0, 0.46fr) minmax(0, 1fr); }
  .tp-off__photo { position: relative; isolation: isolate; overflow: hidden; min-height: 620px; background: #2D6B86 url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/58fd9d_08f5c341a3844589bae63c9ce0e5e3ffmv2.jpg') center / cover no-repeat; }
  .tp-off__photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(45,107,134,0.62); }
  .tp-off__panel { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; padding: clamp(48px, 6vw, 96px) clamp(24px, 5vw, 92px); background: #F1F0EC url('https://www.glodentalstudios.com/wp-content/uploads/2026/08/58fd9d_f63d297ce4e046a1b5ec126792898d33mv2.jpg') center / cover no-repeat; }
  .tp-off__panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(241,240,236,0.90); }
  .tp-off__in { max-width: 58ch; }
  .tp-off__kicker { font-size: clamp(16px, 1.5vw, 21px); font-weight: 400; color: #1B5C74; }
  .tp-off h2 { margin-top: 12px; font-size: clamp(32px, 4.4vw, 60px); font-weight: 700; line-height: 1.06; letter-spacing: -0.028em; color: #1B5C74; }
  .tp-off__terms { margin-top: 20px; padding-bottom: 16px; border-bottom: 1px solid rgba(27,92,116,0.55); max-width: 12ch; font-size: 15px; color: #1B5C74; }
  .tp-off__body { margin-top: 22px; font-size: 16.5px; line-height: 1.66; color: #1B5C74; }
  .tp-off__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 28px; border: 0; border-radius: 0; background: #0D4E6A; color: #fff; padding: 15px 40px; font-size: 15.5px; font-weight: 400; cursor: pointer; transition: background .18s cubic-bezier(.4,0,.2,1), transform .18s cubic-bezier(.4,0,.2,1); }
  .tp-off__btn:hover, .tp-off__btn:focus, .tp-off__btn:active { background: #0A3D54 !important; color: #fff; }
  .tp-off__btn:hover { transform: translateY(-2px); }
  .tp-off__btn:focus-visible { outline: 3px solid #0D4E6A; outline-offset: 3px; }
  .tp-off__fine { margin-top: 28px; font-size: 13px; font-weight: 700; color: #1B5C74; }
  @media (max-width: 900px) { .tp-off { grid-template-columns: 1fr; } .tp-off__photo { min-height: 320px; } }

  /* ---------------- 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; cursor: zoom-in; transition: transform .18s cubic-bezier(.4,0,.2,1); }
  .gal__cell:hover img { transform: scale(1.03); }
  .gal__nav { position: absolute; top: calc(var(--gh) / 2); 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; }

  /* gallery lightbox */
  .glb { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; background: #0C5A79; padding: clamp(16px, 4vw, 76px); }
  .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; }
  .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, 30px); padding: 18px; }
  .glb__next { top: 50%; transform: translateY(-50%); right: clamp(4px, 1.4vw, 26px); padding: 18px; }
  .glb__close { top: clamp(12px, 1.6vw, 26px); right: clamp(12px, 1.6vw, 26px); padding: 10px; }
  .glb__full { top: clamp(12px, 1.6vw, 26px); left: clamp(12px, 1.6vw, 26px); padding: 10px; }
  @media (max-width: 640px) { .gal { --gh: clamp(200px, 46vw, 260px); } .gal__nav { width: 38px; height: 38px; } }



  /* Kit-proof typography + red-hover cancellation (see CLAUDE.md). */
  body a { font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; letter-spacing: inherit !important; font-family: inherit !important; }
  body .tp-pill { font-size: 15px !important; line-height: 1.2 !important; letter-spacing: 0.02em !important; font-weight: 500 !important; font-family: Raleway, Helvetica, Arial, sans-serif !important; }
  body .tp-book .tp-pill { letter-spacing: 0.08em !important; }
  body .tp-off__btn { font-size: 15.5px !important; line-height: 1.2 !important; font-weight: 400 !important; font-family: Raleway, Helvetica, Arial, sans-serif !important; }
  body .tp-more { font-size: 15.5px !important; line-height: 1.6 !important; font-weight: 400 !important; }
  body .gal__nav, body .glb__btn { font-size: 0 !important; }
  body .gal__nav:hover, body .gal__nav:focus, body .gal__nav:active { background: #0A3D54 !important; }
  body .glb__btn:hover, body .glb__btn:focus, body .glb__btn:active { background: transparent !important; }
  body .tp-pill:hover, body .tp-pill:focus, body .tp-pill:active { background: #0A3D54 !important; }
  body .tp-off__btn:hover, body .tp-off__btn:focus, body .tp-off__btn:active { background: #0A3D54 !important; }
  body .tp-more:hover, body .tp-more:focus, body .tp-more:active { background: transparent !important; }

/* GLO-TP-NATIVE-SHIMS START */
.elementor-159 .e-con{padding:0;gap:0;max-width:none}
.elementor-159 .e-con>.elementor-widget{max-width:100%}
.elementor-159 .elementor-widget-text-editor p{margin-block-start:0;margin-block-end:0}
.elementor-159 .e-con.tp-hero{padding:236px 24px 74px!important}
.elementor-159 .e-con.tp-lab{padding:78px 0 84px!important}
.elementor-159 .e-con.tp-jrn{padding:74px 0 88px!important}
.elementor-159 .e-con.tp-inc{padding:78px 0 84px!important}
.elementor-159 .e-con.tp-dr{padding:78px 0 88px!important}
.elementor-159 .e-con.tp-book{padding:74px 0 82px!important}
.elementor-159 .e-con.tp-war{padding:74px 24px 80px!important}
.elementor-159 .e-con.tp-out{padding:78px 0 86px!important}
.elementor-159 .e-con.tp-wrap{max-width:1180px!important;margin-inline:auto!important;padding-inline:24px!important}
.elementor-159 .e-con.tp-hero__in{max-width:1000px!important;margin-inline:auto!important}
.elementor-159 .tp-hero h1{font-size:clamp(38px,5.4vw,80px)!important;font-weight:300!important;line-height:1.06!important;letter-spacing:-.028em!important;color:#0D4E6A!important}
.elementor-159 .tp-hero h1 strong{display:block;font-weight:700}
.elementor-159 .tp-hero__lede{margin:26px auto 0!important;max-width:74ch!important;font-size:clamp(15px,1.2vw,17.5px)!important;line-height:1.62!important;color:#0D4E6A!important}
.elementor-159 .tp-crumb{margin:22px auto 0!important;color:#0D4E6A!important}
.elementor-159 .e-con.tp-lab__row{--display:grid;display:grid!important;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);gap:clamp(28px,4vw,64px)!important;align-items:center;max-width:1240px!important;margin-inline:auto!important;padding-inline:24px!important}
.elementor-159 .tp-lab h2{font-size:clamp(30px,3.8vw,50px)!important;font-weight:700!important;line-height:1.1!important;letter-spacing:-.026em!important;color:#0D4E6A!important}
.elementor-159 .tp-lab .elementor-widget-text-editor{color:#0D4E6A!important;font-size:16.5px!important;line-height:1.66!important}
.elementor-159 .tp-lab .elementor-widget-text-editor p{margin-top:22px}
.elementor-159 .tp-lab .elementor-widget-html{position:static!important;width:100%!important;max-width:100%!important;font-size:0;line-height:0}
.elementor-159 .tp-jrn h2{text-align:center;font-size:clamp(28px,3.6vw,46px)!important;font-weight:400!important;line-height:1.16!important;color:#FFE083!important}
.elementor-159 .tp-jrn h2 strong{font-weight:700}
.elementor-159 .e-con.tp-time{--display:block;display:block!important;max-width:860px!important;margin:48px auto 0!important;padding-inline:24px!important}
.elementor-159 .e-con.tp-step{width:46%!important}
.elementor-159 .e-con.tp-step--l{margin-right:54%!important}
.elementor-159 .e-con.tp-step--r{margin-left:54%!important}
.elementor-159 .e-con.tp-step+.e-con.tp-step{margin-top:26px!important}
.elementor-159 .tp-step h3{font-size:clamp(17px,1.5vw,21px)!important;font-weight:700!important;line-height:1.22!important;color:#FFE083!important}
.elementor-159 .tp-step .elementor-widget-text-editor{color:#fff!important;font-size:15px!important;line-height:1.5!important}
.elementor-159 .tp-step .elementor-widget-text-editor p{margin-top:14px}
.elementor-159 .tp-inc h2{font-size:clamp(28px,3.6vw,46px)!important;font-weight:700!important;line-height:1.1!important;letter-spacing:-.026em!important;color:#0D4E6A!important}
.elementor-159 .tp-inc__lede{margin-top:22px;font-size:clamp(16px,1.4vw,19px)!important;line-height:1.5!important;color:#0D4E6A!important}
.elementor-159 .tp-inc__lede+.tp-inc__lede{margin-top:6px!important}
.elementor-159 .e-con.tp-inc__cols{--display:flex;--flex-direction:row;flex-direction:row!important;flex-wrap:wrap;justify-content:center;gap:18px clamp(40px,8vw,118px)!important;margin-top:42px!important;text-align:left}
.elementor-159 .tp-inc__list li{font-size:16.5px!important;line-height:1.5!important;color:#0D4E6A!important}
.elementor-159 .e-con.tp-dr__row{--display:flex;--flex-direction:row;flex-direction:row!important;flex-wrap:wrap;align-items:flex-start;gap:clamp(28px,5vw,78px)!important;max-width:1240px!important;margin-inline:auto!important;padding-inline:24px!important}
.elementor-159 .elementor-widget-image.tp-dr__photo{flex:none!important;width:179px!important}
.elementor-159 .tp-dr__photo img{width:100%;height:auto;display:block;box-shadow:0 18px 44px rgba(13,78,106,.18)}
.elementor-159 .e-con.tp-dr__body{flex:1 1 460px!important;min-width:0}
.elementor-159 .tp-dr h2{font-size:clamp(28px,3.8vw,50px)!important;font-weight:700!important;line-height:1.1!important;letter-spacing:.06em!important;color:#0D4E6A!important}
.elementor-159 .tp-dr__name{margin-top:22px!important;font-size:clamp(18px,1.7vw,23px)!important;font-weight:400!important;color:#0D4E6A!important}
.elementor-159 .tp-dr .elementor-widget-text-editor{color:#0D4E6A!important}
.elementor-159 .e-con.tp-book__row{--display:grid;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,.96fr);gap:clamp(24px,4vw,56px)!important;align-items:center;max-width:1240px!important;margin-inline:auto!important;padding-inline:24px!important}
.elementor-159 .tp-book h2{font-size:clamp(30px,4.2vw,58px)!important;font-weight:400!important;line-height:1.1!important;letter-spacing:-.02em!important;color:#1B5C74!important}
.elementor-159 .tp-book__sub{margin-top:20px!important;max-width:46ch!important;font-size:clamp(16px,1.4vw,19px)!important;line-height:1.45!important;color:#1B5C74!important}
.elementor-159 .tp-book__cta{margin-top:28px!important}
.elementor-159 .tp-war h2{margin-top:12px;font-size:clamp(30px,4.2vw,58px)!important;font-weight:700!important;line-height:1.08!important;letter-spacing:-.026em!important;color:#fff!important}
.elementor-159 .tp-war__sub{margin-top:16px!important;font-size:clamp(15px,1.3vw,18px)!important;color:#fff!important}
.elementor-159 .tp-war__body{margin:26px auto 0!important;max-width:62ch!important;font-size:16.5px!important;line-height:1.62!important;color:#fff!important}
.elementor-159 .tp-war .elementor-widget-text-editor{color:#fff!important}
.elementor-159 .tp-out h2{font-size:clamp(30px,4.2vw,58px)!important;font-weight:700!important;line-height:1.08!important;letter-spacing:-.026em!important;color:#1B5C74!important}
.elementor-159 .tp-out__sub{margin-top:16px!important;font-size:clamp(15px,1.3vw,18px)!important;color:#1B5C74!important}
.elementor-159 .e-con.tp-out__grid{--display:grid;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1266px!important;margin:38px auto 0!important;padding-inline:24px!important}
.elementor-159 .tp-out__card .elementor-widget-image{width:100%}
.elementor-159 .tp-out__card .elementor-widget-image img{width:100%!important;height:auto!important;aspect-ratio:368/1028;object-fit:cover;display:block}
.elementor-159 .tp-out__cap{position:absolute!important;left:0;right:0;bottom:0;top:auto!important;display:flex;flex-direction:column;gap:5px;padding:18px 20px 20px;text-align:left;background:rgba(27,92,116,.90)}
.elementor-159 .tp-out__who{font-size:clamp(17px,1.5vw,22px)!important;font-weight:700!important;color:#fff!important;display:block}
.elementor-159 .tp-out__kind{font-size:14.5px!important;color:rgba(255,255,255,.92)!important;display:block}
.elementor-159 .tp-out__note{margin:34px auto 0!important;max-width:66ch!important;padding-inline:24px;font-size:16.5px!important;line-height:1.62!important;color:#1B5C74!important}
.elementor-159 .tp-out__cta{margin-top:26px!important}
.elementor-159 .e-con.tp-off{--display:grid;display:grid!important;grid-template-columns:minmax(0,.46fr) minmax(0,1fr)}
.elementor-159 .e-con.tp-off__photo{min-height:620px!important}
.elementor-159 .e-con.tp-off__panel{--justify-content:center;justify-content:center!important;padding:clamp(48px,6vw,96px) clamp(24px,5vw,92px)!important}
.elementor-159 .e-con.tp-off__in{max-width:58ch!important}
.elementor-159 .tp-off__kicker{font-size:clamp(16px,1.5vw,21px)!important;color:#1B5C74!important}
.elementor-159 .tp-off h2{margin-top:12px;font-size:clamp(32px,4.4vw,60px)!important;font-weight:700!important;line-height:1.06!important;letter-spacing:-.028em!important;color:#1B5C74!important}
.elementor-159 .tp-off__terms{margin-top:20px!important;padding-bottom:16px!important;border-bottom:1px solid rgba(27,92,116,.55);max-width:12ch!important;font-size:15px!important;color:#1B5C74!important}
.elementor-159 .tp-off__body{margin-top:22px!important;font-size:16.5px!important;line-height:1.66!important;color:#1B5C74!important}
.elementor-159 .tp-off__fine{margin-top:28px!important;font-size:13px!important;font-weight:700!important;color:#1B5C74!important}
.elementor-159 .tp-off .elementor-widget-text-editor{color:#1B5C74!important}

@media (max-width:900px){
.elementor-159 .e-con.tp-lab__row{grid-template-columns:1fr}
.elementor-159 .e-con.tp-book__row{grid-template-columns:1fr}
.elementor-159 .e-con.tp-out__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.elementor-159 .e-con.tp-off{grid-template-columns:1fr}
.elementor-159 .e-con.tp-off__photo{min-height:320px!important}
}
@media (max-width:767px){
.elementor-159 .e-con.tp-hero{padding:236px 18px 56px!important}
.elementor-159 .e-con.tp-lab{padding:54px 0 60px!important}
.elementor-159 .e-con.tp-jrn{padding:56px 0 62px!important}
.elementor-159 .e-con.tp-inc{padding:54px 0 58px!important}
.elementor-159 .e-con.tp-dr{padding:56px 0 62px!important}
.elementor-159 .e-con.tp-book{padding:54px 0 60px!important}
.elementor-159 .e-con.tp-war{padding:54px 24px 60px!important}
.elementor-159 .e-con.tp-out{padding:54px 0 58px!important}
.elementor-159 .e-con.tp-step,.elementor-159 .e-con.tp-step--l,.elementor-159 .e-con.tp-step--r{width:auto!important;margin:0 0 0 76px!important;text-align:left}
.elementor-159 .e-con.tp-step+.e-con.tp-step{margin-top:30px!important}
}
.elementor-159 .tp-war__sub,.elementor-159 .tp-off__kicker,.elementor-159 .tp-off__terms,.elementor-159 .tp-off__fine,.elementor-159 .tp-out__sub,.elementor-159 .tp-dr__name,.elementor-159 .tp-out__who,.elementor-159 .tp-out__kind{line-height:normal!important}
/* GLO-TP-NATIVE-SHIMS END *//* End custom CSS */